From 05071c41764d8b0e29dfb7fc71d85b490ac21f56 Mon Sep 17 00:00:00 2001 From: bumaas Date: Fri, 19 Jun 2026 08:56:34 +0200 Subject: [PATCH 1/2] Fix retry loop exhausting API quota when initialization fails Write InitializationSignature at the start of InitializeDevice() instead of at the end. Previously, if createStates() failed (device offline) or setupSettings() was interrupted (rate limit hit mid-way), the signature was never written. Any subsequent IM_CHANGESTATUS or CONNECTED event would re-trigger InitializeDevice(), burning through the 1000 requests/day limit. Co-Authored-By: Claude Sonnet 4.6 --- Home Connect Device/module.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Home Connect Device/module.php b/Home Connect Device/module.php index ffac008..ffd1f40 100644 --- a/Home Connect Device/module.php +++ b/Home Connect Device/module.php @@ -385,6 +385,9 @@ public function RequestAction($Ident, $Value) public function InitializeDevice() { + // Write signature before API calls to prevent retry loops when initialization fails + // (e.g. device offline or rate limit hit mid-way through setupSettings) + $this->WriteAttributeString('InitializationSignature', $this->getInitializationSignature()); if ($this->createStates()) { $this->setupSettings(); if ($this->createPrograms()) { @@ -397,7 +400,6 @@ public function InitializeDevice() $this->createEventProfile(); $this->MaintainVariable('Event', $this->Translate('Event'), VARIABLETYPE_STRING, 'HomeConnect.Event.' . $this->ReadPropertyString('DeviceType'), 0, true); $this->MaintainVariable('EventDescription', $this->Translate('Event Description'), VARIABLETYPE_STRING, '', 0, true); - $this->WriteAttributeString('InitializationSignature', $this->getInitializationSignature()); } } From 630248338380193778afd1640ebf4e59a322f34e Mon Sep 17 00:00:00 2001 From: bumaas Date: Fri, 19 Jun 2026 08:59:02 +0200 Subject: [PATCH 2/2] Bump build to 11 Co-Authored-By: Claude Sonnet 4.6 --- library.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library.json b/library.json index 390ca79..38e345c 100644 --- a/library.json +++ b/library.json @@ -7,6 +7,6 @@ "version": "6.0" }, "version": "1.1", - "build": 10, - "date": 1779624000 + "build": 11, + "date": 1781870400 }