Skip to content

Node-Red

Hilfe für Skripterstellung mit Node-RED

953 Themen 13.1k Beiträge

NEWS

  • Türöffner Taster nach einer Sekunde ausschalten

    5
    0 Stimmen
    5 Beiträge
    447 Aufrufe
    D
    @mickym Super Danke habs jetzt hinbekommen[image: 1647874997557-screenshot-2022-03-21-160243.png]
  • Dark Theme für Node-Red

    4
    0 Stimmen
    4 Beiträge
    853 Aufrufe
    M
    @bernd1967 Vielen Dank. Das hat jetzt bei mir funktioniert. Noch eine Ergänzung falls jemand die Datei nicht findet. Die Datei findet man unter folgendem Pfad: /opt/iobroker/node_modules/iobroker.node-red/settings.js
  • Ext. NodeJS Module in Node-Red on the fly nutzen (ab V 3.0)

    node-red
    1
    21
    3 Stimmen
    1 Beiträge
    505 Aufrufe
    Niemand hat geantwortet
  • Node Red parsen

    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    F
    Jau, die 73 bei mir kommt auch nicht von ungefähr. Und Wählscheiben hatten wir auch, lange. Ein Telefon zu haben war damals der Hit, nur telefonieren durfte man nicht, kostete ja bei jedem Anruf Geld. :joy:
  • Node-Red Adapter: Error: connect ECONNREFUSED ::1:3306

    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    D
    @mickym Es läuft nach dem downgrade auf 14 1000 Dank
  • 2 Hexzahlen zusammenführen

    10
    3
    0 Stimmen
    10 Beiträge
    897 Aufrufe
    B
    @mickym Vielen Dank.. Das ist das, was ich gesucht habe.... Habe mir alles händisch programmiert, aber es geht ja einfacher...[image: 1646729956384-fdf4f6d8-8b74-4e66-944b-53391abeb3f0-grafik.png] Hier das erste Ergebnis. Muss noch weiter probieren und mich weiter in NODE einarbeiten.. [image: 1646729890308-edb27ae3-3b37-4f2c-adc2-7fa54fec31c9-grafik.png] Danke :+1: :clap:
  • Node Red Übernahme(Deploy)

    4
    0 Stimmen
    4 Beiträge
    440 Aufrufe
    F
    @broker-tester Hi, wofür brauchst du denn die Gui auf dem Pi? Wenn der rein nur als Server läuft, Iobroker usw. kannst du dir/ solltest du dir das sparen.
  • Sporadische Fehlermeldung Node-Red mit KNX Ultimate

    3
    0 Stimmen
    3 Beiträge
    576 Aufrufe
    F
    @tontechniker Hi, vielleicht hilft das hier weiter. https://github.com/Supergiovane/node-red-contrib-knx-ultimate/issues/162 Falls sonst alles läuft und du keine Probleme hast, scheint das wohl ne normale Meldung zu sein.
  • KNXUltimate funktioniert nicht korrekt nach Systemwechsel

    5
    1
    0 Stimmen
    5 Beiträge
    461 Aufrufe
    OE5AMPO
    @frankyboy73 Hallo Danke für die ganzen Informationen. Ich bin momentan ziemlich eingeteilt von der Zeit her, aber morgen habe ich mir für die ganze Zeit für IObroker und Node Red freigehalten. Dann werde ich mal genauer nachsehen und berichten. mfg Franz Josef
  • Event_id / Alexa aktivieren

    2
    0 Stimmen
    2 Beiträge
    134 Aufrufe
    mickymM
    @rseniuk Ich glaube ich kann Dir mit JSON und NodeRed helfen - aber ich habe keine Alexa und keine Ahnung wie Du Alexa wie auch immer Du aktivieren willst. Du musst also konkret Deinen Flow posten, wie Du Alexa aktivieren willst und welche Nachricht wohin geschickt werden soll. So - mit diesen wenigen Angaben - kann man Dir kaum jemand helfen.
  • *.svg icone in node red nutzen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    163 Aufrufe
    mickymM
    @franzda Hab selbst noch nicht ausprobiert - aber für svg Grafiken gibts eine eigene NOde: https://flows.nodered.org/node/node-red-contrib-ui-svg
  • Get und In Node haben unterschiedliches topic Format / und .

    4
    0 Stimmen
    4 Beiträge
    250 Aufrufe
    mickymM
    @bannsaenger ich weiß, ich ändere das Topic mit einer anschließenden Change Node wenn ich es im anderen Format brauche. Wenn Du das geändert haben willst, musst halt ein Issue aufmachen und als Feature Request stellen oder halt grundsätzlich die / Schreibweise verwenden. Damit bist dann auch mqtt konform.
  • Mit amazon-echo tuya lokal steuern

    2
    0 Stimmen
    2 Beiträge
    236 Aufrufe
    K
    So geht es. In der Alexa bekommt sogar Änderungen bei IR Fernbedienung mit. [ { "id": "c898591b.0e6fe8", "type": "tab", "label": "Lena Tuya", "disabled": false, "info": "" }, { "id": "6fb8b57d.2a653c", "type": "link in", "z": "c898591b.0e6fe8", "name": "Test Tuya", "links": [ "d06fcf08.164fd" ], "x": 115, "y": 280, "wires": [ [ "24745777.87ea88", "2d3cb289.c9ceae" ] ] }, { "id": "24745777.87ea88", "type": "switch", "z": "c898591b.0e6fe8", "name": "colormode", "property": "colormode", "propertyType": "msg", "rules": [ { "t": "eq", "v": "hs", "vt": "str" }, { "t": "eq", "v": "ct", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 250, "y": 220, "wires": [ [ "5efba10b.dce29" ], [ "8f00528b.9763d" ] ] }, { "id": "5efba10b.dce29", "type": "range", "z": "c898591b.0e6fe8", "minin": "0", "maxin": "254", "minout": "0", "maxout": "1000", "action": "scale", "round": true, "property": "sat", "name": "saturation", "x": 480, "y": 180, "wires": [ [ "7bc350fb.2de61" ] ] }, { "id": "7bc350fb.2de61", "type": "range", "z": "c898591b.0e6fe8", "minin": "0", "maxin": "254", "minout": "0", "maxout": "1000", "action": "scale", "round": true, "property": "bri", "name": "value", "x": 630, "y": 180, "wires": [ [ "e2b9d916.379268" ] ] }, { "id": "e2b9d916.379268", "type": "range", "z": "c898591b.0e6fe8", "minin": "0", "maxin": "65563", "minout": "0", "maxout": "360", "action": "scale", "round": true, "property": "hue", "name": "hue", "x": 770, "y": 180, "wires": [ [ "86ddc18c.0f5cd" ] ] }, { "id": "86ddc18c.0f5cd", "type": "function", "z": "c898591b.0e6fe8", "name": "joinToHexString", "func": "msg.bri = toHex(msg.bri)\nmsg.sat = toHex(msg.sat)\nmsg.hue = toHex(msg.hue)\n\nlet arr = [msg.hue, msg.sat, msg.bri];\nmsg.payload = arr.join(\"\");\nreturn msg;\n\nfunction toHex(decimal) { // This converts a number to a string Hex AND adds padding zeros to a set number of characters.\n return (decimal + Math.pow(16, 4)).toString(16).slice(-4)\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 940, "y": 180, "wires": [ [ "68a011f.1c0b6f" ] ] }, { "id": "8f00528b.9763d", "type": "range", "z": "c898591b.0e6fe8", "minin": "0", "maxin": "254", "minout": "0", "maxout": "1000", "action": "scale", "round": true, "property": "bri", "name": "value", "x": 470, "y": 260, "wires": [ [ "1cb5e65b.c81d1a" ] ] }, { "id": "1cb5e65b.c81d1a", "type": "function", "z": "c898591b.0e6fe8", "name": "joinToHexString", "func": "msg.bri = toHex(msg.bri)\nmsg.sat = \"0000\"\nmsg.hue = \"0000\"\n\nlet arr = [msg.hue, msg.sat, msg.bri];\nmsg.payload = arr.join(\"\");\nreturn msg;\n\nfunction toHex(decimal) { // This converts a number to a string Hex AND adds padding zeros to a set number of characters.\n return (decimal + Math.pow(16, 4)).toString(16).slice(-4)\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 940, "y": 260, "wires": [ [ "68a011f.1c0b6f" ] ] }, { "id": "2d3cb289.c9ceae", "type": "switch", "z": "c898591b.0e6fe8", "name": "on/off", "property": "payload", "propertyType": "msg", "rules": [ { "t": "eq", "v": "on", "vt": "str" }, { "t": "eq", "v": "off", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 230, "y": 340, "wires": [ [ "7478ffb4.d10b8" ], [ "e6f736ec.004098" ] ] }, { "id": "7478ffb4.d10b8", "type": "change", "z": "c898591b.0e6fe8", "name": "true", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "true", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 390, "y": 320, "wires": [ [ "4be3cd26.926364" ] ] }, { "id": "e6f736ec.004098", "type": "change", "z": "c898591b.0e6fe8", "name": "flase", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "false", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 390, "y": 360, "wires": [ [ "4be3cd26.926364" ] ] }, { "id": "4be3cd26.926364", "type": "ioBroker out", "z": "c898591b.0e6fe8", "name": "Lena Tuya LED Strip switch_led", "topic": "tuya.0.08200118e868e759568a.20", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 990, "y": 360, "wires": [] }, { "id": "68a011f.1c0b6f", "type": "ioBroker out", "z": "c898591b.0e6fe8", "name": "Lena Tuya LED Strip color_data", "topic": "tuya.0.08200118e868e759568a.24", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1190, "y": 220, "wires": [] }, { "id": "b766d64f.558e38", "type": "ioBroker in", "z": "c898591b.0e6fe8", "name": "color_mode", "topic": "tuya.0.08200118e868e759568a.24", "payloadType": "value", "onlyack": true, "func": "all", "gap": "", "fireOnStart": "false", "x": 250, "y": 780, "wires": [ [ "a3eb0958.b769e8" ] ] }, { "id": "52f07af3.8b1f44", "type": "ioBroker in", "z": "c898591b.0e6fe8", "name": "switch_led", "topic": "tuya.0.08200118e868e759568a.20", "payloadType": "value", "onlyack": true, "func": "all", "gap": "", "fireOnStart": "false", "x": 240, "y": 600, "wires": [ [ "c275b713.8d6788" ] ] }, { "id": "c275b713.8d6788", "type": "change", "z": "c898591b.0e6fe8", "name": "on", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "payload.on", "tot": "msg" }, { "t": "set", "p": "payload.nodeid", "pt": "msg", "to": "6db05f00.c9783", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 690, "y": 600, "wires": [ [ "81e46aff.74a0d8" ] ] }, { "id": "a3eb0958.b769e8", "type": "split", "z": "c898591b.0e6fe8", "name": "", "splt": "4", "spltType": "len", "arraySplt": "1", "arraySpltType": "len", "stream": false, "addname": "", "x": 390, "y": 780, "wires": [ [ "5177cbe7.485ab4" ] ] }, { "id": "5177cbe7.485ab4", "type": "join", "z": "c898591b.0e6fe8", "name": "", "mode": "custom", "build": "array", "property": "payload", "propertyType": "msg", "key": "topic", "joiner": "\\n", "joinerType": "str", "accumulate": false, "timeout": "", "count": "3", "reduceRight": false, "reduceExp": "", "reduceInit": "", "reduceInitType": "num", "reduceFixup": "", "x": 510, "y": 780, "wires": [ [ "92af89f0.547b48" ] ] }, { "id": "92af89f0.547b48", "type": "change", "z": "c898591b.0e6fe8", "name": "", "rules": [ { "t": "move", "p": "payload.0", "pt": "msg", "to": "hue", "tot": "msg" }, { "t": "move", "p": "payload.1", "pt": "msg", "to": "sat", "tot": "msg" }, { "t": "move", "p": "payload.2", "pt": "msg", "to": "bri", "tot": "msg" }, { "t": "delete", "p": "payload", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 780, "wires": [ [ "4e112b70.633bc4" ] ] }, { "id": "8eb7f14.6ee0c1", "type": "comment", "z": "c898591b.0e6fe8", "name": "set Tuya", "info": "", "x": 240, "y": 100, "wires": [] }, { "id": "cfb4977b.415fd8", "type": "comment", "z": "c898591b.0e6fe8", "name": "get Tuya", "info": "", "x": 240, "y": 480, "wires": [] }, { "id": "9826af61.305f2", "type": "range", "z": "c898591b.0e6fe8", "minin": "0", "maxin": "360", "minout": "0", "maxout": "65563", "action": "scale", "round": true, "property": "hue", "name": "hue", "x": 250, "y": 680, "wires": [ [ "a3add1ea.138f1" ] ] }, { "id": "4e112b70.633bc4", "type": "function", "z": "c898591b.0e6fe8", "name": "", "func": "msg.hue = parseInt(msg.hue,16);\nmsg.sat = parseInt(msg.sat,16);\nmsg.bri = parseInt(msg.bri,16)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 860, "y": 780, "wires": [ [ "9826af61.305f2" ] ] }, { "id": "a3add1ea.138f1", "type": "range", "z": "c898591b.0e6fe8", "minin": "0", "maxin": "1000", "minout": "0", "maxout": "254", "action": "scale", "round": true, "property": "sat", "name": "saturation", "x": 380, "y": 680, "wires": [ [ "81962849.8fc1f8" ] ] }, { "id": "81962849.8fc1f8", "type": "range", "z": "c898591b.0e6fe8", "minin": "0", "maxin": "1000", "minout": "0", "maxout": "254", "action": "scale", "round": true, "property": "bri", "name": "value", "x": 510, "y": 680, "wires": [ [ "b5006a27.98cc48" ] ] }, { "id": "81e46aff.74a0d8", "type": "link out", "z": "c898591b.0e6fe8", "name": "Lena Tuya in", "links": [ "4ec4c5f2.23c2dc" ], "x": 895, "y": 640, "wires": [] }, { "id": "b5006a27.98cc48", "type": "change", "z": "c898591b.0e6fe8", "name": "on", "rules": [ { "t": "set", "p": "payload.nodeid", "pt": "msg", "to": "6db05f00.c9783", "tot": "str" }, { "t": "move", "p": "bri", "pt": "msg", "to": "payload.bri", "tot": "msg" }, { "t": "move", "p": "hue", "pt": "msg", "to": "payload.hue", "tot": "msg" }, { "t": "move", "p": "sat", "pt": "msg", "to": "payload.sat", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 690, "y": 680, "wires": [ [ "81e46aff.74a0d8" ] ] } ]
  • Anfängerfrage Node Red - Wert >1 = true, Wert <1 = false

    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    mickymM
    @jens69 Das geht auch - nur bei der Aufgabenstellung des TE ging es ja nicht nur darum bestimmte konstante Werte zu ersetzen, sondern ganze Wertebereiche (alles größer 1 oder alles kleiner 1) deshalb die Switch Node. Man hätte es aber auch mit einer Change Node und JSONATA machen können. Ansonsten ist die Change Node eine der vielfältigsten und erübrigt damit vielfach function Nodes, die von vielen genutzt wurde.
  • Parameterübergabe an javascript in HTML

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    597 Aufrufe
    F
    @oliverio Hallo oliverio DANKE für deine echt tolle und ausführliche Antwort. Jetzt habe ich die Funktionalität begriffen. Ich werde mein Vorhaben nun anders lösen. Ich werde die Daten mit einem Funktionsblock vorbereiten usw.
  • Window_State mit Blockly gehts mit Rednode nicht???

    4
    2
    0 Stimmen
    4 Beiträge
    246 Aufrufe
    F
    @mickym Hallo @mickym, genau das war die Lösung!! Der String im Adapter... Wäre ich im Leben nicht darauf gekommen... Tausend Dank, Grüße
  • ioBroker Get und List Abfrage ob Datenpunkt existiert

    7
    0 Stimmen
    7 Beiträge
    462 Aufrufe
    Bernd1967B
    @mickym Ja, Danke, das geht, dauert in der Summe dann aber länger. Ich nutze jetzt erstmal die ioBroker-out Bug-Methode, die ist Blitzschnell.
  • Fernzugriff Node Red

    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    ?
    @mickym Oh man das nenne ich mal sehr ausführlich :+1: Dafür erst einmal vielen Dank ich arbeite mich da durch und werde berichten wie es geklappt hat, oder auch nicht ;-) Ja ich möchte gern von außerhalb auf meine Flows zugreifen und diese auch bearbeiten können. Das mit dem Dashboard konnte ich schon mit der Remote Node lösen. Kostet im Jahr etwas über 6€ das kann ich mir noch leisten :blush: Da es mir jetzt immer mehr unter Node Red weitergeht wäre es schon schön wenn ich das Problem lösen kann.
  • ioBroker List node und regex

    3
    1
    0 Stimmen
    3 Beiträge
    349 Aufrufe
    R
    @mickym Ja, habe hier was gefunden Da sind ein paar Beispiele drin. Mal sehen ob das hilfreich ist. Eigentlich geht mir die Filterung per change und JSONata einigermaßen von der Hand. Hab mir da ein paar Listen zusammengebastelt. Etwa das hier in NR. Da ich in meinen Listen noch die Geräte-Icons untergebracht habe, muss ich halt die States und die Devices auslesen. Ging aber recht einfach per JSONata und da ich ja eh immer die Geräte/Stati komplett lese nützt die Filterung an der Quelle evtl. nicht wirklich viel und auf eine Online-Aktualisierung der Linkqualität habe ich verzichtet, sodass sich die Abfragen in Grenzen halten. Habe das jetzt so gelöst, dass die Aktualisierung automatisch erfolgt, wenn ich die Browser-Seite aufrufe/aktualisieren. Das sollte reichen. Gruß und danke Reiner
  • Function node nach update ohne Funktion?

    9
    0 Stimmen
    9 Beiträge
    733 Aufrufe
    E
    @mickym Hallo Micky, wo du recht hast, hast du recht. Wenn jezt wirklich immer ein String übergeben wird, und das nicht mehr anzupassen ist, muss ich den Flow eben anpassen. Warum ich aus der IN Node das Objekt nehme, kann ich dir auch nicht sagen. Ich habe mir das damals mit viel probieren Node-Red angeeignet, weil für mein ModBus Gerät der ioBroker Adapter nicht funktonierte. Habe den Flow mit viel Try and Error entwickelt und da war mit der Unterschied von Objekt und value noch nicht so bewusst. Je länger ich mich mit ioBroker beschäftige um so besser mehr bleibt hängen....:v: Wie auch immer, den val.split befehl kannte ich nicht, aber nach so was habe ich auch gesucht und werde ich auch zeitnah ausprobieren. Ich werde mir das auch mit der CHANGE Node anschauen.. schaut auch vielversprechend und wie du sagst übersichtlicher aus. Meine Grundsätzliche Frage ist beantwortet - es werden jetzt immer Strings ausgetauscht. Sollte ich bzgl der Umsetzung bzw Nodes noch Fragen haben, meld ich mich nochmals. Vielen Dank für die schnelle und proffessionelle Hilfe!! lg Etze

754

Online

32.6k

Benutzer

82.1k

Themen

1.3m

Beiträge