mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 20:57:21 +00:00
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
@ -11,8 +11,8 @@ import voluptuous as vol
|
|||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
from homeassistant.components import ssdp
|
from homeassistant.components import ssdp
|
||||||
from homeassistant.components.binary_sensor import (
|
from homeassistant.components.binary_sensor import (
|
||||||
DEVICE_CLASS_DOOR,
|
|
||||||
DEVICE_CLASSES_SCHEMA,
|
DEVICE_CLASSES_SCHEMA,
|
||||||
|
BinarySensorDeviceClass,
|
||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_ACCESS_TOKEN,
|
CONF_ACCESS_TOKEN,
|
||||||
@ -101,7 +101,9 @@ IO_SCHEMA = vol.Schema(
|
|||||||
BINARY_SENSOR_SCHEMA = vol.Schema(
|
BINARY_SENSOR_SCHEMA = vol.Schema(
|
||||||
{
|
{
|
||||||
vol.Required(CONF_ZONE): vol.In(ZONES),
|
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_NAME): cv.string,
|
||||||
vol.Optional(CONF_INVERSE, default=False): cv.boolean,
|
vol.Optional(CONF_INVERSE, default=False): cv.boolean,
|
||||||
}
|
}
|
||||||
@ -571,7 +573,9 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
|
|||||||
{
|
{
|
||||||
vol.Required(
|
vol.Required(
|
||||||
CONF_TYPE,
|
CONF_TYPE,
|
||||||
default=current_cfg.get(CONF_TYPE, DEVICE_CLASS_DOOR),
|
default=current_cfg.get(
|
||||||
|
CONF_TYPE, BinarySensorDeviceClass.DOOR
|
||||||
|
),
|
||||||
): DEVICE_CLASSES_SCHEMA,
|
): DEVICE_CLASSES_SCHEMA,
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_NAME, default=current_cfg.get(CONF_NAME, vol.UNDEFINED)
|
CONF_NAME, default=current_cfg.get(CONF_NAME, vol.UNDEFINED)
|
||||||
@ -600,7 +604,9 @@ class OptionsFlowHandler(config_entries.OptionsFlow):
|
|||||||
{
|
{
|
||||||
vol.Required(
|
vol.Required(
|
||||||
CONF_TYPE,
|
CONF_TYPE,
|
||||||
default=current_cfg.get(CONF_TYPE, DEVICE_CLASS_DOOR),
|
default=current_cfg.get(
|
||||||
|
CONF_TYPE, BinarySensorDeviceClass.DOOR
|
||||||
|
),
|
||||||
): DEVICE_CLASSES_SCHEMA,
|
): DEVICE_CLASSES_SCHEMA,
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
"""Handle Konnected messages."""
|
"""Handle Konnected messages."""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.components.sensor import SensorDeviceClass
|
||||||
ATTR_ENTITY_ID,
|
from homeassistant.const import ATTR_ENTITY_ID, ATTR_STATE
|
||||||
ATTR_STATE,
|
|
||||||
DEVICE_CLASS_HUMIDITY,
|
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
|
||||||
)
|
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.util import decorator
|
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):
|
async def async_handle_temp_update(hass, context, msg):
|
||||||
"""Handle a temperature sensor state update."""
|
"""Handle a temperature sensor state update."""
|
||||||
_LOGGER.debug("[temp handler] context: %s msg: %s", context, msg)
|
_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:
|
if entity_id:
|
||||||
async_dispatcher_send(hass, f"konnected.{entity_id}.update", temp)
|
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):
|
async def async_handle_humi_update(hass, context, msg):
|
||||||
"""Handle a humidity sensor state update."""
|
"""Handle a humidity sensor state update."""
|
||||||
_LOGGER.debug("[humi handler] context: %s msg: %s", context, msg)
|
_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:
|
if entity_id:
|
||||||
async_dispatcher_send(hass, f"konnected.{entity_id}.update", humi)
|
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."""
|
"""Support for DHT and DS18B20 sensors attached to a Konnected device."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from homeassistant.components.sensor import SensorEntity, SensorEntityDescription
|
from homeassistant.components.sensor import (
|
||||||
|
SensorDeviceClass,
|
||||||
|
SensorEntity,
|
||||||
|
SensorEntityDescription,
|
||||||
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_DEVICES,
|
CONF_DEVICES,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
CONF_SENSORS,
|
CONF_SENSORS,
|
||||||
CONF_TYPE,
|
CONF_TYPE,
|
||||||
CONF_ZONE,
|
CONF_ZONE,
|
||||||
DEVICE_CLASS_HUMIDITY,
|
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
)
|
)
|
||||||
@ -21,16 +23,16 @@ from .const import DOMAIN as KONNECTED_DOMAIN, SIGNAL_DS18B20_NEW
|
|||||||
|
|
||||||
SENSOR_TYPES: dict[str, SensorEntityDescription] = {
|
SENSOR_TYPES: dict[str, SensorEntityDescription] = {
|
||||||
"temperature": SensorEntityDescription(
|
"temperature": SensorEntityDescription(
|
||||||
key=DEVICE_CLASS_TEMPERATURE,
|
key="temperature",
|
||||||
name="Temperature",
|
name="Temperature",
|
||||||
native_unit_of_measurement=TEMP_CELSIUS,
|
native_unit_of_measurement=TEMP_CELSIUS,
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
),
|
),
|
||||||
"humidity": SensorEntityDescription(
|
"humidity": SensorEntityDescription(
|
||||||
key=DEVICE_CLASS_HUMIDITY,
|
key="humidity",
|
||||||
name="Humidity",
|
name="Humidity",
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
device_class=DEVICE_CLASS_HUMIDITY,
|
device_class=SensorDeviceClass.HUMIDITY,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,7 +132,7 @@ class KonnectedSensor(SensorEntity):
|
|||||||
@callback
|
@callback
|
||||||
def async_set_state(self, state):
|
def async_set_state(self, state):
|
||||||
"""Update the sensor's 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))
|
self._state = int(float(state))
|
||||||
else:
|
else:
|
||||||
self._state = round(float(state), 1)
|
self._state = round(float(state), 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user