Skip to content

Node-Red

Hilfe für Skripterstellung mit Node-RED

953 Topics 13.1k Posts

NEWS

  • Türöffner Taster nach einer Sekunde ausschalten

    5
    0 Votes
    5 Posts
    442 Views
    D
    @mickym Super Danke habs jetzt hinbekommen[image: 1647874997557-screenshot-2022-03-21-160243.png]
  • Dark Theme für Node-Red

    4
    0 Votes
    4 Posts
    853 Views
    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 Votes
    1 Posts
    505 Views
    No one has replied
  • Node Red parsen

    12
    0 Votes
    12 Posts
    2k Views
    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 Votes
    5 Posts
    1k Views
    D
    @mickym Es läuft nach dem downgrade auf 14 1000 Dank
  • 2 Hexzahlen zusammenführen

    10
    3
    0 Votes
    10 Posts
    897 Views
    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 Votes
    4 Posts
    440 Views
    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 Votes
    3 Posts
    575 Views
    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 Votes
    5 Posts
    461 Views
    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 Votes
    2 Posts
    134 Views
    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

    Moved
    2
    0 Votes
    2 Posts
    163 Views
    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 Votes
    4 Posts
    249 Views
    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 Votes
    2 Posts
    236 Views
    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 Votes
    9 Posts
    1k Views
    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

    Moved
    9
    0 Votes
    9 Posts
    597 Views
    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 Votes
    4 Posts
    246 Views
    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 Votes
    7 Posts
    462 Views
    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 Votes
    8 Posts
    2k Views
    ?
    @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 Votes
    3 Posts
    349 Views
    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 Votes
    9 Posts
    733 Views
    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

503

Online

32.6k

Users

82.1k

Topics

1.3m

Posts