@@ -1143,34 +1143,35 @@ async def get_state(self, features: tuple[NodeFeature]) -> dict[NodeFeature, Any
11431143 f"Update of feature '{ feature } ' is not supported for { self .name } "
11441144 )
11451145
1146- if feature == NodeFeature .ENERGY :
1147- states [feature ] = await self .energy_update ()
1148- _LOGGER .debug (
1149- "async_get_state %s - energy: %s" ,
1150- self ._mac_in_str ,
1151- states [feature ],
1152- )
1153- elif feature == NodeFeature .RELAY :
1154- states [feature ] = self ._relay_state
1155- _LOGGER .debug (
1156- "async_get_state %s - relay: %s" ,
1157- self ._mac_in_str ,
1158- states [feature ],
1159- )
1160- elif feature == NodeFeature .RELAY_LOCK :
1161- states [feature ] = self ._relay_lock
1162- elif feature == NodeFeature .RELAY_INIT :
1163- states [feature ] = self ._relay_config
1164- elif feature == NodeFeature .POWER :
1165- states [feature ] = await self .power_update ()
1166- _LOGGER .debug (
1167- "async_get_state %s - power: %s" ,
1168- self ._mac_in_str ,
1169- states [feature ],
1170- )
1171- else :
1172- state_result = await super ().get_state ((feature ,))
1173- states [feature ] = state_result [feature ]
1146+ match feature :
1147+ case NodeFeature .ENERGY :
1148+ states [feature ] = await self .energy_update ()
1149+ _LOGGER .debug (
1150+ "async_get_state %s - energy: %s" ,
1151+ self ._mac_in_str ,
1152+ states [feature ],
1153+ )
1154+ case NodeFeature .RELAY :
1155+ states [feature ] = self ._relay_state
1156+ _LOGGER .debug (
1157+ "async_get_state %s - relay: %s" ,
1158+ self ._mac_in_str ,
1159+ states [feature ],
1160+ )
1161+ case NodeFeature .RELAY_LOCK :
1162+ states [feature ] = self ._relay_lock
1163+ case NodeFeature .RELAY_INIT :
1164+ states [feature ] = self ._relay_config
1165+ case NodeFeature .POWER :
1166+ states [feature ] = await self .power_update ()
1167+ _LOGGER .debug (
1168+ "async_get_state %s - power: %s" ,
1169+ self ._mac_in_str ,
1170+ states [feature ],
1171+ )
1172+ case _:
1173+ state_result = await super ().get_state ((feature ,))
1174+ states [feature ] = state_result [feature ]
11741175
11751176 if NodeFeature .AVAILABLE not in states :
11761177 states [NodeFeature .AVAILABLE ] = self .available_state
0 commit comments