From c38b741cf17e2f2f0f6fe8f2e41d806e2b5fe68a Mon Sep 17 00:00:00 2001 From: mdeweerd Date: Sat, 30 Sep 2023 18:14:46 +0200 Subject: [PATCH] Provide 'reportable_change' in anwser and clarify button press for sleepy devices --- README.md | 8 +++++--- custom_components/zha_toolkit/zcl_attr.py | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 69cdca6..2a67683 100644 --- a/README.md +++ b/README.md @@ -1022,9 +1022,11 @@ Set the minimum and maximum delay between two reports and set the level of change required to report a value (before the maximum delay is expired). This example configures Temperature reporting on a SonOff SNZB-02 -(eWeLink/TH01). Note that you (may) need to press the button on the -thermometer just after requesting the command (it's a sleepy device and -does not wake up often). +(eWeLink/TH01). Note that on some devices you (may) need to press the +button on the thermometer just after requesting the command (it's a sleepy +device and does not wake up often). With a temperature sensor it may be +more appropriate to sure a high temperature rise to force it to report the +temperature and allow ZHA to send the configuration. After succeeding the configuration, the minimum delay was actually 20s which is likely the measurement period itself. The changes were reported diff --git a/custom_components/zha_toolkit/zcl_attr.py b/custom_components/zha_toolkit/zcl_attr.py index 2f51624..0c92b78 100644 --- a/custom_components/zha_toolkit/zcl_attr.py +++ b/custom_components/zha_toolkit/zcl_attr.py @@ -201,7 +201,9 @@ async def conf_report_read( r_conf["type"] = f"0x{rcfg.datatype:02X}" r_conf["min_interval"] = (rcfg.min_interval,) r_conf["max_interval"] = (rcfg.max_interval,) - # r_conf["reportable_change"] = rcfg.reportable_change, + r_conf["reportable_change"] = ( + getattr(rcfg, "reportable_change", None), + ) except Exception as e: # nosec LOGGER.error( "Issue when reading AttributesReportingConfig"