hottis modbus relay 4

This commit is contained in:
2025-11-27 17:11:30 +01:00
parent 02596f4796
commit 7193c2be7f

View File

@@ -15,7 +15,7 @@ import uuid
from aiomqtt import Client from aiomqtt import Client
from pydantic import ValidationError from pydantic import ValidationError
from packages.home_capabilities import LightState, ThermostatState, ContactState, TempHumidityState, RelayState from packages.home_capabilities import LightState, ThermostatState, ContactState, TempHumidityState, RelayState, ThreePhasePowermeterState
from apps.abstraction.transformation import ( from apps.abstraction.transformation import (
transform_abstract_to_vendor, transform_abstract_to_vendor,
transform_vendor_to_abstract transform_vendor_to_abstract
@@ -231,6 +231,9 @@ async def handle_vendor_state(
elif device_type in {"temp_humidity", "temp_humidity_sensor"}: elif device_type in {"temp_humidity", "temp_humidity_sensor"}:
# Validate temperature & humidity sensor state # Validate temperature & humidity sensor state
TempHumidityState.model_validate(abstract_payload) TempHumidityState.model_validate(abstract_payload)
elif device_type == "three_phase_powermeter":
# Validate three-phase powermeter state
ThreePhasePowermeterState.model_validate(abstract_payload)
except ValidationError as e: except ValidationError as e:
logger.error(f"Validation failed for {device_type} STATE {device_id}: {e}") logger.error(f"Validation failed for {device_type} STATE {device_id}: {e}")
return return