mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 04:37:06 +00:00
Clean up Rituals Perfume Genie integration (#52266)
This commit is contained in:
parent
7ce4763784
commit
dc94a45832
@ -15,8 +15,6 @@ from .const import ACCOUNT_HASH, COORDINATORS, DEVICES, DOMAIN, HUBLOT
|
||||
|
||||
PLATFORMS = ["binary_sensor", "number", "select", "sensor", "switch"]
|
||||
|
||||
EMPTY_CREDENTIALS = ""
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
UPDATE_INTERVAL = timedelta(seconds=30)
|
||||
@ -25,7 +23,7 @@ UPDATE_INTERVAL = timedelta(seconds=30)
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
"""Set up Rituals Perfume Genie from a config entry."""
|
||||
session = async_get_clientsession(hass)
|
||||
account = Account(EMPTY_CREDENTIALS, EMPTY_CREDENTIALS, session)
|
||||
account = Account(session=session)
|
||||
account.data = {ACCOUNT_HASH: entry.data.get(ACCOUNT_HASH)}
|
||||
|
||||
try:
|
||||
|
@ -16,7 +16,6 @@ from .const import COORDINATORS, DEVICES, DOMAIN
|
||||
from .entity import DiffuserEntity
|
||||
|
||||
CHARGING_SUFFIX = " Battery Charging"
|
||||
BATTERY_CHARGING_ID = 21
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
|
@ -5,9 +5,5 @@ COORDINATORS = "coordinators"
|
||||
DEVICES = "devices"
|
||||
|
||||
ACCOUNT_HASH = "account_hash"
|
||||
ATTRIBUTES = "attributes"
|
||||
HUBLOT = "hublot"
|
||||
ID = "id"
|
||||
ROOM = "roomc"
|
||||
SENSORS = "sensors"
|
||||
SPEED = "speedc"
|
||||
|
@ -7,12 +7,13 @@ from homeassistant.helpers.entity import DeviceInfo
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from . import RitualsDataUpdateCoordinator
|
||||
from .const import ATTRIBUTES, DOMAIN, HUBLOT, SENSORS
|
||||
from .const import DOMAIN, HUBLOT, SENSORS
|
||||
|
||||
MANUFACTURER = "Rituals Cosmetics"
|
||||
MODEL = "The Perfume Genie"
|
||||
MODEL2 = "The Perfume Genie 2.0"
|
||||
|
||||
ATTRIBUTES = "attributes"
|
||||
ROOMNAME = "roomnamec"
|
||||
STATUS = "status"
|
||||
VERSION = "versionc"
|
||||
|
@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import RitualsDataUpdateCoordinator
|
||||
from .const import ATTRIBUTES, COORDINATORS, DEVICES, DOMAIN, SPEED
|
||||
from .const import COORDINATORS, DEVICES, DOMAIN
|
||||
from .entity import DiffuserEntity
|
||||
|
||||
MIN_PERFUME_AMOUNT = 1
|
||||
@ -51,7 +51,7 @@ class DiffuserPerfumeAmount(DiffuserEntity, NumberEntity):
|
||||
@property
|
||||
def value(self) -> int:
|
||||
"""Return the current perfume amount."""
|
||||
return self._diffuser.hub_data[ATTRIBUTES][SPEED]
|
||||
return self._diffuser.perfume_amount
|
||||
|
||||
@property
|
||||
def min_value(self) -> int:
|
||||
|
@ -10,7 +10,7 @@ from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import RitualsDataUpdateCoordinator
|
||||
from .const import ATTRIBUTES, COORDINATORS, DEVICES, DOMAIN, ROOM
|
||||
from .const import COORDINATORS, DEVICES, DOMAIN
|
||||
from .entity import DiffuserEntity
|
||||
|
||||
ROOM_SIZE_SUFFIX = " Room Size"
|
||||
@ -47,24 +47,12 @@ class DiffuserRoomSize(DiffuserEntity, SelectEntity):
|
||||
@property
|
||||
def current_option(self) -> str:
|
||||
"""Return the diffuser room size."""
|
||||
return {
|
||||
"1": "15",
|
||||
"2": "30",
|
||||
"3": "60",
|
||||
"4": "100",
|
||||
}[self._diffuser.hub_data[ATTRIBUTES][ROOM]]
|
||||
return str(self._diffuser.room_size_square_meter)
|
||||
|
||||
async def async_select_option(self, option: str) -> None:
|
||||
"""Change the diffuser room size."""
|
||||
if option in self.options:
|
||||
await self._diffuser.set_room_size(
|
||||
{
|
||||
"15": 1,
|
||||
"30": 2,
|
||||
"60": 3,
|
||||
"100": 4,
|
||||
}[option]
|
||||
)
|
||||
await self._diffuser.set_room_size_square_meter(int(option))
|
||||
else:
|
||||
raise ValueError(
|
||||
f"Can't set the room size to {option}. Allowed room sizes are: {self.options}"
|
||||
|
@ -13,12 +13,10 @@ from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import RitualsDataUpdateCoordinator
|
||||
from .const import COORDINATORS, DEVICES, DOMAIN, ID, SENSORS
|
||||
from .const import COORDINATORS, DEVICES, DOMAIN, SENSORS
|
||||
from .entity import DiffuserEntity
|
||||
|
||||
TITLE = "title"
|
||||
ICON = "icon"
|
||||
WIFI = "wific"
|
||||
ID = "id"
|
||||
PERFUME = "rfidc"
|
||||
FILL = "fillc"
|
||||
|
||||
@ -30,8 +28,6 @@ PERFUME_SUFFIX = " Perfume"
|
||||
FILL_SUFFIX = " Fill"
|
||||
WIFI_SUFFIX = " Wifi"
|
||||
|
||||
ATTR_SIGNAL_STRENGTH = "signal_strength"
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
hass: HomeAssistant,
|
||||
@ -72,7 +68,7 @@ class DiffuserPerfumeSensor(DiffuserEntity):
|
||||
@property
|
||||
def state(self) -> str:
|
||||
"""Return the state of the perfume sensor."""
|
||||
return self._diffuser.hub_data[SENSORS][PERFUME][TITLE]
|
||||
return self._diffuser.perfume
|
||||
|
||||
|
||||
class DiffuserFillSensor(DiffuserEntity):
|
||||
@ -94,7 +90,7 @@ class DiffuserFillSensor(DiffuserEntity):
|
||||
@property
|
||||
def state(self) -> str:
|
||||
"""Return the state of the fill sensor."""
|
||||
return self._diffuser.hub_data[SENSORS][FILL][TITLE]
|
||||
return self._diffuser.fill
|
||||
|
||||
|
||||
class DiffuserBatterySensor(DiffuserEntity):
|
||||
|
@ -11,7 +11,7 @@ from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import RitualsDataUpdateCoordinator
|
||||
from .const import ATTRIBUTES, COORDINATORS, DEVICES, DOMAIN, ROOM, SPEED
|
||||
from .const import COORDINATORS, DEVICES, DOMAIN
|
||||
from .entity import DiffuserEntity
|
||||
|
||||
FAN = "fanc"
|
||||
@ -54,8 +54,8 @@ class DiffuserSwitch(SwitchEntity, DiffuserEntity):
|
||||
def extra_state_attributes(self) -> dict[str, Any]:
|
||||
"""Return the device state attributes."""
|
||||
attributes = {
|
||||
"fan_speed": self._diffuser.hub_data[ATTRIBUTES][SPEED],
|
||||
"room_size": self._diffuser.hub_data[ATTRIBUTES][ROOM],
|
||||
"fan_speed": self._diffuser.perfume_amount,
|
||||
"room_size": self._diffuser.room_size,
|
||||
}
|
||||
return attributes
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user