@@ -1158,34 +1158,35 @@ async def get_state(self, features: tuple[NodeFeature]) -> dict[NodeFeature, Any
11581158 f"Update of feature '{ feature } ' is not supported for { self .name } "
11591159 )
11601160
1161- if feature == NodeFeature .ENERGY :
1162- states [feature ] = await self .energy_update ()
1163- _LOGGER .debug (
1164- "async_get_state %s - energy: %s" ,
1165- self ._mac_in_str ,
1166- states [feature ],
1167- )
1168- elif feature == NodeFeature .RELAY :
1169- states [feature ] = self ._relay_state
1170- _LOGGER .debug (
1171- "async_get_state %s - relay: %s" ,
1172- self ._mac_in_str ,
1173- states [feature ],
1174- )
1175- elif feature == NodeFeature .RELAY_LOCK :
1176- states [feature ] = self ._relay_lock
1177- elif feature == NodeFeature .RELAY_INIT :
1178- states [feature ] = self ._relay_config
1179- elif feature == NodeFeature .POWER :
1180- states [feature ] = await self .power_update ()
1181- _LOGGER .debug (
1182- "async_get_state %s - power: %s" ,
1183- self ._mac_in_str ,
1184- states [feature ],
1185- )
1186- else :
1187- state_result = await super ().get_state ((feature ,))
1188- states [feature ] = state_result [feature ]
1161+ match feature :
1162+ case NodeFeature .ENERGY :
1163+ states [feature ] = await self .energy_update ()
1164+ _LOGGER .debug (
1165+ "async_get_state %s - energy: %s" ,
1166+ self ._mac_in_str ,
1167+ states [feature ],
1168+ )
1169+ case == NodeFeature .RELAY :
1170+ states [feature ] = self ._relay_state
1171+ _LOGGER .debug (
1172+ "async_get_state %s - relay: %s" ,
1173+ self ._mac_in_str ,
1174+ states [feature ],
1175+ )
1176+ case NodeFeature .RELAY_LOCK :
1177+ states [feature ] = self ._relay_lock
1178+ case NodeFeature .RELAY_INIT :
1179+ states [feature ] = self ._relay_config
1180+ case NodeFeature .POWER :
1181+ states [feature ] = await self .power_update ()
1182+ _LOGGER .debug (
1183+ "async_get_state %s - power: %s" ,
1184+ self ._mac_in_str ,
1185+ states [feature ],
1186+ )
1187+ case _:
1188+ state_result = await super ().get_state ((feature ,))
1189+ states [feature ] = state_result [feature ]
11891190
11901191 if NodeFeature .AVAILABLE not in states :
11911192 states [NodeFeature .AVAILABLE ] = self .available_state
0 commit comments