NEWS
Shellys ("Alt und Plus") über MQTT Adapter
-
@hotspot_2 Und wie gesagt für komplexere Ausgaben - zum Beispiel Nachrichten kannst du auch template Nodes verwenden.
-
@mickym Ich meinte dort wo ich "Waschküche" eingetragen habe als msg.payload muss "Waschküche" auch in Anführungszeichen in die Payload eingetragen werden (msg.payload) dann klappt das zusammensetzen einwandfrei.
-
@hotspot_2 Na alle konstanten Strings die hinzufügen willst und keine Nachrichteneigenschaften sind müssen natürlich in Anführungszeichen. Die Nachrichteneigenschaft payload selbst im alten Nachrichtenobjekt darf aber nicht in Anführungszeichen, sonst wird ja der String "payload" ausgegeben.
-
@mickym sagte in Shellys ("Alt und Plus") über MQTT Adapter:
"string vorher " & payload & " string nachher"
Hier mal wieder ein paar Beispiele - für Nachrichtenausgaben:
Für komplexere Beispiele was die Template Node alles kann, schau hier: https://stevesnoderedguide.com/node-red-template-node
-
@mickym sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@hotspot_2 OK - dann ist das der richtig - in der Output eigenschaft steht der Status - dann also bitte die mqtt-In Node auf dieses Status topic und dann eine debug-Node dahinter machen.
HI Mickym,
ich bekomme es leider nicht hin, ich stehe irgendwie auf dem Schlauch
habe den Post jetzt x-xmal gelesen...ich mache das, aber er debuggt nicht, kann schalten wie ich will.
ich habe einen Shelly 2pm Plus, welcher im switch 0 und 1 via "output":false/ true gesteuert wurd
-
@dos1973 Also als allererstes wenn Du mit mqtt Nodes arbeitest musst Du auch mqtt Schreibweise verwenden - da Du die nicht aus dem iobroker ausliest sonder via mqtt. Die topics stehen in dem mqtt Adapter unter Name. Du musst als den Namen aus dem mqtt-Adapter kopieren und nicht den Pfad zum Objekt.
Um also den Status von deinem switch:0 und switch:1 auszulesen musst Du die topics in der mqtt-IN Node auf
shellies/Licht/Badezimmer/status/switch:0
bzw.
shellies/Licht/Badezimmer/status/switch:1
setzen.
Sie Hierarchien der topics in der mqtt Schreibweise werden durch einen Schrägstrich und nicht durch einen Punkt getrennt. (mqtt kennt auch keine iobroker-Adapter und folglich auch keine Adapterinstanzen. )
Wenn das funktioniert melde Dich mal mit einem Screen-shot der debug1 Ausgabe. -
@mickym
oh mann ... ja jetzt debuggt dasMensch das hätte ich merken müssen
output:false /true ist die Steuerung
-
@dos1973 Genau - Du musst also nur nach dem output selektieren bei Dir aber gleichzeitig noch nach der id - damit Du weisst welcher Schalter. Ich würde also das topic auf die ID setzen und die payload auf den output. Wenn Du das gerne also Flow hast. dann kopiere mal bitte den ganzen Wert in code-tags hier rein in dem Du in der ersten Zeile den Wert des objects kopierst.
-
@mickym
ich bekomme gerade nix verstandenich verstehe momentan noch nicht was mein Ziel ist. mit den Gen1 Adaptern habe ich ja einen IOBroker DP den ich mit True / false schalte
muss ich den Output wert als auch DP erzeugen?
-
@dos1973 Nun Du schaltest über den rpc Datenpunkt - den brauchst Du wenn Du NodeRed mqtt-Out Nodes machst nicht erstellen, weil Du dann direkt das topic publishst - anschliessend siehst Du ihn auch im mqtt Adapter.
Zum Schalten geht alles in einen rpc topic von dem ganzen Shelly:
Ich habs schon mal in das msg.topic reingemacht - also selbst wenn du die mqtt-In Node nicht konfigurierst müsste es gehen:
Also das topic habe ich gelb/orange markiert:
Ich habe mal um es flexibel für Dich zu machen - eine Nachrichteneigenschaft "switch" definiert!
Mit 0 oder 1 definierst Du welchen Schalter du schalten willst.
Grün siehst du als die payload und den switch im Objekt dass Du an den rpc Datenpunkt schickst
Letzlich noch lila markiert die beiden Parameter, die Du frei vergeben kannst.
Die ID - ist eine Nummer von Dir - die userid der Name - damit identifiziert werden kann, wer das Kommando geschickt hat. Ich habe hier mal deinen Nickname verwendet, könnte aber auch Dein Flow Name sein, damit Du siehst woher das Kommando stammt.
Unter command oder response - keine Ahnung wie das heißt wirst du dann unter diesem Namen den Response finden - auf Dein Kommando.
Hier der Flow ohne mqtt Node:
-
@dos1973 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym
ich bekomme gerade nix verstandenich verstehe momentan noch nicht was mein Ziel ist. mit den Gen1 Adaptern habe ich ja einen IOBroker DP den ich mit True / false schalte
muss ich den Output wert als auch DP erzeugen?
So nachdem Du mir Dein Objekt nicht direkt hier rauskopiert hast (worum ich Dich gebeten hatte), habe ich eins von @hotspot_2 vom Shelly 1pm Plus genommen. Es geht ja nur um den Schaltzustand in der output Eigenschaft.
Du kannst also über Deine ID - also auch über das topic selbst ermitteln welcher Schalter geschaltet wurde:
Damit sollte nun aber alles klar sein???
-
-
@dos1973 ... wir schaffen das zusammen.
-
@mickym
passiert leider nichts -
@dos1973 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym
passiert leider nichtsHast Du auch Deine mqtt-out Node drangehängt? Wie sieht dein flow jetzt aus - Screenshot - debug Ausgabe?
-
ich kapiers nicht.
gibt kein debug ausgabe -
@mickym Nein das ist zum Status abrufen - und diese mqtt-Out Node macht keinen Sinn (also wieder weg machen - da darfst Du nicht reinschreiben). Du machst statt der Inject Node zum Beispiel beide Status mqtt-In Nodes dran.
Zum Schalten musst Du doch den anderen Flow nehmen: https://forum.iobroker.net/post/974483
Ich hab doch 2 Flows erstellt einen zum Schalten und einen um den Status zu bekommen. Du hast gerade den für den Status genommen.
-
@mickym
ich weiß nicht was ich machen soll.ich muss mal abbrechen.
Sitze seit Stunden an dem Ding und hab kein Nerv mehr und verstehe auch nix mehr.
Würde den am liebsten aus dem Fenster werfen...ich versuchs mal in 2-3 Stunden nochmals
-
@dos1973 Ok hast Du meinen Flow importiert? Hier nochmal
Dann trägst Du hier deinen mqtt Broker ein:
Mit den Inject Nodes kannst Du dann schalten.
-
@dos1973 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
ich muss mal abbrechen.
Sitze seit Stunden an dem Ding und hab kein Nerv mehr und verstehe auch nix mehr.
Würde den am liebsten aus dem Fenster werfen...
ich versuchs mal in 2-3 Stunden nochmalsOK - wir machen es dann ganz langsam - Schritt für Schritt, wenn Du wieder da bist. Du postest dann sofort nach jedem Schritt das Ergebnis und das schaffen wir schon zu zweit. Da bin ich mir sicher. - Wenn Du den Shelly mit der App schalten kannst, dann bekommen wir das auch über MQTT und NodeRed hin. Sei zuversichtlich und hab Geduld. Wie gesagt wir gehen beide jeden Schritt gemeinsam durch, OK?
Und Du musst sofort eine Frage stellen, wenn ich mich unklar ausgedrückt habe - nicht selbst probieren und Dich frusten lassen.
Hier habe ich noch ein kleines Video gemacht - wie Du dann erst den Switch_0 und dann den Switch_1 schaltest: