Weiter zum Inhalt

Node-Red

964 Themen 13.2k Beiträge

Hilfe für Skripterstellung mit Node-RED

NEWS

  • Disconnect beim Modbus auslesen

    3
    3
    0 Stimmen
    3 Beiträge
    270 Aufrufe
    S
    @peterfido hi, Ich lese einen PV Wechselrichter von Huawei aus. Und zwar mache ich das über Node red (weil der Modbus Adapter es irgendwie nicht hinbekommt) und über die Solaranzeige (eine Software zum Visualisieren von PV). Dabei steigt die Solaranzeige immer aus, sobald ich meinen Flow in Node red starte. Der Entwickler der Solaranzeige sagte mir dann, dass nur 1 Device den Modbus auslesen darf - daher muss sich jeder Leser disconnecten, damit ein anderes Gerät lesen darf. Eine WallBox kommt bei mir auch demnächst und ich bereite mich erstmal vor 😊 Ich schau mal, ob ich in der Huawei Anleitung etwas dazu finde.
  • Wert und vorheriger wert??

    9
    0 Stimmen
    9 Beiträge
    3k Aufrufe
    bahnuhrB
    @hotte123 Du willst doch nur den neuen/aktuellen Wert mit dem alten Wert vergleichen. Warum nicht ein kleines Script? Bei blockly und node bin ich raus. Anbei mal ein kleines Script: on({id: "object-id", change: "ne"}, function(obj) { log ("ID geändert: alt= " + obj.oldState.val + "; neu= " + obj.state.val); if (obj.state.val > 12 && obj.oldState.val == 0) { // etwas ausführen } }); mfg
  • AVR Kindersicherung

    1
    0 Stimmen
    1 Beiträge
    270 Aufrufe
    Niemand hat geantwortet
  • [gelöst]Node Red leseanfrage auf KNX-Adresse

    11
    0 Stimmen
    11 Beiträge
    3k Aufrufe
    T
    @lessthanmore Danke für Deine Antworten! Habe die Nodes installiert und mit der KNX Device einen read auf die Adresse gemacht. Hier meine Nodes [image: 1634646800554-smelly-zyklisch.jpg] Der Codeschloss (Dummy) bringt mir ein konstantes "false". Den KNX-Device habe ich wie folgt eingestellt [image: 1634647089985-einstellungen-1.jpg] [image: 1634647109506-einstellungen-2.jpg] So funktioniert es! Danke! Wenn noch Korrekturbedarf besteht bitte melden!
  • S7Time in Auswerten

    2
    0 Stimmen
    2 Beiträge
    259 Aufrufe
    VumerV
    @system-9 Haben wir mal für die LOGO!8 gebastelt LOGO! & Wochenschaltuhr
  • wait until-ähnliche Node / Arbeit mit "Context"

    13
    2
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    mickymM
    @noah3112 Hatte ich schon mal gepostet - deshalb hier einfach noch mal rauskopiert: ;) Hier gibts ein paar deutschsprachige Videos: https://haus-automatisierung.com/nodered-tutorial-reihe/ Nur die Function Nodes würde ich nie nutzen, dass geht mit Change Nodes viel einfacher!!! Die besten Tutorials sind in Englisch - aber ich finde den Typ eigentlich super - sodass man es auch als nicht nativ-Speaker versteht. aber empfehlen würde ich Dir diese Seite: http://www.steves-internet-guide.com/node-red-overview/ dann die ersten Videos von Steve unter Using Node-Red Nodes startet hier: Beginners Guide to Node Red Inject and Debug Nodes Ich finde, selbst wenn man nicht gut Englisch kann, kann mir hier durch Zuschauen viel von Steve lernen. Ausserdem hast Du wenn Du eine Node in Deinen Flow ziehst - über die Node Hilfe eine Beschreibung, wie der Node funktioniert. Schau mal ob Dir das hilft. Ich selbst habe kein Tutorial verfasst. ;) Ansonsten hier noch der Link zum Forum: https://nodered.org/ Und falls ich Dir anhand einer konkreten Aufgabenstellung helfen soll, dann melde Dich einfach über einen Thread - da konnte ich ja schon manches erklären. Ich muss gestehen das mir zB Blockly leichter fällt und mich sehr viel schneller ans Ziel bringt. Das kann ich ja gar nicht verstehen. Ist bei mir umgekehrt - aber vielleicht kann ich ja was dafür tun, dass sich an der Geschwindigkeit was ändert. ;) Ach und am Besten Du nimmst ein bestehendes Blockly und versuchst das mal in NodeRed umzusetzen - dann siehst ja wie beides funktioniert und was ggf. einfacher ist. Das Prinzip ist nämlich immer das Gleiche - egal was Du nutzt: Trigger => Verarbeitung => Steuerung bzw. Ausgabe
  • Zwei Bewegungsmelder

    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    mickymM
    @frank-harmsen Ob die Logik wirklich durchdacht ist, weiß ich nicht - aber es macht das was Du oben beschrieben hast. [image: 1633557805336-4fa44048-fbc2-4289-9f07-fa89973a8bd6-image.png] Spoiler [ { "id": "abfb39e8.5bf0e8", "type": "inject", "z": "169f5b00.a13415", "name": "BWM1 = true", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 650, "y": 1280, "wires": [ [ "26863212.2a10de", "415ed3df.e71bfc" ] ] }, { "id": "26863212.2a10de", "type": "change", "z": "169f5b00.a13415", "name": "", "rules": [ { "t": "set", "p": "bwm1", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 860, "y": 1300, "wires": [ [] ] }, { "id": "91480312.9782d", "type": "inject", "z": "169f5b00.a13415", "name": "BWM1 = false", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 650, "y": 1320, "wires": [ [ "26863212.2a10de" ] ] }, { "id": "d0f7b0a7.4ca66", "type": "inject", "z": "169f5b00.a13415", "name": "BWM2 = true", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 650, "y": 1440, "wires": [ [ "846fad4e.5e4b3", "30e465a4.93956a" ] ] }, { "id": "1d50e327.49c71d", "type": "inject", "z": "169f5b00.a13415", "name": "BWM2 = false", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 650, "y": 1480, "wires": [ [ "846fad4e.5e4b3" ] ] }, { "id": "846fad4e.5e4b3", "type": "change", "z": "169f5b00.a13415", "name": "", "rules": [ { "t": "set", "p": "bwm2", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 860, "y": 1460, "wires": [ [] ] }, { "id": "30e465a4.93956a", "type": "switch", "z": "169f5b00.a13415", "name": "bwm1 = true?", "property": "bwm1", "propertyType": "flow", "rules": [ { "t": "true" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 860, "y": 1400, "wires": [ [ "34c75b61.666904" ] ] }, { "id": "34c75b61.666904", "type": "debug", "z": "169f5b00.a13415", "name": "schalte Lampe 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1100, "y": 1400, "wires": [] }, { "id": "415ed3df.e71bfc", "type": "switch", "z": "169f5b00.a13415", "name": "bwm2 = true?", "property": "bwm2", "propertyType": "flow", "rules": [ { "t": "true" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 860, "y": 1240, "wires": [ [ "f82d9d1b.6bc16" ] ] }, { "id": "f82d9d1b.6bc16", "type": "debug", "z": "169f5b00.a13415", "name": "schalte Lampe 2", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1080, "y": 1240, "wires": [] } ] Statt den 4 Inject Nodes nimms natürlich die 2 Trigger Nodes des BWM1 bzw BWM2 (iobroker In) Nodes. Aber zum Simulieren eignet es sich gut. Du kannst das natürlich auch Hucke-Pack mit einer iobroker-get Node auslesen, ob der jeweils andere BWM bereits true ist. Man könnte ggf. mit Schalten der Lampe die Flowvariable zurücksetzen und muss nicht warten bis der BWM das macht, dann würde er sogar schneller auf eine Wechselbewegung reagieren, wenn der ursprüngliche BWM sich nur aktualisiert. Das wäre dann die Version, die quasi den BWM der als erstes triggert zurückzusetzen - ausser wird erneut getriggert. Das kann man falls auch noch gewünscht entprellen: [image: 1633559409834-38ca1336-7f41-4711-bc51-8223eb6c10d9-image.png] Spoiler [ { "id": "abfb39e8.5bf0e8", "type": "inject", "z": "169f5b00.a13415", "name": "BWM1 = true", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 510, "y": 1220, "wires": [ [ "26863212.2a10de", "415ed3df.e71bfc" ] ] }, { "id": "26863212.2a10de", "type": "change", "z": "169f5b00.a13415", "name": "", "rules": [ { "t": "set", "p": "bwm1", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 720, "y": 1240, "wires": [ [] ] }, { "id": "91480312.9782d", "type": "inject", "z": "169f5b00.a13415", "name": "BWM1 = false", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 510, "y": 1260, "wires": [ [ "26863212.2a10de" ] ] }, { "id": "d0f7b0a7.4ca66", "type": "inject", "z": "169f5b00.a13415", "name": "BWM2 = true", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 510, "y": 1380, "wires": [ [ "846fad4e.5e4b3", "30e465a4.93956a" ] ] }, { "id": "1d50e327.49c71d", "type": "inject", "z": "169f5b00.a13415", "name": "BWM2 = false", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 510, "y": 1420, "wires": [ [ "846fad4e.5e4b3" ] ] }, { "id": "846fad4e.5e4b3", "type": "change", "z": "169f5b00.a13415", "name": "", "rules": [ { "t": "set", "p": "bwm2", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 720, "y": 1400, "wires": [ [] ] }, { "id": "30e465a4.93956a", "type": "switch", "z": "169f5b00.a13415", "name": "bwm1 = true?", "property": "bwm1", "propertyType": "flow", "rules": [ { "t": "true" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 720, "y": 1340, "wires": [ [ "34c75b61.666904", "35c51752.9b9468" ] ] }, { "id": "34c75b61.666904", "type": "debug", "z": "169f5b00.a13415", "name": "schalte Lampe 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 940, "y": 1340, "wires": [] }, { "id": "415ed3df.e71bfc", "type": "switch", "z": "169f5b00.a13415", "name": "bwm2 = true?", "property": "bwm2", "propertyType": "flow", "rules": [ { "t": "true" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 720, "y": 1180, "wires": [ [ "f82d9d1b.6bc16", "3a2a0f43.6fe38" ] ] }, { "id": "f82d9d1b.6bc16", "type": "debug", "z": "169f5b00.a13415", "name": "schalte Lampe 2", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 940, "y": 1180, "wires": [] }, { "id": "3a2a0f43.6fe38", "type": "change", "z": "169f5b00.a13415", "name": "setze bwm2 auf false", "rules": [ { "t": "set", "p": "bwm2", "pt": "flow", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 960, "y": 1240, "wires": [ [] ] }, { "id": "35c51752.9b9468", "type": "change", "z": "169f5b00.a13415", "name": "setze bwm1 auf false", "rules": [ { "t": "set", "p": "bwm1", "pt": "flow", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 960, "y": 1400, "wires": [ [] ] } ]
  • Rollladen per Alexa Befehl steuern

    2
    5
    0 Stimmen
    2 Beiträge
    414 Aufrufe
    P
    @matzeit Wenn du hoch, besser heller und dunkler sagst, ändert Alexa den bri. Um heller, bzw. Dunkler zu erkennen, kann man z.b. immer den bri auf 50 an Alexa zurück melden. Kommt jetzt was kleiner 50, hat Alexa dunkler verstanden. Größer 50 wäre dann heller
  • Anfäger Frage Note-Red "gelöst"

    10
    0 Stimmen
    10 Beiträge
    454 Aufrufe
    Walter.O.W
    Okay. Danke euch.
  • Dashboard Layout fixieren

    1
    1
    0 Stimmen
    1 Beiträge
    197 Aufrufe
    Niemand hat geantwortet
  • Welches Node brauche ich

    2
    1
    0 Stimmen
    2 Beiträge
    271 Aufrufe
    mickymM
    @lieggie nimm eine Change Node und setze die payload auf die gewünschte Temperatur.
  • Signal Kommandozeile in node-red nutzen

    3
    2
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    H
    @mickym es ist wie immer mit mir. Ich Vogel hatte ein Leerzeichen in der exec über den msg.payload.
  • Number in Object "umwandeln"

    3
    3
    0 Stimmen
    3 Beiträge
    405 Aufrufe
    H
    @mickym Ach wie einfach :) Danke dir für die schnelle Hilfe!! Gruß Tom
  • zweimal einen Datenpunkt Button schalten

    42
    1
    0 Stimmen
    42 Beiträge
    2k Aufrufe
    AphofisA
    @mickym ich habe ja gut 37 Flows in denen jeweils einer der Alexa Nodes drin ist wo sich nur der port nicht wiederholen darf und die geräte funktionieren einwandfrei sind halt schaltbare Datenpunkte die entweder Geräte schalten oder Status informationen auslösen die dann je nach steuerung per alexa oder per telegram ausgegeben werden können. also Programm nummer 5 und 21-40 fehlen also ist es ja eigntl nur logisch das hlat die programm plätze für den einen Node voll sind dann ein neues Flow erstellen mit den programmen und gucken wie viele erkannt werden ansonsten eine dritte flow dann habe ich alle 40 meiner wichtigsten TV kanäle
  • Hilfe bei Node-Red OPC UA Server

    2
    0 Stimmen
    2 Beiträge
    442 Aufrufe
    G
    ist erledigt...
  • Node-Red Homekit und Rollladen Problem

    6
    1
    0 Stimmen
    6 Beiträge
    723 Aufrufe
    mickymM
    @typ1er Ich importiere zwar Deine Flows - um es nachzuvolliehen, wäre aber schön wenn Du den Code nicht nur in dem Spoiler verpackst, sondern in die CodeTags packst, dann kann man das nämlich mit einem Click in die Zwischenablage kopieren und muss nicht den ganzen Code abscrollen. ;) Gut Du hast das jetzt mit der switch Node rausgefiltert, aber wäre es nicht mit einer Debug Node interssant (das Nachrichtenobjekt) zu anaylisieren, woher das kommt? Das Filtern hilft - ich würde aber ggf. die Ursache abstellen - aber das ist dann wohl eine philosophische Frage. Kann das Problem an sich nicht nachvollziehen. Bei mir kommen die Nachrichten auch nach einem Deploy als Objekte raus: [image: 1628124380160-128c0677-f41c-41dd-af10-dc6eefb7f66b-image.png]
  • Node-Red - Topic / State auslesen

    Ungelöst node-red
    3
    2
    0 Stimmen
    3 Beiträge
    278 Aufrufe
    J
    @mickym Danke - einfach nur den richtigen Node nehmen. Hat geklappt :)
  • Email Weiterleiten

    22
    0 Stimmen
    22 Beiträge
    3k Aufrufe
    mickymM
    @david-g Wurde in Windows 10 abgelöst - existiert aber immer noch: [image: 1626775843887-ebdbff73-e23b-4d11-aae9-0f60cb1c7db0-image.png]
  • Sprachansage nacheinander abspielen?

    7
    1
    0 Stimmen
    7 Beiträge
    780 Aufrufe
    mickymM
    @hc-yami Vielleicht wäre es sogar mit Deinem ursprünglichen Flow gegangen und es hätte gelangt da einfach die delay Node mit der Nachrichtenbegrenzung pro Zeit dazwischen zu klemmen (also vor die iobroker OUT Node). Kannst vielleicht mal ausprobieren - würde mich selbst interessieren. ;) EDIT: Habe es gerade selbst ausprobiert und in dem Fall haben wir viel zu kompliziert gedacht - das tut es auch: [image: 1626249043638-3b5f89f2-37fc-4e96-a355-1d7e2f549feb-image.png] Ich lerne auch noch. ;)
  • [Gelöst] Alexa-Steuerung geht nicht mit Echo Dot (4th)

    5
    0 Stimmen
    5 Beiträge
    601 Aufrufe
    L
    So. Mein Problem ist gelöst. Es geht also doch auch mit dem Echo Dot 4. Es lag eindeutig an der Portweiterleitung. Obwohl ich etliche Male unterschiedlichste Befehle ausprobierte habe, ging es zum Schluss. Mit diesen Befehlen hat es bei meinem Raspberry Pi 3 geklappt (Quelle: https://github.com/datech/node-red-contrib-amazon-echo/issues/66) sudo iptables -t nat -L --line-numbers Wenn hier nichts von 8083/euren Port steht, dann ist es klar, dass es nicht geht. sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8083 Bei dem Node-Red Adapter bei dem "Amazon Echo Hub" Node den Port 8083 einfügen und oben rechts deploy klicken und es funktioniert bzw. er findet nun die Geräte und es ist grün. Nochmal ... sudo iptables -t nat -L --line-numbers ...gucken ob da nun 8083 steht, wenn ja dann sollte es gehen Nun muss das Ganze noch dauerhaft gespeichert werden falls das Gerät neugestartet wird sudo apt-get install iptables-persistent sudo bash -c "iptables-save > /etc/iptables/rules" oder service iptables save falls das erste nicht gehen sollte, auf jeden Fall ist die Speicherung das Problem Es geht bei den meisten nicht da es so nicht dauerhaft gespeichert wird und beim nächsten Neustart die Portweiterleitung wieder weg ist. Deshalb am Ende das iptable bzw. die Portweiterleitung speichern.

256

Online

33.0k

Benutzer

83.6k

Themen

1.3m

Beiträge