diff --git a/docs/docs/examples/example-command-mqtt.md b/docs/docs/examples/example-command-mqtt.md index b8b4ea6e..c5c35fed 100644 --- a/docs/docs/examples/example-command-mqtt.md +++ b/docs/docs/examples/example-command-mqtt.md @@ -22,3 +22,36 @@ Publish an MQTT message to `cmnd/rika2mqtt` with the following JSON payload: To retrieve your stove id, simply go to rika-firenet and display your stove. Then you can retrieve the stove id from the url of the browser: https://rika-firenet.com/web/stove/[your stove id] ::: And voila! RIKA2MQTT will automatically do the necessary to forward this change to Rika-Firenet that will then forward it to your Rika stove. + + +## Update convection fans status via MQTT +```json +"stoveId": "your stove id", +"convectionFan1Active": true, +"convectionFan2Active": false +``` + +## Update heating times via MQTT +``` +"stoveId": "your stove id", +"heatingTimeMon1": "", +"heatingTimeMon2": "", +"heatingTimeTue1": "", +"heatingTimeTue2": "", +"heatingTimeWed1": "", +"heatingTimeWed2": "", +"heatingTimeThu1": "", +"heatingTimeThu2": "", +"heatingTimeFri1": "", +"heatingTimeFri2": "", +"heatingTimeSat1": "", +"heatingTimeSat2": "", +"heatingTimeSun1": "", +"heatingTimeSun2": "", +``` + +:::info +replace `` with i.e: `10302215` = 10h30 to 22h15 +::: + +You can update only what interest you, you are not forced to provide all properties. diff --git a/old-doc/docs.json b/old-doc/docs.json deleted file mode 100644 index 527b8a4a..00000000 --- a/old-doc/docs.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "Rika2Mqtt", - "description": "Connect your RIKA stove to MQTT and gain control the way you want!", - "favicon": "/assets/favicon.png", - "logo": "/assets/rika2mqtt-128x128.png", - "googleAnalytics": "G-5K9CY84T71", - "theme": "#36B9B9", - "anchors": [ - { "title": "Homepage", "icon": "house", "link": "https://rika2mqtt.cookiecode.dev/" }, - { "title": "Discord", "icon": "discord", "link": "https://discord.gg/uqQ2SWCQCb" } - ], - "sidebar": [ - ["Getting Started", [ - ["Overview", "/"], - ["Getting Started", "/getting-started"], - ["Configuration", "/configuration"], - ["Plugin development", "/write-a-plugin"] - ]], - ["Examples", [ - ["Publish stove status to MQTT", "/example-telemetry-mqtt"], - ["Control RIKA stove via MQTT", "/example-command-mqtt"] - ]], - ["Misc.", [ - ["Contributing", "/contributing"], - ["Stack", "/stack"] - ]] - ], - "variables": { - "versions": { - "stable": "2.0.0" - } - }, - "docsearch": { - "appId": "E1W6T35JS9", - "apiKey": "98471285c8a136a9d660a78e4e523445", - "indexName": "rika2mqtt" - } -} diff --git a/old-doc/docs/assets/favicon.ico b/old-doc/docs/assets/favicon.ico deleted file mode 100644 index 732ac130..00000000 Binary files a/old-doc/docs/assets/favicon.ico and /dev/null differ diff --git a/old-doc/docs/assets/favicon.png b/old-doc/docs/assets/favicon.png deleted file mode 100644 index 3e499b15..00000000 Binary files a/old-doc/docs/assets/favicon.png and /dev/null differ diff --git a/old-doc/docs/assets/rika2mqtt-128x128.png b/old-doc/docs/assets/rika2mqtt-128x128.png deleted file mode 100644 index 6700636b..00000000 Binary files a/old-doc/docs/assets/rika2mqtt-128x128.png and /dev/null differ diff --git a/old-doc/docs/assets/rika2mqtt-logo.png b/old-doc/docs/assets/rika2mqtt-logo.png deleted file mode 100644 index 50250af8..00000000 Binary files a/old-doc/docs/assets/rika2mqtt-logo.png and /dev/null differ diff --git a/old-doc/docs/assets/rika2mqtt.drawio b/old-doc/docs/assets/rika2mqtt.drawio deleted file mode 100644 index 210d2686..00000000 --- a/old-doc/docs/assets/rika2mqtt.drawio +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/old-doc/docs/assets/rika2mqtt.drawio.png b/old-doc/docs/assets/rika2mqtt.drawio.png deleted file mode 100644 index 5e9e79ba..00000000 Binary files a/old-doc/docs/assets/rika2mqtt.drawio.png and /dev/null differ diff --git a/old-doc/docs/assets/rika2mqtt.png b/old-doc/docs/assets/rika2mqtt.png deleted file mode 100644 index 6700636b..00000000 Binary files a/old-doc/docs/assets/rika2mqtt.png and /dev/null differ diff --git a/old-doc/docs/assets/unraid/unraid-community-rika2mqtt.png b/old-doc/docs/assets/unraid/unraid-community-rika2mqtt.png deleted file mode 100644 index d533eb43..00000000 Binary files a/old-doc/docs/assets/unraid/unraid-community-rika2mqtt.png and /dev/null differ diff --git a/old-doc/docs/configuration.mdx b/old-doc/docs/configuration.mdx deleted file mode 100644 index 6b279622..00000000 --- a/old-doc/docs/configuration.mdx +++ /dev/null @@ -1,32 +0,0 @@ -# Configuration - -## RIKA_EMAIL -The email of your rika-firenet account - -## RIKA_PASSWORD -The password of your rika-firenet account - -## MQTT_HOST -The host of your MQTT instance (ip or fqdn) - -## MQTT_USERNAME -The user to use to connect to MQTT (optional depends on your mqtt config) - -## MQTT_PASSWORD -The password associated to the user defined previously in MQTT_USER (optional depends on your mqtt config) - -## MQTT_PORT (Optional) -The MQTT server port -Default: 1883 - -## MQTT_COMMAND_TOPIC_NAME (Optional) -The MQTT topic used to send command to RIKA2MQTT -Default: `cmnd/rika2mqtt` - -## MQTT_TELEMETRY_REPORT_TOPIC_NAME (Optional) -The MQTT topic used by RIKA2MQTT to publish RIKA status -Default: `tele/rika2mqtt` - -## MQTT_URI_SCHEME (Optional) -The uri scheme to be used with MQTT_HOST (i.e: `tcp://`, `ssl://`) -Default: `tcp://` \ No newline at end of file diff --git a/old-doc/docs/contributing.mdx b/old-doc/docs/contributing.mdx deleted file mode 100644 index 308cfe79..00000000 --- a/old-doc/docs/contributing.mdx +++ /dev/null @@ -1,5 +0,0 @@ -# Contributing - -Everyone is welcome to contribute to this Open Source project. - -Contributions are very welcome! Please raise issues on GitHub and even better submit some PRs :) diff --git a/old-doc/docs/example-command-mqtt.mdx b/old-doc/docs/example-command-mqtt.mdx deleted file mode 100644 index f5fd9a35..00000000 --- a/old-doc/docs/example-command-mqtt.mdx +++ /dev/null @@ -1,25 +0,0 @@ -# Control RIKA stove via MQTT - -You can send commands to your stove via MQTT. This opens a lot of possibilities for your IoT system, NodeRed, ... - -By default RIKA2MQTT will listen for commands sent in topic: `cmnd/rika2mqtt` (or your custom topic defined in `MQTT_COMMAND_TOPIC_NAME`). - - -Here are some example of commands that can be sent to your RIKA stove via MQTT using RIKA2MQTT. - -## Update target temperature via MQTT - -Publish an MQTT message to `cmnd/rika2mqtt` with the following JSON payload: - -``` -"stoveId": "your stove id", -"targetTemperature": 20 -``` - -To retrieve your stove id, simply go to rika-firenet and display your stove. - Then you can retrieve the stove id from the url of the browser: - https://rika-firenet.com/web/stove/[your stove id] - - - -And voila! RIKA2MQTT will automatically do the necessary to forward this change to Rika-Firenet that will then forward it to your Rika stove. diff --git a/old-doc/docs/example-telemetry-mqtt.mdx b/old-doc/docs/example-telemetry-mqtt.mdx deleted file mode 100644 index 89e913f3..00000000 --- a/old-doc/docs/example-telemetry-mqtt.mdx +++ /dev/null @@ -1,147 +0,0 @@ -# Publish stove status to MQTT - -RIKA2MQTT bridge publish regularly the status of your stove to MQTT. You don't have to do anything special for that. - -By default the stove data will be published to the topic: `tele/rika2mqtt` (Or your custom topic defined in `MQTT_TELEMETRY_REPORT_TOPIC_NAME`. - -The payload is in JSON format : -``` -{ - "name": "My great stove", - "stoveId": 42, - "lastSeenMinutes": 0, - "lastConfirmedRevision": 1691688314, - "oem": "RIKA", - "stoveType": "PARO", - "sensors": { - "inputRoomTemperature": 22.4, - "inputFlameTemperature": 23, - "inputBakeTemperature": 1024, - "statusError": 0, - "statusSubError": 0, - "statusWarning": 0, - "statusService": 0, - "outputDischargeMotor": 0, - "outputDischargeCurrent": 0, - "outputIDFan": 0, - "outputIDFanTarget": 0, - "outputInsertionMotor": 0, - "outputInsertionCurrent": 0, - "outputAirFlaps": 50, - "outputAirFlapsTargetPosition": 50, - "outputBurnBackFlapMagnet": true, - "outputGridMotor": false, - "outputIgnition": false, - "inputUpperTemperatureLimiter": true, - "inputPressureSwitch": false, - "inputPressureSensor": 0, - "inputGridContact": true, - "inputDoor": true, - "inputCover": true, - "inputExternalRequest": true, - "inputBurnBackFlapSwitch": true, - "inputFlueGasFlapSwitch": true, - "inputBoardTemperature": 3.4, - "inputCurrentStage": 68, - "inputTargetStagePID": 67, - "inputCurrentStagePID": 68, - "statusMainState": 1, - "statusSubState": 3, - "statusWifiStrength": -69, - "parameterEcoModePossible": false, - "parameterFabricationNumber": 1, - "parameterStoveTypeNumber": 17, - "parameterLanguageNumber": 2, - "parameterVersionMainBoard": 228, - "parameterVersionTFT": 228, - "parameterVersionWiFi": 112, - "parameterVersionMainBoardBootLoader": 160, - "parameterVersionTFTBootLoader": 150, - "parameterVersionWiFiBootLoader": 101, - "parameterVersionMainBoardSub": 52003, - "parameterVersionTFTSub": 50002, - "parameterVersionWiFiSub": 13301, - "parameterRuntimePellets": 4528, - "parameterRuntimeLogs": 657, - "parameterFeedRateTotal": 6263, - "parameterFeedRateService": 598, - "parameterServiceCountdownKg": 102, - "parameterServiceCountdownTime": 0, - "parameterIgnitionCount": 1228, - "parameterOnOffCycleCount": 63, - "parameterFlameSensorOffset": 14, - "parameterPressureSensorOffset": 0, - "parameterErrorCount0": 93, - "parameterErrorCount1": 193, - "parameterErrorCount2": 0, - "parameterErrorCount3": 47, - "parameterErrorCount4": 9, - "parameterErrorCount5": 1, - "parameterErrorCount6": 0, - "parameterErrorCount7": 0, - "parameterErrorCount8": 0, - "parameterErrorCount9": 3, - "parameterErrorCount10": 3, - "parameterErrorCount11": 0, - "parameterErrorCount12": 3, - "parameterErrorCount13": 0, - "parameterErrorCount14": 0, - "parameterErrorCount15": 0, - "parameterErrorCount16": 0, - "parameterErrorCount17": 0, - "parameterErrorCount18": 1, - "parameterErrorCount19": 0, - "statusHeatingTimesNotProgrammed": false, - "statusFrostStarted": false, - "parameterSpiralMotorsTuning": 0, - "parameterIDFanTuning": 0, - "parameterCleanIntervalBig": 240, - "parameterKgTillCleaning": 700, - "parameterDebug0": 0, - "parameterDebug1": 0, - "parameterDebug2": 0, - "parameterDebug3": 0, - "parameterDebug4": 0 - }, - "controls": { - "revision": 1691688314, - "onOff": true, - "operatingMode": 2, - "heatingPower": 70, - "targetTemperature": 19, - "bakeTemperature": 1024, - "ecoMode": false, - "heatingTimeMon1": "06451000", - "heatingTimeMon2": "14002230", - "heatingTimeTue1": "06451000", - "heatingTimeTue2": "14002230", - "heatingTimeWed1": "06451000", - "heatingTimeWed2": "14002230", - "heatingTimeThu1": "06451000", - "heatingTimeThu2": "14002230", - "heatingTimeFri1": "06451000", - "heatingTimeFri2": "14002230", - "heatingTimeSat1": "06451000", - "heatingTimeSat2": "14002230", - "heatingTimeSun1": "06451000", - "heatingTimeSun2": "14002230", - "heatingTimesActiveForComfort": false, - "setBackTemperature": 13, - "convectionFan1Active": false, - "convectionFan1Level": 0, - "convectionFan1Area": 12, - "convectionFan2Active": true, - "convectionFan2Level": 0, - "convectionFan2Area": 12, - "frostProtectionActive": true, - "frostProtectionTemperature": 10, - "temperatureOffset": -1, - "RoomPowerRequest": 3, - "debug0": 0, - "debug1": 0, - "debug2": 0, - "debug3": 0, - "debug4": 0 - } -} -``` diff --git a/old-doc/docs/getting-started.mdx b/old-doc/docs/getting-started.mdx deleted file mode 100644 index 929a474b..00000000 --- a/old-doc/docs/getting-started.mdx +++ /dev/null @@ -1,43 +0,0 @@ -# Getting started - -RIKA2MQTT can be used on different platforms. - -It is mainly built for Docker but some other environment are also available. - -> Need another deployment platform ? Please ask :) - - - - # Docker - - ``` - docker run \ - -e RIKA_EMAIL= \ - -e RIKA_PASSWORD= \ - -e MQTT_HOST=127.0.0.1 \ - -e MQTT_USER= \ - -e MQTT_PASSWORD= \ - -d --name rika2mqtt cookiecodedev/rika2mqtt:{{ versions.stable }} - ``` - - - Last stable version is: `2.0.0` or the tag `stable` (point always to the last stable release) - - If you prefer, you can use `latest` instead which can be unstable (not recommended if you are not a rika2mqtt contributor) - - - To know more about these env please read the configuration page. - - - RIKA2MQTT is available on unRAID. In the community apps search for: `rika2mqtt` or click the following link: - - https://unraid.net/community/apps?q=rika2mqtt#r - - - - diff --git a/old-doc/docs/index.mdx b/old-doc/docs/index.mdx deleted file mode 100644 index 9296dc24..00000000 --- a/old-doc/docs/index.mdx +++ /dev/null @@ -1,16 +0,0 @@ -# RIKA2MQTT Documentation - - - -## What is it ? - -RIKA2MQTT is a free and opensource bridge enabling end-users to connect their RIKA firenet stove to an MQTT server. - - -It will publish regularly the status of your RIKA stove to MQTT, so you can display the status to your IoT platform or store some metrics such as in a Grafana Dashboard up to you! - -You can even send commands to your stove via MQTT, let's drive your stove the way you want :) - -## Overview - -Communication flow diagram stove -> rika firenet ; rika2mqtt -> rika firenet ; rika2mqtt -> mqtt diff --git a/old-doc/docs/stack.mdx b/old-doc/docs/stack.mdx deleted file mode 100644 index e24a673b..00000000 --- a/old-doc/docs/stack.mdx +++ /dev/null @@ -1,3 +0,0 @@ -# Stack - -The stack is published here: https://stackshare.io/rika2mqtt/rika2mqtt#stack diff --git a/old-doc/docs/write-a-plugin.mdx b/old-doc/docs/write-a-plugin.mdx deleted file mode 100644 index 1efeb94c..00000000 --- a/old-doc/docs/write-a-plugin.mdx +++ /dev/null @@ -1,44 +0,0 @@ -# Write a plugin for RIKA2MQTT - -> API for plugins is currently under development and is marked `@Beta`. Be cautious that it can have breaking changes between future releases. - -RIKA2MQTT provide an API for plugin creators. - -A few modules in the project are demonstrating plugins: - -* rika2mqtt-example-plugin -* rika2mqtt-example-plugin-using-config - -And an official plugin `rika2mqtt-flux-metrics-plugin` that exports RIKA stove status to InfluxDB. - - -More documentation will follow in the future when the API is more stable and heavily tested. - - -## Make a plugin configurable by the end user -Make your plugin main class implement `ConfigurablePlugin` - -### Define plugin parameters -Implement: `List declarePluginConfigurationParameters()` -Parameters can be built using RequiredPluginConfigurationParameter.builder() or OptionalPluginConfigurationParameter.builder() that provide guided assistance. - -### Retrieve user defined parameters for the plugin - -```java -class YourPlugin extends Rika2MqttPlugin { - - // some code ... - - start(){ - - var influxPort = getPluginConfigurationParameter(INFLUXDB_PORT); - - } - - -} -``` - -> Note: If a parameter is named: INFLUXDB_PORT, an ENV property will have to be passed to the rika2mqtt docker named `PLUGIN_INFLUXDB_PORT=8086` (it must add an extra `PLUGIN_` this help to keep plugin properties separated.) - -Voila! diff --git a/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapper.java b/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapper.java index 2e9f6880..6f2ccef4 100644 --- a/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapper.java +++ b/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapper.java @@ -60,6 +60,35 @@ default void mergeWithMap( .ifPresent( value -> controlsToUpdate.setHeatingTimesActiveForComfort(Boolean.valueOf(value))); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_MON1, null)) + .ifPresent(controlsToUpdate::setHeatingTimeMon1); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_MON2, null)) + .ifPresent(controlsToUpdate::setHeatingTimeMon2); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_TUE1, null)) + .ifPresent(controlsToUpdate::setHeatingTimeTue1); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_TUE2, null)) + .ifPresent(controlsToUpdate::setHeatingTimeTue2); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_WED1, null)) + .ifPresent(controlsToUpdate::setHeatingTimeWed1); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_WED2, null)) + .ifPresent(controlsToUpdate::setHeatingTimeWed2); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_THU1, null)) + .ifPresent(controlsToUpdate::setHeatingTimeThu1); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_THU2, null)) + .ifPresent(controlsToUpdate::setHeatingTimeThu2); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_FRI1, null)) + .ifPresent(controlsToUpdate::setHeatingTimeFri1); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_FRI2, null)) + .ifPresent(controlsToUpdate::setHeatingTimeFri2); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_SAT1, null)) + .ifPresent(controlsToUpdate::setHeatingTimeSat1); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_SAT2, null)) + .ifPresent(controlsToUpdate::setHeatingTimeSat2); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_SUN1, null)) + .ifPresent(controlsToUpdate::setHeatingTimeSun1); + ofNullable(diffs.getOrDefault(Fields.HEATING_TIME_SUN2, null)) + .ifPresent(controlsToUpdate::setHeatingTimeSun2); + ofNullable(diffs.getOrDefault(Fields.SET_BACK_TEMPERATURE, null)) .ifPresent(value -> controlsToUpdate.setSetBackTemperature(Integer.valueOf(value))); diff --git a/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/model/UpdatableControls.java b/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/model/UpdatableControls.java index 10c463fb..468ef0db 100644 --- a/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/model/UpdatableControls.java +++ b/rika-firenet/src/main/java/dev/cookiecode/rika2mqtt/rika/firenet/model/UpdatableControls.java @@ -59,6 +59,20 @@ public class UpdatableControls { private Boolean frostProtectionActive; private Integer frostProtectionTemperature; private Boolean onOff; + private String heatingTimeMon1; + private String heatingTimeMon2; + private String heatingTimeTue1; + private String heatingTimeTue2; + private String heatingTimeWed1; + private String heatingTimeWed2; + private String heatingTimeThu1; + private String heatingTimeThu2; + private String heatingTimeFri1; + private String heatingTimeFri2; + private String heatingTimeSat1; + private String heatingTimeSat2; + private String heatingTimeSun1; + private String heatingTimeSun2; // @FieldNameConstants lombok annotation would generate this. Unfortunately at the moment it // generates issues to generate @@ -81,5 +95,19 @@ public static final class Fields { public static final String FROST_PROTECTION_ACTIVE = "frostProtectionActive"; public static final String FROST_PROTECTION_TEMPERATURE = "frostProtectionTemperature"; public static final String ON_OFF = "onOff"; + public static final String HEATING_TIME_MON1 = "heatingTimeMon1"; + public static final String HEATING_TIME_MON2 = "heatingTimeMon2"; + public static final String HEATING_TIME_TUE1 = "heatingTimeTue1"; + public static final String HEATING_TIME_TUE2 = "heatingTimeTue2"; + public static final String HEATING_TIME_WED1 = "heatingTimeWed1"; + public static final String HEATING_TIME_WED2 = "heatingTimeWed2"; + public static final String HEATING_TIME_THU1 = "heatingTimeThu1"; + public static final String HEATING_TIME_THU2 = "heatingTimeThu2"; + public static final String HEATING_TIME_FRI1 = "heatingTimeFri1"; + public static final String HEATING_TIME_FRI2 = "heatingTimeFri2"; + public static final String HEATING_TIME_SAT1 = "heatingTimeSat1"; + public static final String HEATING_TIME_SAT2 = "heatingTimeSat2"; + public static final String HEATING_TIME_SUN1 = "heatingTimeSun1"; + public static final String HEATING_TIME_SUN2 = "heatingTimeSun2"; } } diff --git a/rika-firenet/src/test/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapperTest.java b/rika-firenet/src/test/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapperTest.java index 8069465a..05b0c3f2 100644 --- a/rika-firenet/src/test/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapperTest.java +++ b/rika-firenet/src/test/java/dev/cookiecode/rika2mqtt/rika/firenet/mapper/UpdatableControlsMapperTest.java @@ -57,6 +57,20 @@ void toUpdateControlsShouldProperlyMapPropertiesFromControlModel() { final var frostProtectionActive = true; final var frostProtectionTemperature = 15; final var heatingTimesActiveForComfort = true; + final var heatingTimeMon1 = "12002200"; + final var heatingTimeMon2 = "12002200"; + final var heatingTimeTue1 = "12002200"; + final var heatingTimeTue2 = "12002200"; + final var heatingTimeWed1 = "12002200"; + final var heatingTimeWed2 = "12002200"; + final var heatingTimeThu1 = "12002200"; + final var heatingTimeThu2 = "12002200"; + final var heatingTimeFri1 = "12002200"; + final var heatingTimeFri2 = "12002200"; + final var heatingTimeSat1 = "12002200"; + final var heatingTimeSat2 = "12002200"; + final var heatingTimeSun1 = "12002200"; + final var heatingTimeSun2 = "12002200"; final var controls = Controls.builder() .revision(revision) @@ -75,6 +89,20 @@ void toUpdateControlsShouldProperlyMapPropertiesFromControlModel() { .frostProtectionActive(frostProtectionActive) .frostProtectionTemperature(frostProtectionTemperature) .heatingTimesActiveForComfort(heatingTimesActiveForComfort) + .heatingTimeMon1(heatingTimeMon1) + .heatingTimeMon2(heatingTimeMon2) + .heatingTimeTue1(heatingTimeTue1) + .heatingTimeTue2(heatingTimeTue2) + .heatingTimeWed1(heatingTimeWed1) + .heatingTimeWed2(heatingTimeWed2) + .heatingTimeThu1(heatingTimeThu1) + .heatingTimeThu2(heatingTimeThu2) + .heatingTimeFri1(heatingTimeFri1) + .heatingTimeFri2(heatingTimeFri2) + .heatingTimeSat1(heatingTimeSat1) + .heatingTimeSat2(heatingTimeSat2) + .heatingTimeSun1(heatingTimeSun1) + .heatingTimeSun2(heatingTimeSun2) .build(); // WHEN