diff --git a/homewizard_energy/models.py b/homewizard_energy/models.py index f0cd5e9..9e9ee0f 100644 --- a/homewizard_energy/models.py +++ b/homewizard_energy/models.py @@ -631,6 +631,7 @@ class Mode(StrEnum): target_power_w: float = field() max_consumption_w: float = field() max_production_w: float = field() + battery_count: int | None = field(default=None) @dataclass(kw_only=True) diff --git a/tests/v2/__snapshots__/test_v2_batteries.ambr b/tests/v2/__snapshots__/test_v2_batteries.ambr index 262d3d4..e204711 100644 --- a/tests/v2/__snapshots__/test_v2_batteries.ambr +++ b/tests/v2/__snapshots__/test_v2_batteries.ambr @@ -1,12 +1,12 @@ # serializer version: 1 # name: test_batteries[HWE-KWH1-fixtures1] - Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0) + Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2) # --- # name: test_batteries[HWE-KWH3-fixtures2] - Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0) + Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2) # --- # name: test_batteries[HWE-P1-fixtures0] - Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0) + Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2) # --- # name: test_batteries_update[standby] dict({ diff --git a/tests/v2/__snapshots__/test_v2_homewizard_energy.ambr b/tests/v2/__snapshots__/test_v2_homewizard_energy.ambr index 0ecf6e0..1f7271c 100644 --- a/tests/v2/__snapshots__/test_v2_homewizard_energy.ambr +++ b/tests/v2/__snapshots__/test_v2_homewizard_energy.ambr @@ -1,33 +1,33 @@ # serializer version: 1 # name: test_batteries_put_with_valid_authentication[HWE-P1] - Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0) + Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2) # --- # name: test_batteries_with_valid_authentication[HWE-P1-fixtures0] - Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0) + Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2) # --- # name: test_combined_models_with_valid_authentication[HWE-BAT-device-measurement-None-system-None] CombinedModels(device=Device(model_name='Plug-In Battery', id='appliance/battery/5c2fafaabbcc', product_name='Plug-in Battery', product_type='HWE-BAT', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=321.654, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=1234.0, power_l1_w=None, power_l2_w=None, power_l3_w=None, voltage_v=230.123, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=5.678, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=None, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=None, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=None, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=50.123, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=123, state_of_charge_pct=50.123), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=None) # --- # name: test_combined_models_with_valid_authentication[HWE-KWH1-device-measurement-None-system-batteries] - CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 1-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 1-Phase', product_type='HWE-KWH1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=None, power_l2_w=None, power_l3_w=None, voltage_v=230.0, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=1.5, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=345.0, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=67.0, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=0.95, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0)) + CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 1-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 1-Phase', product_type='HWE-KWH1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=None, power_l2_w=None, power_l3_w=None, voltage_v=230.0, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=1.5, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=345.0, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=67.0, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=0.95, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2)) # --- # name: test_combined_models_with_valid_authentication[HWE-KWH3-device-measurement-None-system-batteries] - CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 3-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 3-Phase', product_type='HWE-KWH3', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=50.0, power_l2_w=40.0, power_l3_w=-30.0, voltage_v=None, voltage_l1_v=230.0, voltage_l2_v=230.0, voltage_l3_v=230.0, current_a=1.5, current_l1_a=-0.5, current_l2_a=0.8, current_l3_a=1.2, apparent_power_va=345.0, apparent_power_l1_va=115.0, apparent_power_l2_va=120.0, apparent_power_l3_va=110.0, reactive_power_var=67.0, reactive_power_l1_var=-20.0, reactive_power_l2_var=30.0, reactive_power_l3_var=57.0, power_factor=None, power_factor_l1=0.95, power_factor_l2=0.9, power_factor_l3=0.85, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0)) + CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 3-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 3-Phase', product_type='HWE-KWH3', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=50.0, power_l2_w=40.0, power_l3_w=-30.0, voltage_v=None, voltage_l1_v=230.0, voltage_l2_v=230.0, voltage_l3_v=230.0, current_a=1.5, current_l1_a=-0.5, current_l2_a=0.8, current_l3_a=1.2, apparent_power_va=345.0, apparent_power_l1_va=115.0, apparent_power_l2_va=120.0, apparent_power_l3_va=110.0, reactive_power_var=67.0, reactive_power_l1_var=-20.0, reactive_power_l2_var=30.0, reactive_power_l3_var=57.0, power_factor=None, power_factor_l1=0.95, power_factor_l2=0.9, power_factor_l3=0.85, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2)) # --- # name: test_combined_models_with_valid_authentication[HWE-P1-device-measurement_1_phase_no_gas-None-system-batteries] - CombinedModels(device=Device(model_name='Wi-Fi P1 Meter', id='appliance/p1dongle/5c2fafaabbcc', product_name='P1 Meter', product_type='HWE-P1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=None, energy_import_t1_kwh=10830.511, energy_import_t2_kwh=2948.827, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=None, energy_export_t1_kwh=1285.951, energy_export_t2_kwh=2876.51, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=-678.0, power_l1_w=-676.0, power_l2_w=None, power_l3_w=None, voltage_v=None, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=None, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=None, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=None, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=None, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=None, timestamp=datetime.datetime(2024, 6, 28, 14, 12, 34), protocol_version=50, meter_model='ISKRA 2M550T-101', unique_id='Never Gonna Give You Up', tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=True), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0)) + CombinedModels(device=Device(model_name='Wi-Fi P1 Meter', id='appliance/p1dongle/5c2fafaabbcc', product_name='P1 Meter', product_type='HWE-P1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=None, energy_import_t1_kwh=10830.511, energy_import_t2_kwh=2948.827, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=None, energy_export_t1_kwh=1285.951, energy_export_t2_kwh=2876.51, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=-678.0, power_l1_w=-676.0, power_l2_w=None, power_l3_w=None, voltage_v=None, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=None, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=None, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=None, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=None, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=None, timestamp=datetime.datetime(2024, 6, 28, 14, 12, 34), protocol_version=50, meter_model='ISKRA 2M550T-101', unique_id='Never Gonna Give You Up', tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=True), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2)) # --- # name: test_combined_models_with_valid_authentication_caches_device[HWE-BAT-device-measurement-None-system-None] CombinedModels(device=Device(model_name='Plug-In Battery', id='appliance/battery/5c2fafaabbcc', product_name='Plug-in Battery', product_type='HWE-BAT', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=321.654, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=1234.0, power_l1_w=None, power_l2_w=None, power_l3_w=None, voltage_v=230.123, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=5.678, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=None, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=None, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=None, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=50.123, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=123, state_of_charge_pct=50.123), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=None) # --- # name: test_combined_models_with_valid_authentication_caches_device[HWE-KWH1-device-measurement-None-system-batteries] - CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 1-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 1-Phase', product_type='HWE-KWH1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=None, power_l2_w=None, power_l3_w=None, voltage_v=230.0, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=1.5, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=345.0, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=67.0, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=0.95, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0)) + CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 1-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 1-Phase', product_type='HWE-KWH1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=None, power_l2_w=None, power_l3_w=None, voltage_v=230.0, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=1.5, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=345.0, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=67.0, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=0.95, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2)) # --- # name: test_combined_models_with_valid_authentication_caches_device[HWE-KWH3-device-measurement-None-system-batteries] - CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 3-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 3-Phase', product_type='HWE-KWH3', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=50.0, power_l2_w=40.0, power_l3_w=-30.0, voltage_v=None, voltage_l1_v=230.0, voltage_l2_v=230.0, voltage_l3_v=230.0, current_a=1.5, current_l1_a=-0.5, current_l2_a=0.8, current_l3_a=1.2, apparent_power_va=345.0, apparent_power_l1_va=115.0, apparent_power_l2_va=120.0, apparent_power_l3_va=110.0, reactive_power_var=67.0, reactive_power_l1_var=-20.0, reactive_power_l2_var=30.0, reactive_power_l3_var=57.0, power_factor=None, power_factor_l1=0.95, power_factor_l2=0.9, power_factor_l3=0.85, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0)) + CombinedModels(device=Device(model_name='Wi-Fi kWh Meter 3-phase', id='appliance/energymeter/5c2fafaabbcc', product_name='kWh Meter 3-Phase', product_type='HWE-KWH3', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=123.456, energy_import_t1_kwh=None, energy_import_t2_kwh=None, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=78.91, energy_export_t1_kwh=None, energy_export_t2_kwh=None, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=123.0, power_l1_w=50.0, power_l2_w=40.0, power_l3_w=-30.0, voltage_v=None, voltage_l1_v=230.0, voltage_l2_v=230.0, voltage_l3_v=230.0, current_a=1.5, current_l1_a=-0.5, current_l2_a=0.8, current_l3_a=1.2, apparent_power_va=345.0, apparent_power_l1_va=115.0, apparent_power_l2_va=120.0, apparent_power_l3_va=110.0, reactive_power_var=67.0, reactive_power_l1_var=-20.0, reactive_power_l2_var=30.0, reactive_power_l3_var=57.0, power_factor=None, power_factor_l1=0.95, power_factor_l2=0.9, power_factor_l3=0.85, frequency_hz=50.0, timestamp=None, protocol_version=None, meter_model=None, unique_id=None, tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=None), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2)) # --- # name: test_combined_models_with_valid_authentication_caches_device[HWE-P1-device-measurement_1_phase_no_gas-None-system-batteries] - CombinedModels(device=Device(model_name='Wi-Fi P1 Meter', id='appliance/p1dongle/5c2fafaabbcc', product_name='P1 Meter', product_type='HWE-P1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=None, energy_import_t1_kwh=10830.511, energy_import_t2_kwh=2948.827, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=None, energy_export_t1_kwh=1285.951, energy_export_t2_kwh=2876.51, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=-678.0, power_l1_w=-676.0, power_l2_w=None, power_l3_w=None, voltage_v=None, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=None, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=None, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=None, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=None, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=None, timestamp=datetime.datetime(2024, 6, 28, 14, 12, 34), protocol_version=50, meter_model='ISKRA 2M550T-101', unique_id='Never Gonna Give You Up', tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=True), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0)) + CombinedModels(device=Device(model_name='Wi-Fi P1 Meter', id='appliance/p1dongle/5c2fafaabbcc', product_name='P1 Meter', product_type='HWE-P1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00'), measurement=Measurement(wifi_ssid=None, wifi_strength=None, energy_import_kwh=None, energy_import_t1_kwh=10830.511, energy_import_t2_kwh=2948.827, energy_import_t3_kwh=None, energy_import_t4_kwh=None, energy_export_kwh=None, energy_export_t1_kwh=1285.951, energy_export_t2_kwh=2876.51, energy_export_t3_kwh=None, energy_export_t4_kwh=None, power_w=-678.0, power_l1_w=-676.0, power_l2_w=None, power_l3_w=None, voltage_v=None, voltage_l1_v=None, voltage_l2_v=None, voltage_l3_v=None, current_a=None, current_l1_a=None, current_l2_a=None, current_l3_a=None, apparent_power_va=None, apparent_power_l1_va=None, apparent_power_l2_va=None, apparent_power_l3_va=None, reactive_power_var=None, reactive_power_l1_var=None, reactive_power_l2_var=None, reactive_power_l3_var=None, power_factor=None, power_factor_l1=None, power_factor_l2=None, power_factor_l3=None, frequency_hz=None, timestamp=datetime.datetime(2024, 6, 28, 14, 12, 34), protocol_version=50, meter_model='ISKRA 2M550T-101', unique_id='Never Gonna Give You Up', tariff=None, voltage_sag_l1_count=None, voltage_sag_l2_count=None, voltage_sag_l3_count=None, voltage_swell_l1_count=None, voltage_swell_l2_count=None, voltage_swell_l3_count=None, any_power_fail_count=None, long_power_fail_count=None, average_power_15m_w=None, monthly_power_peak_w=None, monthly_power_peak_timestamp=None, external_devices=None, active_liter_lpm=None, total_liter_m3=None, cycles=None, state_of_charge_pct=None), state=None, system=System(wifi_strength_pct=46, wifi_ssid='My Wi-Fi', wifi_rssi_db=-77, cloud_enabled=False, uptime_s=356, status_led_brightness_pct=100, api_v1_enabled=True), batteries=Batteries(mode=, power_w=-404.0, target_power_w=-400.0, max_consumption_w=1600.0, max_production_w=800.0, battery_count=2)) # --- # name: test_device_with_valid_authentication[HWE-P1-fixtures0] Device(model_name='Wi-Fi P1 Meter', id='appliance/p1dongle/5c2fafaabbcc', product_name='P1 Meter', product_type='HWE-P1', serial='5c2fafaabbcc', api_version=, firmware_version='6.00') diff --git a/tests/v2/fixtures/HWE-KWH1/batteries.json b/tests/v2/fixtures/HWE-KWH1/batteries.json index 47f0eae..e5a2c7c 100644 --- a/tests/v2/fixtures/HWE-KWH1/batteries.json +++ b/tests/v2/fixtures/HWE-KWH1/batteries.json @@ -1,5 +1,6 @@ { "mode": "zero", + "battery_count": 2, "power_w": -404, "target_power_w": -400, "max_consumption_w": 1600, diff --git a/tests/v2/fixtures/HWE-KWH3/batteries.json b/tests/v2/fixtures/HWE-KWH3/batteries.json index 47f0eae..e5a2c7c 100644 --- a/tests/v2/fixtures/HWE-KWH3/batteries.json +++ b/tests/v2/fixtures/HWE-KWH3/batteries.json @@ -1,5 +1,6 @@ { "mode": "zero", + "battery_count": 2, "power_w": -404, "target_power_w": -400, "max_consumption_w": 1600, diff --git a/tests/v2/fixtures/HWE-P1/batteries.json b/tests/v2/fixtures/HWE-P1/batteries.json index 47f0eae..e5a2c7c 100644 --- a/tests/v2/fixtures/HWE-P1/batteries.json +++ b/tests/v2/fixtures/HWE-P1/batteries.json @@ -1,5 +1,6 @@ { "mode": "zero", + "battery_count": 2, "power_w": -404, "target_power_w": -400, "max_consumption_w": 1600, diff --git a/tests/v2/test_v2_batteries.py b/tests/v2/test_v2_batteries.py index 972de59..a7eb11e 100644 --- a/tests/v2/test_v2_batteries.py +++ b/tests/v2/test_v2_batteries.py @@ -28,6 +28,28 @@ async def test_batteries(model: str, fixtures: str, snapshot: SnapshotAssertion) assert snapshot == data +def test_batteries_battery_count_optional(): + """Test Batteries model with and without battery_count.""" + b1 = Batteries( + mode=Batteries.Mode.ZERO, + power_w=100.0, + target_power_w=200.0, + max_consumption_w=300.0, + max_production_w=400.0, + battery_count=None, + ) + b2 = Batteries( + mode=Batteries.Mode.TO_FULL, + power_w=110.0, + target_power_w=210.0, + max_consumption_w=310.0, + max_production_w=410.0, + battery_count=2, + ) + assert b1.battery_count is None + assert b2.battery_count == 2 + + @pytest.mark.parametrize( ("mode"), [