NEWS
Fernbedienung - MQTT Werte löschen
-
Hallo,
ich habe mir einen IR Sender gebaut, der an meiner Stereo hängt und an einem D1 Mini. Dieser hat in meinem ioBroker einen Wert subscribted. Je nach Wert sendet der D1 Mini dann das entsprechende Signal an meine Anlage.
Soweit so gut. Das Problem ist nun, dass ich nicht x-Mal den selben Wert senden kann, da der Wert ja schon eingetragen ist. z.B. 3-mal lauter drücken geht nicht. (Lauter -> Play -> Lauter -> Pause -> Lauter -> Play geht)
Also hab ich mir ein Blockly gebastelt, dass den Wert dann einfach löscht, um ihn neu setzen zu können.Mein Problem ist jetzt, dass irgendwie das Signal jedes Mal 2-mal gesendet wird. Anscheinend wird irgendwas aktualisiert, weshalb der D1 Mini merkt, dass der Wert erneuert wurde und ihn nochmal sendet. Blöd, weil ich dann z.B. nie Play/Pause drücken kann, da immer das Signal kurz nacheinander gesendet wird.
Es scheint eben so, dass mein Blockly beim Prüfen den Wert "anfässt" weshalb MQTT ihn neu published... Kann das sein?Wie löse ich das charmanter? Danke für Anregungen
So sieht die VIS aus:
Das steuert der Button - setz einfach den Value "on":
Hier wird der Value im mqtt gesetzt und gepublished
Und da ich nicht zwei Mal den gleichen Wert publishen kann irgendwie, war meine Idee, mit diesem Blockly dann den Wert immer wieder zu "resetten"
Leider wird, wie bereits erwähnt, dadurch das Signal immer doppelt gesendet...
Danke!!
-
@Master-Rudi sagte in Fernbedienung - MQTT Werte löschen:
Das Problem ist nun, dass ich nicht zwei Mal den selben Wert senden kann, da der Wert ja schon eingetragen ist. z.B. 3-mal lauter drücken geht nicht.
Also hab ich mir ein Blockly gebastelt, dass den Wert dann einfach löscht.Das stimmt so nicht. Das Problem ist, dass du nur auf "wurde geändert" hörst und dafür "anerkannt" als "egal" hast. Wenn du das änderst, dann musst du nicht mit den Werten herumspielen, sondern erhältst genau dann eine Notifikation, wenn der Wert gesetzt wird - egal ob er sich ändert oder nicht.
-
@UncleSam said in Fernbedienung - MQTT Werte löschen:
@Master-Rudi sagte in Fernbedienung - MQTT Werte löschen:
Das Problem ist nun, dass ich nicht zwei Mal den selben Wert senden kann, da der Wert ja schon eingetragen ist. z.B. 3-mal lauter drücken geht nicht.
Also hab ich mir ein Blockly gebastelt, dass den Wert dann einfach löscht.Das stimmt so nicht. Das Problem ist, dass du nur auf "wurde geändert" hörst und dafür "anerkannt" als "egal" hast. Wenn du das änderst, dann musst du nicht mit den Werten herumspielen, sondern erhältst genau dann eine Notifikation, wenn der Wert gesetzt wird - egal ob er sich ändert oder nicht.
Ok das verstehe ich nicht ganz. Ich setz meine Werte ja direkt vom Button als state in den Value des MQTT Adapters und nicht über Blockly.
Oder beziehst du dich jetzt auf mein gezeigtes "Löschscript"?
-
@Master-Rudi sagte in Fernbedienung - MQTT Werte löschen:
ich habe mir einen IR Sender gebaut, der an meiner Stereo hängt und an einem D1 Mini. Dieser hat in meinem ioBroker einen Wert subscribted. Je nach Wert sendet der D1 Mini dann das entsprechende Signal an meine Anlage.
Wie hast du das denn gemacht? In einem Skript, oder ein Adapter? Dort musst du einfach auf alle Werte hören (die
ack=true
haben) und nicht nur auf das ändern des Wertes. -
OK, nach genauerem durchlesen scheint es ein Problem mit dem MQTT Adapter zu sein, der nicht jeden Wert schickt, sondern nur Veränderungen. Da weiss ich leider auch nicht weiter.
-
@UncleSam said in Fernbedienung - MQTT Werte löschen:
OK, nach genauerem durchlesen scheint es ein Problem mit dem MQTT Adapter zu sein, der nicht jeden Wert schickt, sondern nur Veränderungen. Da weiss ich leider auch nicht weiter.
Ahh ich D**p... Habs gefunden. Im MQTT Adapter einfach den Haken bei "Publish nur bei Änderungen" raus nehmen. Dann gehts auch ihne Script und Umweg... Danke für den kleinen Denkanstoß