Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 2 additions & 27 deletions homeassistant/components/rituals_perfume_genie/__init__.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
"""The Rituals Perfume Genie integration."""
from datetime import timedelta
import logging

import aiohttp
from pyrituals import Account, Diffuser
from pyrituals import Account

from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator

from .const import ACCOUNT_HASH, COORDINATORS, DEVICES, DOMAIN
from .coordinator import RitualsDataUpdateCoordinator

PLATFORMS = [
Platform.BINARY_SENSOR,
Expand All @@ -22,10 +19,6 @@
Platform.SWITCH,
]

_LOGGER = logging.getLogger(__name__)

UPDATE_INTERVAL = timedelta(minutes=2)


async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up Rituals Perfume Genie from a config entry."""
Expand Down Expand Up @@ -63,21 +56,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
hass.data[DOMAIN].pop(entry.entry_id)

return unload_ok


class RitualsDataUpdateCoordinator(DataUpdateCoordinator[None]):
"""Class to manage fetching Rituals Perfume Genie device data from single endpoint."""

def __init__(self, hass: HomeAssistant, device: Diffuser) -> None:
"""Initialize global Rituals Perfume Genie data updater."""
self._device = device
super().__init__(
hass,
_LOGGER,
name=f"{DOMAIN}-{device.hublot}",
update_interval=UPDATE_INTERVAL,
)

async def _async_update_data(self) -> None:
"""Fetch data from Rituals."""
await self._device.update_data()
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback

from . import RitualsDataUpdateCoordinator
from .const import COORDINATORS, DEVICES, DOMAIN
from .coordinator import RitualsDataUpdateCoordinator
from .entity import DiffuserEntity

CHARGING_SUFFIX = " Battery Charging"
Expand Down
5 changes: 5 additions & 0 deletions homeassistant/components/rituals_perfume_genie/const.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
"""Constants for the Rituals Perfume Genie integration."""

from datetime import timedelta

DOMAIN = "rituals_perfume_genie"

ACCOUNT_HASH = "account_hash"

COORDINATORS = "coordinators"
DEVICES = "devices"

UPDATE_INTERVAL = timedelta(minutes=2)
29 changes: 29 additions & 0 deletions homeassistant/components/rituals_perfume_genie/coordinator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
"""The Rituals Perfume Genie data update coordinator."""
import logging

from pyrituals import Diffuser

from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator

from .const import DOMAIN, UPDATE_INTERVAL

_LOGGER = logging.getLogger(__name__)


class RitualsDataUpdateCoordinator(DataUpdateCoordinator[None]):
"""Class to manage fetching Rituals Perfume Genie device data from single endpoint."""

def __init__(self, hass: HomeAssistant, device: Diffuser) -> None:
"""Initialize global Rituals Perfume Genie data updater."""
self._device = device
super().__init__(
hass,
_LOGGER,
name=f"{DOMAIN}-{device.hublot}",
update_interval=UPDATE_INTERVAL,
)

async def _async_update_data(self) -> None:
"""Fetch data from Rituals."""
await self._device.update_data()
2 changes: 1 addition & 1 deletion homeassistant/components/rituals_perfume_genie/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity

from . import RitualsDataUpdateCoordinator
from .const import DOMAIN
from .coordinator import RitualsDataUpdateCoordinator

MANUFACTURER = "Rituals Cosmetics"
MODEL = "The Perfume Genie"
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/rituals_perfume_genie/number.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback

from . import RitualsDataUpdateCoordinator
from .const import COORDINATORS, DEVICES, DOMAIN
from .coordinator import RitualsDataUpdateCoordinator
from .entity import DiffuserEntity

MIN_PERFUME_AMOUNT = 1
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/rituals_perfume_genie/select.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback

from . import RitualsDataUpdateCoordinator
from .const import COORDINATORS, DEVICES, DOMAIN
from .coordinator import RitualsDataUpdateCoordinator
from .entity import DiffuserEntity

ROOM_SIZE_SUFFIX = " Room Size"
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/rituals_perfume_genie/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback

from . import RitualsDataUpdateCoordinator
from .const import COORDINATORS, DEVICES, DOMAIN
from .coordinator import RitualsDataUpdateCoordinator
from .entity import DiffuserEntity

BATTERY_SUFFIX = " Battery"
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/rituals_perfume_genie/switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback

from . import RitualsDataUpdateCoordinator
from .const import COORDINATORS, DEVICES, DOMAIN
from .coordinator import RitualsDataUpdateCoordinator
from .entity import DiffuserEntity


Expand Down