[Release] Samsung Multiroom WiFi Audio

TrackDescription: Updated trackDesciption. This is a part of refresh. However, it does appear too often. I will create a preference for debug logging and this message will be converted into one of the messages (a lot of messages will go to either debug or trace logging).

No route to host (Host unreachable). I will be updating the code to create a "ping" function that will be a comms check running every 15 minutes. If a response is detected, it will set state.connected = true. Otherwise, it will create a state.connected = false. This will become an error in the device states or attributes (so you can correct if necessary). The state will also disable the refresh command. It will not disable user-entered commands nor external command activation (i.e., rule machine).

updateData: updated appVersion. For some reason this is updating the data twice (aside from too often). I will remove the periodic update and instead make it an update whenever the app is executed. I will also remove the logging.

Timing - By Sunday (hopefully, and hopefully sooner).

2 Likes

Just reporting my findings - not requesting a speedy resolve. :slight_smile:

I'm very appreciative of the work you put in to this!

Update to 2.0.02. The Samsung WiFi Audio integration has been updated to version 2.0.02. The update incorporates the items below.

Instructions:

  1. Replace both the Application and Driver by copying over the existing Hubitat files.
  2. Set Preferences on each device to refresh the interface.

Items incorporated:

  1. Refresh Rate preference, Defaults to 30 minutes, The more you rely on the Multi-room application, the faster this rate should be

  2. Stop refresh on "no route to host". After third consecutive, will stop refresh comms until the user executes any other command successfully.

  3. Debug Logging. Modified. When selected in Preferences, will run debug logging for 15 minutes. Currently no means to turn this off.) At same time, reduced info messages to a minimum. Not necessary in Hubitat (as opposed to SmartThings).

  4. Uninstalled. Added the Uninstalled method to the Application and the Driver. In the Driver, it sends a command to the Application to delete the device as a child. In the Application, when uninstalled, all child devices will be deleted. (This is how SmartThings automatically works and it prevents inconsistencies and problems while installing and uninstalling.)

Thanks to @mario.fuchs for the good logs. Looking for more.

3 Likes

Decided to start fresh and deleted the previous install.

Dumb move it seems, as I no longer seem to be able to figure out how to add the user app.
Step by step in sequential order below.

1.) Driver code installed:

2.) App code installed:

3.) Trying to install the user app:

4.) Clicking "next":

5.) Error message:

6.) The live log page that I had open leaves no clue (only LIFX GoG pings):

Edit app. line 48. Change to read page(name: "speakerDiscovery")

Some idiot needs to learn how to type. App also updated on GitHub.

1 Like

Mistakes happen :slight_smile:

Thanks, all good here it seems:


1 Like

Maybe I'm a bit of a bozo here, but after I install this and have it search for my speakers, what command do I need to use to load a URL for an mp3 file and play it? I can get TTS to work and I ran the sample and it works. However if I go to the rules engine and make a rule to include the Samsung Speaker I want I'm not sure of the drop-down option nor where I would enter the URL for the mp3.

Thanks,
Scott

DLNA playback is not implemented in this Driver. I tried several ways to light this fire and failed. What is implemented is playing the content players listed in the App. That includes playing from the Amazon Prime playlists.

I do not use the rule machine.

From the device menu, the Play Track is a way to enter a url. It has worked in the past, but I really do not use it.

Hi Dave,

I've had to reinstall the app, which we fine. However, how do I set up my presets again? The method I used to use doesn't appear to be there.

Cheers
Roy

Ouch.

a. Make sure the new psuedo device is associated with the dashboard.
b. Once this is done, select each tile and associate it with the new psuedo device.

I have not found any shortcut.

I uninstalled all, and then reinstalled from scratch. In the old app, there was the "Preset Create", does this not exist any more?

Cheers
Roy

BTW. Thanks for keeping the old app and driver. I installed this, and I can create presets again. But just wondering how to do it via the updated app.

The new app uses button (8) to do preset create. That is sub-optimal. I will update the driver to return the preset / group create buttons in the basic interface and also keeping the button capability. Rather easy. Give me the weekend to implement.

1 Like

Much appreciated Dave. I rolled back to the old app and driver, installed and now updated again. So I now have my presets back, but need the buttons as my Dash is using them. :slight_smile:

One of the buttons in the button interface is preset create. It is button 8 and is an arm/unarm button. The first arms the preset create. The next selection you make will create the preset unless you select the button 8 again.

See my new page below. The "not armed" is the preset create button.

I think I'm having a "thick day" Dave. I just cant grasp what I need to do.

I updated the code again, after installing the old code (so I could get my presets back). Then updated to the later code. I did manage to set a Preset_1, although by mistake, so now I have two of the same station lol. But most are working as intended.

I think I have it! I'm having a play and will update :wink:

update Got it :+1:

1 Like

I have updated the version on GitHub to add back in the following commands to the explicit and callable interface:

command "presetPlay", ["NUMBER"]
command "presetCreate", ["NUMBER"]
command "groupStart", ["NUMBER"]
command "groupCreate", ["NUMBER"]
command "groupStop"

Note that there is no presetDelete or groupDelete. By creating a new preset, it will overwrite the previous preset.

Dave

1 Like

Cheers Dave, much appreciated :+1:

NEW VERSION AVAILABLE:

A new version is available on GitHub (see original post for link).

04.06.2019. Update to version 2.1. Added

  1. TTS Queuing
  2. Capability Audio Volume
  3. Button Implementation (finalized).
  4. Test Queue command.

Upgrade:
For soundbars:

  • Add the new device driver "Samsung Soundbar.groovy" to the device driver page.
  • In the Devices Page, update the device type to Samsung Soundbar.
  • Run Preferences

For speakers:

  • Replace the existing device driver with "Samsung Speaker.groovy".
  • Run preferences.

Application:

  • Replace existing code with the new code. This is only necessary if you are going to add new devices. The only change is in the installation routine.

Button Implementation and example Dashboard:

Cheers: Dave.

2 Likes