NEWS
Mqtt zum Victron Cerbo GX ?
-
Ich betrachte also
@humidor sagte in Mqtt zum Victron Cerbo GX ?:
@mickym geile Sache wenn es am Ende funktioniert, besten Dank für deine Beharrlichkeit, manchmal schafft man es einfach nur mit Hilfe !!
Ja dann kann man das ja nun als gelöst betrachten und als Nebeneffekt hast Du hoffentlich trotzdem gelernt, was mqtt ist und wie die Kommunikation funktioniert. Jetzt kannst Du ja direkt wieder puzzeln und bist nicht mehr auf NodeRed angewiesen.
-
@mickym denke ich werde als Nächstes den Befehl aus Blockly absetzen, so wie du auch gemeint hast
-
@humidor sagte in Mqtt zum Victron Cerbo GX ?:
ch dachte auch, jetzt hab ich was kaputt gemacht bzw. das System geschossen, war nicht mehr erreichbar.... hats nur bei meinem Testaufbau die Sicherung geschmissen
Deswegen - ich bin jetzt raus und lehne Haftung für alle Einstellungen ab, die Du nun schickst.
-
@mickym sagte in Mqtt zum Victron Cerbo GX ?:
@humidor sagte in Mqtt zum Victron Cerbo GX ?:
ch dachte auch, jetzt hab ich was kaputt gemacht bzw. das System geschossen, war nicht mehr erreichbar.... hats nur bei meinem Testaufbau die Sicherung geschmissen
Deswegen - ich bin jetzt raus und lehne Haftung für alle Einstellungen ab, die Du nun schickst.
Na gibt ja nun ein mqtt Puzzlestück - das ist ja dann kein Problem mehr.
-
@mickym das Blockly läuft noch nicht, ich mach da was mit der Nachricht falsch
-
@humidor Topics mit / und nicht mit Punkten. Diese Punkte haben im mqtt System nichts zu suchen.
-
@mickym ach ich Trottel, copy past Idiot, ja jetzt läuft es
hab noch gelesen, dass für diesen mqtt befehl der Datenpunkt schon da sein mussSuper, so viel Erfolg heute! das reicht, ab in Bett, danke dir, schönen Abend noch.
-
@humidor sagte in Mqtt zum Victron Cerbo GX ?:
@mickym ach ich Trottel, copy past Idiot, ja jetzt läuft es
Wenn Du den Namen kopierst und nicht den Pfad - dann ist da in der Regel die mqtt Schreibweise drin:
test/hallo2Der Datenpunkt wird automatisch angelegt - er muss nicht vorhanden sein, wenn Du den Datenpunkt nicht mit steuere beschreibst sondern mit mqtt Send Block.
-
Ich brauche Hilfe beim Senden meines JSON an enphase/battery (Vicron Cerbo)
Der JSON sollte wie folgt aussehen (battery) und mein Ergebnis der. u.g. Logik (test)
Red-Node-Logik- Alle Eingäng vorerst händisch
Join-Node:
Einer der 4 Input-nodes;
Danke für Euere Gedanken
Wie kann ich den korrekten JSON-String erstellen ? -
@ak68 bitte auf deutsch !
-
@ak68 nun die topics musst halt ausschreiben. die Eigenschaften die unter DC sollen, verschiebst halt mit einer change node entweder mit einer JSONATA Regel oder halt mit 3 Verschieberegeln.
Verschiebe payload.P nach payload.DC.P usw.wenn das Objekt voll ist (also alle 4 Eigenschaften gesetzt sind), dann kannst auch den Haken bei jeder nachfolgenden Nachricht reinmachen.
-
Ich habe jetzt eine ganz andere Lösung gefunden, aber noch 1 Problem: Der String wird nicht in der nötigen Reihenfolge zusammengesetzt: 1.2.3.4 sondern wahllos nach Werteingang (vgl MQTT-Explorer: "battery").
Wie kann ich die Reihenfolge erzwingen (wie in Mqtt-Explorer: "Test")?Vielen Dank schon einmal
Andreas -
@ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.
Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.
Hier alle Möglichkeiten, die ich Dir beschrieben habe:
und hier zum Import:
MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!
-
Ach ja und wenn Du was Multiplizieren musst - kannst Du es entweder auch direkt über JSONATA machen - und nicht wieder irgendwelche unnützen Nodes verwenden. Wenn Du es nicht weißt, wie dann lieber fragen - als solche unnützen Nodes installieren.
Die Change Node ist SO mächtig, mit der kannst Du fast alles machen, ändern, transformieren!!!!
-
@mickym sagte in Mqtt zum Victron Cerbo GX ?:
@ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.
Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.
Hier alle Möglichkeiten, die ich Dir beschrieben habe:
und hier zum Import:
MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!
Du bist ein Schatz
Läuft ....
Sorry, aber ich komme aus der Edomi-Ecke und habe bisher keine Red-Node-Erfahrung
Andreas -
@ak68 Na das ist ja kein Problem - Du solltest Dich nur mal mit Javascript Objekten und Arrays beschäftigen - jedenfalls nichts mit Strings machen.
Auch über die Debug Node kann man Pfade ermitteln wenn man nicht weiß, wie man auf bestimmte Eigenschaften zugreifen kann.
Es war auch nicht böse gemeint. Nur wenn ich Dir was mit Text beschreibe und Du es nicht verstehst, dann frage lieber nach bevor Du selbst in die falsche Richtung gehst. Anhand meines Flows siehst Du ja nun 3 Möglichkeiten und kannst Dir ja überlegen, welche Dir am Besten gefällt.
-
Hallo Mickym,
leider habe ich offensichlich falsche Variablen.
Mit den manuellen Werten klappt es, mit meinen per MQTT-zugeleiteten Werte NICH.Müssen diese noch umgewandelt werden ?
Danke
Andreas -
@ak68 Ja wahrscheinlich musst Du mit change Variablen noch das richtig topic setzen. Du siehst ja, dass ich in den Inject Nodes - die entsprechenden topics gesetzt habe. Setze also einfach hinter die mqtt In Nodes, Change Nodes und setze die korrekten Topics.
Also zum Beispiel:
Ein Nachrichtenobjekt ist wie ein normales Object (JS oder JSON) aufgebaut und besitzt mehrere Eigenschaften, die Du frei definieren kannst.
Gebräuchlich sind meist eine Eigenschaft "payload", die die Nutzdaten enthält, das ist aber nicht zwingend. Und meist auch ein "topic", das beschreibt um welchen Wert es sich handelt. Wenn Nachrichten nur Nutzwerte schicken würden, wie 3,23 usw. ohne dass man deren Bedeutung beschreibt, könnte man mit diesen Werten nichts anfangen. Deswegen setzt man ein topic.
Und wie gesagt solche Multiplier Nodes kann man sich sparen. Rechnen kann man auch in Change NOdes mit JSONATA. Mehr machen diese Nodes auch nicht.
Wenn Du das topic nicht setzt, dann steht halt in der Nachricht das mqtt-topic im topic - das siehst Du alles, wenn Du Dir das Nachrichtenobjekt über die Debug Nodes ausgibst. Gerne auch das komplette Nachrichtenobjekt.
Lange Rede kurzer Sinn. Setze hinter Deine mqtt Nodes noch Change Nodes und setze das topic korrekt, wie in den Inject nodes, dann funktioniert das Ganze auch.
-
-
Hallo Mickym,
Ich habe die beiden Nodes "Verschieben mit 2 bzw 3 Regeln" nicht verstanden.
Was bewirken diese ?Vielen Dank
Andreas