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