From 907fce37daa8bf2fb67d4d7d46cd0d3ccb3567c9 Mon Sep 17 00:00:00 2001 From: "matthias.lotz" Date: Wed, 11 Mar 2026 12:22:24 +0100 Subject: [PATCH] fix: ORM-Cache vor Bridge-Config-Push invalidieren MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit write() rief _build_bridge_config() auf bevor der ORM-Cache geleert war – self.search() las noch die alten (gecachten) Werte. Resultat: parser_type-Änderung wurde in die config-active.yaml nicht übernommen. Fix: flush_all() + invalidate_all() vor dem Push erzwingt, dass _build_bridge_config() die soeben geschriebenen Werte liest. --- .../open_workshop/open_workshop_mqtt/models/mqtt_device.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/extra-addons/open_workshop/open_workshop_mqtt/models/mqtt_device.py b/extra-addons/open_workshop/open_workshop_mqtt/models/mqtt_device.py index e4c2f66..39dbbcc 100644 --- a/extra-addons/open_workshop/open_workshop_mqtt/models/mqtt_device.py +++ b/extra-addons/open_workshop/open_workshop_mqtt/models/mqtt_device.py @@ -532,6 +532,10 @@ class MqttDevice(models.Model): } if any(field in vals for field in relevant_fields): + # ORM-Cache leeren damit _build_bridge_config die soeben geschriebenen + # Werte liest und nicht die gecachten Vor-Write-Werte. + self.env.flush_all() + self.env.invalidate_all() try: self._push_bridge_config() except Exception as e: