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.
Ich wuerde ueber ein Umzug nach MQTT2_DEVICE nachdenken.