Problem getting the Smartthings binding to work

Hello all,

Background: running OH 2.5.8 on a Windows 10 computer.

I recently acquired a Samsung SmartThings Hub V3. I was able to get it to work allright for controlling two heating devices from my SmartThings phone app.

Next step for me was managing top do the same from my OH interface.

I went through the installation steps described in the SmartThings binding documentation.

  • Placed a copy of “org.openhab.binding.smartthings-2.5.9-SNAPSHOT.jar” in my addons folder
  • Used the SmartThings development tools to install OpenHabAppV2 and OpenHabDeviceHandler on the hub and created the device

The OpenHabDevice is now shown as connected on my phone SmartThings app.

Back to OH, I then created a smartthings.things file with the following content:

Bridge smartthings:smartthings:SMThub    [ smartthingsIp="", smartthingsPort=39500 ] {}

Restarting OH, I could then see in Paper UI that a thing named “Smartthings Hub” has been created and is reported to be “online”.

From there I expected that launching the inbox search process on the smartthing binding would result in the objects already connected to my SmartThings hub (my two heaters) to be found by OH. Unfortunately that did not happen. The inbox search process failed to find anything.

Then I hypothesized that the discovery process perhaps needed to be done synchronously in OH and the SmartThings hub. So, I had the SMT hub “forget” the heaters and I relaunched the search from OH. But again, nothing was found.

Next, I tried to add the heaters directly to the things file. To that end, I had the hub “relearn” the heaters. Then I edited the OH smartthings.things file in the following way:

Bridge smartthings:smartthings:SMThub    [ smartthingsIp="", smartthingsPort=39500 ] {
	Thing thermostat ConvecteurSDB [smartthingsName="Convecteur SdB"]
	Thing thermostat ConvecteurCdM [smartthingsName="Convecteur CdM"]

In the above, the smartthingsName provided is exactly the same as in my SmartThings phone app. Restarting OH, I can now see in Paper UI that two new things have been created for my heaters. Surprisingly, their names in the list of things is “Thermostat” in both cases (I expected the names would be shown as “ConvecteurSDB” and “ConvecteurCdM”). The list of available channels shown for each of the two things does not exactly match the list of channels shown in my phone app. For example, it includes a channel named “Cooling Setpoint” while my heaters do not provide any cooling function. However, I was hopeful since the list does include “Heating Setpoint” which clearly corresponds with a basic function on my heaters. The channel paths also make sense. For example, the Heating Setpoint function is associated with a channel named “smartthings:thermostat:SMThub:ConvecteurSDB:heatingSetpoint” with “thermostat” as type, “SMTHub” as the name of my Hub, “ConvecteurSDB” as the identifier of my heater and “heatingSetpoint” as the function being triggered.

I was then hopeful that adding items such as the following:

Number  SDB_HeatingSetpoint "Temperature cible" {channel="smartthings:thermostat:SMThub:ConvecteurSDB:heatingSetpoint"}

and adding lines such as the following to my sitemap:

Setpoint item=SDB_HeatingSetpoint label="SDB:cible [%.1f \u00B0C]" icon="temperature"  minValue=12 maxValue=25 step=0.5

Unfortunately this failed to produce the expected effect. The setpoint can be modified in my OH UI but this has no effect on the actual device (the heater) and does not get echoed in my SmartThings phone app. And conversely, changing the setpoint using my phone app does not result in any update on the OH side. Apparently, the communication is not working.

Any suggestions as to where I should be looking?

Many thanks in advance.

After looking into the Smartthings binding source code, I believe the binding is using the classic API approach to communicating with Smartthings, which in turn is error-prone.

There’s a troubleshooting document you can take a look at.

I don’t know if any developers can check the latest API sdk of Smartthings and integrate into openHAB.