From 2c0ea508c85b7eaea7f5626bc36938433f86b6e9 Mon Sep 17 00:00:00 2001 From: "Ian C." <108159253+ic-dev21@users.noreply.github.com> Date: Sun, 30 Nov 2025 15:42:40 -0500 Subject: [PATCH 1/7] Ajout gestion kwh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Devrait permettre de logger, mais en tant que tel n'écrit pas dans l'attribut. Va nécessiter un ajout dans pyhilo --- custom_components/hilo/sensor.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/custom_components/hilo/sensor.py b/custom_components/hilo/sensor.py index 9166821f..6ee43a25 100755 --- a/custom_components/hilo/sensor.py +++ b/custom_components/hilo/sensor.py @@ -917,15 +917,24 @@ async def handle_challenge_details_update(self, challenge): event_id = self._next_events[0]["event_id"] progress = challenge.get("progress", "unknown") - baselinewH = challenge.get("baselineWh", 0) + + baseline_points = challenge.get("cumulativeBaselinePoints", []) + if baseline_points: + baselinewH = baseline_points[-1].["wh"] + allowed_kwh = baselinewH / 1000 if baselinewH > 0 else 0 + else: + baselinewH = challenge.get("baselineWh", 0) + used_wH = challenge.get("currentWh", 0) if used_wH is not None and used_wH > 0: used_kWh = used_wH / 1000 else: used_kWh = 0 + LOG.debug("handle_challenge_details_update progress is %s", progress) LOG.debug("handle_challenge_details_update baselineWh is %s", baselinewH) LOG.debug("handle_challenge_details_update used_kwh is %s", used_kWh) + LOG.debug("handle_challenge_details_update allowed_kwh is %s", allowed_kwh) if event_id in self._events: if challenge.get("progress") == "completed": From 0ebe71835153fb9d9568be99290180258965bb82 Mon Sep 17 00:00:00 2001 From: "Ian C." <108159253+ic-dev21@users.noreply.github.com> Date: Sun, 30 Nov 2025 15:43:47 -0500 Subject: [PATCH 2/7] Typo --- custom_components/hilo/sensor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/hilo/sensor.py b/custom_components/hilo/sensor.py index 6ee43a25..c4d3b39f 100755 --- a/custom_components/hilo/sensor.py +++ b/custom_components/hilo/sensor.py @@ -920,7 +920,7 @@ async def handle_challenge_details_update(self, challenge): baseline_points = challenge.get("cumulativeBaselinePoints", []) if baseline_points: - baselinewH = baseline_points[-1].["wh"] + baselinewH = baseline_points[-1]["wh"] allowed_kwh = baselinewH / 1000 if baselinewH > 0 else 0 else: baselinewH = challenge.get("baselineWh", 0) From 70a6900fb32ac802ff41d024d43f8ef36b2a5c7b Mon Sep 17 00:00:00 2001 From: "Ian C." <108159253+ic-dev21@users.noreply.github.com> Date: Sun, 30 Nov 2025 15:56:54 -0500 Subject: [PATCH 3/7] Update sensor.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vérifier si c'est pas nesté ailleurs, plus d'un message le contient et c'est pas la même clé. --- custom_components/hilo/sensor.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/custom_components/hilo/sensor.py b/custom_components/hilo/sensor.py index c4d3b39f..7e0f4066 100755 --- a/custom_components/hilo/sensor.py +++ b/custom_components/hilo/sensor.py @@ -919,11 +919,15 @@ async def handle_challenge_details_update(self, challenge): progress = challenge.get("progress", "unknown") baseline_points = challenge.get("cumulativeBaselinePoints", []) + + if not baseline_points: + consumption = challenge.get("consumption", {}) + baseline_points = consumption.get("cumulativeBaselinePoints", []) if baseline_points: baselinewH = baseline_points[-1]["wh"] - allowed_kwh = baselinewH / 1000 if baselinewH > 0 else 0 else: baselinewH = challenge.get("baselineWh", 0) + allowed_kwh = baselinewH / 1000 if baselinewH > 0 else 0 used_wH = challenge.get("currentWh", 0) if used_wH is not None and used_wH > 0: From 51bab31b0de3912fc31d4697fee26b596445f02b Mon Sep 17 00:00:00 2001 From: "Ian C." <108159253+ic-dev21@users.noreply.github.com> Date: Sun, 30 Nov 2025 16:52:27 -0500 Subject: [PATCH 4/7] Add call to new function This updates allowed_wh --- custom_components/hilo/sensor.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/custom_components/hilo/sensor.py b/custom_components/hilo/sensor.py index 7e0f4066..a5d10bcf 100755 --- a/custom_components/hilo/sensor.py +++ b/custom_components/hilo/sensor.py @@ -958,6 +958,8 @@ async def handle_challenge_details_update(self, challenge): updated_event.appreciation(self._hilo.appreciation) if self._hilo.pre_cold > 0: updated_event.pre_cold(self._hilo.pre_cold) + if baselinewH > 0: + updated_event.update_allowed_wh(baselinewH) self._events[event_id] = updated_event self._update_next_events() From c726ea9f4a28dbceb5cc6dd38de890fcfe48ce75 Mon Sep 17 00:00:00 2001 From: "Ian C." <108159253+ic-dev21@users.noreply.github.com> Date: Wed, 3 Dec 2025 06:54:48 -0500 Subject: [PATCH 5/7] Update __init__.py Do nothing with this for now --- custom_components/hilo/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/custom_components/hilo/__init__.py b/custom_components/hilo/__init__.py index 61069d1b..d2e39af2 100644 --- a/custom_components/hilo/__init__.py +++ b/custom_components/hilo/__init__.py @@ -302,6 +302,10 @@ async def _handle_websocket_message(self, event): msg_type = "challenge_details_update" elif target == "ChallengeListUpdatedValuesReceived": msg_type = "challenge_details_update" + elif target == "EventCHDetailsUpdatedValuesReceived": + LOG.debug("EventCHDetailsUpdatedValuesReceived message received") + elif target == "EventFlexDetailsUpdatedValuesReceived": + LOG.debug("EventFlexDetailsUpdatedValuesReceived message received") # ic-dev21 Notify listeners for listener in self._websocket_listeners: From a111407964190d6790f974b6776b411afefc8ff8 Mon Sep 17 00:00:00 2001 From: "Ian C." <108159253+ic-dev21@users.noreply.github.com> Date: Wed, 3 Dec 2025 20:23:28 -0500 Subject: [PATCH 6/7] Bump up version --- custom_components/hilo/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/hilo/manifest.json b/custom_components/hilo/manifest.json index 3ed383ce..e4b8b71f 100755 --- a/custom_components/hilo/manifest.json +++ b/custom_components/hilo/manifest.json @@ -11,6 +11,6 @@ "documentation": "https://github.com/dvd-dev/hilo", "iot_class": "cloud_push", "issue_tracker": "https://github.com/dvd-dev/hilo/issues", - "requirements": ["python-hilo>=2025.11.1"], - "version": "2025.11.4" + "requirements": ["python-hilo>=2025.12.1"], + "version": "2025.12.1" } From 5b1963d6c04326741258d9e73d982ffa89480ce1 Mon Sep 17 00:00:00 2001 From: "Ian C." <108159253+ic-dev21@users.noreply.github.com> Date: Wed, 3 Dec 2025 20:29:22 -0500 Subject: [PATCH 7/7] Placeholder debug logging --- custom_components/hilo/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/custom_components/hilo/__init__.py b/custom_components/hilo/__init__.py index d2e39af2..417a8519 100644 --- a/custom_components/hilo/__init__.py +++ b/custom_components/hilo/__init__.py @@ -306,6 +306,8 @@ async def _handle_websocket_message(self, event): LOG.debug("EventCHDetailsUpdatedValuesReceived message received") elif target == "EventFlexDetailsUpdatedValuesReceived": LOG.debug("EventFlexDetailsUpdatedValuesReceived message received") + elif target == "EventListUpdatedValuesReceived": + LOG.debug("EventListUpdatedValuesReceived message received") # ic-dev21 Notify listeners for listener in self._websocket_listeners: