1 """Support for HomeMatic switches."""
3 from __future__
import annotations
12 from .const
import ATTR_DISCOVER_DEVICES
13 from .entity
import HMDevice
19 add_entities: AddEntitiesCallback,
20 discovery_info: DiscoveryInfoType |
None =
None,
22 """Set up the HomeMatic switch platform."""
23 if discovery_info
is None:
27 for conf
in discovery_info[ATTR_DISCOVER_DEVICES]:
29 devices.append(new_device)
35 """Representation of a HomeMatic switch."""
39 """Return True if switch is on."""
47 """Return the current power usage in kWh."""
48 if "ENERGY_COUNTER" in self._data:
50 return self._data[
"ENERGY_COUNTER"] / 1000
51 except ZeroDivisionError:
57 """Turn the switch on."""
61 """Turn the switch off."""
65 """Generate the data dictionary (self._data) from metadata."""
70 for node
in self.
_hmdevice_hmdevice.SENSORNODE:
71 self._data.
update({node:
None})
None turn_on(self, **Any kwargs)
def today_energy_kwh(self)
None turn_off(self, **Any kwargs)
def _init_data_struct(self)
None add_entities(AsusWrtRouter router, AddEntitiesCallback async_add_entities, set[str] tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)