diff --git a/homeassistant/components/cloud/http_api.py b/homeassistant/components/cloud/http_api.py index f51266e45dc..0ea1fc1d3f3 100644 --- a/homeassistant/components/cloud/http_api.py +++ b/homeassistant/components/cloud/http_api.py @@ -1,5 +1,6 @@ """The HTTP api to control the cloud integration.""" import asyncio +import dataclasses from functools import wraps from http import HTTPStatus import logging @@ -434,10 +435,18 @@ async def _account_data(hass: HomeAssistant, cloud: Cloud): else: certificate = None + if cloud.iot.last_disconnect_reason: + cloud_last_disconnect_reason = dataclasses.asdict( + cloud.iot.last_disconnect_reason + ) + else: + cloud_last_disconnect_reason = None + return { "alexa_entities": client.alexa_user_config["filter"].config, "alexa_registered": alexa_config.authorized, "cloud": cloud.iot.state, + "cloud_last_disconnect_reason": cloud_last_disconnect_reason, "email": claims["email"], "google_entities": client.google_user_config["filter"].config, "google_registered": google_config.has_registered_user_agent, diff --git a/homeassistant/components/cloud/manifest.json b/homeassistant/components/cloud/manifest.json index 9a3a88dfc95..6431160f696 100644 --- a/homeassistant/components/cloud/manifest.json +++ b/homeassistant/components/cloud/manifest.json @@ -2,7 +2,7 @@ "domain": "cloud", "name": "Home Assistant Cloud", "documentation": "https://www.home-assistant.io/integrations/cloud", - "requirements": ["hass-nabucasa==0.52.1"], + "requirements": ["hass-nabucasa==0.53.0"], "dependencies": ["http", "webhook"], "after_dependencies": ["google_assistant", "alexa"], "codeowners": ["@home-assistant/cloud"], diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt index a2ad73e96c5..62e64066708 100644 --- a/homeassistant/package_constraints.txt +++ b/homeassistant/package_constraints.txt @@ -14,7 +14,7 @@ certifi>=2021.5.30 ciso8601==2.2.0 cryptography==35.0.0 emoji==1.6.3 -hass-nabucasa==0.52.1 +hass-nabucasa==0.53.0 home-assistant-frontend==20220214.0 httpx==0.21.3 ifaddr==0.1.7 diff --git a/requirements_all.txt b/requirements_all.txt index 4b820df42f0..566f72548e3 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -803,7 +803,7 @@ habitipy==0.2.0 hangups==0.4.17 # homeassistant.components.cloud -hass-nabucasa==0.52.1 +hass-nabucasa==0.53.0 # homeassistant.components.splunk hass_splunk==0.1.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index c2091f02ff9..fbd8b2e8982 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -528,7 +528,7 @@ habitipy==0.2.0 hangups==0.4.17 # homeassistant.components.cloud -hass-nabucasa==0.52.1 +hass-nabucasa==0.53.0 # homeassistant.components.tasmota hatasmota==0.3.1 diff --git a/tests/components/cloud/test_http_api.py b/tests/components/cloud/test_http_api.py index e06344827a7..23605268649 100644 --- a/tests/components/cloud/test_http_api.py +++ b/tests/components/cloud/test_http_api.py @@ -392,6 +392,7 @@ async def test_websocket_status( "logged_in": True, "email": "hello@home-assistant.io", "cloud": "connected", + "cloud_last_disconnect_reason": None, "prefs": { "alexa_enabled": True, "cloudhooks": {},