Compare commits

..

4 Commits

Author SHA1 Message Date
/)/) -- Daniel Haslinger
edfbf7fa74
Merge e211658185 into 18f88d810c 2024-09-05 21:11:39 +07:00
suaveolent
18f88d810c version bump 2024-09-03 14:32:37 +02:00
suaveolent
07ee0b91ac fix as json for identitfy requests, fixes #19 2024-09-03 14:29:37 +02:00
suaveolent
2413dbd8fe fixes #55 2024-09-03 14:17:02 +02:00
3 changed files with 11 additions and 10 deletions

View File

@ -278,24 +278,26 @@ async def async_identify_dtu(dtu: DTU) -> str:
"""Identify the DTU asynchronously."""
real_data = await async_get_real_data_new(dtu)
return get_dtu_model_name(real_data.device_serial_number)
dtu_model_name = get_dtu_model_name(real_data.device_serial_number)
return {real_data.device_serial_number: dtu_model_name}
async def async_identify_inverters(dtu: DTU) -> list[str]:
"""Identify the DTU asynchronously."""
inverter_models = []
inverter_models = {}
real_data = await async_get_real_data_new(dtu)
if real_data:
for sgs_data in real_data.sgs_data:
serial_number = generate_inverter_serial_number(sgs_data.serial_number)
inverter_model = get_inverter_model_name(serial_number)
inverter_models.append(inverter_model)
inverter_models[serial_number] = inverter_model
for tgs_data in real_data.tgs_data:
serial_number = generate_inverter_serial_number(tgs_data.serial_number)
inverter_model = get_inverter_model_name(serial_number)
inverter_models.append(inverter_model)
inverter_models[serial_number] = inverter_model
return inverter_models
@ -396,6 +398,8 @@ async def main() -> None:
if args.as_json:
if isinstance(response, Message):
print(MessageToJson(response)) # noqa: T201
elif isinstance(response, dict):
print(json.dumps(response, indent=4)) # noqa: T201
else:
print(json.dumps(asdict(response), indent=4)) # noqa: T201
else:

View File

@ -32,14 +32,11 @@ class InverterPower(Enum):
P_400 = "400"
P_500 = "500"
P_600_700_800 = "600/700/800"
P_800W = "800W"
P_1000 = "1000"
P_1000W = "1000W"
P_800W_1000W = "800W/1000W"
P_1000_1200_1500 = "1000/1200/1500"
P_1200_1500 = "1200/1500"
P_1600 = "1600"
P_2000 = "2000"
P_1600_2000 = "1600/2000"
P_2250 = "2250"
@ -56,7 +53,7 @@ power_mapping = {
0x1060: InverterPower.P_1000,
0x1061: InverterPower.P_1200_1500,
0x1161: InverterPower.P_1000_1200_1500,
0x1164: InverterPower.P_1600,
0x1164: InverterPower.P_1600_2000,
0x1412: InverterPower.P_800W_1000W,
0x1382: InverterPower.P_2250,
}

View File

@ -6,7 +6,7 @@ setup(
name="hoymiles-wifi",
packages=["hoymiles_wifi", "hoymiles_wifi.protobuf"],
install_requires=["protobuf", "crcmod"],
version="0.2.2",
version="0.2.3",
description="A python library for interfacing with the Hoymiles DTUs and the HMS-XXXXW-2T series of micro-inverters using protobuf messages.",
author="suaveolent",
include_package_data=True,