1 """The sensor websocket API."""
3 from __future__
import annotations
7 import voluptuous
as vol
12 from .const
import DEVICE_CLASS_UNITS, UNIT_CONVERTERS
17 """Set up the number websocket API."""
18 websocket_api.async_register_command(hass, ws_device_class_units)
22 @websocket_api.websocket_command(
{
vol.Required("type"):
"number/device_class_convertible_units",
23 vol.Required(
"device_class"): str,
29 """Return supported units for a device class."""
30 device_class = msg[
"device_class"]
31 convertible_units = []
32 if device_class
in UNIT_CONVERTERS
and device_class
in DEVICE_CLASS_UNITS:
33 convertible_units = sorted(
34 DEVICE_CLASS_UNITS[device_class],
35 key=
lambda s: str.casefold(
str(s)),
37 connection.send_result(msg[
"id"], {
"units": convertible_units})
38
None async_setup(HomeAssistant hass)
None ws_device_class_units(HomeAssistant hass, websocket_api.ActiveConnection connection, dict[str, Any] msg)