@mickym
Genau das war das Problem. Im MQTT Adapter war noch der Haken bei "Nur bei Änderungen publizieren" gesetzt...
Das ist mir natürlich exakt nach dem Abschicken des Beitrags aufgefallen 
Die Klingel/Lautsprecher funktioniert nun wieder wie gehabt.
Dennoch wird der Datenpunkt an sich immernoch nicht richtig aktualisiert, sprich es gibt keinen neuen Zeitstempel für die Aktualisierung des gleichen Wertes.
Habe das ganze nochmal mit einer schnellen Installation von ioBroker auf einem Raspi nachgecheckt, dort ist das gleiche Verhalten...
@Codierknecht
-
Wird als "Zeichenkette" an den ESP8266 übertragen, ist aber im Grunde numerisch ja.
-
Tatsächlich etwas unüblich nehme ich an, da aber durch Änderung des "tone" Datenpunkts dessen Wert neu gepublished wird und der code auf der Klingel auf dessen Änderung hört, habe ich mir den extra Code und Datenpunkt zur Abfrage eines "triggers" gespart. Je nach dem welche Zahl ich in den Datenpunkt aktualisiere, wird entsprechender Ton von der SD-Karte abgespielt.
-
Die Reihenfolge eines Klingelvorgangs ist:
- Klingelknopf
- Erkennung durch Homematic Klingelsensor
- Blockly triggert auf Datenpunkt von hm-rpc Adapter
- Blockly aktualisiert Wert im MQTT Adapter
- MQTT published Wert zum esp8266
- esp spricht mp3 Modul an
- Ton mit entsprechender Nummer wird abgespielt
Habe mit und ohne ACK probiert, bei keinem wird der Zeitstempel beim gleichen Wert neu übernommen.
Das ganze ist mir im Endeffekt aufgefallen, da ich andersherum mit dem Gedanken spiele, mit NFC-Tags gewisse Steuerungen im smart-home zu realisieren. Dafür drehe ich den Spieß um und möchte mit einem ESP8266 via MQTT die Kennung des NFC Tags übermitteln und darauf reagieren. Als Tüpfelchen soll ein Bestätigungston von der Klingel abgespielt werden. Wenn ich aber doppelt mit gleicher Karte publishe und der Datenpunkt aufgrund des gleichen Wertes nicht aktualisiert wird, funktioniert dies nur einmal... Ich werde im laufe des Tages das mal nachprüfen, ob sich das auch durch eine externe Änderung so verhält.