Node Red - Hilfe-/Frage-/Ideen-/Austausch - Thread

@bergjet Mach mal ein Bild von deinem Flow.

Habe das nur einmal als Versuch. Der Bewegungsmelder soll die Deckenlampe einschalten und nach 3 Minuten ausschalten. Die Funktion liefert true und false. Aber Delay verzögert die Aktion um 3 Minuten (auch das true).

Mit dem Plugin kannst du soviel machen, dass es schwierig werden dürfte alles aufzuzählen. Man kann damit z.B. alle Nachrichten beobachten, Zustandswerte von Geräten abfangen und weiterverarbeiten (eigene Datenbank o.ä.), Nachrichten an homee senden um Homeegramme abzuspielen (ohne webhook), Zustände von Geräten ändern. Letztendlich kann man homee auf eine einfache Art und Weise mit anderem SmartHome Zubehör verbinden und Funktionen ergänzen, die homee (noch) nicht kann.

Außer der offiziellen Node-RED Seite (https://nodered.org) weiß ich leider keine. Dort sind vielleicht die Beispielflows ganz hilfreich. Ansonsten habe ich auf meiner Webseite ja auch ein paar Flows beschrieben. Aber die kennst du ja vermutlich schon.

Die kann man bei der Entwicklung eines Plugins einbauen. Der homee Node hat die z.B. auch, ich habe die zur Darstellung des Verbindungsstatus verwendet.

1 „Gefällt mir“

Danke Stefan…

das homee Plugin habe ich installiert und konnte auch schon mal die Geräte auslesen… an dieser Stelle muss ich mich jetzt weiter beschäftigen und probieren.

Die Leuchten der Hue-Bridge habe ich jetzt alle eingebunden… diese können über Wemos in homee ein- bzw. ausgeschaltet.
Das Ganze mache ich über den function node…

Gibt es hier für geschicktere Lösungen?

Ich habe nämlich zwei Probleme… wenn ich die Funktion so belasse, wird die Lampe immer mit dem vorherigen Zustand eingeschaltet und man kann sie auch ausschalten. Wenn ich aber Werte für Helligkeit oder Farben eintrage, geht die Lampe zwar mit diesen Einstellungen an, ich kann sie aber nicht mehr ausschalten.

Das zweite Problem betrifft den Zustand der Wemos an/aus in homee.
Wenn ich nämlich per Webhook z.B. einen Colorloop starte, gehen die Hues auch an, es gibt aber keine Rückmeldung an homee, so dass die Wemos in homee auf “aus” stehen bleiben.

Guck dir mal die Funktion an:

if(msg.payload == 'on') {
    msg.payload = {
        on: true,
        brightness: 40,
        hex: '#FFB950'
    }
} else {
    msg.payload = {
        on: false,
        transitionTime: 5
    }
}

return msg;

Damit sollte auch das ausschalten funktionieren. Die transitionTime sorgt für ein sanftes dimmen, kannst du aber auch rausnehmen. Die Funktion ist für das huemagic Plugin.

@Micha war so nett und hat ein paar seiner Flows in die Node-RED Datenbank eingestellt. Hier kannst du dir für den Rückkanal etwas abgucken: https://flows.nodered.org/flow/ca42fa0e9ae352c5497b34ca12cc0a5e

EDIT: Sorry, der war ohne Rückkanal. Dafür brauchst du noch folgendes Plugin: node-red-node-wemo
Vielleicht kann @Micha ein fertiges Beispiel beisteuern.

1 „Gefällt mir“

Ich würde an dieser Stelle mit einem Timer arbeiten.

bei Motion = true Licht einschalten und den Timer stoppen
und bei Motion = false den Timer starten und nach Ablauf des Timers das Licht ausschalten.

51

Hier wird der Timer gestartet wenn Motion= false und der payload on=false an die hue gesendet.
Bei erneuter Bewegung wird der Timer mit “stop” gestoppt

Hallo @bergjet,

so ist das klar das beides Verzögert wird.

Nimm noch einen Switch mit einen Vergleich auf true oder false dazu.

Dann wird es gehen.

@anon11314990 war schneller :scream:

@anon11314990 so gehts natürlich auch.

Das ist das schöne an Node-Red , viele Wege führen zum Ziel.
Darum laufen auf meinen homee auch nur noch 4 HG bei 54 Geräten.

Hallo @stfnhmplr und @medicus07,

Den Rückkanal kannst du einmal über ein WEMO Plugin und einmal über homee realisieren.
In meinem Beispiel war der Rückkanal über das homee Plugin gewählt , da dieser weg schneller ging als über den wemo Node.

Edit


Hier ne die Möglichkeit es über das hue Node zu lösen.
Jedoch gibt es eine Verzögerung von ca. 7 Sekunden bis die Änderung in Node Red stattfindet.

Und in homee kommt die Änderung erst nach ca. 60-70 Sekunden an.

Daher ist mein klarer Favorit das homee Plugin um die Rückmeldung zu senden

2 „Gefällt mir“

Habe das so geändert, dann gehts.


Aber jetzt brauche ich noch einen Zusatz.
Wenn innerhalb von 3 Minuten eine weitere Bewegung kommt, sollten die 3 Minuten wieder von vorne beginnen, ohne dass die Lampe ausgeht.

Hallo @Micha wie hast Du es umgesetzt?

So? Oder geht es noch einfacher?

3 „Gefällt mir“

Deshalb mein Vorschlag mit einem Timer zu arbeiten!

Ich steuere vom wemo direkt den hue Node an und zurück geht es vom hue Node über die Funktion zu homee.

So wie es auf dem Bild oben zu sehen ist wird der hue Node direkt vom wemo geschaltet.

1 „Gefällt mir“

Nur Zusatzfunktionen gehen vorher über eine Funktion und dann in das hue Node.

Colorloop und Alarm oder auch das dimmen.

Darum ist es immer wichtig genau zu beschreiben was genau passieren soll.

Ich benutze in solchen Fällen immer den node-red-contrib-mytimeout .

Das würde in deinem Fall dann so aussehen:

in den payload ein “cancel” rein

und so den Timer einstellen

1 „Gefällt mir“

Danke, dein Vorschlag funktioniert, obwohl ich keine Ahnung was da passiert.

Den kann ich nicht finden?

Hi @anon11314990,

kurze Frage zu deinem Flow mit dem Rückkanal…

die 1304 ist die id, die über das homee plugin ausgelesen und dem Wemo entspricht. Was ist mit der Zahl 244? Ist das die ID in Node red?

244 ist die Node-ID und 1304 die Attribute-ID des in Node Red erzeugten WeMo Schalters.

1 „Gefällt mir“

Ok, nur um sicher zu gehen…

Hab an den Wemo in NodeRed eine Debug Node rangehängt…

Der wirft dann folgendes aus:

Also Attribute ID 1245, Node ID 271

Korrekt so?

Ja genau so ist es @medicus07