PyPlumIO 0.5.20__py3-none-any.whl → 0.5.22__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,9 +24,9 @@ from pyplumio.helpers.parameter import (
24
24
  Parameter,
25
25
  ParameterDescription,
26
26
  ParameterValues,
27
+ ParameterValueType,
27
28
  unpack_parameter,
28
29
  )
29
- from pyplumio.helpers.typing import ParameterValueType
30
30
  from pyplumio.structures import StructureDecoder
31
31
  from pyplumio.structures.thermostat_parameters import ATTR_THERMOSTAT_PROFILE
32
32
  from pyplumio.utils import ensure_dict
@@ -116,117 +116,151 @@ class EcomaxBinaryParameterDescription(
116
116
  ):
117
117
  """Represents an ecoMAX binary parameter description."""
118
118
 
119
- __slots__ = ()
120
-
121
119
 
122
120
  ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
123
121
  ProductType.ECOMAX_P: (
124
122
  EcomaxParameterDescription(
125
- name="airflow_power_100", unit_of_measurement=PERCENTAGE
123
+ name="airflow_power_100",
124
+ unit_of_measurement=PERCENTAGE,
126
125
  ),
127
126
  EcomaxParameterDescription(
128
- name="airflow_power_50", unit_of_measurement=PERCENTAGE
127
+ name="airflow_power_50",
128
+ unit_of_measurement=PERCENTAGE,
129
129
  ),
130
130
  EcomaxParameterDescription(
131
- name="airflow_power_30", unit_of_measurement=PERCENTAGE
131
+ name="airflow_power_30",
132
+ unit_of_measurement=PERCENTAGE,
132
133
  ),
133
134
  EcomaxParameterDescription(
134
- name="boiler_power_100", unit_of_measurement=UnitOfMeasurement.KILO_WATT
135
+ name="boiler_power_100",
136
+ unit_of_measurement=UnitOfMeasurement.KILO_WATT,
135
137
  ),
136
138
  EcomaxParameterDescription(
137
- name="boiler_power_50", unit_of_measurement=UnitOfMeasurement.KILO_WATT
139
+ name="boiler_power_50",
140
+ unit_of_measurement=UnitOfMeasurement.KILO_WATT,
138
141
  ),
139
142
  EcomaxParameterDescription(
140
- name="boiler_power_30", unit_of_measurement=UnitOfMeasurement.KILO_WATT
143
+ name="boiler_power_30",
144
+ unit_of_measurement=UnitOfMeasurement.KILO_WATT,
141
145
  ),
142
146
  EcomaxParameterDescription(
143
- name="max_fan_boiler_power", unit_of_measurement=PERCENTAGE
147
+ name="max_fan_boiler_power",
148
+ unit_of_measurement=PERCENTAGE,
144
149
  ),
145
150
  EcomaxParameterDescription(
146
- name="min_fan_boiler_power", unit_of_measurement=PERCENTAGE
151
+ name="min_fan_boiler_power",
152
+ unit_of_measurement=PERCENTAGE,
147
153
  ),
148
154
  EcomaxParameterDescription(
149
- name="fuel_feeding_work_100", unit_of_measurement=UnitOfMeasurement.SECONDS
155
+ name="fuel_feeding_work_100",
156
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
150
157
  ),
151
158
  EcomaxParameterDescription(
152
- name="fuel_feeding_work_50", unit_of_measurement=UnitOfMeasurement.SECONDS
159
+ name="fuel_feeding_work_50",
160
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
153
161
  ),
154
162
  EcomaxParameterDescription(
155
- name="fuel_feeding_work_30", unit_of_measurement=UnitOfMeasurement.SECONDS
163
+ name="fuel_feeding_work_30",
164
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
156
165
  ),
157
166
  EcomaxParameterDescription(
158
- name="fuel_feeding_pause_100", unit_of_measurement=UnitOfMeasurement.SECONDS
167
+ name="fuel_feeding_pause_100",
168
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
159
169
  ),
160
170
  EcomaxParameterDescription(
161
- name="fuel_feeding_pause_50", unit_of_measurement=UnitOfMeasurement.SECONDS
171
+ name="fuel_feeding_pause_50",
172
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
162
173
  ),
163
174
  EcomaxParameterDescription(
164
- name="fuel_feeding_pause_30", unit_of_measurement=UnitOfMeasurement.SECONDS
175
+ name="fuel_feeding_pause_30",
176
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
165
177
  ),
166
178
  EcomaxParameterDescription(
167
- name="cycle_duration", unit_of_measurement=UnitOfMeasurement.SECONDS
179
+ name="cycle_duration",
180
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
168
181
  ),
169
182
  EcomaxParameterDescription(
170
- name="h2_hysteresis", unit_of_measurement=UnitOfMeasurement.CELSIUS
183
+ name="h2_hysteresis",
184
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
171
185
  ),
172
186
  EcomaxParameterDescription(
173
- name="h1_hysteresis", unit_of_measurement=UnitOfMeasurement.CELSIUS
187
+ name="h1_hysteresis",
188
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
174
189
  ),
175
190
  EcomaxParameterDescription(
176
- name="heating_hysteresis", unit_of_measurement=UnitOfMeasurement.CELSIUS
191
+ name="heating_hysteresis",
192
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
193
+ ),
194
+ EcomaxBinaryParameterDescription(
195
+ name="fuzzy_logic",
177
196
  ),
178
- EcomaxBinaryParameterDescription(name="fuzzy_logic"),
179
197
  EcomaxParameterDescription(
180
- name="min_fuzzy_logic_power", unit_of_measurement=PERCENTAGE
198
+ name="min_fuzzy_logic_power",
199
+ unit_of_measurement=PERCENTAGE,
181
200
  ),
182
201
  EcomaxParameterDescription(
183
- name="max_fuzzy_logic_power", unit_of_measurement=PERCENTAGE
202
+ name="max_fuzzy_logic_power",
203
+ unit_of_measurement=PERCENTAGE,
184
204
  ),
185
205
  EcomaxParameterDescription(
186
- name="min_boiler_power", unit_of_measurement=UnitOfMeasurement.KILO_WATT
206
+ name="min_boiler_power",
207
+ unit_of_measurement=UnitOfMeasurement.KILO_WATT,
187
208
  ),
188
209
  EcomaxParameterDescription(
189
- name="max_boiler_power", unit_of_measurement=UnitOfMeasurement.KILO_WATT
210
+ name="max_boiler_power",
211
+ unit_of_measurement=UnitOfMeasurement.KILO_WATT,
190
212
  ),
191
213
  EcomaxParameterDescription(
192
- name="min_fan_power", unit_of_measurement=PERCENTAGE
214
+ name="min_fan_power",
215
+ unit_of_measurement=PERCENTAGE,
193
216
  ),
194
217
  EcomaxParameterDescription(
195
- name="max_fan_power", unit_of_measurement=PERCENTAGE
218
+ name="max_fan_power",
219
+ unit_of_measurement=PERCENTAGE,
196
220
  ),
197
221
  EcomaxParameterDescription(
198
- name="reduction_airflow_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
222
+ name="reduction_airflow_temp",
223
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
199
224
  ),
200
225
  EcomaxParameterDescription(
201
- name="fan_power_gain", unit_of_measurement=PERCENTAGE
226
+ name="fan_power_gain",
227
+ unit_of_measurement=PERCENTAGE,
202
228
  ),
203
229
  EcomaxParameterDescription(
204
230
  name="fuzzy_logic_fuel_flow_correction",
205
231
  unit_of_measurement=PERCENTAGE,
206
232
  ),
207
233
  EcomaxParameterDescription(
208
- name="fuel_flow_correction", unit_of_measurement=PERCENTAGE
234
+ name="fuel_flow_correction",
235
+ unit_of_measurement=PERCENTAGE,
209
236
  ),
210
237
  EcomaxParameterDescription(
211
- name="airflow_correction_100", unit_of_measurement=PERCENTAGE
238
+ name="airflow_correction_100",
239
+ unit_of_measurement=PERCENTAGE,
212
240
  ),
213
241
  EcomaxParameterDescription(
214
- name="feeder_correction_100", unit_of_measurement=PERCENTAGE
242
+ name="feeder_correction_100",
243
+ unit_of_measurement=PERCENTAGE,
215
244
  ),
216
245
  EcomaxParameterDescription(
217
- name="airflow_correction_50", unit_of_measurement=PERCENTAGE
246
+ name="airflow_correction_50",
247
+ unit_of_measurement=PERCENTAGE,
218
248
  ),
219
249
  EcomaxParameterDescription(
220
- name="feeder_correction_50", unit_of_measurement=PERCENTAGE
250
+ name="feeder_correction_50",
251
+ unit_of_measurement=PERCENTAGE,
221
252
  ),
222
253
  EcomaxParameterDescription(
223
- name="airflow_correction_30", unit_of_measurement=PERCENTAGE
254
+ name="airflow_correction_30",
255
+ unit_of_measurement=PERCENTAGE,
224
256
  ),
225
257
  EcomaxParameterDescription(
226
- name="feeder_correction_30", unit_of_measurement=PERCENTAGE
258
+ name="feeder_correction_30",
259
+ unit_of_measurement=PERCENTAGE,
227
260
  ),
228
261
  EcomaxParameterDescription(
229
- name="grate_airflow_power", unit_of_measurement=PERCENTAGE
262
+ name="grate_airflow_power",
263
+ unit_of_measurement=PERCENTAGE,
230
264
  ),
231
265
  EcomaxParameterDescription(
232
266
  name="grate_heating_hysteresis",
@@ -241,34 +275,43 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
241
275
  unit_of_measurement=UnitOfMeasurement.MINUTES,
242
276
  ),
243
277
  EcomaxParameterDescription(
244
- name="grate_heating_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
278
+ name="grate_heating_temp",
279
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
245
280
  ),
246
281
  EcomaxParameterDescription(
247
282
  name="grate_fuel_detection_time",
248
283
  unit_of_measurement=UnitOfMeasurement.MINUTES,
249
284
  ),
250
285
  EcomaxParameterDescription(
251
- name="kindling_airflow_power", unit_of_measurement=PERCENTAGE
286
+ name="kindling_airflow_power",
287
+ unit_of_measurement=PERCENTAGE,
252
288
  ),
253
289
  EcomaxParameterDescription(
254
290
  name="kindling_low_airflow_power",
255
291
  unit_of_measurement=PERCENTAGE,
256
292
  ),
257
293
  EcomaxParameterDescription(
258
- name="kindling_airflow_delay", unit_of_measurement=UnitOfMeasurement.SECONDS
294
+ name="kindling_airflow_delay",
295
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
259
296
  ),
260
297
  EcomaxParameterDescription(
261
- name="kindling_test_time", unit_of_measurement=UnitOfMeasurement.SECONDS
298
+ name="kindling_test_time",
299
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
262
300
  ),
263
- EcomaxParameterDescription(name="kindling_feeder_work"),
264
301
  EcomaxParameterDescription(
265
- name="kindling_feeder_dose", unit_of_measurement=UnitOfMeasurement.GRAMS
302
+ name="kindling_feeder_work",
266
303
  ),
267
304
  EcomaxParameterDescription(
268
- name="kindling_time", unit_of_measurement=UnitOfMeasurement.MINUTES
305
+ name="kindling_feeder_dose",
306
+ unit_of_measurement=UnitOfMeasurement.GRAMS,
269
307
  ),
270
308
  EcomaxParameterDescription(
271
- name="warming_up_time", unit_of_measurement=UnitOfMeasurement.MINUTES
309
+ name="kindling_time",
310
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
311
+ ),
312
+ EcomaxParameterDescription(
313
+ name="warming_up_time",
314
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
272
315
  ),
273
316
  EcomaxParameterDescription(
274
317
  name="kindling_finish_exhaust_temp",
@@ -283,7 +326,8 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
283
326
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
284
327
  ),
285
328
  EcomaxParameterDescription(
286
- name="kindling_delta_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
329
+ name="kindling_delta_temp",
330
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
287
331
  ),
288
332
  EcomaxParameterDescription(
289
333
  name="kindling_min_power_time",
@@ -297,7 +341,9 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
297
341
  name="stabilization_airflow_power",
298
342
  unit_of_measurement=PERCENTAGE,
299
343
  ),
300
- EcomaxParameterDescription(name="supervision_time"),
344
+ EcomaxParameterDescription(
345
+ name="supervision_time",
346
+ ),
301
347
  EcomaxParameterDescription(
302
348
  name="supervision_feeder_work",
303
349
  unit_of_measurement=UnitOfMeasurement.SECONDS,
@@ -319,73 +365,130 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
319
365
  unit_of_measurement=PERCENTAGE,
320
366
  ),
321
367
  EcomaxParameterDescription(
322
- name="supervision_fan_pause", unit_of_measurement=UnitOfMeasurement.MINUTES
368
+ name="supervision_fan_pause",
369
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
370
+ ),
371
+ EcomaxParameterDescription(
372
+ name="supervision_fan_work",
373
+ unit_of_measurement=UnitOfMeasurement.SECONDS,
323
374
  ),
324
375
  EcomaxParameterDescription(
325
- name="supervision_fan_work", unit_of_measurement=UnitOfMeasurement.SECONDS
376
+ name="increase_fan_support_mode",
326
377
  ),
327
- EcomaxParameterDescription(name="increase_fan_support_mode"),
328
378
  EcomaxParameterDescription(
329
- name="burning_off_max_time", unit_of_measurement=UnitOfMeasurement.MINUTES
379
+ name="burning_off_max_time",
380
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
330
381
  ),
331
382
  EcomaxParameterDescription(
332
- name="burning_off_min_time", unit_of_measurement=UnitOfMeasurement.MINUTES
383
+ name="burning_off_min_time",
384
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
385
+ ),
386
+ EcomaxParameterDescription(
387
+ name="burning_off_time",
333
388
  ),
334
- EcomaxParameterDescription(name="burning_off_time"),
335
389
  EcomaxParameterDescription(
336
390
  name="burning_off_airflow_power",
337
391
  unit_of_measurement=PERCENTAGE,
338
392
  ),
339
- EcomaxParameterDescription(name="burning_off_airflow_work"),
340
- EcomaxParameterDescription(name="burning_off_airflow_pause"),
341
393
  EcomaxParameterDescription(
342
- name="start_burning_off", unit_of_measurement=PERCENTAGE
394
+ name="burning_off_airflow_work",
395
+ ),
396
+ EcomaxParameterDescription(
397
+ name="burning_off_airflow_pause",
398
+ ),
399
+ EcomaxParameterDescription(
400
+ name="start_burning_off",
401
+ unit_of_measurement=PERCENTAGE,
402
+ ),
403
+ EcomaxParameterDescription(
404
+ name="stop_burning_off",
405
+ unit_of_measurement=PERCENTAGE,
343
406
  ),
344
407
  EcomaxParameterDescription(
345
- name="stop_burning_off", unit_of_measurement=PERCENTAGE
408
+ name="cleaning_begin_time",
346
409
  ),
347
- EcomaxParameterDescription(name="cleaning_begin_time"),
348
- EcomaxParameterDescription(name="burning_off_cleaning_time"),
349
410
  EcomaxParameterDescription(
350
- name="cleaning_airflow_power", unit_of_measurement=PERCENTAGE
411
+ name="burning_off_cleaning_time",
412
+ ),
413
+ EcomaxParameterDescription(
414
+ name="cleaning_airflow_power",
415
+ unit_of_measurement=PERCENTAGE,
416
+ ),
417
+ EcomaxParameterDescription(
418
+ name="warming_up_pause_time",
419
+ ),
420
+ EcomaxParameterDescription(
421
+ name="warming_up_cycle_time",
422
+ ),
423
+ EcomaxParameterDescription(
424
+ name="remind_time",
425
+ ),
426
+ EcomaxBinaryParameterDescription(
427
+ name="lambda_control",
428
+ ),
429
+ EcomaxParameterDescription(
430
+ name="lambda_correction_range",
431
+ ),
432
+ EcomaxParameterDescription(
433
+ name="oxygen_100",
434
+ ),
435
+ EcomaxParameterDescription(
436
+ name="oxygen_50",
437
+ ),
438
+ EcomaxParameterDescription(
439
+ name="oxygen_30",
440
+ ),
441
+ EcomaxParameterDescription(
442
+ name="fuzzy_logic_oxygen_correction",
351
443
  ),
352
- EcomaxParameterDescription(name="warming_up_pause_time"),
353
- EcomaxParameterDescription(name="warming_up_cycle_time"),
354
- EcomaxParameterDescription(name="remind_time"),
355
- EcomaxBinaryParameterDescription(name="lambda_control"),
356
- EcomaxParameterDescription(name="lambda_correction_range"),
357
- EcomaxParameterDescription(name="oxygen_100"),
358
- EcomaxParameterDescription(name="oxygen_50"),
359
- EcomaxParameterDescription(name="oxygen_30"),
360
- EcomaxParameterDescription(name="fuzzy_logic_oxygen_correction"),
361
444
  EcomaxParameterDescription(
362
445
  name="max_fuel_flow",
363
446
  multiplier=0.1,
364
447
  unit_of_measurement=UnitOfMeasurement.KILOGRAMS_PER_HOUR,
365
448
  ),
366
- EcomaxParameterDescription(name="feeder_calibration"),
367
- EcomaxParameterDescription(name="fuel_factor"),
449
+ EcomaxParameterDescription(
450
+ name="feeder_calibration",
451
+ ),
452
+ EcomaxParameterDescription(
453
+ name="fuel_factor",
454
+ ),
368
455
  EcomaxParameterDescription(
369
456
  name="fuel_calorific_value",
370
457
  multiplier=0.1,
371
458
  unit_of_measurement=UnitOfMeasurement.KILO_WATT_HOUR_PER_KILOGRAM,
372
459
  ),
373
460
  EcomaxParameterDescription(
374
- name="fuel_detection_time", unit_of_measurement=UnitOfMeasurement.MINUTES
461
+ name="fuel_detection_time",
462
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
375
463
  ),
376
464
  EcomaxParameterDescription(
377
465
  name="fuel_detection_exhaust_temp",
378
466
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
379
467
  ),
380
- EcomaxBinaryParameterDescription(name="schedule_feeder_2"),
381
- EcomaxParameterDescription(name="feed2_h1"),
382
- EcomaxParameterDescription(name="feed2_h2"),
383
- EcomaxParameterDescription(name="feed2_h3"),
384
- EcomaxParameterDescription(name="feed2_h4"),
385
- EcomaxParameterDescription(name="feed2_work"),
386
- EcomaxParameterDescription(name="feed2_pause"),
468
+ EcomaxBinaryParameterDescription(
469
+ name="schedule_feeder_2",
470
+ ),
387
471
  EcomaxParameterDescription(
388
- name="heating_target_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
472
+ name="feed2_h1",
473
+ ),
474
+ EcomaxParameterDescription(
475
+ name="feed2_h2",
476
+ ),
477
+ EcomaxParameterDescription(
478
+ name="feed2_h3",
479
+ ),
480
+ EcomaxParameterDescription(
481
+ name="feed2_h4",
482
+ ),
483
+ EcomaxParameterDescription(
484
+ name="feed2_work",
485
+ ),
486
+ EcomaxParameterDescription(
487
+ name="feed2_pause",
488
+ ),
489
+ EcomaxParameterDescription(
490
+ name="heating_target_temp",
491
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
389
492
  ),
390
493
  EcomaxParameterDescription(
391
494
  name="min_heating_target_temp",
@@ -403,41 +506,63 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
403
506
  name="pause_heating_for_water_heater",
404
507
  unit_of_measurement=UnitOfMeasurement.MINUTES,
405
508
  ),
406
- EcomaxParameterDescription(name="thermostat_pause"),
407
- EcomaxParameterDescription(name="thermostat_work"),
509
+ EcomaxParameterDescription(
510
+ name="thermostat_pause",
511
+ ),
512
+ EcomaxParameterDescription(
513
+ name="thermostat_work",
514
+ ),
408
515
  EcomaxParameterDescription(
409
516
  name="increase_heating_temp_for_water_heater",
410
517
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
411
518
  ),
412
- EcomaxBinaryParameterDescription(name="weather_control"),
413
- EcomaxParameterDescription(name="heating_curve", multiplier=0.1),
519
+ EcomaxBinaryParameterDescription(
520
+ name="weather_control",
521
+ ),
522
+ EcomaxParameterDescription(
523
+ name="heating_curve",
524
+ multiplier=0.1,
525
+ ),
414
526
  EcomaxParameterDescription(
415
527
  name="heating_curve_shift",
416
528
  offset=20,
417
529
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
418
530
  ),
419
- EcomaxParameterDescription(name="weather_factor"),
420
- EcomaxParameterDescription(name="thermostat_operation"),
421
- EcomaxBinaryParameterDescription(name="thermostat_mode"),
531
+ EcomaxParameterDescription(
532
+ name="weather_factor",
533
+ ),
534
+ EcomaxParameterDescription(
535
+ name="thermostat_operation",
536
+ ),
537
+ EcomaxBinaryParameterDescription(
538
+ name="thermostat_mode",
539
+ ),
422
540
  EcomaxParameterDescription(
423
541
  name="thermostat_decrease_target_temp",
424
542
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
425
543
  ),
426
- EcomaxBinaryParameterDescription(name="disable_pump_on_thermostat"),
544
+ EcomaxBinaryParameterDescription(
545
+ name="disable_pump_on_thermostat",
546
+ ),
427
547
  EcomaxParameterDescription(
428
- name="boiler_alert_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
548
+ name="boiler_alert_temp",
549
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
429
550
  ),
430
551
  EcomaxParameterDescription(
431
- name="max_feeder_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
552
+ name="max_feeder_temp",
553
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
432
554
  ),
433
555
  EcomaxParameterDescription(
434
- name="external_boiler_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
556
+ name="external_boiler_temp",
557
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
435
558
  ),
436
559
  EcomaxParameterDescription(
437
- name="alert_notify", unit_of_measurement=UnitOfMeasurement.CELSIUS
560
+ name="alert_notify",
561
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
438
562
  ),
439
563
  EcomaxParameterDescription(
440
- name="pump_hysteresis", unit_of_measurement=UnitOfMeasurement.CELSIUS
564
+ name="pump_hysteresis",
565
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
441
566
  ),
442
567
  EcomaxParameterDescription(
443
568
  name="water_heater_target_temp",
@@ -451,13 +576,19 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
451
576
  name="max_water_heater_target_temp",
452
577
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
453
578
  ),
454
- EcomaxParameterDescription(name="water_heater_work_mode"),
579
+ EcomaxParameterDescription(
580
+ name="water_heater_work_mode",
581
+ ),
455
582
  EcomaxParameterDescription(
456
583
  name="water_heater_hysteresis",
457
584
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
458
585
  ),
459
- EcomaxBinaryParameterDescription(name="water_heater_disinfection"),
460
- EcomaxParameterDescription(name="summer_mode"),
586
+ EcomaxBinaryParameterDescription(
587
+ name="water_heater_disinfection",
588
+ ),
589
+ EcomaxParameterDescription(
590
+ name="summer_mode",
591
+ ),
461
592
  EcomaxParameterDescription(
462
593
  name="summer_mode_enable_temp",
463
594
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
@@ -470,31 +601,43 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
470
601
  name="water_heater_work_extension",
471
602
  unit_of_measurement=UnitOfMeasurement.MINUTES,
472
603
  ),
473
- EcomaxBinaryParameterDescription(name="circulation_control"),
604
+ EcomaxBinaryParameterDescription(
605
+ name="circulation_control",
606
+ ),
474
607
  EcomaxParameterDescription(
475
- name="circulation_pause", unit_of_measurement=UnitOfMeasurement.MINUTES
608
+ name="circulation_pause",
609
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
476
610
  ),
477
611
  EcomaxParameterDescription(
478
- name="circulation_work", unit_of_measurement=UnitOfMeasurement.MINUTES
612
+ name="circulation_work",
613
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
479
614
  ),
480
615
  EcomaxParameterDescription(
481
- name="circulation_start_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
616
+ name="circulation_start_temp",
617
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
618
+ ),
619
+ EcomaxBinaryParameterDescription(
620
+ name="buffer_control",
482
621
  ),
483
- EcomaxBinaryParameterDescription(name="buffer_control"),
484
622
  EcomaxParameterDescription(
485
- name="max_buffer_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
623
+ name="max_buffer_temp",
624
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
486
625
  ),
487
626
  EcomaxParameterDescription(
488
- name="min_buffer_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
627
+ name="min_buffer_temp",
628
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
489
629
  ),
490
630
  EcomaxParameterDescription(
491
- name="buffer_hysteresis", unit_of_measurement=UnitOfMeasurement.CELSIUS
631
+ name="buffer_hysteresis",
632
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
492
633
  ),
493
634
  EcomaxParameterDescription(
494
- name="buffer_load_start", unit_of_measurement=UnitOfMeasurement.CELSIUS
635
+ name="buffer_load_start",
636
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
495
637
  ),
496
638
  EcomaxParameterDescription(
497
- name="buffer_load_stop", unit_of_measurement=UnitOfMeasurement.CELSIUS
639
+ name="buffer_load_stop",
640
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
498
641
  ),
499
642
  ),
