MQTT_DEVICE: möglicher Fehler bei Änderung "subscribeReading_XXX"

Begonnen von CONSULitAS, 20 Dezember 2022, 12:01:28

Vorheriges Thema - Nächstes Thema

CONSULitAS

Hallo zusammen,

ich habe gerade eine interessante Beobachtung gemacht.

Ändert man in einem MQTT_DEVICE ein attr, weil man sich vertippt hat, so erfolgt auf den alten Topic kein Unsubscribe.

Alt:
subscribeReading_temperature M20/OG/SZ/Thermometer/temperature
Neu:
subscribeReading_temperature M20/OG/AZ/Thermometer/temperature

Effekt: Das Reading temperature wird sowohl vom alten als auch vom neuen Topic gefüllt.

Das führt zu sehr überraschenden Effekten und kann einen beim Debugging in den Wahnsinn treiben.  ::)

Workaround ist derzeit nur:
Attribut per "deleteattr" löschen und dann neu anlegen.

Übrigens: Das Verhalten ist im Event Monitor gut nachvollziehbar.

Bei einer Änderung des Topics erhält man lediglich
2022-12-20 11:14:59 Global global ATTR AZ_Thermometer subscribeReading_temperature M20/OG/AZ/Thermometer/temperature

Und nur beim Löschen des Attributs erhält man
2022-12-20 11:16:13 Global global DELETEATTR AZ_Thermometer subscribeReading_temperature
2022-12-20 11:16:13 MQTT_DEVICE AZ_Thermometer transmission-state: unsubscription acknowledged


IMO ist das ein Fehler. Bei Änderung des Attribut-Wertes muss vorher eine unsubscription auf das alte Topic ausgelöst werden.

rudolfkoenig