NEWS
Visualisierung mit Node Red erstellen
-
@mickym Momentan lässt sie sich ja noch nicht an/aus schalten
-
@damrak2022 Du kannst die doch im iobroker selbst schalten, indem Du einen Wert in den Datenpunkt einträgst. Du musst ja wissen, wie Du die Lampe schalten kannst. Was steht denn jetzt in dem Datenpunkt drin?
-
@mickym Ich ändere das mal auf die Stehlampe ab
-
@damrak2022 Na Du darfst die Eingabe NICHT bestätigen, das darf NUR der Adapter machen. Du trägst den Wert unbestätigt ein - der Adapter schaltet die Lampe und meldet Dir dann den Wert bestätigt in dem Datenpunkt wieder zurück - also setze den Wert unbestätigt.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ich ändere das mal auf die Stehlampe ab
Musst Du nicht - das Problem war, dass Du den Wert bestätigt gesetzt hast.
-
@mickym Jetzt geht es
-
@damrak2022 Tja - ich kann hellsehen.
-
@mickym Ich frage mich gerade seit wie vielen Jahren Du das schon machst?
-
@damrak2022 Ich habe genau im August 2019 angefangen. und musste viel lernen.
-
@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: