diff --git a/homeassistant/components/zha/core/channels/general.py b/homeassistant/components/zha/core/channels/general.py index 3756e3c1233..fbafbdc03e7 100644 --- a/homeassistant/components/zha/core/channels/general.py +++ b/homeassistant/components/zha/core/channels/general.py @@ -348,7 +348,6 @@ class OnOffChannel(ZigbeeChannel): self._off_listener = None if self.cluster.endpoint.model in ( - "TS011F", "TS0121", "TS0001", "TS0002", @@ -360,6 +359,13 @@ class OnOffChannel(ZigbeeChannel): ) self.ZCL_INIT_ATTRS["backlight_mode"] = True self.ZCL_INIT_ATTRS["power_on_state"] = True + elif self.cluster.endpoint.model == "TS011F": + self.ZCL_INIT_ATTRS = ( # pylint: disable=invalid-name + self.ZCL_INIT_ATTRS.copy() + ) + self.ZCL_INIT_ATTRS["backlight_mode"] = True + self.ZCL_INIT_ATTRS["child_lock"] = True + self.ZCL_INIT_ATTRS["power_on_state"] = True @property def on_off(self) -> bool | None: diff --git a/homeassistant/components/zha/switch.py b/homeassistant/components/zha/switch.py index ac285700a27..c9469747a3f 100644 --- a/homeassistant/components/zha/switch.py +++ b/homeassistant/components/zha/switch.py @@ -457,3 +457,15 @@ class AqaraPetFeederChildLock(ZHASwitchConfigurationEntity, id_suffix="child_loc _zcl_attribute: str = "child_lock" _attr_name = "Child lock" _attr_icon: str = "mdi:account-lock" + + +@CONFIG_DIAGNOSTIC_MATCH( + channel_names=CHANNEL_ON_OFF, + models={"TS011F"}, +) +class TuyaChildLockSwitch(ZHASwitchConfigurationEntity, id_suffix="child_lock"): + """Representation of a child lock configuration entity.""" + + _zcl_attribute: str = "child_lock" + _attr_name = "Child lock" + _attr_icon: str = "mdi:account-lock"