1 """Support for Velbus sensors."""
3 from __future__
import annotations
5 from velbusaio.channels
import ButtonCounter, LightSensor, SensorNumber, Temperature
16 from .const
import DOMAIN
17 from .entity
import VelbusEntity
23 async_add_entities: AddEntitiesCallback,
25 """Set up Velbus switch based on config_entry."""
26 await hass.data[DOMAIN][entry.entry_id][
"tsk"]
27 cntrl = hass.data[DOMAIN][entry.entry_id][
"cntrl"]
29 for channel
in cntrl.get_all(
"sensor"):
31 if channel.is_counter_channel():
37 """Representation of a sensor."""
39 _channel: ButtonCounter | Temperature | LightSensor | SensorNumber
43 channel: ButtonCounter | Temperature | LightSensor | SensorNumber,
44 counter: bool =
False,
46 """Initialize a sensor Velbus entity."""
48 self._is_counter: bool = counter
55 elif channel.is_counter_channel():
58 elif channel.is_temperature():
71 """Return the state of the sensor."""
_attr_native_unit_of_measurement
None __init__(self, ButtonCounter|Temperature|LightSensor|SensorNumber channel, bool counter=False)
float|int|None native_value(self)
str get_state(int upload, int download)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)