Weiter zum Inhalt

Node-Red

956 Themen 13.1k Beiträge

Hilfe für Skripterstellung mit Node-RED

NEWS

  • Hilfe bei NodeRed wegen Status Fenster/Türen - GELÖST

    16
    4
    0 Stimmen
    16 Beiträge
    2k Aufrufe
    mac89mucM
    @mickym Vielen Dank ich probiere jetzt mal ein bisschen rum und passe meine Flows an. Ich habe noch 2-3 andere Themen bzgl. Node-Red und würde mich dann mit einem separaten Thread nochmal melden, vielleicht hast Du dann ja nochmal Zeit & Lust mir weiterzuhelfen. Vielen Dank nochmals für die schnelle und ausführliche Hilfe. Gruß
  • JSONata in Node msg.topic

    1
    1
    0 Stimmen
    1 Beiträge
    201 Aufrufe
    Niemand hat geantwortet
  • [gelöst] Eigenschaften eines Datenpunktes steuern

    5
    0 Stimmen
    5 Beiträge
    467 Aufrufe
    mickymM
    @superflip nein das mit der Variablen, kann ja auch ein weiterer Datenpunkt sein, das wäre die saubere Lösung
  • Telegram als Adapter und Nodered

    33
    0 Stimmen
    33 Beiträge
    4k Aufrufe
    mickymM
    @basti17683 Das kann ich Dir leider nicht sagen, da ich den Adapter nicht kenne. Ich denke, da muss jemand helfen, der den Adapter richtig kennt. Die neue send Node - sendet (wenn Du in command nichts einträgst) einfach mit send Dein Objekt. Mit welchen Eigenschaften Dein Objekt bestückt sein muss, dass musst Du in dem Adapter lesen. https://github.com/iobroker-community-adapters/ioBroker.telegram/blob/master/docs/en/README.md [image: 1741079461225-5db39a9c-bd1c-4f7b-b9a3-1758a288177f-image-resized.png] Vielleicht musst in der payload als Objekt noch die caption eintragen oder irgendwie die methoden mitgeben. Generell musst Du die parameter als JSON Objekt in der payload mitgeben. Wie Du die Methoden nutzt, die in der API als JSON nutzt ist mir auch nicht klar. Aber wenn Du das weißt, dann sollte es ja kein Problem sein, dass Objekt als payload zu definieren.
  • Garagentor überwachen

    5
    0 Stimmen
    5 Beiträge
    464 Aufrufe
    hotspot_2H
    @mickym Vielen Dank! Läuft perfekt.
  • NodeRed (iob Adapter) kann keine Telegram nachrichten senden

    7
    2
    1 Stimmen
    7 Beiträge
    1k Aufrufe
    Basti17683B
    @markus-2 Ich hänge mich mal hier mit dran. Eure bisherigen Fragen und Antworten haben mir geholfen den Telegram Adapter im Node Red in Betrieb nehmen zu können. Hat einer von euch schon versucht ein Bild per Telegram zu versenden? Mit der von euch hier erwähnten Change Node schickt ihr ja nur Text. Was ist wenn ich hier ein File aus einem Verzeichnis senden möchte? In der Doku habe ich nachgeshen, da steht es ja ziemlich weit oben - aber das sieht nicht so Node Red komform aus?! Ich weiß hier nicht wo, und vor allem was von dem ganzen ich hier eintragen soll [image: 1740679246746-0653fbca-aae0-4a97-a4e0-bd6c7b7765ec-grafik.png]
  • PAJ GPS mit Node-Red abfragen

    153
    0 Stimmen
    153 Beiträge
    24k Aufrufe
    A
    @mickym Vielen Dank für den Einstieg in Node Red das hat mir viel gebracht. Denke das ich jetzt weiter komme.
  • Gerät alle x sek auf true prüfen

    3
    0 Stimmen
    3 Beiträge
    355 Aufrufe
    AphofisA
    @meister-mopper Hab das jetzt so versucht und es scheint zu klappen. Spoiler [ { "id": "c90b897289b24941", "type": "tab", "label": "Aqua Lüfter intern", "disabled": false, "info": "", "env": [] }, { "id": "ae78a11f0d035ca9", "type": "change", "z": "c90b897289b24941", "name": "true -> false", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 180, "wires": [ [ "5d9622c7cf76eb5c" ] ] }, { "id": "daf0170004c7403a", "type": "trigger", "z": "c90b897289b24941", "name": "Trigger nach 60s stabli false", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "60", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 620, "y": 180, "wires": [ [], [ "ae78a11f0d035ca9", "fd2c3d2227822c50" ] ] }, { "id": "1dfe78af856ed0c8", "type": "trigger", "z": "c90b897289b24941", "name": "Triggger nach 60s stabil true", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "60", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 620, "y": 120, "wires": [ [], [ "b845de14fa232863" ] ] }, { "id": "011752fcf235af6d", "type": "function", "z": "c90b897289b24941", "name": "true->Start-false->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == true){\n msg.payload = true;\n return msg;\n}\nif(news == false){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 350, "y": 120, "wires": [ [ "1dfe78af856ed0c8" ] ] }, { "id": "2236fa43047ef683", "type": "function", "z": "c90b897289b24941", "name": "false->Start-true->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == false){\n msg.payload = true;\n return msg;\n}\nif(news == true){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 350, "y": 180, "wires": [ [ "daf0170004c7403a" ] ] }, { "id": "5d9622c7cf76eb5c", "type": "debug", "z": "c90b897289b24941", "name": "Lüfter Aus", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1130, "y": 180, "wires": [] }, { "id": "60ce3f5db3490b3d", "type": "ioBroker in", "z": "c90b897289b24941", "name": "Lüfter intern", "attrname": "payload", "topic": "sonoff.0.Aqua_Control.POWER4", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 110, "y": 160, "wires": [ [ "011752fcf235af6d", "2236fa43047ef683" ] ] }, { "id": "b845de14fa232863", "type": "ioBroker out", "z": "c90b897289b24941", "name": "Lüfter intern", "topic": "sonoff.0.Aqua_Control.POWER4", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 850, "y": 120, "wires": [] }, { "id": "3f1ff1fd7514e84d", "type": "debug", "z": "c90b897289b24941", "name": "Lüfter An", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1120, "y": 300, "wires": [] }, { "id": "08af6af0c034de6a", "type": "change", "z": "c90b897289b24941", "name": "set true", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "bool", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 960, "y": 240, "wires": [ [ "8a92ec1e5d1588a5", "3f1ff1fd7514e84d" ] ] }, { "id": "8a92ec1e5d1588a5", "type": "ioBroker out", "z": "c90b897289b24941", "name": "Lüfter intern", "topic": "sonoff.0.Aqua_Control.POWER4", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1130, "y": 240, "wires": [] }, { "id": "fd2c3d2227822c50", "type": "trigger", "z": "c90b897289b24941", "name": "wait", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "5", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 830, "y": 240, "wires": [ [ "08af6af0c034de6a" ] ] } ] [image: 1740578334944-screenshot-2025-02-26-145806.png] Ich habe eine Aquarium Steuerung mal selbst gebaut aus Acryl mit einem Lüfter im Gehäuse und durch die ganze ESPs, Stepdown, Netzteile etc wird es etwas warm in dem Acryl Kasten. Damals war noch ein Raspi Pi in dem Gehäuse mit eingebaut da hatte ich die Steuerung über die RPI Temp gesteuert also wenn CPU zu warm wird trotz der eigenen beiden kleinen Lüfter soll Gehäuse Lüfter mit anspringen bei Temp X und bei Temp Y wieder aus gehen. Nun soll der Lüfter einfach laufen. Hab noch einen DHT11 intern verbaut, müsste den mal im Tasmota wieder aktivieren, dann könnte ich das auch darüber laufen lassen. Hatte nur damals die Steuerung unter über 170 Steuerungen ausversehen gelöscht also neu basteln. Bis auf den Pi mit Zusatzplatine sind nur noch 1 ESP und ein Distanz Sensor dazu gekommen. [image: 1740578923339-photo_2025-02-26_15-06-10.jpg] Auch getestet, nach einem ESP Reboot und 60 sek + 5 sek wird der Lüfter wieder eingeschaltet. Das ganze muss dann auch noch für die Filterpumpe gebastelt werden. Doch da muss noch mehr rein. Die Fische werden 2 mal am Tag per Futterautomat über 2 Blocklys gefüttert und da geht die Pumpe aus und muss auch aus bleiben für 10 min in der Zeit darf natürlich die Pumpe nicht wieder anspringen. die blocklys hatte paul53 mal für mich erstellt aber die sind so koplex die schaffe ich nicht um zu hechseln in node-red um diese dann da weiter zu bauen. Für manch einen hier, mag es Super einfach sein aber ich bin da nicht so der crack! Eigentlich ist die Steuerung ja einfach die guckt einfach in die Datenpunkte Fütterungszeit davon gibt es 6 wovon 2 aktiv sind dann gibt es 3 faktoren datenpunkte mit 1 - 2 - 3 für 1 x füttern 2 mal füttern usw wo dann 1 mal füttern zB 300 ms sind und 2 mal dann dementsprechend 600 ms da ist dann immer eine bestimmte Menge Futter. dazu wird dann die Pumpe per mqtt Tasmota Relai abgeschaltet und nach x min wieder eingeschaltet.
  • Node-Red Node warte x bis rechnung

    22
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    AphofisA
    Habe es jetzt so umgebaut und es scheint zu laufen. Ob es so aber korrekt ist weiß ich nicht. Spoiler [ { "id": "e96d40e5c03c8e73", "type": "tab", "label": "Wasser Aquarium", "disabled": false, "info": "", "env": [] }, { "id": "a33e443616fc222a", "type": "junction", "z": "e96d40e5c03c8e73", "x": 490, "y": 640, "wires": [ [ "60d53c22716069e9", "d068ec15abcaade1" ] ] }, { "id": "386107c00f1d7619", "type": "junction", "z": "e96d40e5c03c8e73", "x": 490, "y": 760, "wires": [ [ "8ef2203079f36296", "29b1c7a13367c06a" ] ] }, { "id": "eaa54aa4d4524f13", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "attrname": "jahr", "payloadType": "value", "errOnInvalidState": "nothing", "x": 570, "y": 520, "wires": [ [ "4d1b142f05cab694" ] ] }, { "id": "4d1b142f05cab694", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "gesamt", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Gesamt", "attrname": "gesamt", "payloadType": "value", "errOnInvalidState": "nothing", "x": 700, "y": 520, "wires": [ [ "5fd63c6641e9671f" ] ] }, { "id": "ab094d747fb4d4a2", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Ausgabe Rechnung", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1230, "y": 700, "wires": [] }, { "id": "54048569a59a81bb", "type": "change", "z": "e96d40e5c03c8e73", "name": "rechnung", "rules": [ { "t": "set", "p": "durchfluss", "pt": "msg", "to": "$round(durchfluss / 2.207,2)", "tot": "jsonata" }, { "t": "set", "p": "jahr", "pt": "msg", "to": "$round(durchfluss / 1000 + jahr,2)", "tot": "jsonata" }, { "t": "set", "p": "gesamt", "pt": "msg", "to": "$round(durchfluss / 1000 + gesamt,2)", "tot": "jsonata" }, { "t": "set", "p": "tag", "pt": "msg", "to": "$round(durchfluss + tag,2)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 960, "y": 520, "wires": [ [ "c0b45921777999b9", "39aa9bd9d6bd2aba", "1ff4be2b8a9ab574", "0299ee6b90129254", "5aeb77b14518a6cc" ] ] }, { "id": "9ee03dcc9a9f622a", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "count", "topic": "sonoff.0.Aqua_Float.SENSOR.COUNTER.C1", "attrname": "durchfluss", "payloadType": "value", "errOnInvalidState": "nothing", "x": 330, "y": 520, "wires": [ [ "229c64f2f419668b" ] ] }, { "id": "b24e06dbb8e9ac50", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "durchfl.", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Counter", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1350, "y": 580, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "c6281d6865cd92d2", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1340, "y": 460, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "afcca7e9867b3ebb", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1340, "y": 520, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "be2423fc891d456a", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "gesamt", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Gesamt", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1350, "y": 640, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "229c64f2f419668b", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "attrname": "tag", "payloadType": "value", "errOnInvalidState": "nothing", "x": 450, "y": 520, "wires": [ [ "eaa54aa4d4524f13" ] ] }, { "id": "39aa9bd9d6bd2aba", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "durchfluss", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1170, "y": 580, "wires": [ [ "b24e06dbb8e9ac50" ] ] }, { "id": "1ff4be2b8a9ab574", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "tag", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1150, "y": 460, "wires": [ [ "c6281d6865cd92d2" ] ] }, { "id": "0299ee6b90129254", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "jahr", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1150, "y": 520, "wires": [ [ "afcca7e9867b3ebb" ] ] }, { "id": "c0b45921777999b9", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "gesamt", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1150, "y": 640, "wires": [ [ "be2423fc891d456a" ] ] }, { "id": "9e57e652668d85fa", "type": "ioBroker in", "z": "e96d40e5c03c8e73", "name": "Aquarium Schwimmer", "attrname": "payload", "topic": "sonoff.0.Aqua_Float.POWER1", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 160, "y": 220, "wires": [ [ "f1c7fb20f85acbee", "c0dfdd7212b9892f", "472ee6a39b3d21f3", "6eab2c58acf1cbd5" ] ] }, { "id": "e47c6d731c3e73c6", "type": "http request", "z": "e96d40e5c03c8e73", "name": "Senden", "method": "GET", "ret": "txt", "paytoqs": "ignore", "url": "http://192.168.0.71/cm?user=user&password=password&cmnd=counter1%200", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 980, "y": 40, "wires": [ [ "eb76397a7e0ab011" ] ] }, { "id": "a4e19115fa06a55b", "type": "change", "z": "e96d40e5c03c8e73", "name": "Aqua Counter Reset", "rules": [ { "t": "set", "p": "url", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 40, "wires": [ [ "6ed396444b677b10" ] ] }, { "id": "eb76397a7e0ab011", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Ausgabe Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1140, "y": 40, "wires": [] }, { "id": "d272c6eba743cc72", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 80s", "pauseType": "delay", "timeout": "80", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 420, "y": 40, "wires": [ [ "a4e19115fa06a55b" ] ] }, { "id": "d068ec15abcaade1", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Jahr Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 590, "y": 620, "wires": [] }, { "id": "60d53c22716069e9", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "Jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 570, "y": 660, "wires": [] }, { "id": "c414e941c9432637", "type": "change", "z": "e96d40e5c03c8e73", "name": "Jahr Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 390, "y": 640, "wires": [ [ "a33e443616fc222a" ] ] }, { "id": "ddd069f4381994d0", "type": "inject", "z": "e96d40e5c03c8e73", "name": "Counter Reset Manuell", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 160, "y": 40, "wires": [ [ "d272c6eba743cc72" ] ] }, { "id": "5fd63c6641e9671f", "type": "delay", "z": "e96d40e5c03c8e73", "name": "5sek", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 830, "y": 520, "wires": [ [ "54048569a59a81bb" ] ] }, { "id": "6ed396444b677b10", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 5s", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 800, "y": 40, "wires": [ [ "e47c6d731c3e73c6" ] ] }, { "id": "f4fba734f82a61ca", "type": "cronplus", "z": "e96d40e5c03c8e73", "name": "Aqua Jahr Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 31 12 ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 190, "y": 640, "wires": [ [ "c414e941c9432637" ] ] }, { "id": "53715765e5ba3798", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Counter lesen", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1140, "y": 260, "wires": [] }, { "id": "49a24c8dbf3069a7", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 1s", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 940, "y": 260, "wires": [ [ "53715765e5ba3798", "bda78f206532ead4" ] ] }, { "id": "bda78f206532ead4", "type": "link out", "z": "e96d40e5c03c8e73", "name": "link out 2", "mode": "link", "links": [ "7303186ce79854c1" ], "x": 1075, "y": 300, "wires": [] }, { "id": "7303186ce79854c1", "type": "link in", "z": "e96d40e5c03c8e73", "name": "link in 2", "links": [ "bda78f206532ead4" ], "x": 55, "y": 520, "wires": [ [ "8d378ef8d839f969" ] ] }, { "id": "7c892b7636e3d9d8", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "durchfl.", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Counter", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 760, "y": 280, "wires": [] }, { "id": "f1c7fb20f85acbee", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 4s", "pauseType": "delay", "timeout": "4", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 460, "y": 280, "wires": [ [ "3879868e12e9ddb2" ] ] }, { "id": "3879868e12e9ddb2", "type": "change", "z": "e96d40e5c03c8e73", "name": "durchfl.Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 610, "y": 280, "wires": [ [ "7c892b7636e3d9d8" ] ] }, { "id": "29b1c7a13367c06a", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Tag Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 580, "y": 740, "wires": [] }, { "id": "8ef2203079f36296", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 570, "y": 780, "wires": [] }, { "id": "fcf7480806fc8018", "type": "change", "z": "e96d40e5c03c8e73", "name": "Tag Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 380, "y": 760, "wires": [ [ "386107c00f1d7619" ] ] }, { "id": "d5126388d3b02e0c", "type": "cronplus", "z": "e96d40e5c03c8e73", "name": "Aqua Tag Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 * * ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 180, "y": 760, "wires": [ [ "fcf7480806fc8018" ] ] }, { "id": "c0dfdd7212b9892f", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Aquarium Schwimmer", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 480, "y": 340, "wires": [] }, { "id": "6eab2c58acf1cbd5", "type": "function", "z": "e96d40e5c03c8e73", "name": "true->Start-false->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == true){\n msg.payload = true;\n return msg;\n}\nif(news == false){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 510, "y": 160, "wires": [ [ "bef576295b23f014" ] ] }, { "id": "a93e73afeac53427", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Magnetschalter ein", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1150, "y": 120, "wires": [] }, { "id": "b221e87bcb4925b3", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "Magnetventil", "topic": "sonoff.0.GordonX-Home-Kaffeemaschine.POWER2", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1130, "y": 160, "wires": [] }, { "id": "ad3b00386df37a23", "type": "change", "z": "e96d40e5c03c8e73", "name": "true -> false", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 950, "y": 200, "wires": [ [ "b221e87bcb4925b3", "e3a33291c8476a30" ] ] }, { "id": "e3a33291c8476a30", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Magnetschalter aus", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1150, "y": 220, "wires": [] }, { "id": "472ee6a39b3d21f3", "type": "function", "z": "e96d40e5c03c8e73", "name": "false->Start-true->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == false){\n msg.payload = true;\n return msg;\n}\nif(news == true){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 510, "y": 220, "wires": [ [ "c581b3043d9c3910" ] ] }, { "id": "c581b3043d9c3910", "type": "trigger", "z": "e96d40e5c03c8e73", "name": "30s stabli false", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "30", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 760, "y": 220, "wires": [ [], [ "ad3b00386df37a23", "49a24c8dbf3069a7" ] ] }, { "id": "bef576295b23f014", "type": "trigger", "z": "e96d40e5c03c8e73", "name": "30s stabil true", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "30", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 760, "y": 160, "wires": [ [], [ "b221e87bcb4925b3", "a93e73afeac53427" ] ] }, { "id": "8d378ef8d839f969", "type": "delay", "z": "e96d40e5c03c8e73", "name": "60s", "pauseType": "delay", "timeout": "60", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 150, "y": 520, "wires": [ [ "9ee03dcc9a9f622a", "10b55f76c82d1d6f" ] ] }, { "id": "5aeb77b14518a6cc", "type": "delay", "z": "e96d40e5c03c8e73", "name": "stündlich", "pauseType": "delay", "timeout": "1", "timeoutUnits": "hours", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 1060, "y": 700, "wires": [ [ "ab094d747fb4d4a2" ] ] }, { "id": "10b55f76c82d1d6f", "type": "link out", "z": "e96d40e5c03c8e73", "name": "Counter Reset", "mode": "link", "links": [ "108573280c14d7d9" ], "x": 245, "y": 480, "wires": [], "icon": "node-red/serial.svg" }, { "id": "108573280c14d7d9", "type": "link in", "z": "e96d40e5c03c8e73", "name": "", "links": [ "10b55f76c82d1d6f" ], "x": 315, "y": 40, "wires": [ [ "d272c6eba743cc72" ] ], "icon": "node-red/serial.svg" } ] [image: 1740573242271-screenshot-2025-02-26-133244.png]
  • Node-Red InFlux Query JSON Hilfe erbeten

    8
    0 Stimmen
    8 Beiträge
    713 Aufrufe
    icebearI
    @mickym Erst einmal Danke für deine Hilfe. Soweit funktioniert das auch, allerdings bekomme ich die folgende Fehlermeldung: State value to set for "0_userdata.0.Eigene_Variablen.WP.Energie.Database.GesamtYear" has to be stringified but received type "object" und beim aktualisieren macht er immer die [] weg. Es sollte allerdings so wie ich oben gepostet hatte gespeichert werden. (Also im DP als "role": "state", "type": "json", ) [ 537.34, 394.76 ] ist bestimmt nur eine Kleinigkeit.strikethrough text Hat sich erledigt, ich habs hinbekommen, funktioniert jetzt wie gewünscht. Ich hab einfach noch ein json-node dazwischen gepackt. (Ich denke das war richtig so), auf jedenfall meckert das log nicht mehr und der Wert steht auch so im DP wie gewünscht. Also nochmal vielen Dank
  • Worldmap mit GeoJSON-Track

    4
    0 Stimmen
    4 Beiträge
    312 Aufrufe
    mickymM
    @ioste sagte in Worldmap mit GeoJSON-Track: @mickym danke! So reicht mir das auch und funktioniert! …. Jetzt nur noch rausfinden wie die Map auch in der vis angezeigt wird. Funktioniert im normalen Browser, aber auf dem alten iPad2 mini mit iobroker app zeigt er nichts an. ja da kann ich leider nicht helfen. ich hatte die world-map mal in einem iframe in vis eingebunden, aber ich fürchte, dass dir hier Safari ein Strich durch die Rechnung macht.
  • Hat jemand eine Idee ...

    4
    1
    0 Stimmen
    4 Beiträge
    455 Aufrufe
    mickymM
    Du kannst einfach eine delay Node dazwischenschalten und die Nachrichtenrate begrenzen und die Zwischenbachrichten wegschmeißen
  • Node-Red Anmelden

    2
    2
    0 Stimmen
    2 Beiträge
    279 Aufrufe
    geschildG
    @pinheiro Im Nodered-Tab Allgemein, gibt es unten links die Zusatzfunktionen, darin kann man den den Sicherheitsmodus aktivieren. Hat mir mal geholfen. [image: 1739804977850-95177c3d-e5f0-4c8d-b7a9-44522d3ebc06-image.png]
  • Namensliste in Nodered

    Verschoben ccu nodered alias
    22
    2
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    M
    @mollib [image: 1739778286533-bildschirmfoto-2025-02-17-um-08.40.31.png] Dieser Haken war nicht gesetzt, wäre er das gewesen wäre meine Frage nicht aufgetaucht. Somit gab es nur die Echogeräte und gar keine Rubrik für die anderen.
  • Virtuelles Gerät auf true prüfen

    17
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    AphofisA
    @mickemup ich teste das morgen und danke dir für deine Mühe.
  • Gelöst: Wert in dynamische Struktur im ioBroker ablegen

    91
    2
    0 Stimmen
    91 Beiträge
    11k Aufrufe
    M
    @mickym Genau. Und vielen Dank.
  • Philips Hue Switch -- Shelly Actor, Tuya,Sonoff,Hue

    14
    2
    -1 Stimmen
    14 Beiträge
    2k Aufrufe
    AphofisA
    @mickym i've done vielen dank
  • Simple wechselschaltung bei selbem Eingangswert

    10
    1
    0 Stimmen
    10 Beiträge
    936 Aufrufe
    AphofisA
    @cinimod Weil ich blockly nenn schluck besser verstehe hätte aber gerne alle mein Schaltungen nach wie vor in node-red da ich die nodes übersichtlicher finde nur mit node-red noch nicht so gut klar komme.
  • Probleme mit Aktualisierung

    18
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    HomoranH
    @thomas-braun sagte in Probleme mit Aktualisierung: Von nodered und dem Palettenmanager hab ich keine Ahnung. ich dachte du hättest ab und zu die Abhängigkeiten der npm Pakete herausgefunden
  • [gelöst] Philips Hue Switch über Node Red einbinden.

    13
    2
    0 Stimmen
    13 Beiträge
    4k Aufrufe
    T
    @aphofis sagte in [gelöst] Philips Hue Switch über Node Red einbinden.: @issi welche palette ist denn dieser node button !? [image: 1738780679554-screenshot-2025-02-05-193633.png] @Aphofis das ist ein Node aus einer Hue-Palette. Welche es war weiß ich nicht mehr, da ich mit NodeRed nicht mehr arbeite. Gruß Torsten

253

Online

32.8k

Benutzer

82.9k

Themen

1.3m

Beiträge