Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for HEATING_CIRCUIT devices. #33

Closed
jensflorian opened this issue Jun 15, 2020 · 6 comments · Fixed by #34
Closed

Add support for HEATING_CIRCUIT devices. #33

jensflorian opened this issue Jun 15, 2020 · 6 comments · Fixed by #34
Labels
enhancement New feature or request

Comments

@jensflorian
Copy link

The Bosch MB LANi gateway exposes Junker and Bosch heaters to Bosch SHC with deviceModel name "HEATING_CIRCUIT" and a HeatingSystemInformation service as parent.

{ "@type": "device", "rootDeviceId": "64-da-a0-02-8a-b2", "id": "hdm:ICom:0404200XX", "deviceServiceIds": [ "HeatingSystemInformation" ], "manufacturer": "JUNKERS", "roomId": "hz_4", "deviceModel": "LOGAMATIC_WEB_KM200", "serial": "0404200XX", "profile": "GENERIC", "name": "MB LANi", "status": "AVAILABLE", "childDeviceIds": [ "hdm:ICom:0404200XX:HC1", "hdm:ICom:0404200XX:HC2" ] },

Each heating circuit with a separate pump is labelled HC1, HC2 and so on and has its own device created. Here is the example for HC1:
{ "@type": "device", "rootDeviceId": "64-da-a0-02-8a-b2", "id": "hdm:ICom:0404200XX:HC1", "deviceServiceIds": [ "HeatingCircuit" ], "manufacturer": "JUNKERS", "roomId": "hz_10", "deviceModel": "HEATING_CIRCUIT", "serial": "0404200XXHC1", "profile": "GENERIC", "properties": { "heater.type": "RADIATOR" }, "name": "Heater Circuit 1", "status": "AVAILABLE", "parentDeviceId": "hdm:ICom:0404200XX", "childDeviceIds": [] },

The service is called via /services/HeatingCircuit/state
Example output:
{ "@type": "heatingCircuitState", "operationMode": "AUTOMATIC", "setpointTemperature": 22.0, "setpointTemperatureForLevelEco": 15.0, "setpointTemperatureForLevelComfort": 22.0, "schedule": { "profiles": [ { "day": "MONDAY", "switchPoints": [ { "startTimeMinutes": 0, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } }, { "startTimeMinutes": 300, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "COMFORT" } }, { "startTimeMinutes": 1290, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } } ] }, { "day": "TUESDAY", "switchPoints": [ { "startTimeMinutes": 0, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } }, { "startTimeMinutes": 300, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "COMFORT" } }, { "startTimeMinutes": 1290, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } } ] }, { "day": "WEDNESDAY", "switchPoints": [ { "startTimeMinutes": 0, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } }, { "startTimeMinutes": 300, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "COMFORT" } }, { "startTimeMinutes": 1290, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } } ] }, { "day": "THURSDAY", "switchPoints": [ { "startTimeMinutes": 0, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } }, { "startTimeMinutes": 300, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "COMFORT" } }, { "startTimeMinutes": 1290, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } } ] }, { "day": "FRIDAY", "switchPoints": [ { "startTimeMinutes": 0, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } }, { "startTimeMinutes": 300, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "COMFORT" } }, { "startTimeMinutes": 1290, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } } ] }, { "day": "SATURDAY", "switchPoints": [ { "startTimeMinutes": 0, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } }, { "startTimeMinutes": 390, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "COMFORT" } }, { "startTimeMinutes": 1320, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } } ] }, { "day": "SUNDAY", "switchPoints": [ { "startTimeMinutes": 0, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } }, { "startTimeMinutes": 390, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "COMFORT" } }, { "startTimeMinutes": 1320, "value": { "@type": "temperatureLevelSwitchPointValue", "temperatureLevel": "ECO" } } ] } ] }, "temperatureOverrideModeActive": false, "temperatureOverrideFeatureEnabled": true, "energySavingFeatureEnabled": false, "comfortTemperatureRange": { "minTemperature": 15.5, "maxTemperature": 30.0 }, "ecoTemperatureRange": { "minTemperature": 5.0, "maxTemperature": 21.5 }, "setPointTemperatureRange": { "minTemperature": 5.0, "maxTemperature": 30.0 }, "on": true }

It would be great, if this could be supported, so we could read "setpointTemperature" values into NodeRed flows. Of course I can test this with my setup.
Currently I don't think it is possible to change setpointTemperature via REST API.

@hxmelab hxmelab added the enhancement New feature or request label Jun 15, 2020
@hxmelab
Copy link
Owner

hxmelab commented Jun 15, 2020

Hi jensflorian,

do you only need to read the values? I am also not sure if we can change the temperature of this device.

I will try to implement this in the next days. Would be great if you could test it.

Kind regards
Phil

@jensflorian
Copy link
Author

Hi Phil,

I hoped to change the temperature of the device via setpointTemperature, so I could easily create separate flows for HC1 and HC2.
I will look again tonight into REST API if it’s possible to change the temperature of the heater, but would also be happy if we could just read the values.

Kind regards
jensflorian

@hxmelab
Copy link
Owner

hxmelab commented Jun 16, 2020

Can you control the temperature via the Bosch Smart Home app?

@jensflorian
Copy link
Author

Yes, it is possible to control the temperature manually via the Bosch Smart Home app. In automatic mode the BSH app also sets the temperature to the highest value of any TRV or BTRV setting.

hxmelab added a commit that referenced this issue Jun 16, 2020
Signed-off-by: hxmelab <hxmelab@gmail.com>
@hxmelab hxmelab linked a pull request Jun 16, 2020 that will close this issue
@hxmelab
Copy link
Owner

hxmelab commented Jun 16, 2020

Alright, feel free to check if this is working now. It should be possible to get and to set the temperature with version 0.2.21.

@jensflorian
Copy link
Author

Awesome, this works as announced. It is now possible to get and set the temperature for each circuit individually. Thanks a lot for your great work, Phil!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants