1 """Automation manager for boards manufactured by ProgettiHWSW Italy."""
3 from ProgettiHWSW.input
import Input
4 from ProgettiHWSW.ProgettiHWSWAPI
import ProgettiHWSWAPI
5 from ProgettiHWSW.relay
import Relay
11 from .const
import DOMAIN
13 PLATFORMS = [Platform.BINARY_SENSOR, Platform.SWITCH]
17 """Set up ProgettiHWSW Automation from a config entry."""
18 hass.data.setdefault(DOMAIN, {})
19 hass.data[DOMAIN][entry.entry_id] = ProgettiHWSWAPI(
20 f
'{entry.data["host"]}:{entry.data["port"]}'
24 await hass.data[DOMAIN][entry.entry_id].check_board()
26 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
32 """Unload a config entry."""
33 unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
35 hass.data[DOMAIN].pop(entry.entry_id)
40 def setup_input(api: ProgettiHWSWAPI, input_number: int) -> Input:
41 """Initialize the input pin."""
42 return api.get_input(input_number)
45 def setup_switch(api: ProgettiHWSWAPI, switch_number: int, mode: str) -> Relay:
46 """Initialize the output pin."""
47 return api.get_relay(switch_number, mode)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
Relay setup_switch(ProgettiHWSWAPI api, int switch_number, str mode)
Input setup_input(ProgettiHWSWAPI api, int input_number)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)