diff --git a/homeassistant/components/powerwall/__init__.py b/homeassistant/components/powerwall/__init__.py index c6c508136b2..a76393e350a 100644 --- a/homeassistant/components/powerwall/__init__.py +++ b/homeassistant/components/powerwall/__init__.py @@ -4,7 +4,7 @@ from datetime import timedelta import logging import requests -from tesla_powerwall import ApiError, Powerwall, PowerwallUnreachableError +from tesla_powerwall import APIError, Powerwall, PowerwallUnreachableError import voluptuous as vol from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry @@ -96,8 +96,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry): http_session = requests.Session() power_wall = Powerwall(entry.data[CONF_IP_ADDRESS], http_session=http_session) try: + await hass.async_add_executor_job(power_wall.detect_and_pin_version) powerwall_data = await hass.async_add_executor_job(call_base_info, power_wall) - except (PowerwallUnreachableError, ApiError, ConnectionError): + except (PowerwallUnreachableError, APIError, ConnectionError): http_session.close() raise ConfigEntryNotReady diff --git a/homeassistant/components/powerwall/config_flow.py b/homeassistant/components/powerwall/config_flow.py index 403075989e9..ca0e2143454 100644 --- a/homeassistant/components/powerwall/config_flow.py +++ b/homeassistant/components/powerwall/config_flow.py @@ -1,7 +1,7 @@ """Config flow for Tesla Powerwall integration.""" import logging -from tesla_powerwall import ApiError, Powerwall, PowerwallUnreachableError +from tesla_powerwall import APIError, Powerwall, PowerwallUnreachableError import voluptuous as vol from homeassistant import config_entries, core, exceptions @@ -23,8 +23,9 @@ async def validate_input(hass: core.HomeAssistant, data): power_wall = Powerwall(data[CONF_IP_ADDRESS]) try: + await hass.async_add_executor_job(power_wall.detect_and_pin_version) site_info = await hass.async_add_executor_job(power_wall.get_site_info) - except (PowerwallUnreachableError, ApiError, ConnectionError): + except (PowerwallUnreachableError, APIError, ConnectionError): raise CannotConnect # Return info that you want to store in the config entry. diff --git a/homeassistant/components/powerwall/manifest.json b/homeassistant/components/powerwall/manifest.json index 9e4c01e1447..7b2095c4a2a 100644 --- a/homeassistant/components/powerwall/manifest.json +++ b/homeassistant/components/powerwall/manifest.json @@ -3,6 +3,6 @@ "name": "Tesla Powerwall", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/powerwall", - "requirements": ["tesla-powerwall==0.2.5"], + "requirements": ["tesla-powerwall==0.2.8"], "codeowners": ["@bdraco", "@jrester"] } diff --git a/requirements_all.txt b/requirements_all.txt index 16fc13cb56c..e9a44259aec 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2026,7 +2026,7 @@ temperusb==1.5.3 # tensorflow==1.13.2 # homeassistant.components.powerwall -tesla-powerwall==0.2.5 +tesla-powerwall==0.2.8 # homeassistant.components.tesla teslajsonpy==0.8.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 32f0bf37920..80d318cf0b6 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -765,7 +765,7 @@ sunwatcher==0.2.1 tellduslive==0.10.10 # homeassistant.components.powerwall -tesla-powerwall==0.2.5 +tesla-powerwall==0.2.8 # homeassistant.components.tesla teslajsonpy==0.8.0