I have had a 95% success in integrating a Samsung WiFi speaker with presets with a Device Handler. I say 95% because there is a problem. The speakers do the following (as verified using wire shark):
a. Sends out multiple reply methods in response to some commands. The method with the desired state is often NOT the desired data. And in one case, there is NO MESSAGE to query for the second message data.
b. Automatically sends out event methods (i.e., when a track changes). (These are usually not seen).
c. Message order is NOT always the same. I believe there are two processes running simultaneously in the device. They send out method responses independent of each other.
Note: I believe that the device interface is NOT UPNP in these areas. UPNP applies only to a keyset (i.e., remote control emulator). I have downloaded the capabilities descriptions from the UPNP interfaces for the devices (soundbar is different from speaker).
There must be a method to get more than a single response from the Hub Action. I have tried with some, but not full, success:
Adding a general “parse” method. This captures some responses on the interface, especially when the SmartThings environment is VERY SLOW (as it has been recently). It does not capture the events while changing tracks. At other times, silence. I then do a parseLan and forward to the general response parser.
Sending a bogus command to the interface when certain methods are received, which causes the next message on the buffer to be read as a response within SmartThings (and therefore parsed).
I also tried subscribing to the UPNP interface events, without success (no help). (Is there a way to subscribe to a device sent event (such as during track changes?)
But I still can not get the data from one specific command (with some essential data to set-up speaker groups). Any help would be appreciated!