[matter] bridge thermostat

I’m currently trying to migrate my connection from openHAB 5.0.3 to Apple Home from the HomeKit Bridge to the Matter Bridge. My first attempt with a Homematic thermostat is yielding incomplete results.

Group H10_Kuche_Heizung_Wandthermostat “1.0 Küche Heizung Wandthermostat” (Raum10Kueche) [Equipment] { homekit=“Thermostat”, matter=“Thermostat” }

Number:Temperature H10_Kuche_Heizung_Wandthermostat_Actual_Temperature “1.0 Küche Heizung Wandthermostat (Ist Temperatur) [%.1f %unit%]” (H10_Kuche_Heizung_Wandthermostat) [Point] { channel=“homematic:HM-TC-IT-WM-W-EU:MEQ1606862:SEQ2820493:2#ACTUAL_TEMPERATURE”, homekit=“Thermostat.CurrentTemperature”, matter=“thermostat.localTemperature”, unit=“°C” }

In the overview view, both are identical:

In the detailed view, the current temperature is missing for the object that comes via the matter bridge; instead, the target temperature is displayed again:

Did I do something wrong, or is this a bug?

So you have 1 item tagged with the current local temperature

matter="thermostat.localTemperature"

But there are no target (heating or cooling) setpoints temp in your config. The README shows a complete example. You should have the current temp and and a item/tag for cooling, heating, or both depending on your device.

Those tags look like:

matter="thermostat.occupiedHeatingSetpoint"
matter="thermostat.occupiedCoolingSetpoint" 

There should also be a item to switch modes (so on or off, heat, cool, etc…) based on what your device supports.

From the README:

{matter="thermostat.systemMode" [OFF=0, HEAT=1, COOL=2, AUTO=3]}

If you only supported heat (and its a SWITCH item for on/off) this might look like

{matter="thermostat.systemMode" [OFF=OFF, HEAT=ON]}

And you would only have an item for heating (not cooling)

If you can tell me more (what items are bound to the device) i can help a little more.

Sorry, I only posted the item with the problem; here’s the rest:

Number _10_Kuche_Heizung_Wandthermostat_Sytem_Mode “1.0 Küche Heizung Wandthermostat (Sytem Mode)” (H10_Kuche_Heizung_Wandthermostat) [Point] { homekit=“Thermostat.TargetHeatingCoolingMode” [HEAT=“4”, OFF=“0”], matter=“thermostat.systemMode” }

Number:Temperature H10_Kuche_Heizung_Wandthermostat_Set_Temperature “1.0 Küche Heizung Wandthermostat (Soll Temperatur) [%.2f %unit%]” (H10_Kuche_Heizung_Wandthermostat, openHAB_HomematicGroup01TermostatsSetTemperature) [Point] { channel=“homematic:HM-TC-IT-WM-W-EU:MEQ1606862:SEQ2820493:2#SET_TEMPERATURE”, homekit=“Thermostat.TargetTemperature”,
matter=“thermostat.occupiedHeatingSetpoint”, unit=“°C” }

The screenshot shows that these items work.

System Mode is a manually created item with a static value of 4, as the Homematic device does not have a heating/cooling mode for a pure heating function. For the same reason, no item for Cooling Target Temperature is defined either.

At first glance you are missing the matter system modes (you have them for homekit)

matter=“thermostat.systemMode”, [OFF=0, HEAT=4]

Also If you make changes and they don’t work, post your complete item config so i don’t have to try and construct from multiple posts, will save me a little time :+1:

I used the default matter values, which probably aren’t applied to the text configuration. For HomeKit I have to map 4→HEAT. The configuration is done via the interface; the text definitions are from the DSL export.

Group H10_Kuche_Heizung_Wandthermostat “1.0 Küche Heizung Wandthermostat” (Raum10Kueche) [Equipment] { homekit=“Thermostat”, matter=“Thermostat” }

Number:Temperature H10_Kuche_Heizung_Wandthermostat_Actual_Temperature “1.0 Küche Heizung Wandthermostat (Ist Temperatur) [%.1f %unit%]” (H10_Kuche_Heizung_Wandthermostat) [Point] { channel=“homematic:HM-TC-IT-WM-W-EU:MEQ1606862:SEQ2820493:2#ACTUAL_TEMPERATURE”, homekit=“Thermostat.CurrentTemperature”, matter=“thermostat.localTemperature”, unit=“°C” }

Number _10_Kuche_Heizung_Wandthermostat_Sytem_Mode “1.0 Küche Heizung Wandthermostat (Sytem Mode)” (H10_Kuche_Heizung_Wandthermostat) [Point] { homekit=“Thermostat.TargetHeatingCoolingMode” [HEAT=“4”, OFF=“0”], matter=“thermostat.systemMode” }

Number:Temperature H10_Kuche_Heizung_Wandthermostat_Set_Temperature “1.0 Küche Heizung Wandthermostat (Soll Temperatur) [%.2f %unit%]” (H10_Kuche_Heizung_Wandthermostat, openHAB_HomematicGroup01TermostatsSetTemperature) [Point] { channel=“homematic:HM-TC-IT-WM-W-EU:MEQ1606862:SEQ2820493:2#SET_TEMPERATURE”, homekit=“Thermostat.TargetTemperature”,
matter=“thermostat.occupiedHeatingSetpoint”, unit=“°C” }

Edit:

I haven’t changed anything.

One more piece of information: To rule out that the problem lies with the Apple HomeKit app, I set up a test server with Home Assistant and Matter Bridge. Everything is displayed correctly there. However, I noticed that the humidity sensor is also missing from the openHAB Matter Bridge binding. It’s not configurable at all.

@digitaldan

Any ideas about my problem? Do you need any traces?

I’m actually still looking into this, i’m guessing this is probably an issue with the UI based configuration as that is not as well tested as i would like, i was hoping to debug last weekend but ran out of time, its still on my list of things to look at along with a few other matter bridge issues. I’m hoping to get back to it by Friday.

1 Like