diff --git a/homeassistant/components/airzone_cloud/manifest.json b/homeassistant/components/airzone_cloud/manifest.json index b4445f6fe45..2b7615c01f4 100644 --- a/homeassistant/components/airzone_cloud/manifest.json +++ b/homeassistant/components/airzone_cloud/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/airzone_cloud", "iot_class": "cloud_push", "loggers": ["aioairzone_cloud"], - "requirements": ["aioairzone-cloud==0.4.7"] + "requirements": ["aioairzone-cloud==0.5.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index e3d6640dc78..8e78b920b28 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -185,7 +185,7 @@ aio-georss-gdacs==0.9 aioairq==0.3.2 # homeassistant.components.airzone_cloud -aioairzone-cloud==0.4.7 +aioairzone-cloud==0.5.0 # homeassistant.components.airzone aioairzone==0.7.6 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 757eec2b642..62fe74f5600 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -164,7 +164,7 @@ aio-georss-gdacs==0.9 aioairq==0.3.2 # homeassistant.components.airzone_cloud -aioairzone-cloud==0.4.7 +aioairzone-cloud==0.5.0 # homeassistant.components.airzone aioairzone==0.7.6 diff --git a/tests/components/airzone_cloud/snapshots/test_diagnostics.ambr b/tests/components/airzone_cloud/snapshots/test_diagnostics.ambr index d1a8d74cc08..0edd17d513a 100644 --- a/tests/components/airzone_cloud/snapshots/test_diagnostics.ambr +++ b/tests/components/airzone_cloud/snapshots/test_diagnostics.ambr @@ -109,6 +109,7 @@ 'action': 6, 'active': False, 'available': True, + 'double-set-point': False, 'id': 'aidoo1', 'installation': 'installation1', 'is-connected': True, @@ -150,6 +151,7 @@ 'action': 1, 'active': True, 'available': True, + 'double-set-point': True, 'id': 'aidoo_pro', 'installation': 'installation1', 'is-connected': True, @@ -177,7 +179,7 @@ 'temperature': 20.0, 'temperature-setpoint': 22.0, 'temperature-setpoint-cool-air': 22.0, - 'temperature-setpoint-hot-air': 22.0, + 'temperature-setpoint-hot-air': 18.0, 'temperature-setpoint-max': 30.0, 'temperature-setpoint-max-auto-air': 30.0, 'temperature-setpoint-max-cool-air': 30.0, @@ -196,6 +198,9 @@ 'action': 1, 'active': True, 'available': True, + 'hot-water': list([ + 'dhw1', + ]), 'humidity': 27, 'id': 'group1', 'installation': 'installation1', @@ -275,6 +280,25 @@ 'temperature-step': 0.5, }), }), + 'hot-water': dict({ + 'dhw1': dict({ + 'active': False, + 'available': True, + 'id': 'dhw1', + 'installation': 'installation1', + 'is-connected': True, + 'name': 'DHW', + 'power': False, + 'problems': False, + 'temperature': 45.5, + 'temperature-setpoint': 48, + 'temperature-setpoint-max': 60, + 'temperature-setpoint-min': 40, + 'temperature-step': 1, + 'web-server': 'webserver1', + 'ws-connected': True, + }), + }), 'installations': dict({ 'installation1': dict({ 'action': 1, @@ -289,6 +313,9 @@ 'group2', 'group3', ]), + 'hot-water': list([ + 'dhw1', + ]), 'humidity': 27, 'id': 'installation1', 'mode': 2, @@ -418,6 +445,7 @@ 'aq-present': True, 'aq-status': 'good', 'available': True, + 'double-set-point': False, 'humidity': 30, 'id': 'zone1', 'installation': 'installation1', @@ -478,6 +506,7 @@ 'aq-present': True, 'aq-status': 'good', 'available': True, + 'double-set-point': False, 'humidity': 24, 'id': 'zone2', 'installation': 'installation1', diff --git a/tests/components/airzone_cloud/util.py b/tests/components/airzone_cloud/util.py index ea0dbf9f736..02c3e18eed2 100644 --- a/tests/components/airzone_cloud/util.py +++ b/tests/components/airzone_cloud/util.py @@ -14,6 +14,7 @@ from aioairzone_cloud.const import ( API_AQ_PM_10, API_AQ_PRESENT, API_AQ_QUALITY, + API_AZ_ACS, API_AZ_AIDOO, API_AZ_AIDOO_PRO, API_AZ_SYSTEM, @@ -24,6 +25,7 @@ from aioairzone_cloud.const import ( API_DEVICE_ID, API_DEVICES, API_DISCONNECTION_DATE, + API_DOUBLE_SET_POINT, API_ERRORS, API_FAH, API_GROUP_ID, @@ -41,6 +43,7 @@ from aioairzone_cloud.const import ( API_POWER, API_RANGE_MAX_AIR, API_RANGE_MIN_AIR, + API_RANGE_SP_MAX_ACS, API_RANGE_SP_MAX_AUTO_AIR, API_RANGE_SP_MAX_COOL_AIR, API_RANGE_SP_MAX_DRY_AIR, @@ -48,6 +51,7 @@ from aioairzone_cloud.const import ( API_RANGE_SP_MAX_HOT_AIR, API_RANGE_SP_MAX_STOP_AIR, API_RANGE_SP_MAX_VENT_AIR, + API_RANGE_SP_MIN_ACS, API_RANGE_SP_MIN_AUTO_AIR, API_RANGE_SP_MIN_COOL_AIR, API_RANGE_SP_MIN_DRY_AIR, @@ -55,6 +59,7 @@ from aioairzone_cloud.const import ( API_RANGE_SP_MIN_HOT_AIR, API_RANGE_SP_MIN_STOP_AIR, API_RANGE_SP_MIN_VENT_AIR, + API_SETPOINT, API_SP_AIR_AUTO, API_SP_AIR_COOL, API_SP_AIR_DRY, @@ -70,7 +75,9 @@ from aioairzone_cloud.const import ( API_STAT_RSSI, API_STAT_SSID, API_STATUS, + API_STEP, API_SYSTEM_NUMBER, + API_TANK_TEMP, API_TYPE, API_WARNINGS, API_WS_CONNECTED, @@ -105,6 +112,11 @@ GET_INSTALLATION_MOCK = { API_GROUP_ID: "grp1", API_NAME: "Group", API_DEVICES: [ + { + API_DEVICE_ID: "dhw1", + API_TYPE: API_AZ_ACS, + API_WS_ID: WS_ID, + }, { API_DEVICE_ID: "system1", API_TYPE: API_AZ_SYSTEM, @@ -268,6 +280,7 @@ def mock_get_device_status(device: Device) -> dict[str, Any]: if device.get_id() == "aidoo_pro": return { API_ACTIVE: True, + API_DOUBLE_SET_POINT: True, API_ERRORS: [], API_MODE: OperationMode.COOLING.value, API_MODE_AVAIL: [ @@ -279,7 +292,7 @@ def mock_get_device_status(device: Device) -> dict[str, Any]: ], API_SP_AIR_AUTO: {API_CELSIUS: 22, API_FAH: 72}, API_SP_AIR_COOL: {API_CELSIUS: 22, API_FAH: 72}, - API_SP_AIR_HEAT: {API_CELSIUS: 22, API_FAH: 72}, + API_SP_AIR_HEAT: {API_CELSIUS: 18, API_FAH: 64}, API_RANGE_MAX_AIR: {API_CELSIUS: 30, API_FAH: 86}, API_RANGE_SP_MAX_AUTO_AIR: {API_CELSIUS: 30, API_FAH: 86}, API_RANGE_SP_MAX_COOL_AIR: {API_CELSIUS: 30, API_FAH: 86}, @@ -297,6 +310,20 @@ def mock_get_device_status(device: Device) -> dict[str, Any]: API_LOCAL_TEMP: {API_CELSIUS: 20, API_FAH: 68}, API_WARNINGS: [], } + if device.get_id() == "dhw1": + return { + API_ACTIVE: False, + API_ERRORS: [], + API_POWER: False, + API_SETPOINT: {API_CELSIUS: 48, API_FAH: 118}, + API_RANGE_SP_MAX_ACS: {API_CELSIUS: 60, API_FAH: 140}, + API_RANGE_SP_MIN_ACS: {API_CELSIUS: 40, API_FAH: 104}, + API_STEP: {API_CELSIUS: 1, API_FAH: 1}, + API_TANK_TEMP: {API_CELSIUS: 45.5, API_FAH: 114}, + API_IS_CONNECTED: True, + API_WS_CONNECTED: True, + API_WARNINGS: [], + } if device.get_id() == "system1": return { API_AQ_MODE_VALUES: ["off", "on", "auto"], @@ -332,6 +359,7 @@ def mock_get_device_status(device: Device) -> dict[str, Any]: API_AQ_PM_10: 3, API_AQ_PRESENT: True, API_AQ_QUALITY: "good", + API_DOUBLE_SET_POINT: False, API_HUMIDITY: 30, API_MODE: OperationMode.COOLING.value, API_MODE_AVAIL: [ @@ -376,6 +404,7 @@ def mock_get_device_status(device: Device) -> dict[str, Any]: API_AQ_PM_10: 3, API_AQ_PRESENT: True, API_AQ_QUALITY: "good", + API_DOUBLE_SET_POINT: False, API_HUMIDITY: 24, API_MODE: OperationMode.COOLING.value, API_MODE_AVAIL: [],