So I finally got around to labbing the HS4 to NodeRed to Alexa integration. For Alexa TTS I’m using the node-red-contrib-alexa-remote2-applestrudel library, which I've got working.
So from what I’ve figured out so far is that in order to get the text into NodeRed one uses a HS4 virtual device status to hold the contents of what you want spoken. The problem I’ve notice is that when HS4 NodeRed Device nodes are updated that they output two different payloads, the first is the current status of the device and then next the new status of the device. Is this normal?
I’ve noticed that some people get around this by kludging together a bandaid, such as clearing the device status right after a TTS event so that the next TTS event will have a blank payload immediately followed by the desired text. This seems…. silly?
Is there a better, more elegant way to achieve TTS from HS4 into NodeRed? Since NodeRed has MQTT and HTTP In nodes, would it be better to use those somehow?
More importantly, why does the HS4 Device node output two payload messages whenever it is changed? Is this by design or a quirk?
Apologies if some of these points are incorrect or unclear, I’m still wrapping my head around this.
So from what I’ve figured out so far is that in order to get the text into NodeRed one uses a HS4 virtual device status to hold the contents of what you want spoken. The problem I’ve notice is that when HS4 NodeRed Device nodes are updated that they output two different payloads, the first is the current status of the device and then next the new status of the device. Is this normal?
I’ve noticed that some people get around this by kludging together a bandaid, such as clearing the device status right after a TTS event so that the next TTS event will have a blank payload immediately followed by the desired text. This seems…. silly?
Is there a better, more elegant way to achieve TTS from HS4 into NodeRed? Since NodeRed has MQTT and HTTP In nodes, would it be better to use those somehow?
More importantly, why does the HS4 Device node output two payload messages whenever it is changed? Is this by design or a quirk?
Apologies if some of these points are incorrect or unclear, I’m still wrapping my head around this.
Comment