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:

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.