Open KryspianClash opened 1 year ago
Hi,
Thank you for the feedback!
Did you paste full diagnostics data that you've got from HASS? From your diagnostics, it seems that PyPlumIO doesn't have any parameters apart from ecomax_control
and should not be able to control your boiler at all. This could either mean that ECOMAX_PARAMETERS_REQUEST completely failed or you've provided incomplete diagnostics data.
Could you please send me diagnostics data file via email. Thanks beforehand.
Hi,
He didn't provide full details because I was limited in the number of characters.
The *.txt file is attached.
czw., 29 cze 2023 o 11:36 Denis Paavilainen @.***> napisał(a):
Hi,
Thank you for your feedback!
Did you paste full diagnostics data that you've got from HASS? From your diagnostics, it seems that PyPlumIO doesn't have any parameters apart from ecomax_control and should not be able to control your boiler at all. This could either mean that ECOMAX_PARAMETERS_REQUEST completely failed or you've provided incomplete diagnostics data.
Could you please send me diagnostics data file via email @.***?subject=EM860D3+diagnostics+data>. Thanks beforehand.
— Reply to this email directly, view it on GitHub https://github.com/denpamusic/homeassistant-plum-ecomax/issues/29#issuecomment-1612714988, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMWT7APGBSAF46AYK275M2DXNVEDJANCNFSM6AAAAAAZYERRMI . You are receiving this because you authored the thread.Message ID: @.***>
-- Z poważaniem / Best regards, Krzysztof Bolek
tel. (+48) 666 096 148 @. @.>
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.6.3",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.11.4",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Warsaw",
"os_name": "Linux",
"os_version": "6.1.34",
"supervisor": "2023.06.2",
"host_os": "Home Assistant OS 10.3",
"docker_version": "23.0.6",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {
"econet300": {
"version": "0.1.0",
"requirements": []
},
"hacs": {
"version": "1.32.1",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"localtuya": {
"version": "5.2.1",
"requirements": []
},
"plum_ecomax": {
"version": "0.3.8",
"requirements": [
"pyplumio==0.4.2.post1"
]
},
"smartthinq_sensors": {
"version": "0.31.8",
"requirements": [
"pycountry>=20.7.3",
"xmltodict>=0.12.0",
"charset_normalizer>=2.0.0"
]
}
},
"integration_manifest": {
"domain": "plum_ecomax",
"name": "Plum ecoMAX",
"codeowners": [
@.*"
],
"config_flow": true,
"dependencies": [
"network"
],
"documentation": "https://github.com/denpamusic/homeassistant-plum-ecomax",
"integration_type": "hub",
"iot_class": "local_push",
"issue_tracker": "https://github.com/denpamusic/homeassistant-plum-ecomax/issues",
"loggers": [
"pyplumio"
],
"requirements": [
"pyplumio==0.4.2.post1"
],
"version": "0.3.8",
"is_built_in": false
},
"data": {
"entry": {
"title": "ecoMAX 860D3-HB",
"data": {
"host": "REDACTED",
"port": 8899,
"connection_type": "TCP",
"uid": "REDACTED**",
"model": "ecoMAX 860D3-HB",
"product_type": 0,
"product_id": 48,
"software": "4.34.46.K1",
"sub_devices": [
"mixers",
"water_heater"
]
}
},
"pyplumio": {
"version": "0.4.2.post1"
},
"data": {
"connected": true,
"frame_versions": {
"85": 65283,
"84": 11030,
"86": 52564,
"54": 15,
"56": 22,
"57": 6,
"61": 5368
},
"regdata_decoder": true,
"ecomax_control": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxBinaryParameter'>",
"repr": "EcomaxBinaryParameter(device=EcoMAX, description=EcomaxParameterDescription(name='ecomax_control', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxBinaryParameter'>, multiplier=1, offset=0), value=on, min_value=off, max_value=on)"
},
"state": 5,
"fan": false,
"feeder": false,
"heating_pump": false,
"water_heater_pump": false,
"circulation_pump": false,
"lighter": false,
"alarm": false,
"outer_boiler": false,
"fan2_exhaust": false,
"feeder2": false,
"outer_feeder": false,
"solar_pump": false,
"fireplace_pump": false,
"gcz_contact": false,
"blow_fan1": false,
"blow_fan2": false,
"heating_pump_flag": true,
"water_heater_pump_flag": true,
"circulation_pump_flag": true,
"solar_pump_flag": false,
"heating_temp": 30.652313232421875,
"water_heater_temp": 40.036163330078125,
"outside_temp": 19.953083038330078,
"exhaust_temp": 21.887088775634766,
"optical_temp": 0.0,
"upper_buffer_temp": 53.50355529785156,
"lower_buffer_temp": 29.721405029296875,
"heating_target": 80,
"heating_status": 0,
"water_heater_target": 40,
"water_heater_status": 0,
"pending_alerts": 0,
"fuel_level": 0,
"transmission": 8,
"fan_power": 0.0,
"load": 0,
"power": 0.0,
"fuel_burned": 0.0,
"fuel_consumption": 0.0,
"thermostat": 1,
"modules": {
"__type": "<class 'pyplumio.structures.modules.ConnectedModules'>",
"repr": "ConnectedModules(module_a='4.34.46.K1', module_b=None, module_c=None, ecolambda='0.0.26', ecoster=None, panel='4.14.43')"
},
"lambda_state": 0,
"lambda_target": 255,
"lambda_level": 7.4,
"mixers": {
"0": {
"current_temp": 24.316116333007812,
"target_temp": 50,
"pump": false,
"mixer_sensors": true,
"mixer_target_temp": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='mixer_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=50.0, min_value=15.0, max_value=85.0)"
},
"min_target_temp": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='min_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=15.0, min_value=15.0, max_value=90.0)"
},
"max_target_temp": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='max_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=85.0, min_value=20.0, max_value=90.0)"
},
"low_target_temp": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='low_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=30.0)"
},
"weather_control": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>",
"repr": "MixerBinaryParameter(device=Mixer, description=MixerParameterDescription(name='weather_control', cls=<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>, multiplier=1, offset=0), value=off, min_value=off, max_value=on)"
},
"heat_curve": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='heat_curve', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=10, offset=0), value=1.0, min_value=0.1, max_value=4.0)"
},
"parallel_offset_heat_curve": {
"__type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='parallel_offset_heat_curve', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=20.0, min_value=0.0, max_value=40.0)"
},
"weather_temp_factor": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='weather_temp_factor', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=50.0)"
},
"work_mode": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='work_mode', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=1.0, min_value=0.0, max_value=3.0)"
},
"therm_operation": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='therm_operation', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=1.0)"
},
"therm_mode": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
"repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='therm_mode', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=1.0)"
},
"summer_work": {
"type": "<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>",
"repr": "MixerBinaryParameter(device=Mixer, description=MixerParameterDescription(name='summer_work', cls=<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>, multiplier=1, offset=0), value=off, min_value=off, max_value=on)"
},
"mixer_parameters": true
}
},
"mixer_sensors": true,
"mixer_count": 4,
"sensors": true,
"schema": [
[
1792,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x05', size=1)"
}
],
[
1538,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=0)"
}
],
[
1536,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=0)"
}
],
[
1537,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=0)"
}
],
[
1539,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=0)"
}
],
[
1541,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=0)"
}
],
[
1542,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=0)"
}
],
[
1545,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=0)"
}
],
[
1546,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x80', size=1)"
}
],
[
1544,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
1547,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
1548,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
1549,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
4,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
2,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
1,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
5,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=1)"
}
],
[
6,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=0)"
}
],
[
1540,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=0)"
}
],
[
1543,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=0)"
}
],
[
3,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=0)"
}
],
[
7,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=0)"
}
],
[
8,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=0)"
}
],
[
1550,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=0)"
}
],
[
1551,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x10', size=1)"
}
],
[
1552,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
1553,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
1554,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
1555,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
9,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
11,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
17,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'1\x05', size=2)"
}
],
[
22,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'u\x10', size=2)"
}
],
[
18,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\xc9\x0c', size=2)"
}
],
[
36,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'u\x10', size=2)"
}
],
[
19,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x05\x03', size=2)"
}
],
[
14,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'<\x07', size=2)"
}
],
[
15,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\xf5\x05', size=2)"
}
],
[
13,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\xa5\x0f', size=2)"
}
],
[
20,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\xfb\x08', size=2)"
}
],
[
23,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\xd8\x05', size=2)"
}
],
[
26,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
37,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
16,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
29,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
30,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
31,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
32,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
28,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
21,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
33,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
34,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
35,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
1031,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\xb0\x96\xc2A', size=4)"
}
],
[
1032,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
1027,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x80\x9f\x9fA', size=4)"
}
],
[
49,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
1030,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x9d\r\xafA', size=4)"
}
],
[
1025,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'(\x03 B', size=4)"
}
],
[
1024,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x88(\xf5A', size=4)"
}
],
[
38,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\x00\x00', size=4)"
}
],
[
1028,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x18\x04VB', size=4)"
}
],
[
1029,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'(\xbe\xedA', size=4)"
}
],
[
41,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
50,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
1026,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
42,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
43,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
44,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
45,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
1034,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
1033,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
46,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
47,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
48,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\xc0\x7f', size=4)"
}
],
[
1287,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'2', size=1)"
}
],
[
1288,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'(', size=1)"
}
],
[
1283,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
62,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
1286,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
1281,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'(', size=1)"
}
],
[
1280,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'P', size=1)"
}
],
[
51,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
1284,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
1285,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
54,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
63,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
1282,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
55,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
56,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
57,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
58,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
1290,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'(', size=1)"
}
],
[
1289,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'(', size=1)"
}
],
[
59,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
60,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
61,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
68,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
73,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
69,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
87,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
70,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
65,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
66,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
64,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
71,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
74,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
77,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
88,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
67,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
80,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
81,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
82,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
83,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
28,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
21,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
84,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
85,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
86,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
93,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
98,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
94,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
112,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
95,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
90,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
91,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
89,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=1)"
}
],
[
96,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=0)"
}
],
[
99,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=0)"
}
],
[
102,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=0)"
}
],
[
113,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=0)"
}
],
[
92,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=0)"
}
],
[
105,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=0)"
}
],
[
106,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=0)"
}
],
[
107,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\xfc', size=1)"
}
],
[
108,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=0)"
}
],
[
104,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=0)"
}
],
[
97,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=0)"
}
],
[
109,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=0)"
}
],
[
110,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=0)"
}
],
[
111,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=0)"
}
],
[
12,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=0)"
}
],
[
12,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'?', size=1)"
}
],
[
12,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
12,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
12,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
12,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
12,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
12,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
12,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
12,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=1)"
}
],
[
116,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
117,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
118,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
119,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
120,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
121,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
122,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
123,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=1)"
}
],
[
124,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
125,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
125,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
125,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
125,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
125,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
125,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
125,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=1)"
}
],
[
127,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
128,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
2048,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x02', size=1)"
}
],
[
129,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x01', size=0)"
}
],
[
2049,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
131,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
132,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
133,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
134,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
135,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
136,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
137,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
138,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=1)"
}
],
[
139,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=0)"
}
],
[
140,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=0)"
}
],
[
141,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=0)"
}
],
[
142,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=0)"
}
],
[
143,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=0)"
}
],
[
144,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=0)"
}
],
[
144,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=0)"
}
],
[
144,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x04', size=1)"
}
],
[
145,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'', size=0)" } ], [ 146, { "__type": "<class 'pyplumio.helpers.data_types.Boolean'>", "repr": "Boolean(data=b'
', size=0)"
}
],
[
147,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'', size=0)" } ], [ 148, { "__type": "<class 'pyplumio.helpers.data_types.Boolean'>", "repr": "Boolean(data=b'
', size=0)"
}
],
[
149,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'', size=0)" } ], [ 150, { "__type": "<class 'pyplumio.helpers.data_types.Boolean'>", "repr": "Boolean(data=b'
', size=0)"
}
],
[
151,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'', size=0)" } ], [ 152, { "__type": "<class 'pyplumio.helpers.data_types.Boolean'>", "repr": "Boolean(data=b'
', size=1)"
}
],
[
1794,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
153,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
154,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
155,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
1798,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
1798,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
156,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
1798,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=0)"
}
],
[
1798,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\n', size=1)"
}
],
[
157,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x1f', size=0)"
}
],
[
158,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x1f', size=0)"
}
],
[
159,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x1f', size=0)"
}
],
[
160,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x1f', size=0)"
}
],
[
161,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x1f', size=0)"
}
],
[
162,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x04', size=1)"
}
],
[
165,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'K', size=1)"
}
],
[
166,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
179,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
180,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
181,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
182,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
183,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
184,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
185,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
186,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
187,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
188,
{
"__type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
189,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
190,
{
"type": "<class 'pyplumio.helpers.data_types.Boolean'>",
"repr": "Boolean(data=b'\x00', size=0)"
}
],
[
196,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
197,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
198,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
191,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
192,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'P', size=1)"
}
],
[
193,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\xcd\xcc\xec@', size=4)"
}
],
[
194,
{
"__type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\t\xcd\xec@', size=4)"
}
],
[
195,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\x00\x00', size=4)"
}
],
[
1795,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
126,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
1793,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\x00\x00', size=4)"
}
],
[
130,
{
"type": "<class 'pyplumio.helpers.data_types.Float'>",
"repr": "Float(data=b'\x00\x00\x00\x00', size=4)"
}
],
[
202,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
203,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
204,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
205,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
206,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
208,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x00\x00', size=2)"
}
],
[
209,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x0f\x00', size=2)"
}
],
[
212,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
210,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
211,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
213,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
214,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\r\x00', size=2)"
}
],
[
216,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x06\x00', size=2)"
}
],
[
215,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'-\x01', size=2)"
}
],
[
218,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x16\x00', size=2)"
}
],
[
217,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x17\x00', size=2)"
}
],
[
219,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x8a\"', size=2)"
}
],
[
220,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'`\t', size=2)"
}
],
[
221,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x12\x00', size=2)"
}
],
[
222,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\xecK', size=2)"
}
],
[
223,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\xe5\x11', size=2)"
}
],
[
224,
{
"__type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b')\xcd', size=2)"
}
],
[
225,
{
"type": "<class 'pyplumio.helpers.data_types.UnsignedShort'>",
"repr": "UnsignedShort(data=b'\x9a\x15', size=2)"
}
],
[
252,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x1e', size=1)"
}
],
[
239,
{
"__type": "<class 'pyplumio.helpers.data_types.IPv4'>",
"repr": "IPv4(data=b'\xc0\xa8\n\xc9', size=4)"
}
],
[
240,
{
"type": "<class 'pyplumio.helpers.data_types.IPv4'>",
"repr": "IPv4(data=b'\xff\xff\xff\x00', size=4)"
}
],
[
241,
{
"type": "<class 'pyplumio.helpers.data_types.IPv4'>",
"repr": "IPv4(data=b'\x00\x00\x00\x00', size=4)"
}
],
[
242,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
243,
{
"type": "<class 'pyplumio.helpers.data_types.IPv4'>",
"repr": "IPv4(data=b'\x00\x00\x00\x00', size=4)"
}
],
[
244,
{
"type": "<class 'pyplumio.helpers.data_types.IPv4'>",
"repr": "IPv4(data=b'\xff\xff\xff\x00', size=4)"
}
],
[
245,
{
"__type": "<class 'pyplumio.helpers.data_types.IPv4'>",
"repr": "IPv4(data=b'\x00\x00\x00\x00', size=4)"
}
],
[
246,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
247,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x01', size=1)"
}
],
[
248,
{
"__type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'd', size=1)"
}
],
[
249,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
250,
{
"type": "<class 'pyplumio.helpers.data_types.Byte'>",
"repr": "Byte(data=b'\x00', size=1)"
}
],
[
251,
{
"__type": "<class 'pyplumio.helpers.data_types.String'>",
"repr": "String(data=b'\x00', size=1)"
}
]
],
"product": {
"type": "<class 'pyplumio.structures.product_info.ProductInfo'>",
"repr": "ProductInfo(type=<ProductType.ECOMAX_P: 0>, id=48, uid='REDACTED', logo=12288, image=2816, model='ecoMAX860D3-HB')"
},
"airflow_power_100": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='airflow_power_100', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=40.0, min_value=33.0, max_value=100.0)"
},
"airflow_power_50": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='airflow_power_50', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=32.0, min_value=27.0, max_value=39.0)"
},
"airflow_power_30": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='airflow_power_30', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=26.0, min_value=22.0, max_value=31.0)"
},
"cycle_time": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='cycle_time', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=15.0, min_value=1.0, max_value=250.0)"
},
"h2_hysteresis": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='h2_hysteresis', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=40.0, min_value=33.0, max_value=100.0)"
},
"h1_hysteresis": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='h1_hysteresis', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=10.0, min_value=6.0, max_value=19.0)"
},
"heating_hysteresis": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='heating_hysteresis', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=5.0, min_value=1.0, max_value=30.0)"
},
"fuzzy_logic": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxBinaryParameter'>",
"repr": "EcomaxBinaryParameter(device=EcoMAX, description=EcomaxParameterDescription(name='fuzzy_logic', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxBinaryParameter'>, multiplier=1, offset=0), value=off, min_value=off, max_value=on)"
},
"min_fuzzy_logic_power": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='min_fuzzy_logic_power', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=100.0, min_value=0.0, max_value=100.0)"
},
"max_fuzzy_logic_power": {
"__type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='max_fuzzy_logic_power', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=100.0, min_value=0.0, max_value=100.0)"
},
"min_fan_power": {
"type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
"repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='min_fan_power', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=22.0, min_value=10.0, max_value=100.0)"
},
"airflow_power_grate": {
"__type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParame
Sorry, it's still getting cut by github :( Could you please send me txt file directly to denpa@denpa.pro. Thanks and sorry for all the troubles.
Is there an existing issue for this?
I'm having the following issue:
I have Controller Plum ecoMAX 860D3-HB in wood boiler Blaze Harmony conect wiat ETH USR-DR302. Blaze use custom program on EcoMax. I have problem witch Summer Switch. When i change switch in Hassio boiler doesn't not respond. In boiler controller i have 3 options "Winter" "Summer" and "Auto" - maybe it will be helpful.
I have following devices connected:
I'm connecting to my devices using:
Ethernet/WiFi to RS-485 converter
I'm seeing following log messages:
My diagnostics data:
"home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.6.3", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.11.4", "docker": true, "arch": "x86_64", "timezone": "Europe/Warsaw", "os_name": "Linux", "os_version": "6.1.34", "supervisor": "2023.06.2", "host_os": "Home Assistant OS 10.3", "docker_version": "23.0.6", "chassis": "embedded", "run_as_root": true }, "custom_components": { "econet300": { "version": "0.1.0", "requirements": [] }, "hacs": { "version": "1.32.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "localtuya": { "version": "5.2.1", "requirements": [] }, "plum_ecomax": { "version": "0.3.8", "requirements": [ "pyplumio==0.4.2.post1" ]
"integration_manifest": { "domain": "plum_ecomax", "name": "Plum ecoMAX", "codeowners": [ "@denpamusic" ], "config_flow": true, "dependencies": [ "network" ], "documentation": "https://github.com/denpamusic/homeassistant-plum-ecomax", "integration_type": "hub", "iot_class": "local_push", "issue_tracker": "https://github.com/denpamusic/homeassistant-plum-ecomax/issues", "loggers": [ "pyplumio" ], "requirements": [ "pyplumio==0.4.2.post1" ], "version": "0.3.8", "is_built_in": false }, "data": { "entry": { "title": "ecoMAX 860D3-HB", "data": { "host": "REDACTED", "port": 8899, "connection_type": "TCP", "uid": "REDACTED", "model": "ecoMAX 860D3-HB", "product_type": 0, "product_id": 48, "software": "4.34.46.K1", "sub_devices": [ "mixers", "water_heater" ] } }, "pyplumio": { "version": "0.4.2.post1" }, "data": { "connected": true, "frame_versions": { "85": 65283, "84": 11030, "86": 52564, "54": 15, "56": 22, "57": 6, "61": 5368 }, "regdata_decoder": true, "ecomax_control": { "type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxBinaryParameter'>", "repr": "EcomaxBinaryParameter(device=EcoMAX, description=EcomaxParameterDescription(name='ecomax_control', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxBinaryParameter'>, multiplier=1, offset=0), value=on, min_value=off, max_value=on)" }, "state": 5, "fan": false, "feeder": false, "heating_pump": false, "water_heater_pump": false, "circulation_pump": false, "lighter": false, "alarm": false, "outer_boiler": false, "fan2_exhaust": false, "feeder2": false, "outer_feeder": false, "solar_pump": false, "fireplace_pump": false, "gcz_contact": false, "blow_fan1": false, "blow_fan2": false, "heating_pump_flag": true, "water_heater_pump_flag": true, "circulation_pump_flag": true, "solar_pump_flag": false, "heating_temp": 30.652313232421875, "water_heater_temp": 40.036163330078125, "outside_temp": 19.953083038330078, "exhaust_temp": 21.887088775634766, "optical_temp": 0.0, "upper_buffer_temp": 53.50355529785156, "lower_buffer_temp": 29.721405029296875, "heating_target": 80, "heating_status": 0, "water_heater_target": 40, "water_heater_status": 0, "pending_alerts": 0, "fuel_level": 0, "transmission": 8, "fan_power": 0.0, "load": 0, "power": 0.0, "fuel_burned": 0.0, "fuel_consumption": 0.0, "thermostat": 1, "modules": { "__type": "<class 'pyplumio.structures.modules.ConnectedModules'>", "repr": "ConnectedModules(module_a='4.34.46.K1', module_b=None, module_c=None, ecolambda='0.0.26', ecoster=None, panel='4.14.43')" }, "lambda_state": 0, "lambda_target": 255, "lambda_level": 7.4, "mixers": { "0": { "current_temp": 24.316116333007812, "target_temp": 50, "pump": false, "mixer_sensors": true, "mixer_target_temp": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='mixer_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=50.0, min_value=15.0, max_value=85.0)" }, "min_target_temp": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='min_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=15.0, min_value=15.0, max_value=90.0)" }, "max_target_temp": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='max_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=85.0, min_value=20.0, max_value=90.0)" }, "low_target_temp": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='low_target_temp', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=30.0)" }, "weather_control": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>", "repr": "MixerBinaryParameter(device=Mixer, description=MixerParameterDescription(name='weather_control', cls=<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>, multiplier=1, offset=0), value=off, min_value=off, max_value=on)" }, "heat_curve": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='heat_curve', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=10, offset=0), value=1.0, min_value=0.1, max_value=4.0)" }, "parallel_offset_heat_curve": { "__type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='parallel_offset_heat_curve', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=20.0, min_value=0.0, max_value=40.0)" }, "weather_temp_factor": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='weather_temp_factor', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=50.0)" }, "work_mode": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='work_mode', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=1.0, min_value=0.0, max_value=3.0)" }, "therm_operation": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='therm_operation', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=1.0)" }, "therm_mode": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>", "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='therm_mode', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=1, offset=0), value=0.0, min_value=0.0, max_value=1.0)" }, "summer_work": { "type": "<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>", "repr": "MixerBinaryParameter(device=Mixer, description=MixerParameterDescription(name='summer_work', cls=<class 'pyplumio.structures.mixer_parameters.MixerBinaryParameter'>, multiplier=1, offset=0), value=off, min_value=off, max_value=on)" }, "mixer_parameters": true } },
Code of Conduct