Skip to content

Node-Red

Hilfe für Skripterstellung mit Node-RED

953 Themen 13.1k Beiträge

NEWS

  • Node Red schreibt keine Datenpunkte

    23
    3
    0 Stimmen
    23 Beiträge
    2k Aufrufe
    mickymM
    @joeysch Kannst du dann aber nach @joeysch sagte in Node Red schreibt keine Datenpunkte: Die Ordner haben aber nicht den Typ "folder". Wenn das so nicht deklariert ist lassen sich auch manuell keine DP's darin anlegen. Egal, ich habe sie nochma überschrieben und jetzt läuft alles. Kannst Du aber nachträglich im Objekt ändern, wenn Du das brauchst, um eigene Datenpunkte im Admin zu erstellen.
  • Node red ui scheduler

    1
    0 Stimmen
    1 Beiträge
    140 Aufrufe
    Niemand hat geantwortet
  • Shelly schaltet, aber keine Ahnung woher und warum ;-)

    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    hotspot_2H
    @homoran Ich hab das Objekt (RPC) im Shelly geloggt über den History Adapter der den entsprechenden Shelly ansteuert über MQTT. Also der Shelly ist über den MQTT Adapter so angebunden. Die Änderungen die da kommen auf das Objekt (RPC) werden auch sauber geloggt, aber ich sehe eben kein true wenn dann das Licht plötzlich angeht. Loggen Quelle ist aber aktiviert. Es steht da immer "MQTT".
  • Gedankenanstoß bezüglich Umsetzung Lüftungsautomatisierung

    8
    0 Stimmen
    8 Beiträge
    573 Aufrufe
    A
    @schneidy76 Vielen Dank für deinen Beitrag. Das mit dem Kamin ist kein Problem, wir haben nämlich keinen. Ansonsten hast du recht, mir ist das zu trivial. Im Grunde hast du ja die Lüftung hinter einen Zeitschaltuhr gehängt, der du einen Aus-/Ein-Knopf verpasst hast. Das habe ich jetzt auch schon so ähnlich. Nur dass mein Ein-/Aus-Knopf ein Sommer-/Winter-Knopf ist. Ich denke ja schon ne ganze Weile darüber nach und meine oben genannten Kriterien sind ja genau aus solchen Überlegungen gewachsen. Mir ging es mehr darum, dass ich nicht wusste, wie ich meine Ideen in Node-Red umsetzen und zusammenbauen soll. Aber wie sagt man immer: "Wenn du es dir vorstellen kannst, kannst du es auch tun." Was mir bei dir z. B. im Sommer schon fehlen würde: Oft ist es ja in heißen Sommern manchmal bis 3 Uhr nachts draußen immer noch >Raumtemperatur. Dann saugst du dir also von Sonnenuntergang von z. B. 22Uhr - 3 Uhr die warme Luft rein. Am Beispiel von mickym sieht man ja, dass es logsicher/smarter geht. @mickym WOW! Vielen Dank für deinen Input. Du hast recht, es ist meinerseits stellenweise zu komplex gedacht. Aber mit deinen Ausführungen, glaube ich, aktuell alles nötige zu haben und werde mich am Wochenende mal raussetzen und versuchen, das umgesetzt zu bekommen. Es werden dabei sicherlich weitere Fragen auftauchen, daher werde ich mich bald mit dem Ergebnis wieder melden ;)
  • [gelöst] Wert für alle Objekte in einem Order setzen

    node-red
    19
    1
    0 Stimmen
    19 Beiträge
    1k Aufrufe
    S
    @mickym said in Wert für alle Objekte in einem Order setzen: Ja immer die Leute, die Sonderzeichen in Objekten verwenden. jaja, schon verstanden, bisher war es kein Problem... ;-) Aber nun zum wesentlichen: es funktioniert tatsächlich! Dankeschön!!!
  • Hilfe, Wert aus String anzeigen

    Verschoben
    37
    1
    0 Stimmen
    37 Beiträge
    3k Aufrufe
    E
    @mickym Herzlichen Dank...werde es morgen testen :+1:
  • Dashboard multiple Werte mit unterschiedlicher Range

    2
    1
    0 Stimmen
    2 Beiträge
    121 Aufrufe
    mickymM
    @schnuller Nein das geht nicht mit normalen Dashboardmitteln - da musst Du dann andere Tools verwenden, die sich auf das Charting spezialisiert haben - zum Beispiel wird ja oft Grafana genutzt.
  • Node Red Tasmota und Switsch

    Verschoben
    34
    1
    0 Stimmen
    34 Beiträge
    2k Aufrufe
    J
    @josefthal ``` [ { "id": "e4aa7e9b9fb405d9", "type": "tab", "label": "Tasmota Test1", "disabled": false, "info": "", "env": [] }, { "id": "e5c4d789e94d350e", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 81", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1040, "y": 160, "wires": [] }, { "id": "7cf3622b17046eee", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "Spannung", "rules": [ { "t": "move", "p": "payload.ENERGY.Voltage", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 580, "y": 160, "wires": [ [ "e5c4d789e94d350e", "a10b8a367682404e" ] ] }, { "id": "a10b8a367682404e", "type": "ui_gauge", "z": "e4aa7e9b9fb405d9", "name": "", "group": "04d5298db5344c1e", "order": 2, "width": 0, "height": 0, "gtype": "gage", "title": "volt Test 1", "label": "units", "format": "{{value}}", "min": 0, "max": "240", "colors": [ "#ff0000", "#ffff00", "#008000" ], "seg1": "200", "seg2": "220", "x": 760, "y": 160, "wires": [] }, { "id": "77456c5a3405fff3", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 82", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 440, "y": 100, "wires": [] }, { "id": "89e9cf65394790da", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "Strom Filter", "rules": [ { "t": "move", "p": "payload.ENERGY.Current[1]", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 200, "wires": [ [ "e60c46e0c106e4dc" ] ] }, { "id": "318a5c613a88c769", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 83", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1040, "y": 200, "wires": [] }, { "id": "401d1fdd51ecce14", "type": "victron-input-battery", "z": "e4aa7e9b9fb405d9", "service": "com.victronenergy.battery.socketcan_can1", "path": "/Soc", "serviceObj": { "service": "com.victronenergy.battery.socketcan_can1", "name": "Pylontech battery" }, "pathObj": { "path": "/Soc", "type": "float", "name": "State of charge (%)" }, "initial": "", "name": "", "onlyChanges": false, "x": 180, "y": 520, "wires": [ [ "6ddde74da4bb9545" ] ] }, { "id": "5369f8cb591ac34d", "type": "switch", "z": "e4aa7e9b9fb405d9", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "gt", "v": "101", "vt": "num" }, { "t": "lt", "v": "70", "vt": "num" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 390, "y": 1000, "wires": [ [ "e5fea5b934a2efc7", "b9ed6599cf70de74" ], [ "5012c46291e78a77", "cbe9c595bb01b81e" ] ] }, { "id": "f237aa09ab50cbd7", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 84", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 660, "y": 380, "wires": [] }, { "id": "5d01b124055bea37", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "State Of Charge", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 800, "y": 580, "wires": [] }, { "id": "6ddde74da4bb9545", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "", "rules": [ { "t": "set", "p": "StateOfCharge", "pt": "global", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 520, "y": 520, "wires": [ [ "5d01b124055bea37", "52e26a73c3b27f6e", "50eb11e95ce1c4f3" ] ] }, { "id": "bd97fddd9dcd4646", "type": "ui_slider", "z": "e4aa7e9b9fb405d9", "name": "", "label": "0 bis 100 test 1eingang", "tooltip": "", "group": "04d5298db5344c1e", "order": 4, "width": 0, "height": 0, "passthru": true, "outs": "all", "topic": "topic", "topicType": "msg", "min": 0, "max": "100", "step": 1, "x": 160, "y": 600, "wires": [ [ "1b2e513f58f2960b", "236cb5a6278abac6", "5ba74f68268192ec", "e5c7f72323657170", "dbc6348bafca49a8" ] ] }, { "id": "1b2e513f58f2960b", "type": "ui_gauge", "z": "e4aa7e9b9fb405d9", "name": "", "group": "04d5298db5344c1e", "order": 5, "width": 0, "height": 0, "gtype": "gage", "title": "0 bis 100 test 1 Ausgang", "label": "Batterie", "format": "{{value}}", "min": 0, "max": "100", "colors": [ "#ff0000", "#e6e600", "#00ff00" ], "seg1": "", "seg2": "", "x": 590, "y": 600, "wires": [] }, { "id": "0d5525e74b9b0109", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 86", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 880, "y": 1120, "wires": [] }, { "id": "73f440c9fc6e840c", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 87", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1060, "y": 280, "wires": [] }, { "id": "6ebf1c2b99b260a0", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 88", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 940, "y": 760, "wires": [] }, { "id": "99db0d2dae9eefe5", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "Strom power", "rules": [ { "t": "move", "p": "payload.Switch1", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "on", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 280, "wires": [ [ "ec8f88403a3d804a" ] ] }, { "id": "d6f7d9277bab1b46", "type": "ui_chart", "z": "e4aa7e9b9fb405d9", "name": "", "group": "a9d0f0d6dc0f0a7e", "order": 11, "width": 0, "height": 0, "label": "1Strom Test1", "chartType": "bar", "legend": "true", "xformat": "HH:mm:ss", "interpolate": "linear", "nodata": "", "dot": false, "ymin": "", "ymax": "", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "3600", "cutout": 0, "useOneColor": false, "useUTC": false, "colors": [ "#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "outputs": 1, "useDifferentColor": false, "x": 770, "y": 240, "wires": [ [ "eba281a8c7d862c3" ] ] }, { "id": "eba281a8c7d862c3", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 89", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1060, "y": 240, "wires": [] }, { "id": "f5252ff2d2f5e5c1", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "Strom Filter", "rules": [ { "t": "move", "p": "payload.ENERGY.Current[0]", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 240, "wires": [ [ "d6f7d9277bab1b46" ] ] }, { "id": "e60c46e0c106e4dc", "type": "ui_chart", "z": "e4aa7e9b9fb405d9", "name": "", "group": "04d5298db5344c1e", "order": 6, "width": 0, "height": 0, "label": "Strom Test1", "chartType": "bar", "legend": "false", "xformat": "HH:mm:ss", "interpolate": "linear", "nodata": "", "dot": false, "ymin": "", "ymax": "", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "3600", "cutout": 0, "useOneColor": false, "useUTC": false, "colors": [ "#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "outputs": 1, "useDifferentColor": false, "x": 770, "y": 200, "wires": [ [ "318a5c613a88c769" ] ] }, { "id": "e5fea5b934a2efc7", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "ON", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 630, "y": 1020, "wires": [ [ "a3ff7d845272b908", "d00e1f649acb16f3" ] ] }, { "id": "7dd91967b9ae0e11", "type": "Tasmota Sensor", "z": "e4aa7e9b9fb405d9", "broker": "7a7b311bf649aa87", "device": "Tasmota_test1", "name": "", "outputs": 1, "uidisabler": false, "fullTopic": "", "cmndPrefix": "", "statPrefix": "", "telePrefix": "", "qos": 1, "retain": false, "rules": [], "outputTopic": "", "x": 240, "y": 140, "wires": [ [ "99db0d2dae9eefe5", "f5252ff2d2f5e5c1", "89e9cf65394790da", "7cf3622b17046eee", "77456c5a3405fff3" ] ] }, { "id": "ec8f88403a3d804a", "type": "ui_chart", "z": "e4aa7e9b9fb405d9", "name": "", "group": "04d5298db5344c1e", "order": 7, "width": 0, "height": 0, "label": "Pauer Test1", "chartType": "bar", "legend": "true", "xformat": "HH:mm:ss", "interpolate": "linear", "nodata": "", "dot": false, "ymin": "", "ymax": "", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "3600", "cutout": 0, "useOneColor": false, "useUTC": false, "colors": [ "#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "outputs": 1, "useDifferentColor": false, "x": 770, "y": 280, "wires": [ [ "73f440c9fc6e840c" ] ] }, { "id": "d00e1f649acb16f3", "type": "mqtt out", "z": "e4aa7e9b9fb405d9", "name": "", "topic": "cmnd/Tasmota_test1/POWER1", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "b84a725bf6dd8e6b", "x": 1010, "y": 1020, "wires": [] }, { "id": "56a67d7f80182ecc", "type": "mqtt in", "z": "e4aa7e9b9fb405d9", "name": "", "topic": "tele/Tasmota_test1/SENSOR", "qos": "0", "datatype": "json", "broker": "b84a725bf6dd8e6b", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 140, "y": 320, "wires": [ [ "a79580173aa2a19f", "0ae9a66a06af1dd3" ] ] }, { "id": "a3ff7d845272b908", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 98", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 980, "y": 980, "wires": [] }, { "id": "a79580173aa2a19f", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 100", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 660, "y": 320, "wires": [] }, { "id": "52e26a73c3b27f6e", "type": "ui_text", "z": "e4aa7e9b9fb405d9", "group": "71e172fc8641b4f7", "order": 6, "width": 6, "height": 1, "name": "", "label": "Batterie test 1", "format": "{{msg.payload}}", "layout": "row-spread", "x": 1090, "y": 560, "wires": [] }, { "id": "50eb11e95ce1c4f3", "type": "ui_gauge", "z": "e4aa7e9b9fb405d9", "name": "", "group": "04d5298db5344c1e", "order": 3, "width": 0, "height": 0, "gtype": "gage", "title": "Batterie Test 1", "label": "units", "format": "{{value}}", "min": 0, "max": "100", "colors": [ "#ff0000", "#ffff00", "#008000" ], "seg1": "30", "seg2": "75", "x": 1100, "y": 520, "wires": [] }, { "id": "5012c46291e78a77", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "OFF", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 630, "y": 1060, "wires": [ [ "0d5525e74b9b0109", "d00e1f649acb16f3" ] ] }, { "id": "b9ed6599cf70de74", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 101", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 720, "y": 940, "wires": [] }, { "id": "cbe9c595bb01b81e", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 102", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 640, "y": 1120, "wires": [] }, { "id": "934a40174dc661ef", "type": "function", "z": "e4aa7e9b9fb405d9", "name": "function 1", "func": "\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1340, "y": 240, "wires": [ [] ] }, { "id": "7b549e85395e6e3a", "type": "function", "z": "e4aa7e9b9fb405d9", "name": "Zähler 1", "func": "var f_zaehler1 = flow.get(f_zaehler1) || 0;\nf_zaehler1 = 100;\nflow.set('f_zaehler1', f_zaehler1);\nmsg.payload = f_zaehler1;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 860, "y": 440, "wires": [ [ "091cad702c61cd45" ] ] }, { "id": "091cad702c61cd45", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 104", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 1020, "y": 400, "wires": [] }, { "id": "89f93330dc0e65fa", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 105", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 920, "y": 700, "wires": [] }, { "id": "e14d12f8a327f7d2", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 106", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 120, "y": 920, "wires": [] }, { "id": "7f4199879ec3aeda", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 107", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 1020, "y": 480, "wires": [] }, { "id": "5ba74f68268192ec", "type": "switch", "z": "e4aa7e9b9fb405d9", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "gt", "v": "1", "vt": "num" }, { "t": "lt", "v": "0", "vt": "num" } ], "checkall": "false", "repair": false, "outputs": 2, "x": 150, "y": 720, "wires": [ [], [] ] }, { "id": "dbc6348bafca49a8", "type": "function", "z": "e4aa7e9b9fb405d9", "name": "Zähler 2", "func": "var f_zaehler2 = flow.get(f_zaehler2) || 0;\nflow.set('f_zaehler2',msg.payload);\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 660, "y": 700, "wires": [ [ "89f93330dc0e65fa" ] ] }, { "id": "0ae9a66a06af1dd3", "type": "change", "z": "e4aa7e9b9fb405d9", "name": "Strom power", "rules": [ { "t": "move", "p": "payload.Switch1", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "on", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 350, "y": 380, "wires": [ [ "f237aa09ab50cbd7", "799b36b1217126ae" ] ] }, { "id": "799b36b1217126ae", "type": "trigger", "z": "e4aa7e9b9fb405d9", "name": "", "op1": "ON", "op2": "ON", "op1type": "str", "op2type": "str", "duration": "18", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 670, "y": 460, "wires": [ [ "7b549e85395e6e3a" ], [ "65753d1d393ce5f9" ] ] }, { "id": "65753d1d393ce5f9", "type": "function", "z": "e4aa7e9b9fb405d9", "name": "Zähler 1", "func": "var f_zaehler1 = flow.get(f_zaehler1) || 0;\nf_zaehler1 = 0;\nflow.set('f_zaehler1', f_zaehler1);\nmsg.payload = f_zaehler1;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 860, "y": 480, "wires": [ [ "7f4199879ec3aeda" ] ] }, { "id": "3ce3731fa2de008c", "type": "function", "z": "e4aa7e9b9fb405d9", "name": "Zähler 4", "func": "var f_zaehler1 = flow.get(f_zaehler1) || 0;\nvar f_zaehler2 = flow.get(f_zaehler2) || 0;\nvar f_zaehler4 = flow.get(f_zaehler4) || 0;\nf_zaehler4 = f_zaehler1 + f_zaehler2;\nflow.set('f_zaehler4', f_zaehler4);\nmsg.payload = f_zaehler4;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 720, "y": 760, "wires": [ [ "6ebf1c2b99b260a0" ] ] }, { "id": "236cb5a6278abac6", "type": "switch", "z": "e4aa7e9b9fb405d9", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "gt", "v": "1", "vt": "num" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 150, "y": 800, "wires": [ [ "e14d12f8a327f7d2", "1d22878d092191cd" ] ] }, { "id": "f18bedcfdbd9660f", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 109", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 960, "y": 880, "wires": [] }, { "id": "e5c7f72323657170", "type": "switch", "z": "e4aa7e9b9fb405d9", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "gt", "v": "1", "vt": "num" } ], "checkall": "false", "repair": false, "outputs": 1, "x": 150, "y": 760, "wires": [ [ "5317e2e4064ae269" ] ] }, { "id": "241a3883ea624c8d", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 110", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 960, "y": 820, "wires": [] }, { "id": "aaf5f791f630a6a3", "type": "function", "z": "e4aa7e9b9fb405d9", "name": "Zähler 3", "func": "var f_zaehler4 = flow.get(f_zaehler4) || 0;\nvar f_zaehler3 = flow.get(f_zaehler3) || 0;\nf_zaehler3 = f_zaehler4;\nflow.set('f_zaehler3', f_zaehler3);\nmsg.payload = f_zaehler3;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 720, "y": 820, "wires": [ [ "241a3883ea624c8d", "5369f8cb591ac34d" ] ] }, { "id": "47b0ef4a8fb9242e", "type": "debug", "z": "e4aa7e9b9fb405d9", "name": "debug 111", "active": false, "tosidebar": true, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 180, "y": 1060, "wires": [] }, { "id": "f30c68af18f7aef1", "type": "ui_button", "z": "e4aa7e9b9fb405d9", "name": "", "group": "04d5298db5344c1e", "order": 1, "width": 0, "height": 0, "passthru": false, "label": "button", "tooltip": "", "color": "", "bgcolor": "", "icon": "", "payload": "", "payloadType": "str", "topic": "topic", "topicType": "msg", "x": 150, "y": 460, "wires": [ [ "799b36b1217126ae" ] ] }, { "id": "474cddab788eb28b", "type": "function", "z": "e4aa7e9b9fb405d9", "name": "Zähler 2", "func": "var f_zaehler2 = flow.get(f_zaehler2) || 0;\n\nif (msg.topic === "modbus/1/holdingRegisters/30/2600_L1_Power") context.set("L1",msg.payload);\nif (msg.topic === "modbus/1/holdingRegisters/30/2601_L2_Power") context.set("L2",msg.payload);\nif (msg.topic === "modbus/1/holdingRegisters/30/2602_L3_Power") context.set("L3",msg.payload);\n\nvar L1 = context.get("L1") || 0;\nvar L2 = context.get("L2") || 0;\nvar L3 = context.get("L3") || 0;\n\nmsg.payload = L1 + L2 + L3;\n\n\n\n\n\nflow.set('f_zaehler2',msg.payload);\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 220, "y": 980, "wires": [ [] ] }, { "id": "1d22878d092191cd", "type": "trigger", "z": "e4aa7e9b9fb405d9", "name": "", "op1": "ON", "op2": "Taster OFF", "op1type": "str", "op2type": "str", "duration": "-2", "extend": false, "overrideDelay": true, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 500, "y": 820, "wires": [ [ "aaf5f791f630a6a3" ] ] }, { "id": "5317e2e4064ae269", "type": "trigger", "z": "e4aa7e9b9fb405d9", "name": "", "op1": "ON", "op2": "Taster OFF", "op1type": "str", "op2type": "str", "duration": "-2", "extend": false, "overrideDelay": true, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 480, "y": 760, "wires": [ [ "3ce3731fa2de008c" ] ] }, { "id": "04d5298db5344c1e", "type": "ui_group", "name": "Test 1", "tab": "12a65f5c2118623e", "order": 3, "disp": true, "width": "6", "collapse": false }, { "id": "a9d0f0d6dc0f0a7e", "type": "ui_group", "name": "Default", "tab": "12a65f5c2118623e", "order": 4, "disp": true, "width": 6, "collapse": false }, { "id": "7a7b311bf649aa87", "type": "tasmota-mqtt-broker", "name": "", "broker": "localhost", "port": "1883", "clientid": "", "usetls": false, "keepalive": "60", "cleansession": true }, { "id": "b84a725bf6dd8e6b", "type": "mqtt-broker", "name": "CerboGX", "broker": "192.168.178.35", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "71e172fc8641b4f7", "type": "ui_group", "name": "Stapler ", "tab": "12a65f5c2118623e", "order": 1, "disp": true, "width": "6", "collapse": false }, { "id": "12a65f5c2118623e", "type": "ui_tab", "name": "Home", "icon": "dashboard", "order": 2, "disabled": false, "hidden": false } ]
  • Shelly Plus 2PM schalten via MQTT und Nodered

    15
    4
    0 Stimmen
    15 Beiträge
    3k Aufrufe
    M
    @mickym habe das bereits angepasst.. und habs direkt mal simuliert mit einem Föhn und einem Eispad [image: 1708203182048-ed2dbce3-357f-437a-936f-5d8ea0205e65-image.png] klappt super! :smile:
  • S7 mit Node Red (node-red-contrib-s7)

    92
    0 Stimmen
    92 Beiträge
    12k Aufrufe
    apollon77A
    1.4.3 mit dem Fix auf den Weg ins latest ... npm und github wäre schon da. Latest dann heute nacht denke ich
  • NodeRED Logging mit InfluxDB 2.0

    14
    1
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    mickymM
    @mike1976 sagte in NodeRED Logging mit InfluxDB 2.0: Wieso bist du eigentlich so gegen die Funktion-Node? Weil Du im Prinzip einen kompletten Flow in Javascript in eine function Node packen kannst und du damit den Sinn von Node Red der grafischen Programmierung mit seinen Debugging Möglichkeiten ad absurdum führst. Viel Spaß bei Debuggen in einer Function Node. Außerdem ist JSONATA so genial - dass Du damit ein Viertel des Codes brauchst, den Du mit Javascript brauchst. Es gibt bestimmte Funktionen, wie den NodeKontext, das nutzen externen NodeJS Module oder asynchrone Verarbeitung für die man function Nodes braucht und es sinnvoll ist, diese zu nutzen. Alles andere geht mit Standardnodes einfacher, kürzer insbesondere mit der genialen JSONATA implementierung.
  • Addieren von 2 Werten in Nod-RED

    6
    0 Stimmen
    6 Beiträge
    564 Aufrufe
    mickymM
    @siegfried56 Ich habe schon oft einige Links gepostet, wenn Du unbedingt eine Print Ausgabe suchst - habe ich mir das mal angeschaut, aber ob es Dir was bringt weiß ich nicht https://www.amazon.de/Node-RED-umfassende-Handbuch-Visuelles-Programmieren/dp/3836299089/ref=zg-te-pba_d_sccl_2_2/257-2787158-1208812?pd_rd_w=WKsCf&content-id=amzn1.sym.2773ee31-e1d7-4b66-89a3-82d27d16ebdc&pf_rd_p=2773ee31-e1d7-4b66-89a3-82d27d16ebdc&pf_rd_r=28D9HBN4Q0JWRDB9ZFCB&pd_rd_wg=T1CgC&pd_rd_r=787b60e4-19d0-4c94-acc7-81bf0becde76&pd_rd_i=3836299089&psc=1
  • Node-red und Zigbee

    2
    2
    0 Stimmen
    2 Beiträge
    306 Aufrufe
    andy6325A
    ok, habe es selber gefunden. Man muss den ioBroker out von Type "Value" auf type "Command" umstellen und dann geht es :-D [image: 1707464202352-83904cbb-da2e-4576-a094-d6dd4572eaf7-image.png]
  • Anlegen eines States

    1
    0 Stimmen
    1 Beiträge
    187 Aufrufe
    Niemand hat geantwortet
  • Anfänger braucht Hilfe zum Addieren von MQTT werten

    8
    1
    0 Stimmen
    8 Beiträge
    332 Aufrufe
    S
    Puh jetzt habe ich aber schelte eingefangen aber danke trotzdem, denk ich verstehe es jetzt besser entscheidend ist der Eintrag " $sum(payload.*) " alle payloads , die mit sum zusammenaddieren
  • HTTP Scraping - payload anpassen - InfluxDb

    node-red heating monitoring
    5
    0 Stimmen
    5 Beiträge
    229 Aufrufe
    T
    @mickym Tausend Dank! Du hast direkt noch weiter gedacht, sodass ich das ganze jetzt in meine Influx schreiben kann. Danke dafür!
  • Wie kann ich Zwei Analogwerte vergleichen.

    node-red
    18
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    mickymM
    @armin-2 [image: 1706977482441-d95a2ba4-ef3c-43d8-8ec0-391d9cec6114-image.png] Also Du fügst in der JOIN Node ja nur die 3 Werte in ein Objekt zusammen. Wenn Du eine DebugNode hinter die JOIN Node machen würdest würdest Du sehen, wie das Objekt zusammengesetzt wird. [image: 1706978551038-45160f00-62aa-4066-bf88-97f568135b1d-image-resized.png] Also die Verwendung von Debug Nodes hilft in der Regel immer. Die JOIN Node setzt also die topics nur zusammen, addiert diese aber nicht, dass musst Du mit einer anschliessenden ChangeNode noch machen. das kannst Du entweder in diesem Fall mit der Summenfunktion von JSONATA machen: [image: 1706978774113-09c69200-ad70-43d4-90a2-cc239d499c8f-image-resized.png] oder in dem Du die Werte einzeln mit JSONATA addierst: [image: 1706978886301-b8991895-efa4-4b69-8696-12d9dc843f13-image-resized.png] Also in JSONATA in der ChangeNode entweder: payload.L1 + payload.L2 +payload.L3 oder $sum(payload.*) hier die Change node Spoiler [ { "id": "0eeff7bfe9f566bd", "type": "change", "z": "c38a1eccc4954015", "g": "f6a3a84cec843ef8", "name": "summieren", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$sum(payload.*)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 890, "y": 480, "wires": [ [ "bc12eec763ba10c2", "2942bca022679e0e" ] ] } ]
  • Ahoy DTU Limit via Node-Red einstellen

    16
    2
    0 Stimmen
    16 Beiträge
    2k Aufrufe
    _
    @mickym Dann bin ich ja beruhigt. Das ist sehr nett Danke. Ich bin froh, dass es dich in diesem Forum hier gibt, denn ohne dich hätte ich viele Dinge nicht lösen können ;). Danke dafür :)
  • Nach Neuinstallation Node Red Backup einspielen

    9
    0 Stimmen
    9 Beiträge
    548 Aufrufe
    simatecS
    @netfritz In der latest Version von Backitup ist das bereits gefixt
  • node-red-contrib-wca-integration funktion-node befüllen

    node-red
    2
    2
    0 Stimmen
    2 Beiträge
    243 Aufrufe
    S
    Hi, habe es erst einmal mit dem Telegram Messenger gelöst. Das war relativ einfach, dank der Anleitung von @haus-automatisierung. Besten Dank dafür ;-) VG Torsten

434

Online

32.6k

Benutzer

82.1k

Themen

1.3m

Beiträge