500
643
  ProductType.ECOMAX_I: (
@@ -502,8 +645,12 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
502
645
  name="water_heater_target_temp",
503
646
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
504
647
  ),
505
- EcomaxBinaryParameterDescription(name="water_heater_priority"),
506
- EcomaxParameterDescription(name="water_heater_support"),
648
+ EcomaxBinaryParameterDescription(
649
+ name="water_heater_priority",
650
+ ),
651
+ EcomaxParameterDescription(
652
+ name="water_heater_support",
653
+ ),
507
654
  EcomaxParameterDescription(
508
655
  name="min_water_heater_target_temp",
509
656
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
@@ -520,9 +667,15 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
520
667
  name="water_heater_hysteresis",
521
668
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
522
669
  ),
523
- EcomaxBinaryParameterDescription(name="water_heater_disinfection"),
524
- EcomaxParameterDescription(name="water_heater_work_mode"),
525
- EcomaxBinaryParameterDescription(name="solar_support"),
670
+ EcomaxBinaryParameterDescription(
671
+ name="water_heater_disinfection",
672
+ ),
673
+ EcomaxParameterDescription(
674
+ name="water_heater_work_mode",
675
+ ),
676
+ EcomaxBinaryParameterDescription(
677
+ name="solar_support",
678
+ ),
526
679
  EcomaxParameterDescription(
527
680
  name="solar_pump_on_delta_temp",
528
681
  multiplier=0.1,
@@ -534,29 +687,42 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
534
687
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
535
688
  ),
