core/homeassistant/components/poolsense/__init__.py

125 lines
3.4 KiB
Python
Raw Normal View History

Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
"""The PoolSense integration."""
import asyncio
from datetime import timedelta
import logging
import async_timeout
from poolsense import PoolSense
from poolsense.exceptions import PoolSenseError
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import aiohttp_client
from homeassistant.helpers.update_coordinator import (
CoordinatorEntity,
DataUpdateCoordinator,
UpdateFailed,
)
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
from .const import DOMAIN
PLATFORMS = ["sensor", "binary_sensor"]
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
_LOGGER = logging.getLogger(__name__)
async def async_setup(hass: HomeAssistant, config: dict):
"""Set up the PoolSense component."""
# Make sure coordinator is initialized.
hass.data.setdefault(DOMAIN, {})
return True
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry):
"""Set up PoolSense from a config entry."""
poolsense = PoolSense(
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
aiohttp_client.async_get_clientsession(hass),
entry.data[CONF_EMAIL],
entry.data[CONF_PASSWORD],
)
auth_valid = await poolsense.test_poolsense_credentials()
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
if not auth_valid:
_LOGGER.error("Invalid authentication")
return False
coordinator = PoolSenseDataUpdateCoordinator(hass, entry)
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
await coordinator.async_refresh()
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
if not coordinator.last_update_success:
raise ConfigEntryNotReady
hass.data[DOMAIN][entry.entry_id] = coordinator
for platform in PLATFORMS:
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
hass.async_create_task(
hass.config_entries.async_forward_entry_setup(entry, platform)
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
)
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry):
"""Unload a config entry."""
unload_ok = all(
await asyncio.gather(
*[
hass.config_entries.async_forward_entry_unload(entry, platform)
for platform in PLATFORMS
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
]
)
)
if unload_ok:
hass.data[DOMAIN].pop(entry.entry_id)
return unload_ok
class PoolSenseEntity(CoordinatorEntity):
"""Implements a common class elements representing the PoolSense component."""
def __init__(self, coordinator, email, info_type):
"""Initialize poolsense sensor."""
super().__init__(coordinator)
self._unique_id = f"{email}-{info_type}"
self.info_type = info_type
@property
def unique_id(self):
"""Return a unique id."""
return self._unique_id
class PoolSenseDataUpdateCoordinator(DataUpdateCoordinator):
"""Define an object to hold PoolSense data."""
def __init__(self, hass, entry):
"""Initialize."""
self.poolsense = PoolSense(
aiohttp_client.async_get_clientsession(hass),
entry.data[CONF_EMAIL],
entry.data[CONF_PASSWORD],
)
self.hass = hass
self.entry = entry
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=timedelta(hours=1))
async def _async_update_data(self):
"""Update data via library."""
data = {}
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
with async_timeout.timeout(10):
try:
data = await self.poolsense.get_poolsense_data()
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
except (PoolSenseError) as error:
_LOGGER.error("PoolSense query did not complete")
raise UpdateFailed(error) from error
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 05:44:10 +00:00
return data