Skip to content

Conversation

@genmllc
Copy link

@genmllc genmllc commented Dec 23, 2025

✨ Ajout du Thermor Malicio 3 65L et de nouvelles capacités ECS

Cette pull request ajoute la prise en charge d’un nouveau modèle de chauffe-eau : Thermor Malicio 3 65L, ainsi que plusieurs nouvelles capacités ECS (Eau Chaude Sanitaire).

🔧 Modifications

  • Ajout du modèle Thermor Malicio 3 65L
  • Ajout de nouvelles capacités liées à l’ECS
  • Cartographie des capacités réalisée de manière prudente (ajouts uniquement, aucune suppression)

🔍 Méthodologie

Les nouvelles capacités ont été identifiées par rétro-ingénierie de l’APK Android Cozytouch, principalement via l’analyse :

  • de la classe fr.modulotech.app.domain.model.devices.Capabilities
  • des définitions Kotlin (enum et BitField)
  • du comportement observé à l’exécution dans l’application Cozytouch

⚠️ Remarques

  • Seules les capacités utiles à mon cas d’usage ont été ajoutées

Mappings extraits de l’APK

⚠️ À prendre avec des pincettes : ces mappings ont été extraits de l’APK Android Cozytouch par rétro-ingénierie.
Ils ne sont ni garantis exhaustifs ni totalement exacts. Mais je me dis que c'est intéressant de les lister quelque part, ça pourrait servir à quelqu'un comme base.

Certaines capacités peuvent :

  • dépendre du matériel ou de la version du firmware
  • avoir une signification différente selon le type d’équipement
  • ne jamais être exposées par le backend