536
689
  EcomaxParameterDescription(
537
- name="min_collector_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
690
+ name="min_collector_temp",
691
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
692
+ ),
693
+ EcomaxParameterDescription(
694
+ name="max_collector_temp",
695
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
538
696
  ),
539
697
  EcomaxParameterDescription(
540
- name="max_collector_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
698
+ name="collector_off_temp",
699
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
541
700
  ),
542
701
  EcomaxParameterDescription(
543
- name="collector_off_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
702
+ name="min_pump_revolutions",
544
703
  ),
545
- EcomaxParameterDescription(name="min_pump_revolutions"),
546
704
  EcomaxParameterDescription(
547
- name="solar_antifreeze", unit_of_measurement=UnitOfMeasurement.CELSIUS
705
+ name="solar_antifreeze",
706
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
707
+ ),
708
+ EcomaxBinaryParameterDescription(
709
+ name="circulation_control",
548
710
  ),
549
- EcomaxBinaryParameterDescription(name="circulation_control"),
550
711
  EcomaxParameterDescription(
551
- name="circulation_pause", unit_of_measurement=UnitOfMeasurement.MINUTES
712
+ name="circulation_pause",
713
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
552
714
  ),
553
715
  EcomaxParameterDescription(
554
- name="circulation_work", unit_of_measurement=UnitOfMeasurement.MINUTES
716
+ name="circulation_work",
717
+ unit_of_measurement=UnitOfMeasurement.MINUTES,
718
+ ),
719
+ EcomaxParameterDescription(
720
+ name="circulation_start_temp",
721
+ unit_of_measurement=UnitOfMeasurement.CELSIUS,
555
722
  ),
