jishi / node-sonos-http-api

An HTTP API bridge for Sonos easing automation. Hostable on any node.js capable device, like a raspberry pi or similar.
http://jishi.github.io/node-sonos-http-api/
MIT License
1.84k stars 461 forks source link

TTS and Harmony Hub #688

Open TheFett opened 5 years ago

TheFett commented 5 years ago

Hello,

Thanks for this! I've been using the API and really liking the flexibility and control it gives me with home automation.

One issue I seem to be running into that I haven't seen anyone else mention is with TTS, Sonos and Harmony. Specifically, the Sonos Beam.

If I have a "Watch TV" activity going on and send TTS to my Sonos Beam, it triggers the All off for the Harmony Hub on that TV. I have a Sonos Playbase on another TV with a different Harmony Hub and don't seem to have this issue. I removed and readded the Beam to this Harmony Hub and that fixed it for a day or so, but then the same behavior started again. Logging with Harmony is junk, I was wondering if you could see any reason why this could be occurring.

When I do TTS with Smartthings Webcore, I don't have this issue, I only experience this with your API.

jishi commented 5 years ago

Sorry about the late reply. I don't really understand the problem you are describing. I need to get a more descriptive explanation on what you are trying to achieve, and what you are experiencing (as well as what your expectation is). I have no experience of the Harmony Hub so I'm not familiar with the vocabulary you are using either.

0rTiN commented 5 years ago

I have the same problem during a running activity, e.g. TV. This activity starts my TV and controls the volume of my Sonos soundbar. If I send now a simple "hello" to the soundbar my TV activity gets stopped after the hello was spoken. The activity stop in the same way as it do, when I press OFF on my Harmony remote. The soundbar is registered as a Wifi controlled device in this config.

To avoid this problem I kicked the control via Wifi and changes to old school IR control. It is okay, but I really was wondering what could be the problem.

Till now I thought I am alone with this behavior.

TheFett commented 5 years ago

Thanks 0rTin. I hadn't thought of that. I'll give that a try.

Thanks for the reply jishi, I wasn't sure if you were aware of the issue or even had a way to test for it.

ghost commented 5 years ago

Hey @jishi I'll try and explain the issue too, as I believe I'm having the same thing (as I've just discovered).

I have recently got a Harmony Elite, and I was just listening to my Sonos (one of my activities).

When the clip all feature is called, the 'All Off' gets triggered, which then turns off the amp I'm using to listen to my Sonos. I can hear the clip all play on the other Sonos speakers in my house, but not from the room I'm in as the Sonos Connect I'm using, is going through an amp that's now off.

So it seems there's something in the clip all that's triggering Harmony's 'All Off' mode.

ghost commented 5 years ago

HI just an update, I don't think this is an issue with your plugin @jishi , it seems more of an issue with Harmony itself (as the grouping on the sonos device that's being used by Harmony, is no longer technically using that activity, so HArmony turns it off).

I've just found this: https://en.community.sonos.com/troubleshooting-228999/sonos-control-shuts-down-logitech-harmony-activity-6808982

There is a solution in there, so I'm going to try that and see if the clipall function works correctly after a tweak.

TheFett commented 4 years ago

Circling back to this. It seems like it has something to do with the end of the "clip" or "say" event having the speakers go into an idle state. From there, the Sonos sends an off command to Harmony and gives the all off command.

Any way to make the say/clip commands be a "play and resume"

TheFett commented 4 years ago

Actually, with the new Smartthing DTH, I can see the events a little better leading to the shutdown and it does fit with the Harmony bug/feature mentioned earlier. It looks like when the TTS begins it creates a group than after the clip is played it leaves the group. It's the ungrouping that triggers the Harmony Hub bug/feature to send the All Off command.