From 0f6390ab10b410a20107edfb0dd3263aad955196 Mon Sep 17 00:00:00 2001 From: pszafer Date: Sun, 14 Jan 2024 11:25:34 +0100 Subject: [PATCH] support for 04.02.02 easycontrol firmware --- .../db/easycontrol/040202.json | 426 ++++++++++++++++++ bosch_thermostat_client/version.py | 2 +- 2 files changed, 427 insertions(+), 1 deletion(-) create mode 100644 bosch_thermostat_client/db/easycontrol/040202.json diff --git a/bosch_thermostat_client/db/easycontrol/040202.json b/bosch_thermostat_client/db/easycontrol/040202.json new file mode 100644 index 0000000..bfd96b1 --- /dev/null +++ b/bosch_thermostat_client/db/easycontrol/040202.json @@ -0,0 +1,426 @@ +{ + "versionFirmware": "04.02.02", + "date_format": "%Y-%m-%dT%H:%M:%S%z", + "programList": "/programs/list", + "devices": { + "refs": { + "status": { + "id": "type", + "name": "type", + "type": "regular" + }, + "name": { + "id": "name", + "name": "name", + "type": "regular" + } + }, + "sensors": { + "battery": { + "id": "battery", + "name": "battery", + "type": "regular" + }, + "signal": { + "id": "signal", + "name": "signal", + "type": "regular", + "entity_category": "diagnostic" + }, + "etrvTemperatureActual": { + "id": "etrv/temperatureActual", + "name": "Actual temperature", + "type": "regular", + "state_class": "measurement", + "device_class": "temperature" + }, + "etrvValvePosition": { + "id": "etrv/valvePosition", + "name": "Valve position", + "type": "regular" + } + }, + "switches": { + "etrvChildLock": { + "id": "etrv/childLock/enabled", + "type": "binary", + "turn_on": "true", + "turn_off": "false", + "name": "Child lock" + }, + "etrvOffset": { + "id": "etrv/offset", + "name": "Valve offset", + "type": "number", + "defaultStep": 0.5 + }, + "etrvMaxValvePosition": { + "id": "etrv/maxValvePosition", + "name": "Max valve posistion", + "type": "number", + "defaultStep": 1.0 + } + } + }, + "solarCircuits": { + "refs": { + "status": { + "id": "totalSolarGain", + "name": "totalSolarGain", + "type": "regular" + } + }, + "sensors": { + "collectorTemperature": { + "id": "collectorTemperature", + "name": "collectorTemperature", + "type": "regular", + "state_class": "measurement", + "device_class": "temperature" + }, + "dhwTankBottomTemperature": { + "id": "dhwTankBottomTemperature", + "name": "dhwTankTemperature", + "type": "regular", + "state_class": "measurement", + "device_class": "temperature" + }, + "totalSolarGain": { + "id": "totalSolarGain", + "name": "totalSolarGain", + "type": "regular", + "state_class": "total", + "device_class": "energy" + }, + "pumpModulation": { + "id": "pumpModulation", + "name": "pumpModulation", + "type": "regular" + } + } + }, + "zones": { + "hastates": [ + { + "haname": "heat", + "boschname": ["manual"] + }, + { + "haname": "auto", + "boschname": ["clock"] + } + ], + "min_ref": "setpoint1", + "max_ref": "setpoint1", + "hvacAction": "status", + "mode_to_setpoint": { + "manual": { + "setpoint": "setpoint1", + "type": "manual" + }, + "clock": { + "setpoint": "setpoint2", + "type": "auto" + } + }, + "refs": { + "current_temp": { + "id": "temperatureActual", + "name": "Room temperature", + "type": "regular" + }, + "operation_mode": { + "id": "userMode", + "name": "Operation mode", + "type": "operation_mode" + }, + "setpoint1": { + "id": "manualTemperatureHeating", + "name": "Manual room setpoint", + "type": "setpoint" + }, + "setpoint2": { + "id": "clockOverride/temperatureHeating", + "name": "Clockoverride setpoint", + "type": "setpoint" + }, + "targettemp": { + "id": "temperatureHeatingSetpoint", + "name": "Active Target temp", + "type": "regular" + }, + "status": { + "id": "status", + "name": "Heating circuit status", + "type": "regular" + }, + "name": { + "id": "name", + "name": "Name of zone", + "type": "regular" + }, + "activeProgram": { + "id": "clockProgram", + "name": "Active Switch Program", + "type": "activeProgram" + } + }, + "sensors": { + "actualValvePosition": { + "id": "actualValvePosition", + "name": "Valve position" + }, + "nextSetpoint": { + "id": "nextSetpoint", + "name": "Next setpoint" + }, + "optimumStartHeatupRate": { + "id": "optimumStartHeatupRate", + "name": "optimumStartHeatupRate" + }, + "timeToNextSetpoint": { + "id": "timeToNextSetpoint", + "name": "timeToNextSetpoint" + }, + "humidity": { + "id": "humidity", + "name": "humidity", + "state_class": "measurement", + "device_class": "humidity" + }, + "openWindowDetectionStatus": { + "id": "openWindowDetection/status", + "name": "openWindowDetection Status" + } + } + }, + "heatingCircuits": { + "refs": { + "status": { + "id": "control", + "name": "status", + "type": "regular" + } + }, + "switches": { + "boostTemperature": { + "id": "boostTemperature", + "name": "Boost temperature", + "type": "number", + "defaultStep": 1.0 + }, + "boostDuration": { + "id": "boostDuration", + "name": "Boost duration", + "type": "number", + "defaultStep": 1.0 + }, + "boostMode": { + "id": "boostMode", + "name": "Boost", + "type": "binary", + "turn_on": "on", + "turn_off": "off" + } + }, + "sensors": { + "supplyTemperatureSetpoint": { + "id": "supplyTemperatureSetpoint", + "name": "Supply Temperature Setpoint" + }, + "boostRemainingTime": { + "id": "boostRemainingTime", + "name": "Boost remaining time" + } + } + }, + "dhwCircuits": { + "hastates": [ + { + "haname": "off", + "boschname": ["Off"] + }, + { + "haname": "high_demand", + "boschname": ["high"] + }, + { + "haname": "performance", + "boschname": ["ownprogram"] + } + ], + "min_ref": "setpoint1", + "max_ref": "setpoint1", + "mode_to_setpoint": { + "Off": { + "setpoint": null, + "type": "off" + }, + "high": { + "setpoint": "setpoint1", + "type": "manual" + }, + "ownprogram": { + "setpoint": null, + "type": "auto" + } + }, + "schedule": { + "program": "/dhwCircuits/{}/programs/{}/week", + "key_day": "d", + "key_setpoint": "dhw", + "key_time": "t", + "switch_points": "value" + }, + "refs": { + "operation_mode": { + "id": "operationMode", + "name": "Operation mode", + "type": "operation_mode" + }, + "setpoint1": { + "id": "temperatureLevels/high", + "name": "DHW High level", + "type": "setpoint" + }, + "status": { + "id": "state", + "name": "DHW status", + "type": "regular" + }, + "activeProgram": { + "id": "programs", + "name": "Active Switch Program", + "type": "activeProgram" + }, + "switchPrograms": { + "id": "programs", + "name": "Switch Programs", + "type": "regular" + } + }, + "switches": { + "thermalDisinfectlasttime": { + "id": "thermalDisinfect/time", + "name": "thermalDisinfect time", + "type": "number" + } + }, + "sensors": { + "thermalDisinfectlastResult": { + "id": "thermalDisinfect/lastResult", + "name": "thermalDisinfect lastResult" + }, + "thermalDisinfectstate": { + "id": "thermalDisinfect/state", + "name": "thermalDisinfect state" + }, + "thermalDisinfectlastweekDay": { + "id": "thermalDisinfect/weekDay", + "name": "thermalDisinfect weekDay" + }, + "hotWaterSystem": { + "id": "hotWaterSystem", + "name": "hotWaterSystem" + } + } + }, + "sensors": { + "outdoor_t1": { + "id": "/system/sensors/temperatures/outdoor_t1", + "name": "Outdoor temperature", + "state_class": "measurement", + "device_class": "temperature" + }, + "indoorAirDigital": { + "id": "/system/sensors/temperatures/indoorAirDigital", + "name": "Indoor Temperature", + "state_class": "measurement", + "device_class": "temperature" + }, + "indoorChip": { + "id": "/system/sensors/temperatures/indoorChip", + "name": "Indoor chip temp", + "state_class": "measurement", + "device_class": "temperature" + }, + "indoorPCB": { + "id": "/system/sensors/temperatures/indoorPCB", + "name": "Indoor PCB temp", + "state_class": "measurement", + "device_class": "temperature" + }, + "indoor_h1": { + "id": "/system/sensors/humidity/indoor_h1", + "name": "Indoor humidity", + "state_class": "measurement", + "device_class": "humidity" + }, + "system_pressure": { + "id": "/system/appliance/systemPressure", + "name": "System pressure" + }, + "actualModulation": { + "id": "/heatSources/actualModulation", + "name": "Actual modulation" + }, + "CHpumpModulation": { + "id": "/heatSources/CHpumpModulation", + "name": "Actual heating pump modulation" + }, + "actualSupplyTemperature": { + "id": "/heatSources/actualSupplyTemperature", + "name": "Actual supply temperature" + }, + "numberOfStarts": { + "id": "/heatSources/numberOfStarts", + "name": "Number of starts" + }, + "returnTemperature": { + "id": "/heatSources/returnTemperature", + "name": "Return temperature" + }, + "totalWorkingTime": { + "id": "/heatSources/workingTime/totalSystem", + "name": "Total working time" + }, + "refillNeeded": { + "id": "/heatSources/refillNeeded", + "name": "Refill needed11" + }, + "energy": { + "id": "/energy/history", + "pagination": "/energy/historyEntries", + "state_class": "total", + "device_class": "energy" + }, + "maintenanceRequest": { + "id": "/system/appliance/maintenanceRequest", + "name": "maintenanceRequest", + "type": "binary" + }, + "autoAwayEnabled": { + "id": "/system/autoAway/enabled", + "name": "autoAwayEnabled", + "type": "binary" + } + }, + "crawlSensors": [], + "switches": { + "awayMode": { + "id": "/system/awayMode/enabled", + "name": "Away mode", + "type": "binary" + }, + "awayModeTemperature": { + "id": "/system/awayMode/temperature", + "name": "Away mode temp", + "type": "number" + }, + "hydraulicBalancing": { + "id": "/system/hydraulicBalancing/enabled", + "name": "hydraulicBalancing", + "type": "binary" + } + } +} diff --git a/bosch_thermostat_client/version.py b/bosch_thermostat_client/version.py index 34772da..5853cb6 100644 --- a/bosch_thermostat_client/version.py +++ b/bosch_thermostat_client/version.py @@ -1,2 +1,2 @@ # flake8: noqa -__version__ = "0.24.1" +__version__ = "0.24.2"