556
723
  EcomaxParameterDescription(
557
- name="circulation_start_temp", unit_of_measurement=UnitOfMeasurement.CELSIUS
724
+ name="main_heat_source",
558
725
  ),
559
- EcomaxParameterDescription(name="main_heat_source"),
560
726
  EcomaxParameterDescription(
561
727
  name="min_main_heat_source_temp",
562
728
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
@@ -573,8 +739,12 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
573
739
  name="critical_main_heat_source_temp",
574
740
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
575
741
  ),
576
- EcomaxParameterDescription(name="main_heat_source_pump_extension_time"),
577
- EcomaxParameterDescription(name="additional_heat_source"),
742
+ EcomaxParameterDescription(
743
+ name="main_heat_source_pump_extension_time",
744
+ ),
745
+ EcomaxParameterDescription(
746
+ name="additional_heat_source",
747
+ ),
578
748
  EcomaxParameterDescription(
579
749
  name="main_heat_source_off_temp",
580
750
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
@@ -583,13 +753,27 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
583
753
  name="additional_heat_source_pump_startup_temp",
584
754
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
585
755
  ),
586
- EcomaxParameterDescription(name="hydraulic_diagram"),
587
- EcomaxBinaryParameterDescription(name="antifreeze"),
588
- EcomaxParameterDescription(name="antifreeze_delay"),
589
- EcomaxParameterDescription(name="circuit_lock_time"),
590
- EcomaxParameterDescription(name="circuit_work_time"),
591
- EcomaxParameterDescription(name="alert_out_c"),
592
- EcomaxParameterDescription(name="alert_on_out_c"),
756
+ EcomaxParameterDescription(
757
+ name="hydraulic_diagram",
758
+ ),
759
+ EcomaxBinaryParameterDescription(
760
+ name="antifreeze",
761
+ ),
762
+ EcomaxParameterDescription(
763
+ name="antifreeze_delay",
764
+ ),
765
+ EcomaxParameterDescription(
766
+ name="circuit_lock_time",
767
+ ),
768
+ EcomaxParameterDescription(
769
+ name="circuit_work_time",
770
+ ),
771
+ EcomaxParameterDescription(
772
+ name="alert_out_c",
773
+ ),
774
+ EcomaxParameterDescription(
775
+ name="alert_on_out_c",
776
+ ),
593
777
  EcomaxParameterDescription(
594
778
  name="thermostat_hysteresis",
595
779
  multiplier=0.1,
@@ -599,8 +783,12 @@ ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
599
783
  name="critial_additional_heat_source_temp",
600
784
  unit_of_measurement=UnitOfMeasurement.CELSIUS,
601
785
  ),
602
- EcomaxParameterDescription(name="automatic_pump_lock_time"),
603
- EcomaxParameterDescription(name="summer_mode"),
786
+ EcomaxParameterDescription(
787
+ name="automatic_pump_lock_time",
788
+ ),
789
+ EcomaxParameterDescription(
790
+ name="summer_mode",
791
+ ),
604
792
  EcomaxParameterDescription(
605
793
  name="summer_mode_enable_temp",
606
794
  unit_of_measurement=UnitOfMeasurement.CELSIUS,