Best way to link 2 thermostats' target temperature vice-versa?

  • Platform information:
    • Hardware: RaspberryPi
    • OS: RaspberryOS bullseye
    • Java Runtime Environment: openJDK 11.0.16
    • openHAB version: 3.3.0

I’ve installed 2 zigbee radiator thermostats (Hama rebrand of Tuya thermostat TZE200_yw7cahqs) in the same room.

My goal is, that changing the target temperature (manually at the phyiscal device) on any of these thermostats is propagated to the other thermostat.

Therefore I defined a new point number:temperature “GruppeThermostateHauptbad” and linked it to both target temperatures using standard profile for both channels.

All from UI, Thing definition extracted from backup:
multi-point item definition
Item.json

  "GruppeThermostateHauptbad": {
    "class": "org.openhab.core.items.ManagedItemProvider$PersistedItem",
    "value": {
      "groupNames": [
        "Bad"
      ],
      "itemType": "Number:Temperature",
      "tags": [
        "Point",
        "Temperature"
      ],
      "label": "Thermostate OG Hauptbad",
      "category": ""
    }
  },

ItemChannelLink.json

  "GruppeThermostateHauptbad -\u003e deconz:thermostat:8b0beb0d9f:b4e3f9fffe11f7c1010201:heatsetpoint": {
    "class": "org.openhab.core.thing.link.ItemChannelLink",
    "value": {
      "channelUID": {
        "segments": [
          "deconz",
          "thermostat",
          "8b0beb0d9f",
          "b4e3f9fffe11f7c1010201",
          "heatsetpoint"
        ],
        "uid": "deconz:thermostat:8b0beb0d9f:b4e3f9fffe11f7c1010201:heatsetpoint"
      },
      "configuration": {
        "properties": {}
      },
      "itemName": "GruppeThermostateHauptbad"
    }
  },
  "GruppeThermostateHauptbad -\u003e deconz:thermostat:8b0beb0d9f:cc86ecfffef0464f010201:heatsetpoint": {
    "class": "org.openhab.core.thing.link.ItemChannelLink",
    "value": {
      "channelUID": {
        "segments": [
          "deconz",
          "thermostat",
          "8b0beb0d9f",
          "cc86ecfffef0464f010201",
          "heatsetpoint"
        ],
        "uid": "deconz:thermostat:8b0beb0d9f:cc86ecfffef0464f010201:heatsetpoint"
      },
      "configuration": {
        "properties": {}
      },
      "itemName": "GruppeThermostateHauptbad"
    }
  },

Current behaviour

  • Changing the point “GruppeThermostateHauptbad” in openhab is propagated to both devices - as expected
  • Manually changing the target temperatur on a device updates the corresponding openhab item/point and the point “GruppeThermostateHauptbad”, but this is not propagated to the other thermostat - which is my goal

What am I missing?
Is there any way to achieve my goal, without defining rules reacting on manual changes on the thermostats?

You can’t do this with Groups alone, as you can see. But I think you can do this with the follow profile. However I don’t know if that works with updates. If you try it and it doesn’t work, you’ll have to write a rule.

If you write a rule, be careful to avoid infinite loops but only updating the other Item if it’s different.

2 Likes