mirror of
https://github.com/suaveolent/hoymiles-wifi.git
synced 2024-09-20 03:10:11 +00:00
Compare commits
4 Commits
d0a0d56f39
...
edfbf7fa74
Author | SHA1 | Date | |
---|---|---|---|
|
edfbf7fa74 | ||
|
18f88d810c | ||
|
07ee0b91ac | ||
|
2413dbd8fe |
@ -278,24 +278,26 @@ async def async_identify_dtu(dtu: DTU) -> str:
|
|||||||
"""Identify the DTU asynchronously."""
|
"""Identify the DTU asynchronously."""
|
||||||
|
|
||||||
real_data = await async_get_real_data_new(dtu)
|
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]:
|
async def async_identify_inverters(dtu: DTU) -> list[str]:
|
||||||
"""Identify the DTU asynchronously."""
|
"""Identify the DTU asynchronously."""
|
||||||
|
|
||||||
inverter_models = []
|
inverter_models = {}
|
||||||
real_data = await async_get_real_data_new(dtu)
|
real_data = await async_get_real_data_new(dtu)
|
||||||
if real_data:
|
if real_data:
|
||||||
for sgs_data in real_data.sgs_data:
|
for sgs_data in real_data.sgs_data:
|
||||||
serial_number = generate_inverter_serial_number(sgs_data.serial_number)
|
serial_number = generate_inverter_serial_number(sgs_data.serial_number)
|
||||||
inverter_model = get_inverter_model_name(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:
|
for tgs_data in real_data.tgs_data:
|
||||||
serial_number = generate_inverter_serial_number(tgs_data.serial_number)
|
serial_number = generate_inverter_serial_number(tgs_data.serial_number)
|
||||||
inverter_model = get_inverter_model_name(serial_number)
|
inverter_model = get_inverter_model_name(serial_number)
|
||||||
inverter_models.append(inverter_model)
|
inverter_models[serial_number] = inverter_model
|
||||||
|
|
||||||
return inverter_models
|
return inverter_models
|
||||||
|
|
||||||
@ -396,6 +398,8 @@ async def main() -> None:
|
|||||||
if args.as_json:
|
if args.as_json:
|
||||||
if isinstance(response, Message):
|
if isinstance(response, Message):
|
||||||
print(MessageToJson(response)) # noqa: T201
|
print(MessageToJson(response)) # noqa: T201
|
||||||
|
elif isinstance(response, dict):
|
||||||
|
print(json.dumps(response, indent=4)) # noqa: T201
|
||||||
else:
|
else:
|
||||||
print(json.dumps(asdict(response), indent=4)) # noqa: T201
|
print(json.dumps(asdict(response), indent=4)) # noqa: T201
|
||||||
else:
|
else:
|
||||||
|
@ -32,14 +32,11 @@ class InverterPower(Enum):
|
|||||||
P_400 = "400"
|
P_400 = "400"
|
||||||
P_500 = "500"
|
P_500 = "500"
|
||||||
P_600_700_800 = "600/700/800"
|
P_600_700_800 = "600/700/800"
|
||||||
P_800W = "800W"
|
|
||||||
P_1000 = "1000"
|
P_1000 = "1000"
|
||||||
P_1000W = "1000W"
|
|
||||||
P_800W_1000W = "800W/1000W"
|
P_800W_1000W = "800W/1000W"
|
||||||
P_1000_1200_1500 = "1000/1200/1500"
|
P_1000_1200_1500 = "1000/1200/1500"
|
||||||
P_1200_1500 = "1200/1500"
|
P_1200_1500 = "1200/1500"
|
||||||
P_1600 = "1600"
|
P_1600_2000 = "1600/2000"
|
||||||
P_2000 = "2000"
|
|
||||||
P_2250 = "2250"
|
P_2250 = "2250"
|
||||||
|
|
||||||
|
|
||||||
@ -56,7 +53,7 @@ power_mapping = {
|
|||||||
0x1060: InverterPower.P_1000,
|
0x1060: InverterPower.P_1000,
|
||||||
0x1061: InverterPower.P_1200_1500,
|
0x1061: InverterPower.P_1200_1500,
|
||||||
0x1161: InverterPower.P_1000_1200_1500,
|
0x1161: InverterPower.P_1000_1200_1500,
|
||||||
0x1164: InverterPower.P_1600,
|
0x1164: InverterPower.P_1600_2000,
|
||||||
0x1412: InverterPower.P_800W_1000W,
|
0x1412: InverterPower.P_800W_1000W,
|
||||||
0x1382: InverterPower.P_2250,
|
0x1382: InverterPower.P_2250,
|
||||||
}
|
}
|
||||||
|
2
setup.py
2
setup.py
@ -6,7 +6,7 @@ setup(
|
|||||||
name="hoymiles-wifi",
|
name="hoymiles-wifi",
|
||||||
packages=["hoymiles_wifi", "hoymiles_wifi.protobuf"],
|
packages=["hoymiles_wifi", "hoymiles_wifi.protobuf"],
|
||||||
install_requires=["protobuf", "crcmod"],
|
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.",
|
description="A python library for interfacing with the Hoymiles DTUs and the HMS-XXXXW-2T series of micro-inverters using protobuf messages.",
|
||||||
author="suaveolent",
|
author="suaveolent",
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
|
Loading…
Reference in New Issue
Block a user