hass-core/homeassistant/components/myuplink/helpers.py
Åke Strandberg cd46cc6e80
Add myuplink number platform (#111154)
* Add number platform

* Use constant for SERVICE_SET_VALUE
2024-02-24 22:39:14 +01:00

33 lines
1 KiB
Python

"""Helper collection for myuplink."""
from myuplink import DevicePoint
from homeassistant.components.number import NumberEntityDescription
from homeassistant.components.sensor import SensorEntityDescription
from homeassistant.const import Platform
def find_matching_platform(
device_point: DevicePoint,
description: SensorEntityDescription | NumberEntityDescription | None = None,
) -> Platform:
"""Find entity platform for a DevicePoint."""
if (
len(device_point.enum_values) == 2
and device_point.enum_values[0]["value"] == "0"
and device_point.enum_values[1]["value"] == "1"
):
if device_point.writable:
return Platform.SWITCH
return Platform.BINARY_SENSOR
if (
description
and description.native_unit_of_measurement == "DM"
or (device_point.raw["maxValue"] and device_point.raw["minValue"])
):
if device_point.writable:
return Platform.NUMBER
return Platform.SENSOR
return Platform.SENSOR