denpamusic / homeassistant-plum-ecomax

Plum ecoMAX boiler controller integration for Home Assistant.
MIT License
30 stars 7 forks source link

Problem witch Summer Switch #29

Open KryspianClash opened 1 year ago

KryspianClash commented 1 year ago

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:

ecoMAX 860D3-HB Tryb LATO stał się nieznany
09:22:52 - 32 minuty temu
ecoMAX 860D3-HB Detect sub-devices nastąpiła zmiana stanu na "29 czerwca 2023 09:22" wyzwolony przez usługę button.press
09:22:42 - 32 minuty temu - Krzysiek
ecoMAX 860D3-HB Tryb LATO nastąpiło wyłączenie wyzwolony przez usługę select.select_option
09:22:26 - 32 minuty temu - Krzysiek

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

denpamusic commented 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.

KryspianClash commented 1 year ago

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

denpamusic commented 1 year ago

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.