From 693f72eff1a52b268a169666bf611db03f6fd14c Mon Sep 17 00:00:00 2001 From: jan iversen Date: Sat, 9 Mar 2024 08:49:11 +0100 Subject: [PATCH] Issue warning modbus configuration when modbus configuration is empty (#112618) --- homeassistant/components/modbus/validators.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/modbus/validators.py b/homeassistant/components/modbus/validators.py index 431d9de0cf1..c484b270afc 100644 --- a/homeassistant/components/modbus/validators.py +++ b/homeassistant/components/modbus/validators.py @@ -370,12 +370,14 @@ def check_config(config: dict) -> dict: if not validate_modbus(hub, hub_name_inx): del config[hub_inx] continue + minimum_scan_interval = 9999 + no_entities = True for component, conf_key in PLATFORMS: if conf_key not in hub: continue + no_entities = False entity_inx = 0 entities = hub[conf_key] - minimum_scan_interval = 9999 while entity_inx < len(entities): if not validate_entity( hub[CONF_NAME], @@ -388,7 +390,11 @@ def check_config(config: dict) -> dict: del entities[entity_inx] else: entity_inx += 1 - + if no_entities: + err = f"Modbus {hub[CONF_NAME]} contain no entities, this will cause instability, please add at least one entity!" + _LOGGER.warning(err) + # Ensure timeout is not started/handled. + hub[CONF_TIMEOUT] = -1 if hub[CONF_TIMEOUT] >= minimum_scan_interval: hub[CONF_TIMEOUT] = minimum_scan_interval - 1 _LOGGER.warning(