mdhiggins / ESP8266-HTTP-IR-Blaster

ESP8266 Compatible IR Blaster that accepts HTTP commands for use with services like Amazon Echo
MIT License
980 stars 218 forks source link

Web service seems to be having issues #332

Closed DragRedSim closed 2 years ago

DragRedSim commented 2 years ago

I've been having some issues lately with this package. When speaking to Alexa, there are no commands being sent to the IR blaster device, as shown by the serial output not updating when it should be recieving requests. To help debug this, I attempted to set up a new "other" device with a single command calling to a server I control, to log the request; but the new device isn't showing up in the Alexa app either. Updates to some older devices (changing the name displayed in the Alexa app) also aren't working (the old names still show up). Web requests still work from the local network, as expected, and are blocked from outside (calling the hostname returns HMAC failure); there seems to be a breakdown between the PythonAnywhere service and the Alexa service.

mdhiggins commented 2 years ago

Try now, seems like there was a backend problem with the lambda instance

DragRedSim commented 2 years ago

Just tried it again, same results or lack thereof.

mdhiggins commented 2 years ago

Try logging in and out if the skill. Also you need to rerun device discovery for any changes to take effect regarding device additions or renaming

mdhiggins commented 2 years ago

Actually looks like they changed around how some of the AWS policy definitions work and there might have been residual issues if you were in the EU or on US-West servers, try now

DragRedSim commented 2 years ago

Disabled and re-enabled the skill, and things are working now. Thanks for looking into it!

DragRedSim commented 2 years ago

There seems to be an issue with activating scenes at the moment; commands aren’t being issued when activating them in a routine. The input commands are fine for manual activation, however if a scene is programmed then that will not be called.

mdhiggins commented 2 years ago

Do scenes work individually? IE not part of a routine?

Based on your comment I would suspect that to be the case but just want to confirm

From the API/programming standpoint, there's no difference between routines and manual activation, and the script cannot tell the difference (its transparent as far as the API call goes) so if it's working individually but not in a routine it might be a problem with the routine itself but it's not something I can address or adjust

DragRedSim commented 2 years ago

Scenes do not work on their own. When activating a scene by name, eg. “Alexa, turn on Test Scene”, the response is “Test Scene doesn’t support that.” The target of said scene is the same URL as my other commands, just with no parameters in the URL, eg. “http://example.com:port/msg”.

What I meant by the input commands working; I have a scene set up to send the IR blaster the commands to change the TV input for example, and that doesn’t work; but if I say “Alexa, set TV to HDMI 2”, that does work; both the scene and the input controller on the TV object on the site point to the same URL. However, I can’t add multiple calls to multiple input controllers into a routine, since it uses the natural language processing, and I can only add one customised action to a routine.

mdhiggins commented 2 years ago

Looks like Amazon broke version 1.0 SceneController support, migrated to version 3.0 which fixes things

You'll need to go to the pythonanywhere interface and hit "Update Device" to have it migrate to 3.0 and then re-discover devices

DragRedSim commented 2 years ago

Yep, all working now. Thanks!