diff --git a/homeassistant/components/homewizard/manifest.json b/homeassistant/components/homewizard/manifest.json index 9fd74fa80e4..f9924a68db4 100644 --- a/homeassistant/components/homewizard/manifest.json +++ b/homeassistant/components/homewizard/manifest.json @@ -12,6 +12,6 @@ "iot_class": "local_polling", "loggers": ["homewizard_energy"], "quality_scale": "platinum", - "requirements": ["python-homewizard-energy==9.1.1"], + "requirements": ["python-homewizard-energy==9.2.0"], "zeroconf": ["_hwenergy._tcp.local.", "_homewizard._tcp.local."] } diff --git a/homeassistant/components/homewizard/strings.json b/homeassistant/components/homewizard/strings.json index 4216ece64cb..84594a440f9 100644 --- a/homeassistant/components/homewizard/strings.json +++ b/homeassistant/components/homewizard/strings.json @@ -24,7 +24,7 @@ }, "authorize": { "title": "Authorize", - "description": "Press the button on the HomeWizard Energy device, then select the button below." + "description": "Press the button on the HomeWizard Energy device for two seconds, then select the button below." }, "reconfigure": { "description": "Update configuration for {title}.", diff --git a/requirements_all.txt b/requirements_all.txt index f3d99fcd187..131c1c14b06 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2444,7 +2444,7 @@ python-google-drive-api==0.1.0 python-homeassistant-analytics==0.9.0 # homeassistant.components.homewizard -python-homewizard-energy==9.1.1 +python-homewizard-energy==9.2.0 # homeassistant.components.hp_ilo python-hpilo==4.4.3 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 6d6bb859f8c..41ed2c454c7 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2020,7 +2020,7 @@ python-google-drive-api==0.1.0 python-homeassistant-analytics==0.9.0 # homeassistant.components.homewizard -python-homewizard-energy==9.1.1 +python-homewizard-energy==9.2.0 # homeassistant.components.izone python-izone==1.2.9 diff --git a/tests/components/homewizard/fixtures/v2/HWE-KWH1/batteries.json b/tests/components/homewizard/fixtures/v2/HWE-KWH1/batteries.json new file mode 100644 index 00000000000..279e49606b3 --- /dev/null +++ b/tests/components/homewizard/fixtures/v2/HWE-KWH1/batteries.json @@ -0,0 +1,7 @@ +{ + "mode": "zero", + "power_w": -404, + "target_power_w": -400, + "max_consumption_w": 1600, + "max_production_w": 800 +} diff --git a/tests/components/homewizard/fixtures/v2/HWE-KWH1/device.json b/tests/components/homewizard/fixtures/v2/HWE-KWH1/device.json new file mode 100644 index 00000000000..efac68ded02 --- /dev/null +++ b/tests/components/homewizard/fixtures/v2/HWE-KWH1/device.json @@ -0,0 +1,7 @@ +{ + "product_type": "HWE-KWH1", + "product_name": "kWh Meter 1-phase", + "serial": "5c2fafabcdef", + "firmware_version": "4.19", + "api_version": "2.0.0" +} diff --git a/tests/components/homewizard/fixtures/v2/HWE-KWH1/measurement.json b/tests/components/homewizard/fixtures/v2/HWE-KWH1/measurement.json new file mode 100644 index 00000000000..0c52ce17516 --- /dev/null +++ b/tests/components/homewizard/fixtures/v2/HWE-KWH1/measurement.json @@ -0,0 +1,13 @@ +{ + "energy_import_kwh": 123.456, + "energy_export_kwh": 78.91, + "power_w": 123, + "voltage_v": 230, + "current_a": 1.5, + "apparent_current_a": 1.6, + "reactive_current_a": 0.5, + "apparent_power_va": 345, + "reactive_power_var": 67, + "power_factor": 0.95, + "frequency_hz": 50 +} diff --git a/tests/components/homewizard/fixtures/v2/HWE-KWH1/system.json b/tests/components/homewizard/fixtures/v2/HWE-KWH1/system.json new file mode 100644 index 00000000000..3ef59c93aba --- /dev/null +++ b/tests/components/homewizard/fixtures/v2/HWE-KWH1/system.json @@ -0,0 +1,7 @@ +{ + "wifi_ssid": "My Wi-Fi", + "wifi_rssi_db": -77, + "cloud_enabled": false, + "uptime_s": 356, + "api_v1_enabled": true +} diff --git a/tests/components/homewizard/test_config_flow.py b/tests/components/homewizard/test_config_flow.py index c39853c3f9a..feb0e8ed0f0 100644 --- a/tests/components/homewizard/test_config_flow.py +++ b/tests/components/homewizard/test_config_flow.py @@ -620,6 +620,7 @@ async def test_reconfigure_cannot_connect( @pytest.mark.usefixtures("mock_setup_entry") +@pytest.mark.parametrize(("device_fixture"), ["HWE-P1", "HWE-KWH1"]) async def test_manual_flow_works_with_v2_api_support( hass: HomeAssistant, mock_homewizardenergy_v2: MagicMock, @@ -659,6 +660,7 @@ async def test_manual_flow_works_with_v2_api_support( @pytest.mark.usefixtures("mock_setup_entry") +@pytest.mark.parametrize(("device_fixture"), ["HWE-P1", "HWE-KWH1"]) async def test_manual_flow_detects_failed_user_authorization( hass: HomeAssistant, mock_homewizardenergy_v2: MagicMock, @@ -704,6 +706,7 @@ async def test_manual_flow_detects_failed_user_authorization( @pytest.mark.usefixtures("mock_setup_entry") +@pytest.mark.parametrize(("device_fixture"), ["HWE-P1", "HWE-KWH1"]) async def test_reauth_flow_updates_token( hass: HomeAssistant, mock_setup_entry: AsyncMock, @@ -739,6 +742,7 @@ async def test_reauth_flow_updates_token( @pytest.mark.usefixtures("mock_setup_entry") +@pytest.mark.parametrize(("device_fixture"), ["HWE-P1", "HWE-KWH1"]) async def test_reauth_flow_handles_user_not_pressing_button( hass: HomeAssistant, mock_setup_entry: AsyncMock, @@ -785,9 +789,9 @@ async def test_reauth_flow_handles_user_not_pressing_button( @pytest.mark.usefixtures("mock_setup_entry") +@pytest.mark.parametrize(("device_fixture"), ["HWE-P1", "HWE-KWH1"]) async def test_discovery_with_v2_api_ask_authorization( hass: HomeAssistant, - # mock_setup_entry: AsyncMock, mock_homewizardenergy_v2: MagicMock, ) -> None: """Test discovery detecting missing discovery info.""" diff --git a/tests/components/homewizard/test_init.py b/tests/components/homewizard/test_init.py index be811355e1d..b0562afbb3d 100644 --- a/tests/components/homewizard/test_init.py +++ b/tests/components/homewizard/test_init.py @@ -38,6 +38,7 @@ async def test_load_unload_v1( assert weak_ref() is None +@pytest.mark.parametrize(("device_fixture"), ["HWE-P1", "HWE-KWH1"]) async def test_load_unload_v2( hass: HomeAssistant, mock_config_entry_v2: MockConfigEntry,