node-red-contrib-alexa-remote2
node-red-contrib-alexa-remote2 copied to clipboard
"failed to load routines: "no body""
Hi Folks, As of this evening none of my routine nodes are working and I keep getting this error when I deploy ""failed to load routines: "no body"".
I also am finding that when deploy every 1 in 5 times the authentication fails and I see an error "Error while checking Authentication: Error: no JSON".
Any ideas?
Thanks, Gary
As of this evening none of my routine nodes are working and I keep getting this error when I deploy ""failed to load routines: "no body"".
I don't use the routines function, but I'm getting that error as well now, every time I restart.
Tried recreating the configuration node, tried removing the routine nodes and tried turning it off and back on again with no joy ;) From the error I suspect Amazon have changed their REST API and now requires a body for the command to get routines.
I also had the error ""failed to load routines: "no body"". A manual update of the dependency "Apollon77 / alexa-remote" to new version 3.6.0 fixed the error for me.
Is there no one here who continues to maintain this node-red module and inserts the update?
Hi @ammawel can you explain to an idiot how you manually updated this dependency from https://github.com/Apollon77/alexa-remote Thanks
Hi @brinzlee, I work with Windows and did it with WinSCP, because I have no idea about linux so I am a linux-idiot. There is certainly a direct way with linux.
-
Node-red is installed on a Raspberry-pi.
-
node-red modules are in the path /home/pi/.node-red/node_modules (Attention: there is a dot in front of node-red in the path -> hidden files have to be shown in WinSCP: Preferences / Panels / remote / show inaccessible directories).
-
Download the current dependency files from https://github.com/Apollon77/alexa-remote/releases : https://github.com/Apollon77/alexa-remote/archive/v3.6.0.zip
-
unpack the zip on the Windows computer
-
replace the following 3 files with WinSCP in the node-red directory /home/pi/.node-red/node_modules/alexa-remote2: alexa-remote.js, alexa-wsmqtt.js, package.json Pay attention to the file permissions, they must not change: right mouse button, properties, octal 0755
The problem is that after an update of node-red or of a node-red-module, it will be reset to the old versions.
Good luck
@ammawel Thank you for the detailed instructions... I'm on windows too...I'll give it a go..... Once again thanks very much
All these issues seem to point to (as @ammawel says) to a dependent library change. It's only 6 months since the dev disappeared - and there is this little PANDEMIC going on... so i'm not ready to say the author has abandoned. However, given the lack of any better options, I'm going to start reviewing the code in detail. If 586837r is still MIA in a few weeks, I will seriously consider forking this. For now, i just want to fix it so it works and, hopefully, 586837r comes back to us. The Dev's listed email is [email protected]. We probably want to send some polite notes mentioning that these nodes are broken.
[Edit] Crap just saw this: https://github.com/586837r/node-red-contrib-alexa-remote2/issues/184
This is a pretty big miss on the dev's part (again, pandemic, may be not intentional) so, we need to decide if we are going to still use these nodes or, if the dev doesn't return, will someone fork this and at least get it to a working state again.
Mentioning it here so it may help someone with immediate needs... It appears that opening an alexa node, going to the configuration node VIA THIS NODE and just closing the configuration, followed by an "update" on the original node seems to kick everything into working again. This only lasts about 24 hours. It does not work if i only open the config node - this seems to only work if go through a node that uses the configuration node.
@ammawel Unfortunately I couldn't find NodeRed on my Pi so I guess it must be in a docker container as I'm using HomeAssistant and it's an Addon within it. So I guess I'll just have to wait until somebody either forks this and mends it or the original developer fixes it....The last option I am not so confident upon as I see you have been raising issues for a while....
@ammawel Unfortunately I couldn't find NodeRed on my Pi so I guess it must be in a docker container as I'm using HomeAssistant and it's an Addon within it. So I guess I'll just have to wait until somebody either forks this and mends it or the original developer fixes it....The last option I am not so confident upon as I see you have been raising issues for a while....
I run dietpi, and it used to be under /home/dietpi/.node-red/node_modules However, the latest version installed under /mnt/dietpi_userdata/node-red/node_modules
So you might want to look under /mnt for something ending userdata. Just a thought!
Anyway, I can confirm that this workaround did the trick for me and I couldn't be more delighted!
Thanks @ammawel !
Thanks @ammawel I'm running node-red under Raspbian on my Pi and your workaround was immediately successful. I didn't even have to change file permissions.
@ammawel Thanks for the detailed instructions. I did exactly what you put using WinSCP and made sure the file permissions were the same, however on restart I am still getting the same errors and no routines in the routine node. Is there a cache somewhere I need to clear? I'm running HomeAssistant OS and replaced the files alexa-remote.js, alexa-wsmqtt.js, package.json under "\config\node-red\node_modules\alexa-remote2". I also made sure the file permissions were the same (0755). Any help would be appreciated. I'm also a Node.JS developer who is a newbie to Node-Red. If we don't get a response from the dev then I'm happy to help and fork the development. However I have no idea how to set up a new node package??
Thanks, Gary
@GaryStimson I followed @ammawel kind instructions too....and I have the same setup as you and am still getting the same error....as you are...:( failed to load routines: "no body"
@GaryStimson I'm having exactly the same issue lately, I tried @ammawel 's guide but using linux command line. Unfortunately still getting the same errors..
Here's a linux guide if anyone wants to try it: https://gist.github.com/877dev/536e35ef79f30cc297d313185cdd430e
@brinzlee, @GaryStimson, @877dev I don't use Docker or HomeAssitant, I use node-red with fhem. So after manually updating after some time, are the new versions of the alexa-remote.js, alexa-wsmqtt.js files still there, or were they reset to the old ones? I have noticed that every npm-install in node-red and every update of nodes apparently checks the whole installation and resets alexa-remote to the old, originally existing files. The use of the node can only continue to work if the installation of node-red-contrib-alexa-remote2 contains the reference to the new dependencies.
@ammawel I only restarted node-red, not updated any nodes or install anything. I didn't check if the files were overwritten actually, I will do that next and let you know.
Also created issue on Apollon77's github so he is made aware of the issue, possibly he/she can help..
@ammawel. I followed your instructions but as you say as soon as you restart the NodeRed instance it overites the changes. So I guess HomeAssistant users can't apply the update that way
@brinzlee No, I did not say that changes are overwritten by a restart of node-red - but e.g. by other installations in node-red, perhaps also by HomeAssistant or Docker, check the version of the files. It's just a manual exchange of files that may be automatically undone, not a real update. Actually, this makes sense and protects against manipulation. The actual installation of node-red-contrib-alexa-remote2 must be changed on npmjs.com, e.g. the corresponding file package.json, which contains the reference to the dependencies.
So after manually updating after some time, are the new versions of the alexa-remote.js, alexa-wsmqtt.js files still there, or were they reset to the old ones?
@ammawel for me the new files seem to have persisted, and the permissions are the same. Plus I checked with WinMerge and the old and new files are different....

@brinzlee, @GaryStimson, @877dev I'm sorry, but I can't help with HomeAssistant and Docker.
We need a real update of the node node-red-contrib-alexa-remote2 with updated dependencies.
Fair enough, although Docker is not really any different if you don't know about it...
Anyhoo, it's kinda working for me now, not getting any "no body" errors for a while.
However still getting "Error while checking Authentication: Error: no JSON" every so often, can be fixed with redeploy...
Following @ammawel instructions fixed this issue for me on my Raspberry Pi. Thank you.
Following @ammawel instructions fixed this issue for me on my Raspberry Pi. Thank you.
@juancgalvez Were you getting ""Error while checking Authentication: Error: no JSON" " errors as well?
Error sfrom routines are fixed by updating alexa.remote to 3.6.0 because AMazon changed stuff.
Errors on Authorization also happened sometimes this week, but I got noofficial report on them, so seems like "fixed themself over time because amazon broke stuff" or such .. no idea
@877dev No, I didn't.
Error sfrom routines are fixed by updating alexa.remote to 3.6.0 because AMazon changed stuff.
Errors on Authorization also happened sometimes this week, but I got noofficial report on them, so seems like "fixed themself over time because amazon broke stuff" or such .. no idea
how to update if im using nodered in docker?
Error sfrom routines are fixed by updating alexa.remote to 3.6.0 because AMazon changed stuff. Errors on Authorization also happened sometimes this week, but I got noofficial report on them, so seems like "fixed themself over time because amazon broke stuff" or such .. no idea
how to update if im using nodered in docker?
assume your flows are in a mapped directory, if so, you can just edit the dependency and update the remote2 module.
I've forked and just modified here: https://github.com/dpembo/node-red-contrib-alexa-remote2
Modified the package dependency to 3.6.0 and bumped the version of this package up to 3.11.0
Tested independently in a clean build and it seemed to work ok, but my live instance runs in docker, and didn't want to redeploy my mapped directory so just manually edited this.
Anyone, please feel free to try this and let me know if it works - you'll need to install it via npm and point to the URL for now, versus an install inside node-red.
Assuming it works, if @586837r returns at any point, I'll create a pull request on this, otherwise I'll push forward with the fork and finalise this, though it'll probably need a new contrib name to differentiate from the original.
https://flows.nodered.org/node/node-red-contrib-alexa-cakebaked
The same error occurred with me. Since I had promised my wife that she would no longer overhear the phone when I was listening to loud music, ...
In short: Install via the UI via node-red-contrib-alexa-cakebaked.
@586837r Are you still updating the project? If so, I would remove my fork again.
@dpembo haha, double fork ftw! But I was faster on npm and created a package flow right away. 😎 🍰