stefan-kaestle / openhab2-addons

Add-ons for openHAB 2.x
Eclipse Public License 2.0
16 stars 1 forks source link

Control of the BSH radiator thermostats #36

Closed kreack closed 3 years ago

kreack commented 3 years ago

Hi Bosch heroes :-)

for some reason I can't chenge the radiator controls and for my radiator in living room (its look so that)i received 2 IDs.

Hire my customizing: Things:

       Thing thermostat Thermostat_W "Heizkörper Wohnzimmer"   [ id="roomClimateControl_hz_1" ]
       Thing thermostat Thermostat_X "Heizkörper X"   [ id="hdm:HomeMaticIP:3014F711A00000XXXXXXXXXX" ] // double Entrie, implemented for testing

Items:

       Number      Thermostat_W_Ist       "Ist Termperatur"   <temperature>      (Wohnzimmer)        {channel="boschshc:thermostat:1:Thermostat_W:temperature"}
       Number      Thermostat_W_Soll      "Soll Temperatur"   <radiator>         (Wohnzimmer)        {channel="boschshc:thermostat:1:Thermostat_W:valve-tappet-position"}
        Number      Thermostat_X_Ist       "Ist Termperatur"   <temperature>      (Wohnzimmer)        {channel="boschshc:thermostat:1:Thermostat_X:temperature"}
        Number      Thermostat_X_Soll      "Soll Temperatur"   <radiator>         (Wohnzimmer)        {channel="boschshc:thermostat:1:Thermostat_X:valve-tappet-position"}

Sitemap:

         Text item=Thermostat_W_Ist label="Ist Temperatur" icon="radiator"
         Slider item=Thermostat_W_Soll label="Soll Temperatur" icon="radiator"

         Text item=Thermostat_X_Ist label="Ist TemperaturX" icon="radiator"
         Slider item=Thermostat_X_Soll label="Soll TemperaturX" icon="radiator"

By change of temperature in sideman recipe following Log:

         2020-08-13 15:03:20.769 [ome.event.ItemCommandEvent] - Item 'Thermostat_W_Soll' received command 23
         2020-08-13 15:03:20.776 [nt.ItemStatePredictedEvent] - Thermostat_W_Soll predicted to become 23
         2020-08-13 15:03:20.806 [vent.ItemStateChangedEvent] - Thermostat_W_Soll changed from 24 to 23

          2020-08-13 15:03:58.634 [ome.event.ItemCommandEvent] - Item 'Thermostat_X_Soll' received command 12
          2020-08-13 15:03:58.637 [nt.ItemStatePredictedEvent] - Thermostat_X_Soll predicted to become 12
          2020-08-13 15:03:58.656 [vent.ItemStateChangedEvent] - Thermostat_X_Soll changed from 13 to 12

This does not change the thermostat values.

In case of change of values in BSH APP I receive following log:

           2020-08-13 15:06:43.630 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Got update for roomClimateControl_hz_1
           2020-08-13 15:06:43.633 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found child: org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@1973e55 - calling processUpdate with {"schedule":{"profiles":[{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1390,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"MONDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1390,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"TUESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1390,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"WEDNESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1390,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"THURSDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1390,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"FRIDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1390,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SATURDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1390,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SUNDAY"}]},"operationMode":"MANUAL","summerMode":false,"showSetpointTemperature":false,"low":false,"@type":"climateControlState","setpointTemperature":5.5,"setpointTemperatureForLevelEco":5,"setpointTemperatureForLevelComfort":21,"ventilationMode":false,"boostMode":false,"supportsBoostMode":true}
           2020-08-13 15:06:43.631 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.WindowContactHandler@18be3df does not implement Bosch SHC handler
           2020-08-13 15:06:43.635 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.WindowContactHandler@a09ea8 does not implement Bosch SHC handler
           2020-08-13 15:06:43.636 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.WindowContactHandler@14ea307 does not implement Bosch SHC handler
           2020-08-13 15:06:43.637 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@1973e55 does not implement Bosch SHC handler
           2020-08-13 15:06:43.639 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@8c6d61 does not implement Bosch SHC handler
           2020-08-13 15:06:43.640 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@15a6677 does not implement Bosch SHC handler
           2020-08-13 15:06:43.641 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@143d113 does not implement Bosch SHC handler
           2020-08-13 15:06:43.642 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Could not find a thing for device ID: roomClimateControl_hz_1
           2020-08-13 15:06:45.120 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Got update for hdm:HomeMaticIP: 3014F711A00000XXXXXXXXXX
           2020-08-13 15:06:45.121 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.WindowContactHandler@10c7ed9 does not implement Bosch SHC handler
           2020-08-13 15:06:45.122 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.WindowContactHandler@18be3df does not implement Bosch SHC handler
           2020-08-13 15:06:45.123 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Got update for hdm:HomeMaticIP: 3014F711A00000XXXXXXXXXX
           2020-08-13 15:06:45.124 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.WindowContactHandler@a09ea8 does not implement Bosch SHC handler
           2020-08-13 15:06:45.124 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found child: org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@143d113 - calling processUpdate with {"@type":"childLockState","childLock":"ON"}
           2020-08-13 15:06:45.125 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.WindowContactHandler@14ea307 does not implement Bosch SHC handler
           2020-08-13 15:06:45.126 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@1973e55 does not implement Bosch SHC handler
           2020-08-13 15:06:45.127 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@8c6d61 does not implement Bosch SHC handler
           2020-08-13 15:06:45.129 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@15a6677 does not implement Bosch SHC handler
           2020-08-13 15:06:45.130 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - longPoll: child handler for org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler@143d113 does not implement Bosch SHC handler
           2020-08-13 15:06:45.131 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Could not find a thing for device ID: hdm:HomeMaticIP: 3014F711A00000XXXXXXXXXX

Changes will't be replicated to openhab... I'm definitely doing something wrong :-(

Thanks in advance!

coeing commented 3 years ago

Hi @kreack ,

Thanks for testing our binding!

I had the same thinking as you have with setting the temperature of a thermostat. This is not possible at the moment via the Bosch Rest API. Instead the Bosch system creates a Room Climate Control for each room with a thermostat in it. This Room Climate Control is a virtual device, so it hasn't any physical counterpart but can be controlled in openHAB like a physical device.

For your setup you would create one thing for the thermostat (id="hdm:HomeMaticIP:3014F711A00000XXXXXXXXXX" with a "thermostat" binding as you did already) and one thing for the Room Climate Control (id="roomClimateControl_hz_1" with a "climate-control" binding). So all you should have to change is the type of the binding of your "Thermostat_W" thing (plus you could rename it to "Raumtemperatur Wohnzimmer" :) ).

Hope this helps! Feel free to ask any additional questions for clarification.

kreack commented 3 years ago

Many thanks @coeing :-) Now all 3 radiator thermostats can controlled...

Additionale to the thermostats i received 3 following devices:

// device: name=-VentilationService- id=ventilationService
// device: name=-IntrusionDetectionSystem- id=intrusionDetectionSystem
// PresenceSimulationService- id=presenceSimulationService

Are this already implemented? If yes, which type have this devices (thermostat / climate-control / etc)?

coeing commented 3 years ago

Are this already implemented? If yes, which type have this devices (thermostat / climate-control / etc)?

@kreack No, there is no binding for those devices yet. Do you have any devices that support those services? The ventilation service and intrusion detection system is listed for me as well, but I have no devices that may support it. If you have details about one of those and how it should work, feel free to open a new issue for each one. Than we can plan to support it in a later version.

As the controlling of the thermostats works now for you, I'll close this issue.