Setpoint widget not working in sitemap in i-phone app with Z-wave thermostat

The setpoint widget is not working in the sitemap on my iphone, when setting the setpoint temperature of an Aeotec Z-wave radiator thermostat. However, the widget works fine with my wifi Venstar Thermostat.

I searched the forum, and I see similar issues have popped up over the past few years, though not with this type of equipment, and not with any real solution given. I tried the fix in one of those threads, putting [%.1f %unit%] into the item label but it doesn’t work. If I replace the setpoint widget with a slider, it works, unfortunately the slider is very difficult to set to the correct value on an iphone.

What happens:
When I press up or down button in the widget, nothing changes, the setpoint stays at the current value.
When I do this repeatedly, I see the lines below in openhab events.log file. It looks like the current value of the setpoint is just being sent without changing it:

2021-12-17 13:00:37.741 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MR_RadiatorValve_Setpointheat' predicted to become 20
2021-12-17 13:00:38.250 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'MR_RadiatorValve_Setpointheat' received command 20
2021-12-17 13:00:38.258 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MR_RadiatorValve_Setpointheat' predicted to become 20
2021-12-17 13:00:40.160 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'MR_RadiatorValve_Setpointheat' received command 20
2021-12-17 13:00:40.171 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MR_RadiatorValve_Setpointheat' predicted to become 20
2021-12-17 13:00:43.533 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'MR_RadiatorValve_Setpointheat' received command 20
2021-12-17 13:00:43.541 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MR_RadiatorValve_Setpointheat' predicted to become 20
2021-12-17 13:00:44.649 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'MR_RadiatorValve_Setpointheat' received command 20
2021-12-17 13:00:44.659 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MR_RadiatorValve_Setpointheat' predicted to become 20
2021-12-17 13:00:47.268 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'MR_RadiatorValve_Setpointheat' received command 20
2021-12-17 13:00:47.278 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MR_RadiatorValve_Setpointheat' predicted to become 20
2021-12-17 13:00:47.996 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'MR_RadiatorValve_Setpointheat' received command 20
2021-12-17 13:00:48.004 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MR_RadiatorValve_Setpointheat' predicted to become 20

The item was configured using the UI, and it is a Number:Temperature.

Sitemap was also configured in the UI, relevant code is below:

{
                    "component": "Setpoint",
                    "config": {
                      "icon": "temperature",
                      "item": "MR_RadiatorValve_Setpointheat",
                      "label": "Setpoint (heat) [%.1f %unit%]",
                      "maxValue": 30,
                      "minValue": 15,
                      "step": 0.5
                    }
                  }

Any ideas how to fix it?

  • Hardware: Raspberry Pi 4
  • OS: Raspbian
  • openHAB version: openHAB 3.2.0 Build #2628

Then sending command 20 (with no units) will not work.

You haven’t told us what app you are using to view your sitemap; perhaps its Setpoint widget needs an update to deal with units properly.

I’m using the i-phone openHAB app (as per the title of my post). The setpoint widget is sending the command, it’s not me doing it from a rule or anything.

Understood. If it sends command 20 without units, it’s not going to work.
Might need this -

One throw of the dice you could try is changing widget label from “Setpoint (heat) [%.1f %unit%]” to “Setpoint (heat) [%.1f °C]” to give it a better hint.

Thanks for the advice, unfortunately using °C didn’t work. I’ve also discovered that:

  • in basicUI, for example in safari browser, it works fine.
  • if I change the set point in basicUI I can then change the set point in the iPhone app using the widget for a short time afterwards. But then it stops working again.

Should i create an issue in GitHub? I’m not sure if the issue is with the widget or with the zwave binding, because with my other WiFi thermostat with items set up exactly the same, it works fine.

Look at the commands in your events.log
If the Item commands stop coming, or stop coming with units, that is coming from the widget.
If the Item commands are valid with units, but ignored, then its about the downstream zwave side.

Actually I fixed it (kind of). It seems to be because of the minimum step in the set point. It needs to be set to 1, although the thermostat itself accepts smaller steps.

Sounds like an iOS widget bug then, if it works in BasicUI. The Item has no idea where commands come from.