PyPlumIO 0.5.22__py3-none-any.whl → 0.5.24__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.
- {PyPlumIO-0.5.22.dist-info → PyPlumIO-0.5.24.dist-info}/METADATA +10 -8
- {PyPlumIO-0.5.22.dist-info → PyPlumIO-0.5.24.dist-info}/RECORD +18 -18
- {PyPlumIO-0.5.22.dist-info → PyPlumIO-0.5.24.dist-info}/WHEEL +1 -1
- pyplumio/_version.py +2 -2
- pyplumio/connection.py +1 -2
- pyplumio/devices/__init__.py +2 -2
- pyplumio/devices/ecomax.py +17 -17
- pyplumio/devices/mixer.py +6 -6
- pyplumio/devices/thermostat.py +6 -6
- pyplumio/helpers/event_manager.py +19 -10
- pyplumio/helpers/parameter.py +125 -57
- pyplumio/protocol.py +4 -3
- pyplumio/structures/ecomax_parameters.py +229 -208
- pyplumio/structures/mixer_parameters.py +80 -61
- pyplumio/structures/schedules.py +35 -15
- pyplumio/structures/thermostat_parameters.py +61 -42
- {PyPlumIO-0.5.22.dist-info → PyPlumIO-0.5.24.dist-info}/LICENSE +0 -0
- {PyPlumIO-0.5.22.dist-info → PyPlumIO-0.5.24.dist-info}/top_level.txt +0 -0
@@ -6,6 +6,8 @@ from collections.abc import Generator
|
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from typing import Any, Final
|
8
8
|
|
9
|
+
from dataslots import dataslots
|
10
|
+
|
9
11
|
from pyplumio.const import (
|
10
12
|
ATTR_INDEX,
|
11
13
|
ATTR_OFFSET,
|
@@ -19,12 +21,14 @@ from pyplumio.const import (
|
|
19
21
|
from pyplumio.devices import AddressableDevice
|
20
22
|
from pyplumio.frames import Request
|
21
23
|
from pyplumio.helpers.parameter import (
|
22
|
-
|
23
|
-
|
24
|
+
SET_TIMEOUT,
|
25
|
+
Number,
|
26
|
+
NumberDescription,
|
24
27
|
Parameter,
|
25
28
|
ParameterDescription,
|
26
29
|
ParameterValues,
|
27
|
-
|
30
|
+
Switch,
|
31
|
+
SwitchDescription,
|
28
32
|
unpack_parameter,
|
29
33
|
)
|
30
34
|
from pyplumio.structures import StructureDecoder
|
@@ -37,6 +41,16 @@ ATTR_ECOMAX_PARAMETERS: Final = "ecomax_parameters"
|
|
37
41
|
ECOMAX_PARAMETER_SIZE: Final = 3
|
38
42
|
|
39
43
|
|
44
|
+
@dataclass
|
45
|
+
class EcomaxParameterDescription(ParameterDescription):
|
46
|
+
"""Represents an ecoMAX parameter description."""
|
47
|
+
|
48
|
+
__slots__ = ()
|
49
|
+
|
50
|
+
multiplier: float = 1.0
|
51
|
+
offset: int = 0
|
52
|
+
|
53
|
+
|
40
54
|
class EcomaxParameter(Parameter):
|
41
55
|
"""Represents an ecoMAX parameter."""
|
42
56
|
|
@@ -69,739 +83,746 @@ class EcomaxParameter(Parameter):
|
|
69
83
|
frame_type, recipient=self.device.address, data=data
|
70
84
|
)
|
71
85
|
|
72
|
-
async def set(self, value: ParameterValueType, retries: int = 5) -> bool:
|
73
|
-
"""Set a parameter value."""
|
74
|
-
if isinstance(value, (int, float)):
|
75
|
-
value = int((value + self.description.offset) / self.description.multiplier)
|
76
86
|
|
87
|
+
@dataslots
|
88
|
+
@dataclass
|
89
|
+
class EcomaxNumberDescription(EcomaxParameterDescription, NumberDescription):
|
90
|
+
"""Represents an ecoMAX number description."""
|
91
|
+
|
92
|
+
|
93
|
+
class EcomaxNumber(EcomaxParameter, Number):
|
94
|
+
"""Represents a ecoMAX number."""
|
95
|
+
|
96
|
+
__slots__ = ()
|
97
|
+
|
98
|
+
description: EcomaxNumberDescription
|
99
|
+
|
100
|
+
async def set(self, value: float | int, retries: int = SET_TIMEOUT) -> bool:
|
101
|
+
"""Set a parameter value."""
|
102
|
+
value = (value + self.description.offset) / self.description.multiplier
|
77
103
|
return await super().set(value, retries)
|
78
104
|
|
79
105
|
@property
|
80
|
-
def value(self) ->
|
81
|
-
"""Return the
|
106
|
+
def value(self) -> float:
|
107
|
+
"""Return the value."""
|
82
108
|
return (
|
83
109
|
self.values.value - self.description.offset
|
84
110
|
) * self.description.multiplier
|
85
111
|
|
86
112
|
@property
|
87
|
-
def min_value(self) ->
|
113
|
+
def min_value(self) -> float:
|
88
114
|
"""Return the minimum allowed value."""
|
89
115
|
return (
|
90
116
|
self.values.min_value - self.description.offset
|
91
117
|
) * self.description.multiplier
|
92
118
|
|
93
119
|
@property
|
94
|
-
def max_value(self) ->
|
120
|
+
def max_value(self) -> float:
|
95
121
|
"""Return the maximum allowed value."""
|
96
122
|
return (
|
97
123
|
self.values.max_value - self.description.offset
|
98
124
|
) * self.description.multiplier
|
99
125
|
|
100
126
|
|
101
|
-
|
102
|
-
"""Represents an ecoMAX binary parameter."""
|
103
|
-
|
104
|
-
|
127
|
+
@dataslots
|
105
128
|
@dataclass
|
106
|
-
class EcomaxParameterDescription
|
107
|
-
"""Represents an ecoMAX
|
129
|
+
class EcomaxSwitchDescription(EcomaxParameterDescription, SwitchDescription):
|
130
|
+
"""Represents an ecoMAX switch description."""
|
108
131
|
|
109
|
-
multiplier: float = 1
|
110
|
-
offset: int = 0
|
111
132
|
|
133
|
+
class EcomaxSwitch(EcomaxParameter, Switch):
|
134
|
+
"""Represents an ecoMAX switch."""
|
112
135
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
):
|
117
|
-
"""Represents an ecoMAX binary parameter description."""
|
136
|
+
__slots__ = ()
|
137
|
+
|
138
|
+
description: EcomaxSwitchDescription
|
118
139
|
|
119
140
|
|
120
141
|
ECOMAX_PARAMETERS: dict[ProductType, tuple[EcomaxParameterDescription, ...]] = {
|
121
142
|
ProductType.ECOMAX_P: (
|
122
|
-
|
143
|
+
EcomaxNumberDescription(
|
123
144
|
name="airflow_power_100",
|
124
145
|
unit_of_measurement=PERCENTAGE,
|
125
146
|
),
|
126
|
-
|
147
|
+
EcomaxNumberDescription(
|
127
148
|
name="airflow_power_50",
|
128
149
|
unit_of_measurement=PERCENTAGE,
|
129
150
|
),
|
130
|
-
|
151
|
+
EcomaxNumberDescription(
|
131
152
|
name="airflow_power_30",
|
132
153
|
unit_of_measurement=PERCENTAGE,
|
133
154
|
),
|
134
|
-
|
155
|
+
EcomaxNumberDescription(
|
135
156
|
name="boiler_power_100",
|
136
157
|
unit_of_measurement=UnitOfMeasurement.KILO_WATT,
|
137
158
|
),
|
138
|
-
|
159
|
+
EcomaxNumberDescription(
|
139
160
|
name="boiler_power_50",
|
140
161
|
unit_of_measurement=UnitOfMeasurement.KILO_WATT,
|
141
162
|
),
|
142
|
-
|
163
|
+
EcomaxNumberDescription(
|
143
164
|
name="boiler_power_30",
|
144
165
|
unit_of_measurement=UnitOfMeasurement.KILO_WATT,
|
145
166
|
),
|
146
|
-
|
167
|
+
EcomaxNumberDescription(
|
147
168
|
name="max_fan_boiler_power",
|
148
169
|
unit_of_measurement=PERCENTAGE,
|
149
170
|
),
|
150
|
-
|
171
|
+
EcomaxNumberDescription(
|
151
172
|
name="min_fan_boiler_power",
|
152
173
|
unit_of_measurement=PERCENTAGE,
|
153
174
|
),
|
154
|
-
|
175
|
+
EcomaxNumberDescription(
|
155
176
|
name="fuel_feeding_work_100",
|
156
177
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
157
178
|
),
|
158
|
-
|
179
|
+
EcomaxNumberDescription(
|
159
180
|
name="fuel_feeding_work_50",
|
160
181
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
161
182
|
),
|
162
|
-
|
183
|
+
EcomaxNumberDescription(
|
163
184
|
name="fuel_feeding_work_30",
|
164
185
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
165
186
|
),
|
166
|
-
|
187
|
+
EcomaxNumberDescription(
|
167
188
|
name="fuel_feeding_pause_100",
|
168
189
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
169
190
|
),
|
170
|
-
|
191
|
+
EcomaxNumberDescription(
|
171
192
|
name="fuel_feeding_pause_50",
|
172
193
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
173
194
|
),
|
174
|
-
|
195
|
+
EcomaxNumberDescription(
|
175
196
|
name="fuel_feeding_pause_30",
|
176
197
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
177
198
|
),
|
178
|
-
|
199
|
+
EcomaxNumberDescription(
|
179
200
|
name="cycle_duration",
|
180
201
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
181
202
|
),
|
182
|
-
|
203
|
+
EcomaxNumberDescription(
|
183
204
|
name="h2_hysteresis",
|
184
205
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
185
206
|
),
|
186
|
-
|
207
|
+
EcomaxNumberDescription(
|
187
208
|
name="h1_hysteresis",
|
188
209
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
189
210
|
),
|
190
|
-
|
211
|
+
EcomaxNumberDescription(
|
191
212
|
name="heating_hysteresis",
|
192
213
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
193
214
|
),
|
194
|
-
|
215
|
+
EcomaxSwitchDescription(
|
195
216
|
name="fuzzy_logic",
|
196
217
|
),
|
197
|
-
|
218
|
+
EcomaxNumberDescription(
|
198
219
|
name="min_fuzzy_logic_power",
|
199
220
|
unit_of_measurement=PERCENTAGE,
|
200
221
|
),
|
201
|
-
|
222
|
+
EcomaxNumberDescription(
|
202
223
|
name="max_fuzzy_logic_power",
|
203
224
|
unit_of_measurement=PERCENTAGE,
|
204
225
|
),
|
205
|
-
|
226
|
+
EcomaxNumberDescription(
|
206
227
|
name="min_boiler_power",
|
207
228
|
unit_of_measurement=UnitOfMeasurement.KILO_WATT,
|
208
229
|
),
|
209
|
-
|
230
|
+
EcomaxNumberDescription(
|
210
231
|
name="max_boiler_power",
|
211
232
|
unit_of_measurement=UnitOfMeasurement.KILO_WATT,
|
212
233
|
),
|
213
|
-
|
234
|
+
EcomaxNumberDescription(
|
214
235
|
name="min_fan_power",
|
215
236
|
unit_of_measurement=PERCENTAGE,
|
216
237
|
),
|
217
|
-
|
238
|
+
EcomaxNumberDescription(
|
218
239
|
name="max_fan_power",
|
219
240
|
unit_of_measurement=PERCENTAGE,
|
220
241
|
),
|
221
|
-
|
242
|
+
EcomaxNumberDescription(
|
222
243
|
name="reduction_airflow_temp",
|
223
244
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
224
245
|
),
|
225
|
-
|
246
|
+
EcomaxNumberDescription(
|
226
247
|
name="fan_power_gain",
|
227
248
|
unit_of_measurement=PERCENTAGE,
|
228
249
|
),
|
229
|
-
|
250
|
+
EcomaxNumberDescription(
|
230
251
|
name="fuzzy_logic_fuel_flow_correction",
|
231
252
|
unit_of_measurement=PERCENTAGE,
|
232
253
|
),
|
233
|
-
|
254
|
+
EcomaxNumberDescription(
|
234
255
|
name="fuel_flow_correction",
|
235
256
|
unit_of_measurement=PERCENTAGE,
|
236
257
|
),
|
237
|
-
|
258
|
+
EcomaxNumberDescription(
|
238
259
|
name="airflow_correction_100",
|
239
260
|
unit_of_measurement=PERCENTAGE,
|
240
261
|
),
|
241
|
-
|
262
|
+
EcomaxNumberDescription(
|
242
263
|
name="feeder_correction_100",
|
243
264
|
unit_of_measurement=PERCENTAGE,
|
244
265
|
),
|
245
|
-
|
266
|
+
EcomaxNumberDescription(
|
246
267
|
name="airflow_correction_50",
|
247
268
|
unit_of_measurement=PERCENTAGE,
|
248
269
|
),
|
249
|
-
|
270
|
+
EcomaxNumberDescription(
|
250
271
|
name="feeder_correction_50",
|
251
272
|
unit_of_measurement=PERCENTAGE,
|
252
273
|
),
|
253
|
-
|
274
|
+
EcomaxNumberDescription(
|
254
275
|
name="airflow_correction_30",
|
255
276
|
unit_of_measurement=PERCENTAGE,
|
256
277
|
),
|
257
|
-
|
278
|
+
EcomaxNumberDescription(
|
258
279
|
name="feeder_correction_30",
|
259
280
|
unit_of_measurement=PERCENTAGE,
|
260
281
|
),
|
261
|
-
|
282
|
+
EcomaxNumberDescription(
|
262
283
|
name="grate_airflow_power",
|
263
284
|
unit_of_measurement=PERCENTAGE,
|
264
285
|
),
|
265
|
-
|
286
|
+
EcomaxNumberDescription(
|
266
287
|
name="grate_heating_hysteresis",
|
267
288
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
268
289
|
),
|
269
|
-
|
290
|
+
EcomaxNumberDescription(
|
270
291
|
name="supervision_airflow_work",
|
271
292
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
272
293
|
),
|
273
|
-
|
294
|
+
EcomaxNumberDescription(
|
274
295
|
name="supervision_airflow_pause",
|
275
296
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
276
297
|
),
|
277
|
-
|
298
|
+
EcomaxNumberDescription(
|
278
299
|
name="grate_heating_temp",
|
279
300
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
280
301
|
),
|
281
|
-
|
302
|
+
EcomaxNumberDescription(
|
282
303
|
name="grate_fuel_detection_time",
|
283
304
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
284
305
|
),
|
285
|
-
|
306
|
+
EcomaxNumberDescription(
|
286
307
|
name="kindling_airflow_power",
|
287
308
|
unit_of_measurement=PERCENTAGE,
|
288
309
|
),
|
289
|
-
|
310
|
+
EcomaxNumberDescription(
|
290
311
|
name="kindling_low_airflow_power",
|
291
312
|
unit_of_measurement=PERCENTAGE,
|
292
313
|
),
|
293
|
-
|
314
|
+
EcomaxNumberDescription(
|
294
315
|
name="kindling_airflow_delay",
|
295
316
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
296
317
|
),
|
297
|
-
|
318
|
+
EcomaxNumberDescription(
|
298
319
|
name="kindling_test_time",
|
299
320
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
300
321
|
),
|
301
|
-
|
322
|
+
EcomaxNumberDescription(
|
302
323
|
name="kindling_feeder_work",
|
303
324
|
),
|
304
|
-
|
325
|
+
EcomaxNumberDescription(
|
305
326
|
name="kindling_feeder_dose",
|
306
327
|
unit_of_measurement=UnitOfMeasurement.GRAMS,
|
307
328
|
),
|
308
|
-
|
329
|
+
EcomaxNumberDescription(
|
309
330
|
name="kindling_time",
|
310
331
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
311
332
|
),
|
312
|
-
|
333
|
+
EcomaxNumberDescription(
|
313
334
|
name="warming_up_time",
|
314
335
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
315
336
|
),
|
316
|
-
|
337
|
+
EcomaxNumberDescription(
|
317
338
|
name="kindling_finish_exhaust_temp",
|
318
339
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
319
340
|
),
|
320
|
-
|
341
|
+
EcomaxNumberDescription(
|
321
342
|
name="kindling_finish_threshold_temp",
|
322
343
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
323
344
|
),
|
324
|
-
|
345
|
+
EcomaxNumberDescription(
|
325
346
|
name="kindling_fumes_delta_temp",
|
326
347
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
327
348
|
),
|
328
|
-
|
349
|
+
EcomaxNumberDescription(
|
329
350
|
name="kindling_delta_temp",
|
330
351
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
331
352
|
),
|
332
|
-
|
353
|
+
EcomaxNumberDescription(
|
333
354
|
name="kindling_min_power_time",
|
334
355
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
335
356
|
),
|
336
|
-
|
357
|
+
EcomaxNumberDescription(
|
337
358
|
name="stabilization_time",
|
338
359
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
339
360
|
),
|
340
|
-
|
361
|
+
EcomaxNumberDescription(
|
341
362
|
name="stabilization_airflow_power",
|
342
363
|
unit_of_measurement=PERCENTAGE,
|
343
364
|
),
|
344
|
-
|
365
|
+
EcomaxNumberDescription(
|
345
366
|
name="supervision_time",
|
346
367
|
),
|
347
|
-
|
368
|
+
EcomaxNumberDescription(
|
348
369
|
name="supervision_feeder_work",
|
349
370
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
350
371
|
),
|
351
|
-
|
372
|
+
EcomaxNumberDescription(
|
352
373
|
name="supervision_feeder_dose",
|
353
374
|
unit_of_measurement=UnitOfMeasurement.GRAMS,
|
354
375
|
),
|
355
|
-
|
376
|
+
EcomaxNumberDescription(
|
356
377
|
name="supervision_feeder_pause",
|
357
378
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
358
379
|
),
|
359
|
-
|
380
|
+
EcomaxNumberDescription(
|
360
381
|
name="supervision_cycle_duration",
|
361
382
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
362
383
|
),
|
363
|
-
|
384
|
+
EcomaxNumberDescription(
|
364
385
|
name="supervision_airflow_power",
|
365
386
|
unit_of_measurement=PERCENTAGE,
|
366
387
|
),
|
367
|
-
|
388
|
+
EcomaxNumberDescription(
|
368
389
|
name="supervision_fan_pause",
|
369
390
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
370
391
|
),
|
371
|
-
|
392
|
+
EcomaxNumberDescription(
|
372
393
|
name="supervision_fan_work",
|
373
394
|
unit_of_measurement=UnitOfMeasurement.SECONDS,
|
374
395
|
),
|
375
|
-
|
396
|
+
EcomaxNumberDescription(
|
376
397
|
name="increase_fan_support_mode",
|
377
398
|
),
|
378
|
-
|
399
|
+
EcomaxNumberDescription(
|
379
400
|
name="burning_off_max_time",
|
380
401
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
381
402
|
),
|
382
|
-
|
403
|
+
EcomaxNumberDescription(
|
383
404
|
name="burning_off_min_time",
|
384
405
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
385
406
|
),
|
386
|
-
|
407
|
+
EcomaxNumberDescription(
|
387
408
|
name="burning_off_time",
|
388
409
|
),
|
389
|
-
|
410
|
+
EcomaxNumberDescription(
|
390
411
|
name="burning_off_airflow_power",
|
391
412
|
unit_of_measurement=PERCENTAGE,
|
392
413
|
),
|
393
|
-
|
414
|
+
EcomaxNumberDescription(
|
394
415
|
name="burning_off_airflow_work",
|
395
416
|
),
|
396
|
-
|
417
|
+
EcomaxNumberDescription(
|
397
418
|
name="burning_off_airflow_pause",
|
398
419
|
),
|
399
|
-
|
420
|
+
EcomaxNumberDescription(
|
400
421
|
name="start_burning_off",
|
401
422
|
unit_of_measurement=PERCENTAGE,
|
402
423
|
),
|
403
|
-
|
424
|
+
EcomaxNumberDescription(
|
404
425
|
name="stop_burning_off",
|
405
426
|
unit_of_measurement=PERCENTAGE,
|
406
427
|
),
|
407
|
-
|
428
|
+
EcomaxNumberDescription(
|
408
429
|
name="cleaning_begin_time",
|
409
430
|
),
|
410
|
-
|
431
|
+
EcomaxNumberDescription(
|
411
432
|
name="burning_off_cleaning_time",
|
412
433
|
),
|
413
|
-
|
434
|
+
EcomaxNumberDescription(
|
414
435
|
name="cleaning_airflow_power",
|
415
436
|
unit_of_measurement=PERCENTAGE,
|
416
437
|
),
|
417
|
-
|
438
|
+
EcomaxNumberDescription(
|
418
439
|
name="warming_up_pause_time",
|
419
440
|
),
|
420
|
-
|
441
|
+
EcomaxNumberDescription(
|
421
442
|
name="warming_up_cycle_time",
|
422
443
|
),
|
423
|
-
|
444
|
+
EcomaxNumberDescription(
|
424
445
|
name="remind_time",
|
425
446
|
),
|
426
|
-
|
447
|
+
EcomaxSwitchDescription(
|
427
448
|
name="lambda_control",
|
428
449
|
),
|
429
|
-
|
450
|
+
EcomaxNumberDescription(
|
430
451
|
name="lambda_correction_range",
|
431
452
|
),
|
432
|
-
|
453
|
+
EcomaxNumberDescription(
|
433
454
|
name="oxygen_100",
|
434
455
|
),
|
435
|
-
|
456
|
+
EcomaxNumberDescription(
|
436
457
|
name="oxygen_50",
|
437
458
|
),
|
438
|
-
|
459
|
+
EcomaxNumberDescription(
|
439
460
|
name="oxygen_30",
|
440
461
|
),
|
441
|
-
|
462
|
+
EcomaxNumberDescription(
|
442
463
|
name="fuzzy_logic_oxygen_correction",
|
443
464
|
),
|
444
|
-
|
465
|
+
EcomaxNumberDescription(
|
445
466
|
name="max_fuel_flow",
|
446
467
|
multiplier=0.1,
|
447
468
|
unit_of_measurement=UnitOfMeasurement.KILOGRAMS_PER_HOUR,
|
448
469
|
),
|
449
|
-
|
470
|
+
EcomaxNumberDescription(
|
450
471
|
name="feeder_calibration",
|
451
472
|
),
|
452
|
-
|
473
|
+
EcomaxNumberDescription(
|
453
474
|
name="fuel_factor",
|
454
475
|
),
|
455
|
-
|
476
|
+
EcomaxNumberDescription(
|
456
477
|
name="fuel_calorific_value",
|
457
478
|
multiplier=0.1,
|
458
479
|
unit_of_measurement=UnitOfMeasurement.KILO_WATT_HOUR_PER_KILOGRAM,
|
459
480
|
),
|
460
|
-
|
481
|
+
EcomaxNumberDescription(
|
461
482
|
name="fuel_detection_time",
|
462
483
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
463
484
|
),
|
464
|
-
|
485
|
+
EcomaxNumberDescription(
|
465
486
|
name="fuel_detection_exhaust_temp",
|
466
487
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
467
488
|
),
|
468
|
-
|
489
|
+
EcomaxSwitchDescription(
|
469
490
|
name="schedule_feeder_2",
|
470
491
|
),
|
471
|
-
|
492
|
+
EcomaxNumberDescription(
|
472
493
|
name="feed2_h1",
|
473
494
|
),
|
474
|
-
|
495
|
+
EcomaxNumberDescription(
|
475
496
|
name="feed2_h2",
|
476
497
|
),
|
477
|
-
|
498
|
+
EcomaxNumberDescription(
|
478
499
|
name="feed2_h3",
|
479
500
|
),
|
480
|
-
|
501
|
+
EcomaxNumberDescription(
|
481
502
|
name="feed2_h4",
|
482
503
|
),
|
483
|
-
|
504
|
+
EcomaxNumberDescription(
|
484
505
|
name="feed2_work",
|
485
506
|
),
|
486
|
-
|
507
|
+
EcomaxNumberDescription(
|
487
508
|
name="feed2_pause",
|
488
509
|
),
|
489
|
-
|
510
|
+
EcomaxNumberDescription(
|
490
511
|
name="heating_target_temp",
|
491
512
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
492
513
|
),
|
493
|
-
|
514
|
+
EcomaxNumberDescription(
|
494
515
|
name="min_heating_target_temp",
|
495
516
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
496
517
|
),
|
497
|
-
|
518
|
+
EcomaxNumberDescription(
|
498
519
|
name="max_heating_target_temp",
|
499
520
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
500
521
|
),
|
501
|
-
|
522
|
+
EcomaxNumberDescription(
|
502
523
|
name="heating_pump_enable_temp",
|
503
524
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
504
525
|
),
|
505
|
-
|
526
|
+
EcomaxNumberDescription(
|
506
527
|
name="pause_heating_for_water_heater",
|
507
528
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
508
529
|
),
|
509
|
-
|
530
|
+
EcomaxNumberDescription(
|
510
531
|
name="thermostat_pause",
|
511
532
|
),
|
512
|
-
|
533
|
+
EcomaxNumberDescription(
|
513
534
|
name="thermostat_work",
|
514
535
|
),
|
515
|
-
|
536
|
+
EcomaxNumberDescription(
|
516
537
|
name="increase_heating_temp_for_water_heater",
|
517
538
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
518
539
|
),
|
519
|
-
|
540
|
+
EcomaxSwitchDescription(
|
520
541
|
name="weather_control",
|
521
542
|
),
|
522
|
-
|
543
|
+
EcomaxNumberDescription(
|
523
544
|
name="heating_curve",
|
524
545
|
multiplier=0.1,
|
525
546
|
),
|
526
|
-
|
547
|
+
EcomaxNumberDescription(
|
527
548
|
name="heating_curve_shift",
|
528
549
|
offset=20,
|
529
550
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
530
551
|
),
|
531
|
-
|
552
|
+
EcomaxNumberDescription(
|
532
553
|
name="weather_factor",
|
533
554
|
),
|
534
|
-
|
555
|
+
EcomaxNumberDescription(
|
535
556
|
name="thermostat_operation",
|
536
557
|
),
|
537
|
-
|
558
|
+
EcomaxSwitchDescription(
|
538
559
|
name="thermostat_mode",
|
539
560
|
),
|
540
|
-
|
561
|
+
EcomaxNumberDescription(
|
541
562
|
name="thermostat_decrease_target_temp",
|
542
563
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
543
564
|
),
|
544
|
-
|
565
|
+
EcomaxSwitchDescription(
|
545
566
|
name="disable_pump_on_thermostat",
|
546
567
|
),
|
547
|
-
|
568
|
+
EcomaxNumberDescription(
|
548
569
|
name="boiler_alert_temp",
|
549
570
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
550
571
|
),
|
551
|
-
|
572
|
+
EcomaxNumberDescription(
|
552
573
|
name="max_feeder_temp",
|
553
574
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
554
575
|
),
|
555
|
-
|
576
|
+
EcomaxNumberDescription(
|
556
577
|
name="external_boiler_temp",
|
557
578
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
558
579
|
),
|
559
|
-
|
580
|
+
EcomaxNumberDescription(
|
560
581
|
name="alert_notify",
|
561
582
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
562
583
|
),
|
563
|
-
|
584
|
+
EcomaxNumberDescription(
|
564
585
|
name="pump_hysteresis",
|
565
586
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
566
587
|
),
|
567
|
-
|
588
|
+
EcomaxNumberDescription(
|
568
589
|
name="water_heater_target_temp",
|
569
590
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
570
591
|
),
|
571
|
-
|
592
|
+
EcomaxNumberDescription(
|
572
593
|
name="min_water_heater_target_temp",
|
573
594
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
574
595
|
),
|
575
|
-
|
596
|
+
EcomaxNumberDescription(
|
576
597
|
name="max_water_heater_target_temp",
|
577
598
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
578
599
|
),
|
579
|
-
|
600
|
+
EcomaxNumberDescription(
|
580
601
|
name="water_heater_work_mode",
|
581
602
|
),
|
582
|
-
|
603
|
+
EcomaxNumberDescription(
|
583
604
|
name="water_heater_hysteresis",
|
584
605
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
585
606
|
),
|
586
|
-
|
607
|
+
EcomaxSwitchDescription(
|
587
608
|
name="water_heater_disinfection",
|
588
609
|
),
|
589
|
-
|
610
|
+
EcomaxNumberDescription(
|
590
611
|
name="summer_mode",
|
591
612
|
),
|
592
|
-
|
613
|
+
EcomaxNumberDescription(
|
593
614
|
name="summer_mode_enable_temp",
|
594
615
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
595
616
|
),
|
596
|
-
|
617
|
+
EcomaxNumberDescription(
|
597
618
|
name="summer_mode_disable_temp",
|
598
619
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
599
620
|
),
|
600
|
-
|
621
|
+
EcomaxNumberDescription(
|
601
622
|
name="water_heater_work_extension",
|
602
623
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
603
624
|
),
|
604
|
-
|
625
|
+
EcomaxSwitchDescription(
|
605
626
|
name="circulation_control",
|
606
627
|
),
|
607
|
-
|
628
|
+
EcomaxNumberDescription(
|
608
629
|
name="circulation_pause",
|
609
630
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
610
631
|
),
|
611
|
-
|
632
|
+
EcomaxNumberDescription(
|
612
633
|
name="circulation_work",
|
613
634
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
614
635
|
),
|
615
|
-
|
636
|
+
EcomaxNumberDescription(
|
616
637
|
name="circulation_start_temp",
|
617
638
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
618
639
|
),
|
619
|
-
|
640
|
+
EcomaxSwitchDescription(
|
620
641
|
name="buffer_control",
|
621
642
|
),
|
622
|
-
|
643
|
+
EcomaxNumberDescription(
|
623
644
|
name="max_buffer_temp",
|
624
645
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
625
646
|
),
|
626
|
-
|
647
|
+
EcomaxNumberDescription(
|
627
648
|
name="min_buffer_temp",
|
628
649
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
629
650
|
),
|
630
|
-
|
651
|
+
EcomaxNumberDescription(
|
631
652
|
name="buffer_hysteresis",
|
632
653
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
633
654
|
),
|
634
|
-
|
655
|
+
EcomaxNumberDescription(
|
635
656
|
name="buffer_load_start",
|
636
657
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
637
658
|
),
|
638
|
-
|
659
|
+
EcomaxNumberDescription(
|
639
660
|
name="buffer_load_stop",
|
640
661
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
641
662
|
),
|
642
663
|
),
|
643
664
|
ProductType.ECOMAX_I: (
|
644
|
-
|
665
|
+
EcomaxNumberDescription(
|
645
666
|
name="water_heater_target_temp",
|
646
667
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
647
668
|
),
|
648
|
-
|
669
|
+
EcomaxSwitchDescription(
|
649
670
|
name="water_heater_priority",
|
650
671
|
),
|
651
|
-
|
672
|
+
EcomaxNumberDescription(
|
652
673
|
name="water_heater_support",
|
653
674
|
),
|
654
|
-
|
675
|
+
EcomaxNumberDescription(
|
655
676
|
name="min_water_heater_target_temp",
|
656
677
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
657
678
|
),
|
658
|
-
|
679
|
+
EcomaxNumberDescription(
|
659
680
|
name="max_water_heater_target_temp",
|
660
681
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
661
682
|
),
|
662
|
-
|
683
|
+
EcomaxNumberDescription(
|
663
684
|
name="water_heater_work_extension",
|
664
685
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
665
686
|
),
|
666
|
-
|
687
|
+
EcomaxNumberDescription(
|
667
688
|
name="water_heater_hysteresis",
|
668
689
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
669
690
|
),
|
670
|
-
|
691
|
+
EcomaxSwitchDescription(
|
671
692
|
name="water_heater_disinfection",
|
672
693
|
),
|
673
|
-
|
694
|
+
EcomaxNumberDescription(
|
674
695
|
name="water_heater_work_mode",
|
675
696
|
),
|
676
|
-
|
697
|
+
EcomaxSwitchDescription(
|
677
698
|
name="solar_support",
|
678
699
|
),
|
679
|
-
|
700
|
+
EcomaxNumberDescription(
|
680
701
|
name="solar_pump_on_delta_temp",
|
681
702
|
multiplier=0.1,
|
682
703
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
683
704
|
),
|
684
|
-
|
705
|
+
EcomaxNumberDescription(
|
685
706
|
name="solar_pump_off_delta_temp",
|
686
707
|
multiplier=0.1,
|
687
708
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
688
709
|
),
|
689
|
-
|
710
|
+
EcomaxNumberDescription(
|
690
711
|
name="min_collector_temp",
|
691
712
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
692
713
|
),
|
693
|
-
|
714
|
+
EcomaxNumberDescription(
|
694
715
|
name="max_collector_temp",
|
695
716
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
696
717
|
),
|
697
|
-
|
718
|
+
EcomaxNumberDescription(
|
698
719
|
name="collector_off_temp",
|
699
720
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
700
721
|
),
|
701
|
-
|
722
|
+
EcomaxNumberDescription(
|
702
723
|
name="min_pump_revolutions",
|
703
724
|
),
|
704
|
-
|
725
|
+
EcomaxNumberDescription(
|
705
726
|
name="solar_antifreeze",
|
706
727
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
707
728
|
),
|
708
|
-
|
729
|
+
EcomaxSwitchDescription(
|
709
730
|
name="circulation_control",
|
710
731
|
),
|
711
|
-
|
732
|
+
EcomaxNumberDescription(
|
712
733
|
name="circulation_pause",
|
713
734
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
714
735
|
),
|
715
|
-
|
736
|
+
EcomaxNumberDescription(
|
716
737
|
name="circulation_work",
|
717
738
|
unit_of_measurement=UnitOfMeasurement.MINUTES,
|
718
739
|
),
|
719
|
-
|
740
|
+
EcomaxNumberDescription(
|
720
741
|
name="circulation_start_temp",
|
721
742
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
722
743
|
),
|
723
|
-
|
744
|
+
EcomaxNumberDescription(
|
724
745
|
name="main_heat_source",
|
725
746
|
),
|
726
|
-
|
747
|
+
EcomaxNumberDescription(
|
727
748
|
name="min_main_heat_source_temp",
|
728
749
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
729
750
|
),
|
730
|
-
|
751
|
+
EcomaxNumberDescription(
|
731
752
|
name="max_main_heat_source_temp",
|
732
753
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
733
754
|
),
|
734
|
-
|
755
|
+
EcomaxNumberDescription(
|
735
756
|
name="main_heat_source_hysteresis",
|
736
757
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
737
758
|
),
|
738
|
-
|
759
|
+
EcomaxNumberDescription(
|
739
760
|
name="critical_main_heat_source_temp",
|
740
761
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
741
762
|
),
|
742
|
-
|
763
|
+
EcomaxNumberDescription(
|
743
764
|
name="main_heat_source_pump_extension_time",
|
744
765
|
),
|
745
|
-
|
766
|
+
EcomaxNumberDescription(
|
746
767
|
name="additional_heat_source",
|
747
768
|
),
|
748
|
-
|
769
|
+
EcomaxNumberDescription(
|
749
770
|
name="main_heat_source_off_temp",
|
750
771
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
751
772
|
),
|
752
|
-
|
773
|
+
EcomaxNumberDescription(
|
753
774
|
name="additional_heat_source_pump_startup_temp",
|
754
775
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
755
776
|
),
|
756
|
-
|
777
|
+
EcomaxNumberDescription(
|
757
778
|
name="hydraulic_diagram",
|
758
779
|
),
|
759
|
-
|
780
|
+
EcomaxSwitchDescription(
|
760
781
|
name="antifreeze",
|
761
782
|
),
|
762
|
-
|
783
|
+
EcomaxNumberDescription(
|
763
784
|
name="antifreeze_delay",
|
764
785
|
),
|
765
|
-
|
786
|
+
EcomaxNumberDescription(
|
766
787
|
name="circuit_lock_time",
|
767
788
|
),
|
768
|
-
|
789
|
+
EcomaxNumberDescription(
|
769
790
|
name="circuit_work_time",
|
770
791
|
),
|
771
|
-
|
792
|
+
EcomaxNumberDescription(
|
772
793
|
name="alert_out_c",
|
773
794
|
),
|
774
|
-
|
795
|
+
EcomaxNumberDescription(
|
775
796
|
name="alert_on_out_c",
|
776
797
|
),
|
777
|
-
|
798
|
+
EcomaxNumberDescription(
|
778
799
|
name="thermostat_hysteresis",
|
779
800
|
multiplier=0.1,
|
780
801
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
781
802
|
),
|
782
|
-
|
803
|
+
EcomaxNumberDescription(
|
783
804
|
name="critial_additional_heat_source_temp",
|
784
805
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
785
806
|
),
|
786
|
-
|
807
|
+
EcomaxNumberDescription(
|
787
808
|
name="automatic_pump_lock_time",
|
788
809
|
),
|
789
|
-
|
810
|
+
EcomaxNumberDescription(
|
790
811
|
name="summer_mode",
|
791
812
|
),
|
792
|
-
|
813
|
+
EcomaxNumberDescription(
|
793
814
|
name="summer_mode_enable_temp",
|
794
815
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
795
816
|
),
|
796
|
-
|
817
|
+
EcomaxNumberDescription(
|
797
818
|
name="summer_mode_disable_temp",
|
798
819
|
unit_of_measurement=UnitOfMeasurement.CELSIUS,
|
799
820
|
),
|
800
821
|
),
|
801
822
|
}
|
802
823
|
|
803
|
-
ECOMAX_CONTROL_PARAMETER =
|
804
|
-
THERMOSTAT_PROFILE_PARAMETER =
|
824
|
+
ECOMAX_CONTROL_PARAMETER = EcomaxSwitchDescription(name=ATTR_ECOMAX_CONTROL)
|
825
|
+
THERMOSTAT_PROFILE_PARAMETER = EcomaxNumberDescription(name=ATTR_THERMOSTAT_PROFILE)
|
805
826
|
|
806
827
|
|
807
828
|
class EcomaxParametersStructure(StructureDecoder):
|