Do not use async_* in a modbus sync function (#50343)

This commit is contained in:
jan iversen 2021-05-09 19:50:23 +02:00 committed by GitHub
parent be73067f9c
commit ec08256ff0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -22,7 +22,7 @@ from homeassistant.const import (
EVENT_HOMEASSISTANT_STOP, EVENT_HOMEASSISTANT_STOP,
) )
from homeassistant.helpers.discovery import load_platform from homeassistant.helpers.discovery import load_platform
from homeassistant.helpers.event import async_call_later from homeassistant.helpers.event import call_later
from .const import ( from .const import (
ATTR_ADDRESS, ATTR_ADDRESS,
@ -109,7 +109,7 @@ def modbus_setup(
hub_collect[client_name].write_coil(unit, address, state) hub_collect[client_name].write_coil(unit, address, state)
# register function to gracefully stop modbus # register function to gracefully stop modbus
hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, stop_modbus) hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, stop_modbus)
# Register services for modbus # Register services for modbus
hass.services.register( hass.services.register(
@ -208,9 +208,7 @@ class ModbusHub:
# Start counting down to allow modbus requests. # Start counting down to allow modbus requests.
if self._config_delay: if self._config_delay:
self._cancel_listener = async_call_later( self._cancel_listener = call_later(hass, self._config_delay, self.end_delay)
hass, self._config_delay, self.end_delay
)
def end_delay(self, args): def end_delay(self, args):
"""End startup delay.""" """End startup delay."""