So yes, I did initially determine that there was an issue from HT, but my issue exists even when using the Follow Me device page, specifically the "Device Notifcation" button with argument "hello" (see latest message output below), so I am thinking that the issue is more with the distribution of the message rather than the generation of it.
latestMessage : {"method":"deviceNotification","message":null,"priority":"X:X","speakLevel":null,"returnLevel":null,"title":""}
Using the button of the same name on the Echo Speaks device yields the intended result and my echo dot speaks "hello".
Update: So, I have been looking through the driver code and I managed to make the message no longer null
. For example, in the deviceNotification
method, when theMessage
is generated by using the composeMessageMap
method by passing state.speechReceivedFULL
, if I change that to just speechReceivedFULL
it now registers that my argument is non-null and is correctly what I typed in and then it seems to speak properly, so the issue may be with the state.
object call, maybe a 2.2.4 change? It seems like based on what message method is called, the message is sometimes stored in the state, sometimes just stored locally and that discrepancy is screwing stuff up.
Note: Either changing the variable passed to be the local speechReceivedFULL
variable or creating a state.speechReceivedFULL
variable in the first place has the exact same result, but having them mismatched seems to break things.
Also, could you explain what that X:X
argument passed to composeMessageMap
is supposed to be? It seems to be passed into the priority spot, but I am guessing it is a notifier that default values from the app should be used.
Another thing I noticed, and this may get fixed over time, and I will update if it does, but if I test speech using Echo Speaks device, it works fine, then I try and send a device notification via the Follow Me driver connected to that same device, it errors out with the null
's and then when I go back into the Echo Speaks device, it no longer can speak until it is reinitialized on the Echo Speaks side which is very odd.