[Release] Samsung Multiroom WiFi Audio

Thanks, Next I am adding presets. It will work by running the station/player on the multiroom app, then creating the preset on the device. Then next time you press it, it will call up the channel. (I already do this in SmartThings and it has been working for the players I have accounts on!

1 Like

UPDATED

05-18-2018 - Incremental update adding define and play preset functions. Requires replacing Driver only!

See top post!

UPDATED. Final Beta incorporating all available functions:
Music Player
Audio Notification
Text-to-Speech
Preset (for channels first created in the Multiroom App)
Groups (for groups first created in the Multiroom App)

Tested all functions; but not all possible conditions.

Thanks to all for the help.

Dave

4 Likes

Stunning Dave. Taking me a little to get my head around the differences between ST and Hubitat, but getting there. Great work, many thanks! :+1:

1 Like

Hi Dave @djgutheinz,

Are there plans to add any Play track and resume functionality, if that's possible?

Or maybe I could make a request for Presets could be supported in Rule Machine, just thinking of a way for my Remotec controller to execute the presets without the need for webCoRE :slight_smile:

At least using presets does work via webCoRE, and works great (apart from some lag and random stopping of play sometime after, which I haven't caught in logs as yet). I can now port a massive part of what I love, the ability to press a button, and stream to whichever room I'm in :+1: from ST.

**Update - Managed to get RM to see "Presets" using the Custom Commands

Cheers

Roy

Sorry for the delay. Caught consulting 12hrs a day.

Will look at play track and resume and get back in a week or so.

1 Like

Dave - THANK YOU for doing this!! I was able to get my M3 up and running because of your code. LOVE IT!

3 Likes

@djgutheinz

Dave - not sure what might be happening but I am now having issues with my M3. Every once in a while (like 1 out of 5 times) I have the TTS announce through either Message Central or BigTalker2 I hear the Samsung M3 "The connection was successfully paired" right after an announcement. My thought is this could be the "resumeplay" feature. Thoughts on this? Logs below with the latest log having this phantom voice.

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:50.900 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlayStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:50.736 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetPlayStatus%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:45.776 pm [info](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo: Track Description is .

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:45.774 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:45.683 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetRadioInfo%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:43.449 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:43.440 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:43.337 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetFunc%3C/name%3E%3Cp%20type=%22str%22%20name=%22function%22%20val=%22wifi%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:43.321 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:43.318 pm [info](http://10.0.2.38/device/edit/346)restorePlayer: Restoring play to [level:80, inputsource:wifi]

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:35.601 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PausePlaybackEvent

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:35.589 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PausePlaybackEvent

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:35.587 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PausePlaybackEvent

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:31.513 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetUrlPlayback%3C/name%3E%3Cp%20type=%22cdata%22%20name=%22url%22%20val=%22empty%22%3E%3C![CDATA[http://10.0.2.38:8080/tts/28d26da56f9ab0ec00f4f2d12dde068d.mp3]]%3E%3C/p%3E%3Cp%20type=%22dec%22%20name=%22buffersize%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22seektime%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22resume%22%20val=%221%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:31.507 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:31.294 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3ESetPlaybackControl%3C/name%3E%3Cp%20type=%22str%22%20name=%22playbackcontrol%22%20val=%22stop%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:31.293 pm [info](http://10.0.2.38/device/edit/346)playTrackAndResume: Resume = 0, Track = [uri:http://10.0.2.38:8080/tts/28d26da56f9ab0ec00f4f2d12dde068d.mp3, duration:6], Volume = 80

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:12.319 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_CurrentFunc

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:12.317 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:12.185 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetFunc%3C/name%3E%3Cp%20type=%22str%22%20name=%22function%22%20val=%22wifi%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:12.174 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:12.172 pm [info](http://10.0.2.38/device/edit/346)restorePlayer: Restoring play to [level:80, inputsource:wifi]

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:06.710 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlayStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:06.591 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetPlayStatus%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:01.689 pm [info](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo: Track Description is .

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:01.686 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:01.535 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetRadioInfo%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:00.559 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:00.555 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:00.400 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetUrlPlayback%3C/name%3E%3Cp%20type=%22cdata%22%20name=%22url%22%20val=%22empty%22%3E%3C![CDATA[http://10.0.2.38:8080/tts/40524ec7b14c9ed37804864fe61ebdeb.mp3]]%3E%3C/p%3E%3Cp%20type=%22dec%22%20name=%22buffersize%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22seektime%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22resume%22%20val=%221%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:00.393 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:00.333 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlaybackStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:00.179 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3ESetPlaybackControl%3C/name%3E%3Cp%20type=%22str%22%20name=%22playbackcontrol%22%20val=%22stop%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:23:00.178 pm [info](http://10.0.2.38/device/edit/346)playTrackAndResume: Resume = 0, Track = [uri:http://10.0.2.38:8080/tts/40524ec7b14c9ed37804864fe61ebdeb.mp3, duration:6], Volume = 80

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:22:51.499 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PausePlaybackEvent

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:22:51.496 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:22:51.340 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetUrlPlayback%3C/name%3E%3Cp%20type=%22cdata%22%20name=%22url%22%20val=%22empty%22%3E%3C![CDATA[http://10.0.2.38:8080/tts/40524ec7b14c9ed37804864fe61ebdeb.mp3]]%3E%3C/p%3E%3Cp%20type=%22dec%22%20name=%22buffersize%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22seektime%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22resume%22%20val=%221%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:22:51.330 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:22:51.277 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlaybackStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:22:51.112 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3ESetPlaybackControl%3C/name%3E%3Cp%20type=%22str%22%20name=%22playbackcontrol%22%20val=%22stop%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:22:51.108 pm [info](http://10.0.2.38/device/edit/346)playTrackAndResume: Resume = 0, Track = [uri:http://10.0.2.38:8080/tts/40524ec7b14c9ed37804864fe61ebdeb.mp3, duration:6], Volume = 80

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:12.319 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlayStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:12.200 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetPlayStatus%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:10.726 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_MuteStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:10.002 pm [info](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo: Track Description is .

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:09.997 pm [info](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo: Track Description is .

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:09.996 pm [info](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo: Track Description is .

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:09.975 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:09.971 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:09.968 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:07.173 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetRadioInfo%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:05.147 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetAcmMode%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:04.640 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetVolume%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:04.084 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetFunc%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:21:03.551 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetMute%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:12.315 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlayStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:12.134 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetPlayStatus%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:07.190 pm [info](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo: Track Description is .

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:07.187 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_RadioInfo

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:07.101 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetRadioInfo%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:05.173 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_AcmMode

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:05.081 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetAcmMode%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:04.670 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:04.569 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetVolume%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:04.129 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_CurrentFunc

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:04.061 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetFunc%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:03.734 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_MuteStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:16:03.538 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetMute%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:12.334 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlayStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:12.136 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetPlayStatus%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:09.524 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_CurrentFunc

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:09.524 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_CurrentFunc

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:09.510 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_CurrentFunc

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:09.499 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_CurrentFunc

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:07.107 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3EGetRadioInfo%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:05.081 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetAcmMode%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:04.570 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetVolume%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:04.063 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetFunc%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:11:03.542 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cname%3EGetMute%3C/name%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:08:07.544 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:08:07.540 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_CurrentFunc

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:08:00.356 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetFunc%3C/name%3E%3Cp%20type=%22str%22%20name=%22function%22%20val=%22wifi%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:08:00.345 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:08:00.343 pm [info](http://10.0.2.38/device/edit/346)restorePlayer: Restoring play to [level:80, inputsource:wifi]

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:48.760 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:48.755 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:48.556 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetUrlPlayback%3C/name%3E%3Cp%20type=%22cdata%22%20name=%22url%22%20val=%22empty%22%3E%3C![CDATA[http://10.0.2.38:8080/tts/9a15271d4d94dd8f6851bf10813cad53.mp3]]%3E%3C/p%3E%3Cp%20type=%22dec%22%20name=%22buffersize%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22seektime%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22resume%22%20val=%221%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:48.550 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:48.416 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlaybackStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:48.334 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3ESetPlaybackControl%3C/name%3E%3Cp%20type=%22str%22%20name=%22playbackcontrol%22%20val=%22stop%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:48.333 pm [info](http://10.0.2.38/device/edit/346)playTrackAndResume: Resume = 0, Track = [uri:http://10.0.2.38:8080/tts/9a15271d4d94dd8f6851bf10813cad53.mp3, duration:6], Volume = 80

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:47.570 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:47.568 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:44.901 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetFunc%3C/name%3E%3Cp%20type=%22str%22%20name=%22function%22%20val=%22wifi%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:44.880 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:44.876 pm [info](http://10.0.2.38/device/edit/346)restorePlayer: Restoring play to [level:80, inputsource:wifi]

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:33.231 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_MuteStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:33.231 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:33.119 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetUrlPlayback%3C/name%3E%3Cp%20type=%22cdata%22%20name=%22url%22%20val=%22empty%22%3E%3C![CDATA[http://10.0.2.38:8080/tts/9a15271d4d94dd8f6851bf10813cad53.mp3]]%3E%3C/p%3E%3Cp%20type=%22dec%22%20name=%22buffersize%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22seektime%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22resume%22%20val=%221%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:33.112 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:33.016 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlaybackStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.896 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.891 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_VolumeLevel

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.888 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3ESetPlaybackControl%3C/name%3E%3Cp%20type=%22str%22%20name=%22playbackcontrol%22%20val=%22stop%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.887 pm [info](http://10.0.2.38/device/edit/346)playTrackAndResume: Resume = 0, Track = [uri:http://10.0.2.38:8080/tts/9a15271d4d94dd8f6851bf10813cad53.mp3, duration:6], Volume = 80

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.762 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetUrlPlayback%3C/name%3E%3Cp%20type=%22cdata%22%20name=%22url%22%20val=%22empty%22%3E%3C![CDATA[http://10.0.2.38:8080/tts/9a15271d4d94dd8f6851bf10813cad53.mp3]]%3E%3C/p%3E%3Cp%20type=%22dec%22%20name=%22buffersize%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22seektime%22%20val=%220%22/%3E%3Cp%20type=%22dec%22%20name=%22resume%22%20val=%221%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.749 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /UIC?cmd=%3Cpwron%3Eon%3C/pwron%3E%3Cname%3ESetVolume%3C/name%3E%3Cp%20type=%22dec%22%20name=%22volume%22%20val=%2224%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.665 pm [debug](http://10.0.2.38/device/edit/346)generalResponse_PlaybackStatus

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.533 pm [debug](http://10.0.2.38/device/edit/346)sendCmd: Command= /CPM?cmd=%3Cname%3ESetPlaybackControl%3C/name%3E%3Cp%20type=%22str%22%20name=%22playbackcontrol%22%20val=%22stop%22/%3E, Action = generalResponse

[dev:346](http://10.0.2.38/logs/past#dev346)2018-11-30 04:07:32.532 pm [info](http://10.0.2.38/device/edit/346)playTrackAndResume: Resume = 0, Track = [uri:http://10.0.2.38:8080/tts/9a15271d4d94dd8f6851bf10813cad53.mp3, duration:6], Volume = 80

Give me a week or so. Embroiled in fixing TP-Link devices. (There were extensive updates and some issues to resolve in them. Finished with Hubitat, now SmartThings.)

Appreciate it Dave!

Thoughts:

For my R1 speakers and soundbars, the speaker generates a "the connection is complete" when completing a connection (i.e., bluetooth). Somewhere the unit is disconnecting from a source and reconnecting when the sound plays.

What connection (wifi, bluetooth, etc.) is being used when playing the text-to-speech. If not wifi, this may be normal as the connection is re-established.

Dave

Dave - good question! What does the Bluetooth look like in your devices? I do not have the device setup with anything besides WiFi. BUT, that doesn't mean someone didn't add their device to the M3.

When you power on the device ((unplug and plug back in) mine (R7) comes back with an audio message (device connected for wifi, bluetooth ready for bluetooth. When bluetooth connects, get a connected message.

What about on your device itself such as your iOS or Droid? What does it show up as? Samsung?

I've never played with wireless speakers (á la Sonos) but I couldn't resist the refurbed R1 at $40. So, two of them have arrived and I'm trying to understand their capabilities and limitations. All the foregoing to explain that I don't know what I'm doing. :blush:.

But I have been able to 1) use the Samsung app to get them connected in surround sound mode to my Samsung TV; 2) install this driver to get TTS from Hubitat.

But I can't do both. Is it possible to keep them connected to the TV and be interrupted by a Hubitat TTS announcement?

Thanks @djgutheinz for your expertise and contribution to the community.

I also got an R1 at the refurb sale, and am using it only for TTS notifications. Thanks Dave for the driver and app!! I did have a question, how do I change the voice to something else? It is currently a male voice, and would like to try something else.

Thanks again @djgutheinz!

Edit: Never mind, found it under the Hubitat settings.

CAL.Hub. i will work yours today to determine issue.

CrisD. In Hubitat Environment, Select Settings >> Hub Details. At the bottom of the settings is Default Text To Speech (TTS) Voice. I use Nicole, Female, Australian. Really a kick and I really loved my 1 year in Oz.

Dave

1 Like

R1 Speaker, Bluetooth, and TTS

Investigation of using TTS with Bluetooth indicates the following behavior
Setup: Connected to my Samsung S8 via Bluetooth and playing a song. TTS sent via Hubitat interface of Play Text and Resume.

a. Speaker switches to WiFi and announces "WiFi is Connected"
b. The TTS string plays.
c. Speaker switches back to Speker and anounces "Bluetooth is Ready".

Problem: The speaker does not reconnect to the S8 and does not restart audio. This may be either the S8 (is there an auto Bluetooth Connect function?????).

Implications: TV Sound Connect would act similarly. Need confirmation. If not restarting TV audio, it is a limit in the TV.

Dave

1 Like

Not sure this helps, but here's my observations:
When using a group of Samsung speakers as surround speakers for a Samsung TV, the TV-configuration takes precedense and any "normal" grouping you've made will break.

This is what it looks like in the Samsung app (sorry for the Swedish, I think you get the geist):

I have therefore separated the 4 X WiFi TV-audio speakers from my normal/day to day streaming surround-audio set-up.

One problem I have is: when using TTS announcements on a group of speakers that are intended for non-TV use, the announcement will only play on the master-speaker and any previously playing WiFi source will not re-commence.

In the log, I'm also getting constant warning messages for
2018-12-16 14:36:56.174 warnNo route to host (Host unreachable)

Will look into over the next few weeks. It worked in the past. The No route to host implies that the WiFi connectivity issues. I get the same when I unplug the speaker.

Dave

1 Like