1 """Internal discovery service for Escea Fireplace."""
3 from __future__
import annotations
6 AbstractDiscoveryService,
9 discovery_service
as pescea_discovery_service,
16 DATA_DISCOVERY_SERVICE,
17 DISPATCH_CONTROLLER_DISCONNECTED,
18 DISPATCH_CONTROLLER_DISCOVERED,
19 DISPATCH_CONTROLLER_RECONNECTED,
20 DISPATCH_CONTROLLER_UPDATE,
25 """Discovery data and interfacing with pescea library."""
27 def __init__(self, hass: HomeAssistant) ->
None:
28 """Initialise discovery service."""
34 """Handle new controller discoverery."""
38 """On disconnect from controller."""
42 """On reconnect to controller."""
46 """System update message is received from the controller."""
52 ) -> AbstractDiscoveryService:
53 """Set up the pescea internal discovery."""
54 discovery_service = hass.data.get(DATA_DISCOVERY_SERVICE)
57 return discovery_service
61 discovery_service = pescea_discovery_service(listener)
62 hass.data[DATA_DISCOVERY_SERVICE] = discovery_service
64 await discovery_service.start_discovery()
66 return discovery_service
70 """Stop the discovery service."""
71 discovery_service = hass.data.get(DATA_DISCOVERY_SERVICE)
72 if not discovery_service:
75 await discovery_service.close()
76 del hass.data[DATA_DISCOVERY_SERVICE]
None controller_discovered(self, Controller ctrl)
None controller_update(self, Controller ctrl)
None __init__(self, HomeAssistant hass)
None controller_reconnected(self, Controller ctrl)
None controller_disconnected(self, Controller ctrl, Exception ex)
None async_stop_discovery_service(HomeAssistant hass)
AbstractDiscoveryService async_start_discovery_service(HomeAssistant hass)
None async_dispatcher_send(HomeAssistant hass, str signal, *Any args)