backendCapabilityId Label Hex
22 SYSTEM_AVAILABLE_MODES_CAPABILITIES 0x16
32 SYSTEM_OPERATION_SERVICE_REQUESTED_CAPABILITY 0x20
40 ROOM_CURRENT_HEATING_TARGET_TEMPERATURE 0x28
46 DHW_TARGET_BY_USER_MODE 0x2e
48 DHW_MODIFIABLE_SETPOINTS 0x30
58 DHW_CHANGEABLE_TARGET 0x3a
73 AVAILABLE_THERMOSTAT_MODE 0x49
86 DHW_OPERATING_STATUS_CAPABILITY 0x56
87 DHW_CURRENT_MODE 0x57
93 ZONES_COUNT 0x5d
99 DHW_HEATING_STATUS 0x63
106 POWER 0x6a
117 ROOM_AMBIENT_TEMPERATURE 0x75
150 ERROR_CODE_HOME 0x96
152 ABSENCE_HOME_STATE 0x98
153 HEATING_STATUS 0x99
154 ROOM_NAME 0x9a
157 ROOM_OVERRIDE_SET_POINT_ACTIVATION 0x9d
158 OVERRIDE_SET_POINT_DURATION 0x9e
159 ROOM_OVERRIDE_SET_POINT_REMAINING 0x9f
159 AIR_MIXING_MAX_DURATION 0x9f
160 HEATING_MINIMUM_TEMPERATURE 0xa0
160 AIR_MIXING_DURATION_REMAINING_TIME 0xa0
161 HEATING_MAXIMUM_TEMPERATURE 0xa1
161 AIR_MIXING_ACTIVATION 0xa1
162 COOLING_MINIMUM_TEMPERATURE 0xa2
162 AIR_MIXING_SPEED 0xa2
163 COOLING_MAXIMUM_TEMPERATURE 0xa3
163 AIR_MIXING_SUPPORTED_SPEEDS 0xa3
164 POSSIBLE_LIFT_CONSUMPTION_TYPES 0xa4
165 DHW_BOOST_ON 0xa5
166 SYSTEM_OPERATING_SERVICE_AVAILABLE_CAPABILITIES 0xa6
168 DHW_AVAILABLE_MODES_CAPABILITIES 0xa8
168 VENTILATION_OPEN_WINDOW_DETECTION 0xa8
171 ABSENCE_COOLING 0xab
172 ABSENCE_HEATING 0xac
174 INFO_FILTER_TO_CHANGE 0xae
175 INFO_DEFROST_EU 0xaf
177 ROOM_CURRENT_COOLING_TARGET_TEMPERATURE 0xb1
177 DEBUG 0xb1
179 WIFI_SIGNAL 0xb3
179 HOST_SOFTWARE_VERSION 0xb3
181 SERVICE_IN_PROGRESS_MODE 0xb5
181 DEVICE_BLE_PAIRING_COMPATIBILITY 0xb5
184 ROOM_SYSTEM_CURRENT_MODE 0xb8
188 HOME_SERVICES_CAPABILITIES 0xbc
196–202 THERMOSTAT_PROG_HEATING_[MON–SUN] 0xc4–0xca
203–209 THERMOSTAT_PROG_COOLING_[MON–SUN] 0xcb–0xd1
218 WIFI_CONNECTED 0xda
222 ABSENCE_HOME_DATE 0xde
223 DHW_AVAILABLE_HEATING_TYPE 0xdf
224 DHW_ESTIMATION_SUPPORT 0xe0
226 ABSENCE_DHW_DATE 0xe2
227 ABSENCE_DHW_STATE 0xe3
228 ABSENCE_DHW_TEMPERATURE 0xe4
230 DHW_CURRENT_HEATING_TYPE 0xe6
231 DHW_CURRENT_MANUAL_TARGET_SET_BY_USER 0xe7
232 DHW_BOOST_MINUTES 0xe8
236 DHW_MAX_NUMBER_MILESTONE_PER_DAY 0xec
237–243 DHW_PROG_MILESTONE_[MON–SUN] 0xed–0xf3
244 DHW_MAX_NUMBER_PROGRAMMING_RANGE_PER_DAY 0xf4
245–251 DHW_PROG_IN_RANGE_[MON–SUN] 0xf5–0xfb
252 DHW_MAX_USER_TARGET 0xfc
253 DHW_MIN_USER_TARGET 0xfd
269 V40_ACCUMULATED_CONSUMPTION 0x10d
271 DHW_STATE_OF_CHARGE 0x10f
280 DHW_COLD_WATER_TEMPERATURE 0x118
290 ERROR_CODE_DHW 0x122
292 DHW_HOT_WATER_LEVEL_REQUESTED 0x124
293 DHW_CURRENT_HOT_WATER_LEVEL 0x125
294 TEMPERATURE_UPDATE_STEP 0x126
295 THERMOSTAT_TIME_MILESTONE_STEP 0x127
296 THERMOSTAT_MINIMUM_TIME_BETWEEN_THO_MILESTONES 0x128
303 ERROR_CODE_ROOM 0x12f
306 MAX_NUMBER_OF_MILESTONES_PER_DAY 0x132
307 DHW_MIN_HEATING_DURATION_PERIOD_FOR_ONE_DAY 0x133
312 DHW_CURRENT_CONTROL_TARGET 0x138
329 DHW_MIN_NUMBER_PROGRAMMING_RANGE_PER_DAY 0x149
330 DHW_STEP_PROG_RANGE 0x14a
331 DHW_MAX_DURATION_PROG_RANGE 0x14b
332 DHW_MIN_DURATION_PROG_RANGE 0x14c
333 DHW_MAX_HEATING_DURATION_PERIOD_FOR_ONE_DAY 0x14d
336 DHW_IHM_CAPABILITIES 0x150
337 DHW_MAIN_CURSOR_INFO 0x151
338 DHW_SECONDARY_CURSOR_INFO 0x152
339 DHW_IHM_DATA_INSIDE 0x153
340 DHW_WATER_SETPOINT_STEP 0x154
344 ROOM_COUNT 0x158
351 HOME_CONNECTIVITY_DISPLAY 0x15f
105906 DHW_V40_APPLIED_SETPOINT 0x19db2
105907 DHW_V40_MANUALLY_FILLED_BY_USER 0x19db3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant