Just as a bit of description: I get the last Alexa used, store it in ‘last_alexa’, and route a command to a specific ceiling fan based on that. But its regularly choosing the wrong fan. What am I missing here?
Anyone got any ideas? Is there more information needed?
the status text of the current state node is typical msg.payload
not msg.payload.last_alexa
so unless you’re changing that somewhere that could be your issue.
It’s set to last_alexa in the ‘Get last Alexa used’ node. And the super weird thing is that its intermittent.
@Kermit Any chance you’d have a chance to look at the code? I just an even odder occurrence where the command turned two fans on high.
[{"id":"35bdb0e0.53f29","type":"alexa-remote-event","z":"35964044.fcf53","name":"","account":"d99d5f0e.4d0f5","event":"ws-device-activity","x":150,"y":200,"wires":[["a26a3b25.554268"]]},{"id":"545ebb02.da3e74","type":"switch","z":"35964044.fcf53","name":"Route: Contextual Routine","property":"payload.description.summary","propertyType":"msg","rules":[{"t":"regex","v":"turn on (the )?fan","vt":"str","case":false},{"t":"regex","v":"turn (the )?fan on","vt":"str","case":false},{"t":"regex","v":"turn off (the )?fan","vt":"str","case":false},{"t":"regex","v":"turn (the )?fan off","vt":"str","case":false},{"t":"regex","v":"(set|turn) (the )?fan ((on|to) )?low","vt":"str","case":false},{"t":"regex","v":"(set|turn) (the )?fan ((on|to) )?medium","vt":"str","case":false},{"t":"regex","v":"(set|turn) (the )?fan ((on|to) )?high","vt":"str","case":false}],"checkall":"true","repair":false,"outputs":7,"x":600,"y":500,"wires":[["a3767ece.d2e99"],["a3767ece.d2e99"],["b94005ac.8f4828"],["b94005ac.8f4828"],["9a8de045.916b6"],["f6f03dd2.05328"],["951d9ca0.ccb17"]],"outputLabels":["Turn on","Turn on","Turn off","Turn off","Set low","Set medium","Set high"]},{"id":"b94005ac.8f4828","type":"switch","z":"35964044.fcf53","name":"Route: Fan off","property":"payload.last_alexa","propertyType":"msg","rules":[{"t":"eq","v":"media_player.living_room","vt":"str"},{"t":"eq","v":"media_player.master_bedroom","vt":"str"},{"t":"eq","v":"media_player.office","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":920,"y":260,"wires":[["b82cd734508cb008"],["2562081febe5d7fc"],["fbc2a7ca03b2a169"]]},{"id":"9a8de045.916b6","type":"switch","z":"35964044.fcf53","name":"Route: Fan low","property":"payload.last_alexa","propertyType":"msg","rules":[{"t":"eq","v":"media_player.living_room","vt":"str"},{"t":"eq","v":"media_player.master_bedroom","vt":"str"},{"t":"eq","v":"media_player.office","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":920,"y":420,"wires":[["8790b8460a0b72aa"],["3af90ff60b40b904"],["1342f8a422674281"]]},{"id":"f6f03dd2.05328","type":"switch","z":"35964044.fcf53","name":"Route: Fan medium","property":"payload.last_alexa","propertyType":"msg","rules":[{"t":"eq","v":"media_player.living_room","vt":"str"},{"t":"eq","v":"media_player.master_bedroom","vt":"str"},{"t":"eq","v":"media_player.office","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":930,"y":580,"wires":[["46890a81616995c0"],["891fff87af4b7a88"],["41118993c711f7a4"]]},{"id":"951d9ca0.ccb17","type":"switch","z":"35964044.fcf53","name":"Route: Fan high","property":"payload.last_alexa","propertyType":"msg","rules":[{"t":"eq","v":"media_player.living_room","vt":"str"},{"t":"eq","v":"media_player.master_bedroom","vt":"str"},{"t":"eq","v":"media_player.office","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":920,"y":740,"wires":[["99aab7987e8e4515"],["e9f71d8f937445d4"],["515f5e52fe93f86f"]]},{"id":"a3767ece.d2e99","type":"switch","z":"35964044.fcf53","name":"Route: Fan on","property":"payload.last_alexa","propertyType":"msg","rules":[{"t":"eq","v":"media_player.living_room","vt":"str"},{"t":"eq","v":"media_player.master_bedroom","vt":"str"},{"t":"eq","v":"media_player.office","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":920,"y":100,"wires":[["8e3b56c3ec33b1d0"],["6e376dcc261ccc52"],["583ee4eebeccdd7d"]]},{"id":"f71d6ac0cfae5dda","type":"vsh-virtual-device","z":"35964044.fcf53","name":"Fan","topic":"","connection":"c0c39c32b655dec4","template":"FAN","passthrough":false,"diff":false,"filter":false,"x":140,"y":100,"wires":[[]]},{"id":"583ee4eebeccdd7d","type":"api-call-service","z":"35964044.fcf53","name":"Office fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"turn_on","areaId":[],"deviceId":[],"entityId":["fan.office_fan"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1120,"y":140,"wires":[[]]},{"id":"515f5e52fe93f86f","type":"api-call-service","z":"35964044.fcf53","name":"Office fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.office_fan"],"data":"{\t \"percentage\": 100\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1120,"y":780,"wires":[[]]},{"id":"a26a3b25.554268","type":"change","z":"35964044.fcf53","name":"Strip data","rules":[{"t":"change","p":"payload.description.summary","pt":"msg","from":"^(alexa )?","fromt":"re","to":"","tot":"str"},{"t":"set","p":"payload.data","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":200,"wires":[["36ca780d88fcd274"]]},{"id":"36ca780d88fcd274","type":"api-call-service","z":"35964044.fcf53","name":"Update last_called Alexa","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"alexa_media","service":"update_last_called","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":170,"y":300,"wires":[["f51e1ee293274714"]]},{"id":"fbc2a7ca03b2a169","type":"api-call-service","z":"35964044.fcf53","name":"Office fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"turn_off","areaId":[],"deviceId":[],"entityId":["fan.office_fan"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1120,"y":300,"wires":[[]]},{"id":"6e376dcc261ccc52","type":"api-call-service","z":"35964044.fcf53","name":"Master bedroom fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"turn_on","areaId":[],"deviceId":[],"entityId":["fan.master_bedroom_fan"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1160,"y":100,"wires":[[]]},{"id":"2562081febe5d7fc","type":"api-call-service","z":"35964044.fcf53","name":"Master bedroom fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"turn_off","areaId":[],"deviceId":[],"entityId":["fan.master_bedroom_fan"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1160,"y":260,"wires":[[]]},{"id":"8e3b56c3ec33b1d0","type":"api-call-service","z":"35964044.fcf53","name":"Living room fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"turn_on","areaId":[],"deviceId":[],"entityId":["fan.living_room_fan"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1140,"y":60,"wires":[[]]},{"id":"b82cd734508cb008","type":"api-call-service","z":"35964044.fcf53","name":"Living room fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"turn_off","areaId":[],"deviceId":[],"entityId":["fan.living_room_fan"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1140,"y":220,"wires":[[]]},{"id":"e9f71d8f937445d4","type":"api-call-service","z":"35964044.fcf53","name":"Master bedroom fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.master_bedroom_fan"],"data":"{\t \"percentage\": 100\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1160,"y":740,"wires":[[]]},{"id":"99aab7987e8e4515","type":"api-call-service","z":"35964044.fcf53","name":"Living room fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.living_room_fan"],"data":"{\t \"percentage\": 100\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1140,"y":700,"wires":[[]]},{"id":"1342f8a422674281","type":"api-call-service","z":"35964044.fcf53","name":"Office fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.office_fan"],"data":"{\t \"percentage\": 33\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1120,"y":460,"wires":[[]]},{"id":"3af90ff60b40b904","type":"api-call-service","z":"35964044.fcf53","name":"Master bedroom fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.master_bedroom_fan"],"data":"{\t \"percentage\": 33\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1160,"y":420,"wires":[[]]},{"id":"8790b8460a0b72aa","type":"api-call-service","z":"35964044.fcf53","name":"Living room fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.living_room_fan"],"data":"{\t \"percentage\": 33\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1140,"y":380,"wires":[[]]},{"id":"41118993c711f7a4","type":"api-call-service","z":"35964044.fcf53","name":"Office fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.office_fan"],"data":"{\t \"percentage\": 67\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1120,"y":620,"wires":[[]]},{"id":"891fff87af4b7a88","type":"api-call-service","z":"35964044.fcf53","name":"Master bedroom fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.master_bedroom_fan"],"data":"{\t \"percentage\": 67\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1160,"y":580,"wires":[[]]},{"id":"46890a81616995c0","type":"api-call-service","z":"35964044.fcf53","name":"Living room fan","server":"61a3b09d.8395a","version":5,"debugenabled":false,"domain":"fan","service":"set_percentage","areaId":[],"deviceId":[],"entityId":["fan.living_room_fan"],"data":"{\t \"percentage\": 67\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1140,"y":540,"wires":[[]]},{"id":"f51e1ee293274714","type":"api-current-state","z":"35964044.fcf53","name":"Get last Alexa used","server":"61a3b09d.8395a","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.last_alexa","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload.last_alexa","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data.last_alexa","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":490,"y":300,"wires":[["545ebb02.da3e74"]]},{"id":"d99d5f0e.4d0f5","type":"alexa-remote-account","name":"Zachary's Account","authMethod":"proxy","proxyOwnIp":"192.168.1.3","proxyPort":"3456","cookieFile":"/config/node-red/add-ons/node-red-contrib-alexa-remote2/alexa.json","refreshInterval":"3","alexaServiceHost":"pitangui.amazon.com","amazonPage":"amazon.com","acceptLanguage":"en-US","onKeywordInLanguage":"","userAgent":"","useWsMqtt":"on","autoInit":"on"},{"id":"c0c39c32b655dec4","type":"vsh-connection","name":"[email protected]","port":"8883","accessTokenExpiry":"1636579845865","debug":false,"backendUrl":"https://kfd5m4a21f.execute-api.eu-west-1.amazonaws.com/dev","lwaClientId":"amzn1.application-oa2-client.3f1bb07133854b078261ad43f2484c18"},{"id":"61a3b09d.8395a","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]
Not sure if it matters, but I would try changing your switch nodes that route to the 3 different fans from “checking all rules” to “stopping after first match” and add a 4th “otherwise” output and send that to a debug node to see if it’s not finding any match at all. I would also add a debug node to the outputs of those switch nodes to confirm that msg.payload.last_alexa is what you expect.
For troubleshooting over a period of time I like to log results to a file that I can check to see what happened without needing to monitor the flow in real-time:
[{"id":"da517d6d89c95e78","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"c25c6d23dd195aa7","type":"function","z":"da517d6d89c95e78","name":"","func":"var today = new Date();\nmsg.payload = today + \" \" + msg.payload.last_alexa;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":960,"y":840,"wires":[["eac3d3361534e65c"]]},{"id":"eac3d3361534e65c","type":"file","z":"da517d6d89c95e78","name":"","filename":"/config/www/fan.log","filenameType":"str","appendNewline":true,"createDir":false,"overwriteFile":"false","encoding":"none","x":1170,"y":840,"wires":[[]]}]