From 7a6168c799cf6bd48dc0e5afbfa62b4be6f4b87d Mon Sep 17 00:00:00 2001 From: Marijn Suijten <marijns95@gmail.com> Date: Fri, 14 Apr 2023 01:38:36 +0200 Subject: [PATCH] Test inverter reply without firmware --- tests/fixtures/tcp_reply_no_firmware.data | Bin 0 -> 99 bytes tests/test_tcp_models.py | 38 ++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tests/fixtures/tcp_reply_no_firmware.data diff --git a/tests/fixtures/tcp_reply_no_firmware.data b/tests/fixtures/tcp_reply_no_firmware.data new file mode 100644 index 0000000000000000000000000000000000000000..f00389224de71c32d85fdc4437187113e6602cf9 GIT binary patch literal 99 zcmc}@b=+V&;gvE7H!?B$`MCHQ85kKD8XFlJ85o-~ykeQp!0`V+0|Uc!Aj$Y22sn;{ gNZ~G!I0P_VWMKT3&A?D`hk+5O5~3c&0D@0q0N(c}V*mgE literal 0 HcmV?d00001 diff --git a/tests/test_tcp_models.py b/tests/test_tcp_models.py index 0a88d645..a552b3f8 100644 --- a/tests/test_tcp_models.py +++ b/tests/test_tcp_models.py @@ -297,6 +297,44 @@ async def test_inverter_tcp() -> None: await server_exit +async def test_inverter_tcp_no_firmware() -> None: + """Test request from an Inverter without firmware reply - TCP source.""" + serial_number = 987654321 + + (server_exit, port) = tcp_server(serial_number, "tcp_reply_no_firmware.data") + + client = OmnikInverter( + host="localhost", + source_type="tcp", + serial_number=serial_number, + tcp_port=port, + ) + + inverter: Inverter = await client.inverter() + + assert inverter + assert inverter.solar_rated_power is None + assert inverter.solar_current_power == 0 + + assert inverter.model is None + assert inverter.serial_number == "NLDN202013212035" + assert inverter.temperature == 23.400000000000002 + assert inverter.dc_input_voltage == [118.30000000000001, 0.0, None] + assert inverter.dc_input_current == [0.0, 15.100000000000001, None] + assert inverter.ac_output_voltage == [224.5, None, None] + assert inverter.ac_output_current == [0.1, None, None] + assert inverter.ac_output_frequency == [50.02, None, None] + assert inverter.ac_output_power == [0, None, None] + assert inverter.solar_energy_today == 7.21 + assert inverter.solar_energy_total == 12861.900000000001 + assert inverter.solar_hours_total == 30940 + assert inverter.inverter_active is True + assert inverter.firmware is None + assert inverter.firmware_slave is None + + await server_exit + + async def test_inverter_tcp_offline() -> None: """Test request from an Inverter (offline) - TCP source.""" serial_number = 1608449224