Alexa-remote2 giving 'failed to load routines: "no body"'

Hi all, I've used node-red-contrib-alexa-remote2 in the past and it's been great. I've been trying to get it working again, and I've now tried all of the forks, even the most recent node-red-contrib-alexa-remote2-mattl0 by @MattL0 but I am getting 'failed to load routines: "no body"' so I suspect Amazon have changed something recently.

Matt's version uses the most recent alexa-remote2 dependency, ver 5.10.1 so I suspect there is a problem upstream causing the issue.

Any suggestions?

I'm using node-red-contrib-alexa-remote-fork (not the latest Alexa node) and can report it still works works fine here in the UK. So I doubt if Amazon have changed anything recently.

Thanks Dave. I'm in the UK too. I've just uninstalled the other one and tried the one you suggest but when I deploy, I get this:

image

This is the flow I created to initialise my Alexa node every 12 hours.

[{"id":"c32b9be4.96144","type":"group","z":"3c310437.4aee8c","name":"","style":{"fill":"#e3f3d3","label":true},"nodes":["b95ca6c8.ca32b","3428d6a3.d2a0aa","5e63c65f.6a7198","9b50a0ef.5afda8","a4f5011.df8aa8","e518f0bc.1b237","edc7d791.327aa","6b5119bc.7c0098","87cb5282.6a389","e9815c3b.4d76d"],"x":54,"y":39,"w":772,"h":342},{"id":"b95ca6c8.ca32b","type":"catch","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"","scope":["e8453fde.71f79"],"uncaught":false,"x":150,"y":260,"wires":[["3428d6a3.d2a0aa","5e63c65f.6a7198"]]},{"id":"3428d6a3.d2a0aa","type":"debug","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"catch alexa error","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":" $moment().format(\"ddd HH:mm:ss\")","statusType":"jsonata","x":370,"y":340,"wires":[]},{"id":"5e63c65f.6a7198","type":"switch","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"","property":"_error","propertyType":"msg","rules":[{"t":"eq","v":"Error: no JSON","vt":"str"},{"t":"eq","v":"Error: account must be initialised before refreshing","vt":"str"},{"t":"eq","v":"Error: Error while checking Authentication: Error: no JSON","vt":"str"},{"t":"eq","v":"Error: Account not initialised!","vt":"str"},{"t":"eq","v":"Error: Authentication failed: \"no JSON\"","vt":"str"},{"t":"cont","v":"Error: unexpected response layout:","vt":"str"}],"checkall":"true","repair":false,"outputs":6,"x":330,"y":260,"wires":[["9b50a0ef.5afda8"],["9b50a0ef.5afda8"],["9b50a0ef.5afda8"],["9b50a0ef.5afda8"],["9b50a0ef.5afda8"],["9b50a0ef.5afda8"]]},{"id":"9b50a0ef.5afda8","type":"change","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"alexa","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":260,"wires":[["a4f5011.df8aa8"]]},{"id":"a4f5011.df8aa8","type":"delay","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":700,"y":260,"wires":[["e9815c3b.4d76d"]]},{"id":"e518f0bc.1b237","type":"inject","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"trigger","props":[{"p":"payload"}],"repeat":"43200","crontab":"","once":true,"onceDelay":"3","topic":"","payload":"alexa","payloadType":"flow","x":160,"y":140,"wires":[["e9815c3b.4d76d"]]},{"id":"edc7d791.327aa","type":"change","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"","rules":[{"t":"set","p":"alexa","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":140,"wires":[["6b5119bc.7c0098"]]},{"id":"6b5119bc.7c0098","type":"debug","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":" $moment().format(\"ddd HH:mm:ss\")","statusType":"jsonata","x":710,"y":140,"wires":[]},{"id":"87cb5282.6a389","type":"comment","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"Initialise the Alexa-Remote2-v2 node","info":"","x":240,"y":80,"wires":[]},{"id":"e9815c3b.4d76d","type":"alexa-remote-init","z":"3c310437.4aee8c","g":"c32b9be4.96144","name":"","account":"57e78a27.bf542c","option":"initialise","x":340,"y":140,"wires":[["edc7d791.327aa"]]},{"id":"57e78a27.bf542c","type":"alexa-remote-account","name":"Amazon-Alexa","authMethod":"proxy","proxyOwnIp":"192.168.1.152","proxyPort":"3458","cookieFile":"/home/pi/amazon_alexa.txt","refreshInterval":"3","alexaServiceHost":"alexa.amazon.co.uk","amazonPage":"amazon.co.uk","acceptLanguage":"en-UK","userAgent":"","useWsMqtt":"on","autoInit":"off"}]

Thanks for sending me that Dave, I was previously using the auto init but I thought it was worth changing to try it out - it inits fine as you can see in the image but I still get the same error message.
I should add, I can create a flow with inject and an alexa routine which talks to me through an echo dot - that works fine when I trigger it. The problem is that the "On Device Activity" node does nothing when I activate on the echo dot whereas it always did in the past.

No idea what could be wrong.
Have you tried re-booting the Raspberry Pi ??

When I ask Alexa something like... "Alexa, what time is it" the On Device Act node changes to 'event fired' which I can capture and decode in my flow.

Thanks Dave, I wasn't able to reboot until today because it was in use for other things too however after a reboot, it's working correctly :sunglasses:

Just for the record, it's not running on a Rpi, it's running in a container on a Dell Wyse thin client which is also running home assistant, openmediavault and jellyfin - all working perfectly now, thanks :sunglasses:

1 Like

This thread of mine might give you some further ideas of what you can do with Alexa.
It makes use of BluePrints to intercept responses from Alexa.

That looks great! - thanks for the heads up, I will take a look more closely.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.