NEWS
Visualisierung mit Node Red erstellen
-
@mickym Okay, ich im Februar diesen Jahres
-
@mickym Alles via Internet gelernt, oder ein Buch gekauft?
-
@damrak2022 Alles übers Internet gelernt
-
Darf ich Dir ein paar iobroker Grundlagen vermitteln?
-
@mickym Du hast mir sehr geholfen, na klar. Mein Ziel ist es jetzt erstmal mit Node Red klarzukommen um so einfache Dinge wie meine Shelly Steckdosen, meinen Stromverbrauch etc. einzubinden
-
Gut dann musst Du generell mal verstehen, was das ACK Flag bedeutet - also was Bestätigt oder Unbestätigt bedeutet.
Im iobroker hast Du (mal vom mqtt und alias Baum) einen Platz wo Du selbst Datenpunkte erstellen kannst, nämlich unter 0_userdata.0 und alles andere sind Objekte die irgendeinem Adapter gehören.
Wenn Du unter 0_userdata.0 einen Wert unbestätigt setzt, dann bleibt der rot, weil ihn niemand bestätigt. Bestätigte Werte sind grün bzw. schwarz.
Wenn Du unter 0_userdata.0 einen Wert bestätigt setzt dann ist er grün oder schwarz.Wie gesagt die ganzen anderen Objekte gehören irgendeinem Adapter. Die Objekte hue.0 und darunter gehören dem HUE Adapter in der Instanz 0. Das ist wichtig zu wissen. Wenn man in die Objekte unter hue.0 was reinschreiben will, muss es der Adapter erlauben, sprich die sind nicht schreibgeschützt angelegt.
Der Adapter setzt die Werte bestätigt, die er von der Hardware empfängt. Deswegen darf nur der HUE Adapter die Werte bestätigt setzen. Wenn ein Wert beschreibbar ist, um die Lampe zu schalten, dann muss man das unbestätigt machen. Der Adapter weiß dann - es gibt den Wunsch eines Benutzers die Lampe zu schalten. Der Adapter führt den Schaltbefehl aus, wartet auf die Bestätigung der Lamp und bestätigt dann den Status der Lampe in dem er den Befehl als bestätigt setzt. Deswegen ist der Wert kurzzeitig rot wenn Du den Wert setzt wird aber dann ganz schnell grün.
-
@mickym Okay, das habe ich mir mal wegkopiert. Danke.
In dem Flow von der Lampe fehlt mir jetzt ja noch eine Node, wo ich den Datenpunkt hinterlege. -
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, das habe ich mir mal wegkopiert. Danke.
In dem Flow von der Lampe fehlt mir jetzt ja noch eine Node, wo ich den Datenpunkt hinterlege.Würdest Du so freundlich sein, meine Erklärungen abzuwarten?
-
@mickym Sorry, nicht böse gemeint
-
Also musst Du immer als Schaltbefehl einen Wert im Admin unbestätigt setzen, wenn Du eine Lampe schalten willst, der Adapter bestätigt dann den Zustand.
Im Blockly hast Du unbestätigte Werte gesetzt in dem Du den steuere Block verwendet hast
Wenn Du einen Datenpunkt im Blockly bestätigt setzen wolltest zum Beispiel für 0_userdata.0 dann hast Du den aktualisieren Block verwendet:
In NodeRed schreibst du in Datenpunkte über die iobroker-OUT Node.
Im Topic gibst Du den Datenpunkt an - das entspricht also der Objekt ID
Über den Type = command steuerst Du - das entspricht dem steuere Befehl im Blockly oder den Wert unbestätigt zu setzen.
Uber den Type = value setzt den Wert bestätigt - also entspricht aktualisiere im Blockly und kannst Du dann für 0_userdata.0 Punkte verwenden.Als erstes filterst Du also in Deiner iobroker IN Node heraus, dass Du nur bestätigte Werte vom HUE Adapter haben willst.
Deswegen empfehle ich Dir schon mal in Deiner iobroker IN Node - nur bestätigte Werte herauszufiltern.
damit kommen dann auch nur wirklich die Zustände der Lampe durch und nicht wenn Du über den Admin schaltest, sondern lediglich wenn der HUE Adapter das bestätigt hat.
In Deiner Switch Node empfehle ich Dir auch - die Nachrichten zu blockieren und nicht durchzuschleußen, sonst hast Du ganz schnelle eine Endlosschleife drin, die Dein System crasht.
In Deiner Switch Node - machst Du also den Haken weg, dass die Nachrichten einfach durchgereicht werden:
dann kannst Du wählen wie der Schalter aussehen soll - ob er den Status des geschalteten Zustands nehmen soll oder den des eingehenden Zustandes. Ich empfehle immer den Eingangszustand zu verwenden, damit der Schalter den tatsächlichen Zustand widerspiegelt. Wenn Du das Licht über eine HUE Fernbedienung schaltest, dann soll der Schalter im Dashboard ja den aktuellen Zustand der Lampe annehmen.
So zurückschreiben - sprich steuern tust Du die Lampe also über die iobroker - Out Node in dem Du in den gleichen Datenpunkt aber unbestätigt - also ein Kommando schreibst.
Dein ganzer Flow mit dem Lichtschalter wird also so aussehen:
-
@mickym Danke, das habe ic jetzt alles so angepasst. Nun habe ich meine Lampe über den Flow ausgeschaltet, sie blieb aber an. Dann habe ich sie über die Hue App ausgemacht, bekomme sie jetzt aber über den Flow nicht eingeschaltet. Merkwürdig, hier kommt sich anscheinend was in die Quere.
Das sind meine Einstellungen:
-
@damrak2022 Wenn Du alles durchgelesen hast - was ich geschrieben habe und nicht selbst rum machst, dann solltest Du es hinbekommen.
-
@damrak2022 Ging es denn über Deinen Datenpunkt im Admin aus. Wie schaut denn der bitte aus. Soweit kann ich nicht hellsehen, insbesondere da ich diesen Adapter nicht verwende.
-
@mickym Okay, dann mache ich das und ich werde mich nun damit beschäftigen. meine anderen Dinge ein Ruhe hinzuzufügen.
Bis dahin erstmal vielen Dank -
@mickym Ich werde das alles nach und nach ausprobieren. Ich weiß ja jetzt wo die Stellen sind, an denen ich nachschauen muss.
Letzte Frage: Die Reihenfolge der Nodes ist korrekt?
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, dann mache ich das und ich werde mich nun damit beschäftigen. meine anderen Dinge ein Ruhe hinzuzufügen.
Bis dahin erstmal vielen DankJa mach das - wichtig ist, dass Du im Admin vorher weißt, wie Du Deine Hardware schalten kannst. Wenn es im Admin nicht funktioniert - wird es auch mit was anderem nicht funktionieren
-
Letzte Frage: Die Reihenfolge der Nodes ist korrekt?
@damrak2022 Was macht denn die iobroker Out Node auf dem Kabel? Du musst den Eingang der iobroker Out Node mit der switch Node verbinden. Wenn Du eine Debug Node noch zusätzlich haben willst - dann musst Du beide dran hängen.
Die iobroker-OUT Node hat keinen Ausgang - da ist nichts dran. - Also wenn Du wissen willst mit einer Debug Node was Du in die iobroker Out Node schickst musst Du sowohl die Debug Node also auch die iobroker OUT Node an die vorhergehende Node verkabeln.
NodeRed verdoppelt/vervielfältigt automatisch die Nachricht und schickt die gleiche Nachricht an beide Nodes - an die iobroker OUT Node und an die Debug Node.
-
@mickym So, ich mache jetzt Schluss, aber es fängt an Spass zu machen, obwohl es garantiert noch massig zu üben/lernen gibt
-
@damrak2022 Aha - es scheint also zu klappen - und Du verstehst nun wie es funktioniert?
-
@mickym Ich flüstere mal ein VORSICHTIGES "JA".