Clean up Rituals Perfume Genie integration (#52266)

This commit is contained in:
Milan Meulemans 2021-06-29 00:44:13 +02:00 committed by GitHub
parent 7ce4763784
commit dc94a45832
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 15 additions and 37 deletions

View File

@ -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:

View File

@ -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(

View File

@ -5,9 +5,5 @@ COORDINATORS = "coordinators"
DEVICES = "devices"
ACCOUNT_HASH = "account_hash"
ATTRIBUTES = "attributes"
HUBLOT = "hublot"
ID = "id"
ROOM = "roomc"
SENSORS = "sensors"
SPEED = "speedc"

View File

@ -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"

View File

@ -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:

View File

@ -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}"

View File

@ -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):

View File

@ -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