1 """KMtronic Switch integration."""
13 from .const
import CONF_REVERSE, DATA_COORDINATOR, DATA_HUB, DOMAIN, MANUFACTURER
17 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
19 """Config entry example."""
20 coordinator = hass.data[DOMAIN][entry.entry_id][DATA_COORDINATOR]
21 hub = hass.data[DOMAIN][entry.entry_id][DATA_HUB]
22 reverse = entry.options.get(CONF_REVERSE,
False)
23 await hub.async_get_relays()
28 for relay
in hub.relays
34 """KMtronic Switch Entity."""
36 _attr_translation_key =
"relay"
37 _attr_has_entity_name =
True
39 def __init__(self, hub, coordinator, relay, reverse, config_entry_id):
40 """Pass coordinator to CoordinatorEntity."""
45 hostname = urllib.parse.urlsplit(hub.host).hostname
47 identifiers={(DOMAIN, config_entry_id)},
48 name=f
"Controller {hostname}",
49 manufacturer=MANUFACTURER,
50 configuration_url=hub.host,
58 """Return entity state."""
60 return not self.
_relay_relay.is_energised
61 return self.
_relay_relay.is_energised
64 """Turn the switch on."""
66 await self.
_relay_relay.de_energise()
68 await self.
_relay_relay.energise()
72 """Turn the switch off."""
74 await self.
_relay_relay.energise()
76 await self.
_relay_relay.de_energise()
80 """Toggle the switch."""
None async_toggle(self, **Any kwargs)
_attr_translation_placeholders
None async_turn_off(self, **Any kwargs)
def __init__(self, hub, coordinator, relay, reverse, config_entry_id)
None async_turn_on(self, **Any kwargs)
None async_write_ha_state(self)
None toggle(self, **Any kwargs)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)