Skip to content

Node-Red

Hilfe für Skripterstellung mit Node-RED

953 Topics 13.1k Posts

NEWS

  • [gelöst] Adapter reagiert nicht auf geänderten Wert

    5
    1
    0 Votes
    5 Posts
    397 Views
    mickymM
    Natürlich kannst Du einstellen, ob ACK=True oder ACK=false gesetzt wird. In der iobroker-Out Node musst Du mit ACK= false in den Adapter schreiben und das geht mit dem Type command [image: 1719693219590-499ce1ba-cb76-4be5-bab6-4425f2cc7c20-image.png] Value entspricht ACK=true
  • Abfrage WitMotion WT901C-485 per node-red

    1
    7
    0 Votes
    1 Posts
    255 Views
    No one has replied
  • [gelöst] KNX Ultimate Verbindungsprobleme

    6
    2
    0 Votes
    6 Posts
    2k Views
    M
    @karsten_pi Hi, wie ich sehe hast du da nur nodes zu lesen ob es an oder aus ist, dann zum ändern und nochmal zum ändern? Woher weiß aber das Programm wann es das licht aus/an machen soll? Und brauchst du die blaue Switch node oder geht das auch nur mit der 2. grünen KNX node um dem licht zusagen es soll an/aus gehen? Danke sehr
  • [Anfänger] Wert vom Dashboard-Solider mit Button bestätigen

    5
    0 Votes
    5 Posts
    457 Views
    H
    @mickym ja, genau, so habe ich Deine erste Antwort gedeutet:+1:
  • Shelly Dimmer via MQTT in NodeRed

    9
    4
    0 Votes
    9 Posts
    1k Views
    I
    @m-gans you can try to use this. It is not working over mqtt so you can leave shell cloud turned on. [ { "id": "c4e589e09355c27d", "type": "shelly-cloud", "z": "d724ef4f9c579ce1", "server": "33eca59cc5addf74", "description": "", "outputs": 1, "x": 690, "y": 700, "wires": [ [ "42afdd0863c670c9", "28bd90bf0488a3bc" ] ] }, { "id": "28bd90bf0488a3bc", "type": "shelly-gen1", "z": "d724ef4f9c579ce1", "hostname": "10.0.1.34", "description": "", "mode": "polling", "server": "033a6e9acf499057", "outputmode": "event", "uploadretryinterval": 5000, "pollinginterval": 5000, "pollstatus": false, "getstatusoncommand": true, "devicetype": "Dimmer", "devicetypemustmatchexactly": true, "outputs": 1, "x": 900, "y": 640, "wires": [ [] ] }, { "id": "42afdd0863c670c9", "type": "debug", "z": "d724ef4f9c579ce1", "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 900, "y": 760, "wires": [] }, { "id": "aeb4c2cae80da838", "type": "function", "z": "d724ef4f9c579ce1", "name": "on", "func": "msg.payload = {\n on:true\n};\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 270, "y": 500, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "cb63debaf7f8cc7a", "type": "function", "z": "d724ef4f9c579ce1", "name": "off", "func": "msg.payload = {\n on:false\n};\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 270, "y": 540, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "a2c586bfef493ba4", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Turn On", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 500, "wires": [ [ "aeb4c2cae80da838" ] ] }, { "id": "aa0ecc89becb52b6", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Turn Off", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 540, "wires": [ [ "cb63debaf7f8cc7a" ] ] }, { "id": "2cf86b714691d6aa", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Poll Status", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "str", "x": 120, "y": 440, "wires": [ [] ] }, { "id": "3340ffcb8fc86c54", "type": "function", "z": "d724ef4f9c579ce1", "name": "toggle", "func": "msg.payload = {\n turn:\"toggle\"\n};\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 270, "y": 580, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "0ea0fceb5bc1b8f8", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Toggle", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 110, "y": 580, "wires": [ [ "3340ffcb8fc86c54" ] ] }, { "id": "e2e90ad3b39f30fb", "type": "function", "z": "d724ef4f9c579ce1", "name": "brightness 100%", "func": "msg.payload = {\nbrightness: 100\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 310, "y": 620, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "5cd3246ee54df257", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Brightness", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 620, "wires": [ [ "e2e90ad3b39f30fb" ] ] }, { "id": "bbfe7de807db8d9d", "type": "function", "z": "d724ef4f9c579ce1", "name": "brightness 25%", "func": "msg.payload = {\nbrightness: 25\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 300, "y": 660, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "c3dabccd82633861", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Brightness", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 660, "wires": [ [ "bbfe7de807db8d9d" ] ] }, { "id": "784a23f5f04fe49d", "type": "function", "z": "d724ef4f9c579ce1", "name": "turn on & set brightness 60%", "func": "msg.payload = {\n on : true,\n brightness: 60\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 340, "y": 700, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "84b0058013cd5e99", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Combined", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 700, "wires": [ [ "784a23f5f04fe49d" ] ] }, { "id": "cde543a45872eba4", "type": "function", "z": "d724ef4f9c579ce1", "name": "on 2s", "func": "msg.payload = {\n on:true,\n brightness: 100,\n transition: 1000, // optional 0..5000ms\n timer: 2\n};\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 270, "y": 740, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "21765d5065807b6a", "type": "function", "z": "d724ef4f9c579ce1", "name": "up 10%", "func": "msg.payload = {\n dim : 'up',\n step : 10, // %\n};\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 280, "y": 780, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "f23c3049caf67f07", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Turn On", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 740, "wires": [ [ "cde543a45872eba4" ] ] }, { "id": "70d0d15752323197", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Dim Up", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 110, "y": 780, "wires": [ [ "21765d5065807b6a" ] ] }, { "id": "dcd652864f8a15d5", "type": "function", "z": "d724ef4f9c579ce1", "name": "down 10%", "func": "msg.payload = {\n dim : 'down',\n step : 10, // %\n};\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 290, "y": 820, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "828232e21c455142", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Dim Down", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 820, "wires": [ [ "dcd652864f8a15d5" ] ] }, { "id": "4d828a1702a46719", "type": "function", "z": "d724ef4f9c579ce1", "name": "stop", "func": "msg.payload = {\n dim : 'stop',\n};\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 270, "y": 860, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "a8a4fae7ed7cb40c", "type": "inject", "z": "d724ef4f9c579ce1", "name": "Dim Stop", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 860, "wires": [ [ "4d828a1702a46719" ] ] }, { "id": "775474fc432399fe", "type": "ui_slider", "z": "d724ef4f9c579ce1", "name": "", "label": "Svijetlo boravak", "tooltip": "", "group": "d5e8a876913ae91e", "order": 0, "width": 0, "height": 0, "passthru": false, "outs": "end", "topic": "payload", "topicType": "msg", "min": "1", "max": "100", "step": "1", "className": "", "x": 120, "y": 360, "wires": [ [ "be8c892c4ecbe444" ] ] }, { "id": "be8c892c4ecbe444", "type": "function", "z": "d724ef4f9c579ce1", "name": "set brightness and turn on", "func": "msg.payload = {\n on : true,\n brightness: msg.payload\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 370, "y": 360, "wires": [ [ "c4e589e09355c27d" ] ] }, { "id": "611ce15e1152fcb8", "type": "ui_button", "z": "d724ef4f9c579ce1", "name": "", "group": "d5e8a876913ae91e", "order": 2, "width": "3", "height": "1", "passthru": false, "label": "Upali", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "payload": "", "payloadType": "date", "topic": "topic", "topicType": "msg", "x": 90, "y": 220, "wires": [ [ "aeb4c2cae80da838" ] ] }, { "id": "dda55d360731af0b", "type": "ui_button", "z": "d724ef4f9c579ce1", "name": "", "group": "d5e8a876913ae91e", "order": 2, "width": "3", "height": "1", "passthru": false, "label": "Ugasi", "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "payload": "", "payloadType": "date", "topic": "topic", "topicType": "msg", "x": 90, "y": 260, "wires": [ [ "cb63debaf7f8cc7a" ] ] }, { "id": "33eca59cc5addf74", "type": "shelly-cloud-server", "description": "" }, { "id": "033a6e9acf499057", "type": "shelly-gen1-server", "port": "20001", "hostname": "aaa", "hostip": "" }, { "id": "d5e8a876913ae91e", "type": "ui_group", "name": "Svjetlo boravak", "tab": "35399c96328c3aa8", "order": 1, "disp": true, "width": "6", "collapse": false, "className": "" }, { "id": "35399c96328c3aa8", "type": "ui_tab", "name": "Home", "icon": "dashboard", "disabled": false, "hidden": false } ]
  • Node-Red Filter

    Moved
    58
    0 Votes
    58 Posts
    5k Views
    R
    @mickym Vielen Dank für die super Erklärung :clap:
  • NodeRed shelly 2.5 vs Plus 2pm

    1
    2
    0 Votes
    1 Posts
    279 Views
    No one has replied
  • Payload String zerlegen

    77
    0 Votes
    77 Posts
    16k Views
    mickymM
    @ursmii sagte in Payload String zerlegen: den pfad habe ich natürlich kopiert. "payload" kommt nicht automatisch mit rein Na wenn Du es über Pfad kopieren aus dem Debug Fenster gemacht hättest (wie in dem Screenshot gezeigt), wäre der vollständige Pfad schon mitgekommen payload.uplink_message.decoded_payload.temperature_5
  • Problem mit Variable

    6
    0 Votes
    6 Posts
    333 Views
    mickymM
    @schnuller sagte in Problem mit Variable: Standard Nodes können halt nicht alles Oh viel mehr als Du denkst - aber dazu müsstest Du Dich halt darauf einlassen, zum Beispiel diese function Node durch Standardnodes zu ersetzen.
  • Amazon Hub im Docker erkennt keine Echos

    6
    2
    0 Votes
    6 Posts
    542 Views
    OliverIOO
    @firestone Deswegen, Zitat von Wikipediaseite: vgl. https://de.wikipedia.org/wiki/Simple_Service_Discovery_Protocol -- Funktionsweise Auf der UPnP-Seite ist zu lesen: „Sobald ein UPnP-Gerät über eine IP-Adresse verfügt, muss es seine Existenz im Netzwerk an die Kontrollpunkte melden. Dies erfolgt via UDP über die Multicast-Adresse 239.255.255.250:1900 auf der Basis des SSDP-Protokolls. Ebenso können Kontrollpunkte nach UPnP-Geräten im Netzwerk suchen. In beiden Fällen enthält die ‚discovery message‘ nur die wichtigsten Angaben über das Gerät und seine Dienste, wie zum Beispiel den Gerätenamen, Gerätetyp und eine URL zur genauen Beschreibung des Gerätes.“ – UPnP Website -- Die Multicast-Adresse 239.255.255.250:1900 ist innerhalb eines Containers, mit Nicht-Hostmode oder Nicht-MacVLAN nicht erreichbar bzw. betrifft ein anderes Netzwerksegment. oder auch https://stackoverflow.com/questions/42422406/receive-udp-multicast-in-docker-container
  • ANSI Zeichen in Node-Red decodieren

    20
    0 Votes
    20 Posts
    1k Views
    mickymM
    @_r_a_l_f_ ja ich hab da auch nichts vernünftiges rausgebracht. ich würde es halt mal direkt mit der http-in versuchen- ansonsten kann ich auch nicht helfen
  • inject Node funktioniert selten.

    6
    1
    0 Votes
    6 Posts
    496 Views
    mickymM
    @hunterhb Versteh ich zwar nicht - wenn man danach sucht, wird eigentlich immer die neueste Version installiert.
  • Fritzbox Anrufbeantworter komplexe Schaltung

    13
    0 Votes
    13 Posts
    955 Views
    Thomas BraunT
    @taddy81 sagte in Fritzbox Anrufbeantworter komplexe Schaltung: Ein Update von nodejs werde ich gleich morgen durchführen! Eher ein Downgrade auf die V18. Also die Version V21 - ist auch keine LTS Version, das sind ggf. Beta oder Zwischenversionen. Und auch zwischenzeitlich abgekündigt.
  • Hoymiles WR per MQTT an/aus - abhängig vom SoC der Batterie

    10
    1
    0 Votes
    10 Posts
    833 Views
    F
    @mickym Vielen Dank Ich bastele mal ;)
  • [gelöst] Elgato Stream-Deck mit Node-Red auswerten

    7
    4
    0 Votes
    7 Posts
    715 Views
    DolomitiD
    @BananaJoe So hatte ich das auch zuerst. Das Deck steht an meiner PC-Ecke. Hatte die Software auch auf dem PC installiert, da der aber nur zum zocken läuft habe ich eine Linux-Kiste dort stehen an dem ich sonst arbeite. Deshalb habe ich das Deck an meinen Proxmox-Host angeschlossen und versucht das ganze an einen LXC durchzureichen. Erschwerend kommt hinzu, dass der Proxmox-Host woanders steht als das Deck. Deshalb habe ich von Wiesemann&Theis einen USB-Server installiert der im LAN hängt, an dem das Deck angeschlossen ist. @mickym Super. Das war der Schubs in die richtige Richtung. Der Topic vom Deck ist eine Zahl, MQTT erwartet aber einen String. Ich habe deinen Flow importiert und das jetzt folgendermaßen gebaut um das ganze zu verstehen: [image: 1715085338042-flow2.png] Spoiler [{"id":"cb1209d75a81569e","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"d47e6d6f1eb0cca2","type":"streamdeck-in","z":"cb1209d75a81569e","name":"Test","x":150,"y":40,"wires":[["5bcf88ca607fd773","16f3b8339f1c9759","39b41d34d2613e37","28c604885bcf55ae"]]},{"id":"5bcf88ca607fd773","type":"debug","z":"cb1209d75a81569e","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":860,"y":40,"wires":[]},{"id":"609315025dff50f6","type":"mqtt out","z":"cb1209d75a81569e","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4bbc8e927819f88d","x":890,"y":120,"wires":[],"inputLabels":["qwe"]},{"id":"16f3b8339f1c9759","type":"change","z":"cb1209d75a81569e","name":"Change 1","rules":[{"t":"set","p":"topic","pt":"msg","to":"\"Streamdeck/Taste/\" & topic","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":440,"y":160,"wires":[["af0836bfe62752bf","609315025dff50f6"]]},{"id":"af0836bfe62752bf","type":"debug","z":"cb1209d75a81569e","name":"debug 36","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":900,"y":180,"wires":[]},{"id":"39b41d34d2613e37","type":"change","z":"cb1209d75a81569e","name":"Change 2","rules":[{"t":"set","p":"payload","pt":"msg","to":"topic","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Streamdeck/Taster","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":440,"y":200,"wires":[["24d1e66e3435137d","ec8a0ca01943ad9c","cc685092e66f092c"]]},{"id":"24d1e66e3435137d","type":"mqtt out","z":"cb1209d75a81569e","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4bbc8e927819f88d","x":690,"y":200,"wires":[],"inputLabels":["qwe"]},{"id":"ec8a0ca01943ad9c","type":"debug","z":"cb1209d75a81569e","name":"debug 37","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":720,"y":260,"wires":[]},{"id":"cc685092e66f092c","type":"debug","z":"cb1209d75a81569e","name":"debug 38","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"topic","targetType":"msg","statusVal":"","statusType":"auto","x":720,"y":300,"wires":[]},{"id":"28c604885bcf55ae","type":"switch","z":"cb1209d75a81569e","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"10","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":270,"y":340,"wires":[["a71ca0a6f4f0244c"],["73bad0d84f40b808"]]},{"id":"adfc89f8f94b60d6","type":"mqtt out","z":"cb1209d75a81569e","name":"","topic":"shellies/LichtFlur/relay/0/command","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4bbc8e927819f88d","x":860,"y":360,"wires":[],"inputLabels":["qwe"]},{"id":"a71ca0a6f4f0244c","type":"change","z":"cb1209d75a81569e","name":"Taste 5 Licht an","rules":[{"t":"set","p":"payload","pt":"msg","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":320,"wires":[["adfc89f8f94b60d6"]]},{"id":"73bad0d84f40b808","type":"change","z":"cb1209d75a81569e","name":"Taste 10 Licht aus","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":360,"wires":[["adfc89f8f94b60d6"]]},{"id":"4bbc8e927819f88d","type":"mqtt-broker","name":"","broker":"localhost","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}] Im Change 1 habe ich das so gemacht wie von dir beschrieben. Bei Change 2 wird nur die Tastennummer gesendet [image: 1715085690507-objekte.png] Vielen Dank für die Hilfe
  • Pylontech Akku mit Node-Red auslesen

    Unsolved node-red
    14
    0 Votes
    14 Posts
    2k Views
    G
    @mickym sagte in Pylontech Akku mit Node-Red auslesen: Durch das Komma, hatten sich die Spalten um eins verschoben. Habe ich heraugenommen und nun sieht es fehlerfrei aus. Damit kann ich arbeiten. Mega und wie einfach gelöst. Vielen Dank nochmals für deine Hilfe.
  • payload wird in TemplateNode als Text formatiert ausgegeben

    12
    0 Votes
    12 Posts
    812 Views
    _
    @mickym said in payload wird in TemplateNode als Text formatiert ausgegeben: Da musst Du dann ebenfalls die Icons noch einbinden, aber Du hast einen fertiges Object und musst Dir das nicht aus dem HTML Code zusammenbasteln. Ausserdem sind solche Dinge wie Warnlevel etc. alles innerhalb eines Objektes. Der Grund war eigentlich der, dass ich die DWD Node eh schon auf meinem Dashboard verwende. Aber das bringt mir ja in soweit nichts, wenn ich nicht daheim bin. Deshalb die Idee über E-mail. Und auf dem Dashboard passt die Darstellung auch mit Icon im Dreieck usw. Aber dass dies solche Unterschiede zur E-mail macht mit eigentlich noch recht rudimentäre CSS Styles hätte ich so auch nicht erwartet :deer: @mickym said in payload wird in TemplateNode als Text formatiert ausgegeben: Den Flow kann ich nur importieren, wenn Du ihn in Code-Tags packst. Das habe ich nun gemacht. Hoffentlich klappts so ;) Spoiler [{"id":"5361c5f2d7620919","type":"tab","label":"Flow 4","disabled":false,"info":"","env":[]},{"id":"d1a3c0f416cee917","type":"inject","z":"5361c5f2d7620919","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"<div class=\"dwd-warning-container\"> <div class=\"dwd-icon-container\"> <img class=\"dwd-icon\" src=\"http://www.dwd.de/DWD/warnungen/warnapp/viewer/img/warndreieck/warn_icons_sturm.png\"> <img class=\"dwd-icon-frame\" src=\"http://www.dwd.de/DWD/warnungen/warnapp/viewer/img/warndreieck/gelb.png\"> </div> <div class=\"dwd-event\">WINDBÖEN</div> <div class=\"dwd-time\">Di. 30. Apr. 14:00 - Do. 2. Mai 18:00</div> <div class=\"dwd-description\">Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17 m/s, 33 kn, Bft 7) aus südlicher Richtung auf. In exponierten Lagen muss mit Sturmböen um 70 km/h (20 m/s, 38 kn, Bft 8) gerechnet werden.</div> <div class=\"dwd-instruction\">Hinweis auf umherfliegende leichte Gegenstände. Handlungsempfehlungen: lose Gegenstände sichern; z.B. Zelte und Abdeckungen befestigen</div> </div>","payloadType":"str","x":210,"y":480,"wires":[["16eb3e046a601675","b05791f283c2b54d","61b78e959774efab","b3cc3c44a17b4fcd","ca05a6e51165fdac","f89a75bb485a9685"]]},{"id":"16eb3e046a601675","type":"html","z":"5361c5f2d7620919","name":"","property":"payload","outproperty":"payload","tag":".dwd-description","ret":"text","as":"multi","x":420,"y":400,"wires":[["ae1dd4b7fc8e3bb1"]]},{"id":"b05791f283c2b54d","type":"html","z":"5361c5f2d7620919","name":"","property":"payload","outproperty":"payload","tag":".dwd-event","ret":"text","as":"multi","x":410,"y":440,"wires":[["5c8fd9e7b356be4d"]]},{"id":"61b78e959774efab","type":"html","z":"5361c5f2d7620919","name":"","property":"payload","outproperty":"payload","tag":".dwd-instruction","ret":"text","as":"multi","x":420,"y":480,"wires":[["fc5c0b5e9058c481"]]},{"id":"b3cc3c44a17b4fcd","type":"html","z":"5361c5f2d7620919","name":"","property":"payload","outproperty":"payload","tag":".dwd-icon-frame","ret":"attr","as":"multi","x":420,"y":520,"wires":[["35f4b9e99503dc04"]]},{"id":"ae1dd4b7fc8e3bb1","type":"change","z":"5361c5f2d7620919","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"dwd-description","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":400,"wires":[["7e6aa753b6b3fdfb"]]},{"id":"5c8fd9e7b356be4d","type":"change","z":"5361c5f2d7620919","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"dwd-event","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":440,"wires":[["7e6aa753b6b3fdfb"]]},{"id":"fc5c0b5e9058c481","type":"change","z":"5361c5f2d7620919","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"dwd-instruction","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":480,"wires":[["7e6aa753b6b3fdfb"]]},{"id":"35f4b9e99503dc04","type":"change","z":"5361c5f2d7620919","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"dwd-icon-frame","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"payload.src","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":520,"wires":[["7e6aa753b6b3fdfb"]]},{"id":"7e6aa753b6b3fdfb","type":"join","z":"5361c5f2d7620919","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"6","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":850,"y":460,"wires":[["a82db8a1aeb54eda"]]},{"id":"ca05a6e51165fdac","type":"html","z":"5361c5f2d7620919","name":"","property":"payload","outproperty":"payload","tag":".dwd-time","ret":"text","as":"multi","x":400,"y":600,"wires":[["844db8800f95ce80"]]},{"id":"844db8800f95ce80","type":"change","z":"5361c5f2d7620919","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"dwd-time","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":600,"wires":[["7e6aa753b6b3fdfb"]]},{"id":"469ea1cc3b9485bf","type":"change","z":"5361c5f2d7620919","name":"Border-Color-Farben","rules":[{"t":"set","p":"payload.border-color","pt":"msg","to":"{\t \"translate\": [\t {\"deutsch\": \"gelb\",\"englisch\":\"yellow\"},\t {\"deutsch\": \"ocker\",\"englisch\":\"orange\"},\t {\"deutsch\": \"rot\",\"englisch\":\"red\"},\t {\"deutsch\": \"lila\",\"englisch\":\"DarkMagenta\"}\t ]\t}.translate[deutsch=$$.payload.color].englisch","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1260,"y":460,"wires":[["a41dd0970402d870"]]},{"id":"f89a75bb485a9685","type":"html","z":"5361c5f2d7620919","name":"","property":"payload","outproperty":"payload","tag":".dwd-icon","ret":"attr","as":"multi","x":400,"y":560,"wires":[["348719242eaad8aa"]]},{"id":"348719242eaad8aa","type":"change","z":"5361c5f2d7620919","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"dwd-icon","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"payload.src","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":560,"wires":[["7e6aa753b6b3fdfb"]]},{"id":"a82db8a1aeb54eda","type":"change","z":"5361c5f2d7620919","name":"","rules":[{"t":"set","p":"payload.color","pt":"msg","to":"payload.dwd-icon-frame","tot":"msg"},{"t":"change","p":"payload.color","pt":"msg","from":".*\\/(.*).png$","fromt":"re","to":"$1","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"DWD - Wetterwarnung","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":460,"wires":[["469ea1cc3b9485bf"]]},{"id":"a41dd0970402d870","type":"template","z":"5361c5f2d7620919","name":"E-mail Inhalt","field":"payload","fieldType":"msg","format":"html","syntax":"mustache","template":"<!DOCTYPE html>\n<html>\n<head>\n<style>\n .dwd-warning-container {\n margin-top: 30px;\n margin-bottom: 30px;\n }\n\n .dwd-icon-container {\n display: flex;\n justify-content: center; \n align-items: center; \n }\n\n .dwd-icon {\n width: 100px;\n height: auto;\n }\n\n .dwd-event {\n padding: 10px;\n margin-bottom: 30px;\n }\n\n .dwd-time {\n color: gray;\n text-align: center;\n }\n\n h1 {\n border-color: {{payload.border-color}};\n font-size: 40px;\n font-weight: bold;\n border-width: 3px;\n border-style: solid;\n text-align: center;\n } \n\n</style>\n</head>\n<body>\n\n<div class=\"dwd-warning-container\">\n <div class=\"dwd-icon-container\">\n <center><img class=\"dwd-icon\" src=\"{{payload.dwd-icon}}\"></center>\n </div>\n <div class=\"dwd-event\">\n <h1>{{payload.dwd-event}}</h1> \n </div>\n <div class=\"dwd-time\">{{payload.dwd-time}}</div>\n <div class=\"dwd-description\">\n <h4>Beschreibung</h4> \n {{payload.dwd-description}}\n </div>\n <div class=\"dwd-instruction\">\n <h4>Hinweise und Empfehlungen</h4> \n {{payload.dwd-instruction}}\n </div>\n</div>\n</body>\n</html>","output":"str","x":1490,"y":460,"wires":[[]]}] @mickym said in payload wird in TemplateNode als Text formatiert ausgegeben: DWD Meldungen oben rechts Cooles Dashboard :) @mickym said in payload wird in TemplateNode als Text formatiert ausgegeben: bei mir geht das 80px Ich habs herausgefunden denn so habe ich es auch gemacht. Der Standard E-mail Client von Samsung kennt wohl keine <h1> bis <h6> Schriften :D Auf einem anderen Mail Client wie Thunderbird klappts auch mit den verschiedenen Größen. Da wird man immer verrückt wenn das vermeintlich richtige nicht funktionieren mag. Aber Danke nochmal für die schnelle und wie immer umfassende Hilfe ;)
  • Temperaturen über Node RED und Alexa abfragen!

    109
    0 Votes
    109 Posts
    18k Views
    B
    @zeitlaeufer Ich hatte gerade das selbe Problem und konnte es nun für mich so lösen: [image: 1714824572080-157d01ac-9400-4766-a764-d08d7c41c2fe-grafik.png] Somit wird auf eine Nachkommastelle aufgerundet.
  • Rollierender Durchschnittswert 4 Wochen

    9
    0 Votes
    9 Posts
    559 Views
    mickymM
    @merleg sagte in Rollierender Durchschnittswert 4 Wochen: Und das Ganze im Kontext gespeichert überlebt dann auch den Reboot. Perfekt! Na nur wenn der Kontext im Filekontext gespeichert wird. Im Memory Kontext gehen die Daten verloren. Ansonsten hoffe ich, behilflich gewesen zu sein. Aber Du kannst es ggf. abspeichern und das Array wieder neu initialisieren.
  • Victron CerboGX MQTT ioBroker

    9
    3
    0 Votes
    9 Posts
    863 Views
    mickymM
    So macht man das ohne function Nodes: Spoiler [{"id":"48be4bf5646379a5","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"L1","payload":"0.35","payloadType":"num","x":210,"y":6060,"wires":[["0d8d3b7ea1702763"]]},{"id":"cfc79f909a4dec9e","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"L3","payload":"0.3","payloadType":"num","x":210,"y":6140,"wires":[["0d8d3b7ea1702763"]]},{"id":"fa7b5d7b0dcadf41","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"L2","payload":"0.35","payloadType":"num","x":210,"y":6100,"wires":[["0d8d3b7ea1702763"]]},{"id":"7c60a4d3325931a4","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":610,"y":6100,"wires":[["112a8bd1d3e9af79"]]},{"id":"112a8bd1d3e9af79","type":"change","z":"289f539dcc33814e","name":"summe","rules":[{"t":"set","p":"payload","pt":"msg","to":"$sum(payload.*)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":760,"y":6100,"wires":[["38056ed3f92108fe"]]},{"id":"38056ed3f92108fe","type":"debug","z":"289f539dcc33814e","name":"Summe","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":920,"y":6100,"wires":[]},{"id":"af90d0a76bba3d70","type":"switch","z":"289f539dcc33814e","name":"nur wenn Zahl","property":"payload","propertyType":"msg","rules":[{"t":"istype","v":"number","vt":"number"}],"checkall":"true","repair":false,"outputs":1,"x":440,"y":6100,"wires":[["7c60a4d3325931a4"]]},{"id":"4b352893e7dc39ea","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"L3","payload":"","payloadType":"str","x":210,"y":6200,"wires":[["0d8d3b7ea1702763"]]},{"id":"0d8d3b7ea1702763","type":"junction","z":"289f539dcc33814e","x":320,"y":6100,"wires":[["af90d0a76bba3d70"]]}] und ein Beispiel, wie man unerwünschte (Nicht-Zahlen) herausfiltert [image: 1714476739025-bc4506b4-39d0-49d7-801a-e01aa3aa7a53-image-resized.png] Aber Du kannst das natürlich auch gerne wieder mit einer function Node codieren.

709

Online

32.6k

Users

82.1k

Topics

1.3m

Posts