From 5bffbafae4bf432122d25cf09ee237c31394e52e Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Wed, 22 Feb 2023 14:47:43 +0100 Subject: [PATCH] Add ZHA "consumer connected" binary sensor for Xiaomi EU plugs (#88194) * Initialize consumer_connected attribute * Add binary sensor for consumer_connected --- homeassistant/components/zha/binary_sensor.py | 10 ++++++++++ .../zha/core/channels/manufacturerspecific.py | 1 + 2 files changed, 11 insertions(+) diff --git a/homeassistant/components/zha/binary_sensor.py b/homeassistant/components/zha/binary_sensor.py index af7ce6b5bf7..dc5a5eebbaa 100644 --- a/homeassistant/components/zha/binary_sensor.py +++ b/homeassistant/components/zha/binary_sensor.py @@ -203,3 +203,13 @@ class AqaraPetFeederErrorDetected(BinarySensor, id_suffix="error_detected"): SENSOR_ATTR = "error_detected" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.PROBLEM _attr_name: str = "Error detected" + + +@MULTI_MATCH( + channel_names="opple_cluster", models={"lumi.plug.mmeu01", "lumi.plug.maeu01"} +) +class XiaomiPlugConsumerConnected(BinarySensor, id_suffix="consumer_connected"): + """ZHA Xiaomi plug consumer connected binary sensor.""" + + SENSOR_ATTR = "consumer_connected" + _attr_name: str = "Consumer connected" diff --git a/homeassistant/components/zha/core/channels/manufacturerspecific.py b/homeassistant/components/zha/core/channels/manufacturerspecific.py index e6b88a6c9ad..85a478b0d4d 100644 --- a/homeassistant/components/zha/core/channels/manufacturerspecific.py +++ b/homeassistant/components/zha/core/channels/manufacturerspecific.py @@ -125,6 +125,7 @@ class OppleRemote(ZigbeeChannel): elif self.cluster.endpoint.model in ("lumi.plug.mmeu01", "lumi.plug.maeu01"): self.ZCL_INIT_ATTRS = { "power_outage_memory": True, + "consumer_connected": True, } elif self.cluster.endpoint.model == "aqara.feeder.acn001": self.ZCL_INIT_ATTRS = {