fix: ORM-Cache vor Bridge-Config-Push invalidieren

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.
This commit is contained in:
Matthias Lotz 2026-03-11 12:22:24 +01:00
parent c90fd5a6a8
commit 907fce37da

View File

@ -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: