Weiter zum Inhalt

Node-Red

961 Themen 13.2k Beiträge

Hilfe für Skripterstellung mit Node-RED

NEWS

  • Wertänderungen nur im Dashboard aktualisiert nicht im Editor

    3
    0 Stimmen
    3 Beiträge
    258 Aufrufe
    S
    @arteck jwtzt geht es wieder, hatte einen Fehler in der Logik wodurch es zu einer endlosschleife kam. Ich nutz das ja zur Fehlersuche um zu schauen ob die einzelnen Nodes aktualisiert werden. Vielleicht hab ich es auch falsch ausgedrückt.
  • [gelöst] Außentemperatur min/max und Sommerzeit

    4
    3
    0 Stimmen
    4 Beiträge
    462 Aufrufe
    T
    @marc-berg Habe es getestet. Es funktioniert so, wie Du es beschrieben hast! Danke für Deine Hilfe!
  • Node Red Nullen bei Mqtt ohne Verbindungsfehler

    2
    4
    0 Stimmen
    2 Beiträge
    325 Aufrufe
    mickymM
    @jacke Filtere halt einfach mit einer Switch Node die Nachricht aus, deren Eigenschaft nicht 0 sein darf. Aber ohne weitere Details wird Dir hier niemand weiter helfen können. Also poste das ganze Objekt - setze ein debug node hinter die mqtt- Node und kopiere das Objekt über die Schaltfläche Wert kopieren hier in Code-Tags und sag welcher Wert nicht 0 sein darf. Oder Du machst es gleich selbst und kopierst wie in der Abbildung gezeigt den Pfad als die Eigenschaft die in einer Switch Node untersucht werden soll und gibts als Bedingung dass diese Eigenschaft größer 0 sein muss. [image: 1680045176762-copy-path.gif] Und wenn Du es lieber mit Blockly machst - dann hast ja den Parallelthread eröffnet und ich hindere Dich nicht am Puzzlen, wenn Dir das lieber ist.
  • Flip Flop Logik an Hand nummerischen Wert

    28
    0 Stimmen
    28 Beiträge
    2k Aufrufe
    _
    @mickym Vielen Dank für die Tipps ;). So klappts jetzt wie gewünscht :)
  • Eingangsmultiplexer?

    29
    0 Stimmen
    29 Beiträge
    3k Aufrufe
    M
    @mickym Das ist ein guter Tipp :-) aber ich befürchte das ähnlich ist wie seinerzeit beim Studium. Das "Taschenbuch der Mathematik" von Bronstein -Semendjajew war das Standardwerk für alle unsere "Probleme" mit Integralen usw. aber wenn man es nicht "täglich" benutzt findet man gar nichts (?) zumindest muss man lange suchen ;-) Fürchte auch fast das dieses /mein Projekt (SmartPi als Energiezähler) auch in den Herbst verrschoben werden wird/muss, der Rasenmähroboter will auch wissen wo er gerade mäht, mähen soll und das mit dem GPS ist genauso spannend wie der aktuelle Stromverbrauch. Zum Glück scheint der Rasenmäher ja nicht zu den "Stromfressern" zu gehöhren... aber weiß man das??? Also doch erst mal das SmartPi-PowerProjekt verwirklichen? ein paar Wochen bis zur Saison bleiben ja noch ;-)
  • Pumpe steuern über Tempdifferenz

    21
    2
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    R
    @stefan14 Hallo Stefan14, es funktioniert, nachdem ich die Geräte angepasst habe! Herzlichen Dank
  • Node Red Victron mqqt schreiben

    19
    0 Stimmen
    19 Beiträge
    2k Aufrufe
    mickymM
    @mousenray Nochmal die mqtt Node muss das Objekt analysieren. [image: 1678994934511-a8cc72c2-95ac-4e0e-94e5-cc4cea189bac-image-resized.png] Im debug 70 steht das Objekt - im debug 69 nur noch der Wert.
  • Node Red ical auslesen und richtig Filtern

    7
    0 Stimmen
    7 Beiträge
    971 Aufrufe
    wendy2702W
    @mousenray Editierst du dann bitte noch deinen ersten Beitrag und setzt ein [Gelöst] vor den Titel. Danke!
  • Node Red Flow Werte vergleichen

    node-red
    3
    0 Stimmen
    3 Beiträge
    294 Aufrufe
    M
    @mickym Vielen Dank, das funktioniert wie ich es wollte. Das mit den Zahlen ändere ich noch ab und passe dann den Flow an. So war es einfacher es zu erklären! Mousenray
  • Zeitsteuerung function

    10
    1
    0 Stimmen
    10 Beiträge
    971 Aufrufe
    C
    @mickym Vielen Dank! Du hast mir echt weitergeholfen. Und ich habe wieder etwas gelernt.
  • Victron

    135
    0 Stimmen
    135 Beiträge
    25k Aufrufe
    mickymM
    @kmuenke Na wie gesagt - das mit dem topic wundert mich, sollte auch so nicht funktionieren. Ich würde trotzdem mal als topic nur den # nehmen - der sollte alle subscriben dann kommt die topic so raus, wie sie eigentlich sollten. Ich würde eine extra client-Instanz definieren, die dann unter einem eigenen Prefix aus 0_userdata.0 published. Warum das plötzlich geht, ist, dass eigene States gepublished werden - da erzeugst Du dir aber Endlosschleifen, wenn Du diese nicht unter eigenem Prefix publishst. Manche Dinge habe ich hier ja mal zusammengefasst und getestet: https://forum.iobroker.net/topic/53315/grundsatzfrage-zu-den-mqtt-adaptern
  • Thermostat Automatisierung mit mehreren Bedingungen

    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    mickymM
    @cpt-pommes sagte in Thermostat Automatisierung mit mehreren Bedingungen: Die folgende Funktion würde also jeden einzelnen Wert mit allen übrigen vergleichen und sobald eine dieser Kombinationen/Verknüpfungen aus dem kompletten array true ist, true herausgeben? Damit könnte man also auch noch mehr Personen zur Anwesenheitskontrolle hinzufügen und es würde immer die Heizung eingeschaltet werden, sobald mindestens eine Person da ist? Ja - Du kannst das um beliebige Personen erweitern - funktioniert immer sobald eine Person da ist. Ich denke, dass das auch so gewünscht ist. Nochmal: myfunc($accumulator, $value[, $index[, $array]]) Die function innerhalb der reduce function definiert die Bedeutung der Variablen in der Reihenfolge, in der sie bei der Definition definiert werden. Der 1. Wert ist der akkumulierte Wert (egal ob der $i,$j,$A, $accumulator oder $Ergebnis heißt), der 2. Wert ist der Wert ist der Wert mit dem durch das Array gegangen wird (egal ob der $i,$j,$A, $value oder $wert heißt). Insofern ist es egal wie die Variable heißt (in JSONATA müssen nur alle Variablen mit einem $-Zeichen beginnen). Die Bedeutung der jeweiligen Variablen ergibt sich aus der Position bei der Definition der Funktion $reduce(function($accumulator,$value){$accumulator or $value}) Noch eine andere Frage: Was bewirkt beim "Zeitfenster Heizen" an Wochentagen die erste change Regel? Also "Setze msg.payload auf/nach []" Wird dadurch soetwas wie ein Vektor erstellt, der dann mit den folgenden Regeln gefüllt wird und für [0],[1],[2],[3] usw wird eine neue Variable hinzugefügt? Die Payload wird als leeres Array definiert. Normalerweise ist die payload ein skalarer Wert und durch die Definition eines leeren Arrays - kann ich in den anschließenden Regeln auf die Positionen des Arrays setzen. Wenn Du die erste Regel wegschmeisst, dann wirst Du sehen, dass es eine Fehlermeldung gibt, dass ein skalarer Wert nicht in ein Objekt gewandelt werden kann. Deshalb wird die payload am Anfang als leeres Array definiert. Sobald Du also diese Fehlermeldung bekommst, kannst Du durch ein leeres Objekt oder leeres Array diesen Fehler umgehen. Wenn Du die payload nicht als leeres Array definierst und dann versuchst mit payload[0] etc. ein Element eines Arrays definieren willst - erhälst Du folgende Fehlermeldungen: [image: 1678404324680-665fc587-73fb-4b65-8aa9-18bce0284172-image.png] Also wenn Du solche Fehlermeldungen hast, dann weißt Du zukünftig, wie Du sie vermeiden kannst. ;) Diese ist super um das ganze mit der CHange Node zu lösen. Wird hier 'minute' dafür herangezogen um den Abgleich anhand der Minuten zu machen? Wenn zB "08:05" dort stehen würde anstatt "08:00" und 'hour' am Ende, dann würde bereits ab 08:01 Uhr false herausgegeben werden? 08:00 ist ein schlechtes Beispiel weil wir es schon exkludiert haben. Sprich um 08:00 wird schon auf false umgeschaltet (s. Klammern). Gesetzt den Fall Du würdest es inkludieren, dann wird mit hour nur die Stunden betrachtet. Es handelt sich also um die Angabe der Granularität - wenn Du auf hour machen würdest wird nur geschaut ob es 08:xx ist - das heisst es ist true egal ob es 08:10 oder 08:30 ist. Wenn dieser Parameter nicht definiert wird, wird bis auf Millisekunden-Ebene überprüft. Hier mal die Originialdoku: https://momentjs.com/docs/#/query/is-between/ Wichtig ist dass die Ränder der Zeiträume per Default ausgeschlossen werden, wenn Du die Klammern nicht angibst. Der letzte Satz in diesem Kapitel: [image: 1678402916539-c5746119-16d2-4ff8-a599-5162d9b3b6ae-image.png] So nun zur Granularität: [image: 1678402816442-d8accd74-0307-4339-87dc-a9e97c7f065a-image.png] Wenn man dieses Beispiel also verstehen will, sieht man im 1. Beispiel dass ein false rauskommt obwohl der 20. Oktober 2010 ja zwischen dem 1. Januar 2010 und dem 1.Januar 2012 liegt. Das liegt daran - dass ohne Angaben der Klammern die Ränder ausgeschlossen werden. Da wir als Granulariät das Jahr haben ist das ganze Jahr 2010 und das ganze Jahr 2012 ausgeschlossen und deshalb ergibt das 1. Beispiel false - weil das ganze Jahr 2010 ausgeschlossen wird, AUCH wenn der 20.Oktober 2010 dazwischen liegt. Im unteren Beispiel ist der Bereich 20.10.2010 zwischen dem 31.12.2009 und 1.1.2012 ist true, weil die kompletten Jahre 2010 und 2011 gültig sind.
  • Finde "ioBroker get" node nicht

    21
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    liv-in-skyL
    @arno-josef-abler sagte in Finde "ioBroker get" node nicht: Home Assistant, influxDB, KNX, Sonos, TP Link Tapo, etc. machen ihre Nodes nicht davon abhängig du vergleichst äpfel mit birnen :-)
  • [error] [function:generateChart] TypeError: ....

    20
    0 Stimmen
    20 Beiträge
    2k Aufrufe
    W
    @mickym vielen Dank und schönen Abend. VG Sascha
  • wenn keine neue Nachricht Werte auf xx setzen

    3
    0 Stimmen
    3 Beiträge
    180 Aufrufe
    L
    @mickym Tiptop!! Klappt in der Simulation wie gewünscht! Unter echten Bedingungen kann ich leider gerade nicht testen, da ist zuviel Neuschnee auf den Modulen. Also konstant 0 Leistung :-( Gruß L.T.
  • debug node lässt sich nicht aktivieren [gelöst]

    26
    1
    0 Stimmen
    26 Beiträge
    3k Aufrufe
    mickymM
    @foto2004 Einfach den ersten Beitrag editieren und in der Überschrift [gelöst] einfügen.
  • Laufschrift in einem NodeRed Flow erzeugen

    12
    2
    6 Stimmen
    12 Beiträge
    2k Aufrufe
    A
    @mickym Vielen Dank für deine Mühe. Ich hatte noch das PRoblem, dass er immer beim Holen der Titelinformation den Text neugetriggert hat auch wenn sich inhaltlich nichts geändert hat. Das habe ich aber mit einem filter node wegbekommen, dass er bis Wertänderung blockiert. Super Ding!!!
  • Node-Red Modbus mehrere Slave ID´s abfragen

    javascript node-red
    36
    1
    0 Stimmen
    36 Beiträge
    7k Aufrufe
    G
    @malaus sagte in Node-Red Modbus mehrere Slave ID´s abfragen: Wieso nicht das Flex Getter benutzen? Mein Raspi4 kommuniziert über die Modbusschnittstelle mit einem SAIA Regler. Also nur eine Adresse, aber mehrere Modbusregister. Anfangs hatte ich mehrere function Nodes im Einsatz. Aber es gibt hier User die dieses Node geradezu ablehnen. Ich komme aber nicht mehr drauf wer daß nur sein könnte. Leider hat er auch noch Recht, es geht auch anders. [image: 1676924082665-0be670a1-bb02-4dbd-b3c4-a6106f931d98-grafik.png] Und natürlich kannst Du auch das FlexGetter verwenden. Ich wollte nur die Gedanken mal in eine andere Richtung lenken.
  • Werte aus JSON übernehmen

    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    L
    @mickym Da hätte ich drauf kommen können Da ich die Werte in iobroker nicht weiter bearbeite sondern lediglich in ein virtuelles Geräte meines SmartHome schreibe, reicht mir das. Nochmals Danke!
  • Hilfe kann keine Payloads schreiben

    5
    1
    0 Stimmen
    5 Beiträge
    240 Aufrufe
    F
    @mickym Das es nicht normal ist ist mir auch klar. Browser bereits gewechselt und Node-red bereits neu gestartet naja auf Redxdit gibts wohl die lösung, es liegt wohl an dem monaco editor den mal neuinstallieren

302

Online

33.0k

Benutzer

83.3k

Themen

1.3m

Beiträge