Ich stehe da jetzt an.
Mein Bewegungsmelder steuert ein Lampe für 5 Minuten an, dann aus. Das funktioniert.
Ich möchte nun eine Bedingung einbauen.
Der Trigger soll nur auslösen, wenn die Deckenlampe2 eingeschaltet ist.
Im Trigger selbst habe ich schon eine Bedingung eingebaut (nur triggern wenn ein true kommt)
Wo, muss ich da was einbauen?
Nein das geht nicht @JayJayX, wenn ein Return gesendet wurde dann ist Ende mit der Funktion bis zum nächsten Trigger.
Daher gibt es die Funktion Multimessage.
Damit sendet die Funktion dann mehrere Return.
Ich kann dir mal ein Beispiel fertig machen für eine Multimessage.
Hier ein Beispiel für 2 Ausgaben an zwei Outputs.
Kommt vom huemagic node
Habe ich auch schon festgestellt
Ich habe das jetzt einfach in eine neue Funktion gemacht… Ist dann zwar blöd, wenn sich mal ein Sensor ändert müssen an mehreren Stellen die IDs geändert werden, aber damit kann ich leben, kommt ja nicht so oft vor…
Danke @Micha, hast mir einige HG eingespart und ich habe einiges an Übersichlichkeit zurückgewonnen. Mal sehen was ich sonst noch alles so auslagern kann
Viele Grüße
JayJay
Du hast die Möglichkeit den Zustand deiner Lampen in eine Globale Variable zu speichern und diese dann als Bedingungen für das schalten zu benutzen.
Dies bedarf dann jedoch zwei weitere Funktionen.
Das wird wahrscheinlich das sinnvollste sein.
VG Micha
Danke, habe es nun einmal mit Blockly gemacht.
Gibt es Interesse an einer kleinen Zusammenstellung von Befehlen für den homee Node Red Adapter ?
Würde die dann einfach mal zusammenfassen.
VG Micha
Mach, in Form eines Wiki-Eintrags, ich bin sicher, dass @stfnhmplr das dann sowohl von der homeean-Seite als auch von der Plugin-Seite aus verlinkt, oder?
Du schaffst das - andere springen dann sicherlich gerne ergänzend ein. Es geht nur um die Inhalte, nicht darum sich zu verkünsteln (wie ich es zu tun pflege).
Ich finde den Vorschlag ja auch super! Bedeutet zwar wieder Arbeit, weil man Ideen bekommt, auf die man sonst nicht gekommen wäre, aber gut finde ich es trotzdem.
Hallo, ich bastel auch mit Node Red und hab eine Anfängerfrage…
Leider hab ich grad keine Bilder zum Problem , deswegen versuche ich das zu beschreiben, Sorry wenn ich mich da ungenau ausdrücke, bin wirklich blutiger Anfänger mit dem Thema…
Den homee hab ich in Node Red eingebunden, wenn ich mir dann anzeigen lasse was da alles drin steckt, bzw was ich auslesen könnte, ist das ja ziemlich viel…jetzt die Frage.
Wie muss die Function msg.payload ausehen um zb eine bestimmte Temperatur eines sensors auszulesen und zb in eine Gauge einzubringen.
Wie komme ich auf den Pfad zu dem Wert?
War das einigermaßen verständlich?
Vielen Dank für eine Tip.
Grüße
Es ist verständlich.
Du kannst mit einem GET:nodes deine Geräte abfragen.
Hier findest du dann die entsprechenden Node Id‘s und die Attribut id‘s.
Die Funktion folgt dann nochmal.
VG Micha
So, jetzt ein paar Bilder dazu. Hab einiges lösen können. Jetzt bekomm ich im Debug eine Serie an Fehlern angezeigt, der Flow funktioniert aber, aufm Dashboard zeigt es mir die gewünschten Temperaturen an.
Kann mir da jemand vielleicht ein Tip geben.
Vielen Dank
Das ist leider falsch aufgebaut
Bitte entferne das Inject node vom homee.
Der homee sendet automatisch Daten und braucht keine Zeitliche Auslösung .
var attribute = msg.payload.attribute;
If(!attribute){ return }
else if ( attribute.id === 000){
return {payload: attribute.current_value}
probiere mal das in deine Funktion einzusetzen und ändere die 000 gegen die Attribut ID deines Sensors
VG Micha
Vielen Dank für die schnelle Antwort und Hilfe.
Jetzt bleibt noch ein Fehler den ich nicht weg bekomme und die Frage welches die Attribute id ist. Stimmt das was ich angenommen habe.
Sorry, mein Vorgehen ist ein wenig try n error…
Semicolon ( ; ) nach dem return, dann: if (!attribute) { return; }
Ich kenne mich nicht mit Node-Red aus, aber in der Programmierung ist das meistens so.
Mach mal hinter dem ersten Return ein Semikolon.