Use new DeviceClass enums in konnected (#61870)
Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
parent
25cf690b20
commit
764ff65a38
3 changed files with 24 additions and 20 deletions
|
@ -11,8 +11,8 @@ import voluptuous as vol
|
|||
from homeassistant import config_entries
|
||||
from homeassistant.components import ssdp
|
||||
from homeassistant.components.binary_sensor import (
|
||||
DEVICE_CLASS_DOOR,
|
||||
DEVICE_CLASSES_SCHEMA,
|
||||
BinarySensorDeviceClass,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_ACCESS_TOKEN,
|
||||
|
@ -101,7 +101,9 @@ IO_SCHEMA = vol.Schema(
|
|||
BINARY_SENSOR_SCHEMA = vol.Schema(
|
||||
{
|
||||
vol.Required(CONF_ZONE): vol.In(ZONES),
|
||||
vol.Required(CONF_TYPE, default=DEVICE_CLASS_DOOR): DEVICE_CLASSES_SCHEMA,
|
||||
vol.Required(
|
||||
CONF_TYPE, default=BinarySensorDeviceClass.DOOR
|
||||
): DEVICE_CLASSES_SCHEMA,
|
||||
vol.Optional(CONF_NAME): cv.string,
|
||||
vol.Optional(CONF_INVERSE, default=False): cv.boolean,
|
||||
}
|
||||
|
@ -571,7 +573,9 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
|
|||
{
|
||||
vol.Required(
|
||||
CONF_TYPE,
|
||||
default=current_cfg.get(CONF_TYPE, DEVICE_CLASS_DOOR),
|
||||
default=current_cfg.get(
|
||||
CONF_TYPE, BinarySensorDeviceClass.DOOR
|
||||
),
|
||||
): DEVICE_CLASSES_SCHEMA,
|
||||
vol.Optional(
|
||||
CONF_NAME, default=current_cfg.get(CONF_NAME, vol.UNDEFINED)
|
||||
|
@ -600,7 +604,9 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
|
|||
{
|
||||
vol.Required(
|
||||
CONF_TYPE,
|
||||
default=current_cfg.get(CONF_TYPE, DEVICE_CLASS_DOOR),
|
||||
default=current_cfg.get(
|
||||
CONF_TYPE, BinarySensorDeviceClass.DOOR
|
||||
),
|
||||
): DEVICE_CLASSES_SCHEMA,
|
||||
vol.Optional(
|
||||
CONF_NAME,
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
"""Handle Konnected messages."""
|
||||
import logging
|
||||
|
||||
from homeassistant.const import (
|
||||
ATTR_ENTITY_ID,
|
||||
ATTR_STATE,
|
||||
DEVICE_CLASS_HUMIDITY,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
)
|
||||
from homeassistant.components.sensor import SensorDeviceClass
|
||||
from homeassistant.const import ATTR_ENTITY_ID, ATTR_STATE
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||
from homeassistant.util import decorator
|
||||
|
||||
|
@ -32,7 +28,7 @@ async def async_handle_state_update(hass, context, msg):
|
|||
async def async_handle_temp_update(hass, context, msg):
|
||||
"""Handle a temperature sensor state update."""
|
||||
_LOGGER.debug("[temp handler] context: %s msg: %s", context, msg)
|
||||
entity_id, temp = context.get(DEVICE_CLASS_TEMPERATURE), msg.get("temp")
|
||||
entity_id, temp = context.get(SensorDeviceClass.TEMPERATURE), msg.get("temp")
|
||||
if entity_id:
|
||||
async_dispatcher_send(hass, f"konnected.{entity_id}.update", temp)
|
||||
|
||||
|
@ -41,7 +37,7 @@ async def async_handle_temp_update(hass, context, msg):
|
|||
async def async_handle_humi_update(hass, context, msg):
|
||||
"""Handle a humidity sensor state update."""
|
||||
_LOGGER.debug("[humi handler] context: %s msg: %s", context, msg)
|
||||
entity_id, humi = context.get(DEVICE_CLASS_HUMIDITY), msg.get("humi")
|
||||
entity_id, humi = context.get(SensorDeviceClass.HUMIDITY), msg.get("humi")
|
||||
if entity_id:
|
||||
async_dispatcher_send(hass, f"konnected.{entity_id}.update", humi)
|
||||
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
"""Support for DHT and DS18B20 sensors attached to a Konnected device."""
|
||||
from __future__ import annotations
|
||||
|
||||
from homeassistant.components.sensor import SensorEntity, SensorEntityDescription
|
||||
from homeassistant.components.sensor import (
|
||||
SensorDeviceClass,
|
||||
SensorEntity,
|
||||
SensorEntityDescription,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_DEVICES,
|
||||
CONF_NAME,
|
||||
CONF_SENSORS,
|
||||
CONF_TYPE,
|
||||
CONF_ZONE,
|
||||
DEVICE_CLASS_HUMIDITY,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
PERCENTAGE,
|
||||
TEMP_CELSIUS,
|
||||
)
|
||||
|
@ -21,16 +23,16 @@ from .const import DOMAIN as KONNECTED_DOMAIN, SIGNAL_DS18B20_NEW
|
|||
|
||||
SENSOR_TYPES: dict[str, SensorEntityDescription] = {
|
||||
"temperature": SensorEntityDescription(
|
||||
key=DEVICE_CLASS_TEMPERATURE,
|
||||
key="temperature",
|
||||
name="Temperature",
|
||||
native_unit_of_measurement=TEMP_CELSIUS,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
),
|
||||
"humidity": SensorEntityDescription(
|
||||
key=DEVICE_CLASS_HUMIDITY,
|
||||
key="humidity",
|
||||
name="Humidity",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
device_class=DEVICE_CLASS_HUMIDITY,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
),
|
||||
}
|
||||
|
||||
|
@ -130,7 +132,7 @@ class KonnectedSensor(SensorEntity):
|
|||
@callback
|
||||
def async_set_state(self, state):
|
||||
"""Update the sensor's state."""
|
||||
if self.entity_description.key == DEVICE_CLASS_HUMIDITY:
|
||||
if self.entity_description.key == "humidity":
|
||||
self._state = int(float(state))
|
||||
else:
|
||||
self._state = round(float(state), 1)
|
||||
|
|
Loading…
Add table
Reference in a new issue