Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. MaGe

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 28
    • Best 1
    • Groups 1

    MaGe

    @MaGe

    Starter

    1
    Reputation
    6
    Profile views
    28
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    MaGe Follow
    Starter

    Best posts made by MaGe

    • RE: [gelöst] JSONata loop - $moment > Invalid date?

      @mickym said in JSONata loop - $moment > Invalid date?:

      Spaß macht es auf jeden Fall. 🙂 Ich stoße beim tüfteln nur oft an meine Grenzen. JSONata ist für mich noch Neuland.

      Nochmal vielen lieben Dank, dass du dich da so reingefuchst hast.

      @mickym
      Mein fertiger Flow für Feiertage und Schulferien zusammen:

      [
         {
             "id": "2428c1679199ce79",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Global:Feiertag",
             "func": "msg.payload = global.get(\"Frei\");\nreturn msg;",
             "outputs": 1,
             "timeout": 0,
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1740,
             "y": 280,
             "wires": [
                 [
                     "16744919a414ee37"
                 ]
             ]
         },
         {
             "id": "16744919a414ee37",
             "type": "debug",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Info",
             "active": true,
             "tosidebar": false,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 1910,
             "y": 280,
             "wires": []
         },
         {
             "id": "27a3db497b5ec5d0",
             "type": "inject",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Abfrage",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "06 00 * * *",
             "once": true,
             "onceDelay": "0.5",
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 1560,
             "y": 280,
             "wires": [
                 [
                     "2428c1679199ce79"
                 ]
             ]
         },
         {
             "id": "2873966a84096291",
             "type": "http request",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "https request",
             "method": "GET",
             "ret": "obj",
             "paytoqs": "ignore",
             "url": "",
             "tls": "498c6e5f.1070f",
             "persist": false,
             "proxy": "",
             "insecureHTTPParser": false,
             "authType": "basic",
             "senderr": false,
             "headers": [],
             "x": 1920,
             "y": 120,
             "wires": [
                 [
                     "7a7a0f91d75faecf"
                 ]
             ]
         },
         {
             "id": "98eaa50401fd8651",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "payload",
                     "tot": "msg"
                 },
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "$.url",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1890,
             "y": 60,
             "wires": [
                 [
                     "2873966a84096291"
                 ]
             ]
         },
         {
             "id": "2b49ef7e9032ba65",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Url",
             "func": "msg.payload = `https://openholidaysapi.org/SchoolHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;\n\n",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1710,
             "y": 60,
             "wires": [
                 [
                     "98eaa50401fd8651"
                 ]
             ]
         },
         {
             "id": "668cd4c46954209e",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Jahr",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Jahr",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment().year() ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$string(payload)",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1710,
             "y": 120,
             "wires": [
                 [
                     "2b49ef7e9032ba65"
                 ]
             ]
         },
         {
             "id": "081d12e755b9ae21",
             "type": "inject",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Abfrage",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "05 00 * * *",
             "once": true,
             "onceDelay": "0.5",
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 1560,
             "y": 140,
             "wires": [
                 [
                     "668cd4c46954209e",
                     "ab40ce0d2f51afd7"
                 ]
             ]
         },
         {
             "id": "def42661118b4dd8",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.payload.isSame",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2310,
             "y": 120,
             "wires": [
                 [
                     "175999b28a5905ca"
                 ]
             ]
         },
         {
             "id": "1524c9b76d833a59",
             "type": "http request",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "https request",
             "method": "GET",
             "ret": "obj",
             "paytoqs": "ignore",
             "url": "",
             "tls": "498c6e5f.1070f",
             "persist": false,
             "proxy": "",
             "insecureHTTPParser": false,
             "authType": "basic",
             "senderr": false,
             "headers": [],
             "x": 1920,
             "y": 160,
             "wires": [
                 [
                     "ecf91cc75ee58cec"
                 ]
             ]
         },
         {
             "id": "ab40ce0d2f51afd7",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Jahr",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Jahr",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment().year() ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$string(payload)",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1710,
             "y": 160,
             "wires": [
                 [
                     "12625be60bc8538d"
                 ]
             ]
         },
         {
             "id": "12625be60bc8538d",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Url",
             "func": "msg.payload = `https://openholidaysapi.org/PublicHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1710,
             "y": 220,
             "wires": [
                 [
                     "1ffa03fb20ce426e"
                 ]
             ]
         },
         {
             "id": "1ffa03fb20ce426e",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "payload",
                     "tot": "msg"
                 },
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "$.url",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1890,
             "y": 220,
             "wires": [
                 [
                     "1524c9b76d833a59"
                 ]
             ]
         },
         {
             "id": "ecf91cc75ee58cec",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Feiertage",
             "rules": [
                 {
                     "t": "delete",
                     "p": "headers",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "statusCode",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "url",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "responseUrl",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "retry",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "redirectList",
                     "pt": "msg"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.{\t   \"Feiertag\": $.name[language=\"DE\"].text,\t   \"payload\": (\t       $date := $moment($.startDate,'YYYY-MM-DD');\t       $today := $moment();\t       $date.isSame($today)\t   )\t   }",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2100,
             "y": 160,
             "wires": [
                 [
                     "3da676eba96a5168"
                 ]
             ]
         },
         {
             "id": "8a5a46b1a1839d84",
             "type": "debug",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Info",
             "active": true,
             "tosidebar": false,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 2990,
             "y": 140,
             "wires": []
         },
         {
             "id": "83e59a86c8412805",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "includes(true)",
             "func": "const Frei = msg.payload[0] && msg.payload[1];\nmsg.payload = Frei.includes(true);\nreturn msg;",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 2680,
             "y": 140,
             "wires": [
                 [
                     "ad9391d7ef4f1de7"
                 ]
             ]
         },
         {
             "id": "3da676eba96a5168",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.payload",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2310,
             "y": 160,
             "wires": [
                 [
                     "175999b28a5905ca"
                 ]
             ]
         },
         {
             "id": "175999b28a5905ca",
             "type": "join",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "mode": "custom",
             "build": "array",
             "property": "payload",
             "propertyType": "msg",
             "key": "topic",
             "joiner": "\\n",
             "joinerType": "str",
             "accumulate": false,
             "timeout": "",
             "count": "2",
             "reduceRight": false,
             "reduceExp": "",
             "reduceInit": "",
             "reduceInitType": "",
             "reduceFixup": "",
             "x": 2510,
             "y": 140,
             "wires": [
                 [
                     "83e59a86c8412805"
                 ]
             ]
         },
         {
             "id": "7a7a0f91d75faecf",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Schulferien",
             "rules": [
                 {
                     "t": "delete",
                     "p": "headers",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "statusCode",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "url",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "responseUrl",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "retry",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "redirectList",
                     "pt": "msg"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.{\t   \"Schulferien\": $.name[language=\"DE\"].text,\t   \"payload\": (\t       $start := $moment($moment($.startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t       $end := $moment($moment($.endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t       $diff := $end.diff($start, 'days');\t       ([0..$diff])@$day.{\t           \"date\": $moment($.startDate,'YYYY-MM-DD').add($day,'days').format('DD.MM.YYYY'),\t           \"today\": $moment().format('DD.MM.YYYY'),\t           \"isSame\": $moment($.startDate,'YYYY-MM-DD').add($day,'days').isSame($moment(),'days')\t           }   \t       )\t   }",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2110,
             "y": 120,
             "wires": [
                 [
                     "def42661118b4dd8"
                 ]
             ]
         },
         {
             "id": "ad9391d7ef4f1de7",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Frei",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Frei",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "Frei",
                     "pt": "global",
                     "to": "payload",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2850,
             "y": 140,
             "wires": [
                 [
                     "8a5a46b1a1839d84"
                 ]
             ]
         },
         {
             "id": "498c6e5f.1070f",
             "type": "tls-config",
             "name": "",
             "cert": "",
             "key": "",
             "ca": "",
             "certname": "",
             "keyname": "",
             "caname": "",
             "servername": "",
             "verifyservercert": false,
             "alpnprotocol": ""
         }
      ]
      

      flow_Schulferien_5.jpg

      Nebenbei. Ist absolut erstaunlich wie enorm man einen Flow verschlanken kann.

      1. Flow für die Feiertage:
        flow_Feiertage.jpg
      2. Flow für die Feiertage:
        flow_Feiertage_1.jpg

      Und der absolute Wahnsinn war das Abrufen auf einmal.
      Dadurch redziert sich alleine bei den Feiertagen das JSONata von 106 auf 8 Zeilen in der change-node. 🙂

      posted in Node-Red
      M
      MaGe

    Latest posts made by MaGe

    • RE: [gelöst] node.status Weitergabe aus Subflow

      Gelöst habe ich es nun über msg.status.

      Verwirrend fand ich nur, dass msg.payload und msg.status explizit im Subflow output weitergeleitet werden müssen, da sonst der msg.payload von msg.status überschrieben wird.

      Es scheint nun aber reibungslos zu funktionieren.

      673029ea-1134-4611-9ff9-93dae3257ebe-grafik.png

      Hier noch der fertige Flow:
      flows_rollladensteuerung_v1.json

      posted in Node-Red
      M
      MaGe
    • RE: [gelöst] node.status Weitergabe aus Subflow

      @mickym vielen lieben Dank für deine Unterstützung und deinen Tipp.

      488a795f-84b8-4619-ba64-8198ef6fb36f-grafik.png
      Da hatte ich mich bei der Recheche wohl von der netten KI in die Irre führen lassen. Die gab mir folgende Information.

      Die entsprechende Funktionalität wurde in Node-RED 3.1.0 eingeführt, dokumentiert u. a. hier:
      📄 Node-RED Release Notes 3.1.0

          Subflows now support defining a status output so that calls to node.status() from within a subflow can be surfaced in the parent flow.
      

      Direkt aus dem Release Log:

          You can add a status output to your subflow. Any nodes in the subflow that call node.status() will then surface that status under the subflow instance in the parent flow.
          (Quelle: Node-RED 3.1.0 release notes)
      

      🙄 Da denkt man, die modernen Technik nutzen ist sooo einfach. Dabei ist es wie im richtigen Leben. Zwei unterhalten sich und nehmen an, dass sie vom gleichen sprechen, meinen aber komplett was anderes. 😂

      Und du hast natürlich recht. Es gibt nur die status-node die den Payload augibt, wie hier beschrieben. https://nodered.org/docs/user-guide/editor/workspace/subflows
      f82efd89-78a5-458b-804a-9ba272e90397-grafik.png

      Dann werde ich es mal mit deinem beschriebenen Weg über eine Change Node probieren umso die node.status({fill:"red",shape:"ring",text:"message"}) aus Subflow in den Hauptflow zu bekommen.
      Eigentlich sollte es doch über msg. status auch funktionieren, oder?

      msg.status = {
        fill: "grey",
        shape: "ring",
        text: `Sonnenschutz aktiv (${positionStatus})`
      };
      

      Der Grund, weshalb ich nur EINE Funktions Node in ein Subflow integriert habe, hat einfach den Hintergrund, dass ich 8 Räume einzeln mit den jeweiligen Rollladen steuere und bei Verwendung der Funktions Node in einen Subflow bei Änderungen nur EINE Funktions Node anpassen muss. 🙂

      posted in Node-Red
      M
      MaGe
    • [gelöst] node.status Weitergabe aus Subflow

      Hallo zusammen,

      aktuell bin ich damit beschäfftigt eine automatisierte Rollladensteuerung je Raum umzusetzen.

      Ohne Subflow wird der node.status unter der Funktions-Node Automation richtig ausgegeben.
      056f6afa-cdce-441d-945c-06a9793c9b78-grafik.png

      Um die Thematik zu vereinfachen habe ich einen Subflow erstellt. Beim Subflow wird nur der Payload ausgegeben, aber nicht der definierte node.status.
      a575618f-0e7c-4d42-8ea9-583cdcdced15-grafik.png

      Im JSON ist die Subflow-Definition aber eigentlich vorhanden. Weshalb ich das nicht verstehe.

      "status": {
        "x": 760,
        "y": 180,
        "wires": [
          {
            "id": "617a7a725ff5c2f2",
            "port": 0
          }
        ]
      }
      
      

      Ich habe gelesen, dass es im Edit Subflow unter "Appearance" / "Anzeigeoptionen" eine Checkbox zum Aktivieren von "Show status text" oder "Zeige Statusinformationen" ab Version 3.1.0 geben soll. Im Node-Red im ioBroker wird Version 3.1.11 angezeigt.
      Diese Checkbox finde ich leider aber nicht.

      Der Payload sieht zum Beispiel so aus:

      Rollladen_Dachstudio_Sued : msg.payload : Object
      object
      Rollladen_Dachstudio_Sued: 0
      RollladenStatus_Dachstudio_Sued: 0
      Fensterkontakt_Dachstudio_Sued: 0
      Temperatur_Dachstudio: 27.1
      Temperatur: 19.7
      Taupunkt: 14.51
      Regenmenge: 0.3
      Schneefallgrenze: 3200
      altitude: 59.29033470058892
      Tageszeit: 3
      Bewoelkung: 71
      

      Hier noch mein Flow:
      flows_rollladensteuerung.json

      Danke für Eure Unterstützung. 🙂
      Markus

      posted in Node-Red
      M
      MaGe
    • RE: [gelöst] JSONata loop - $moment > Invalid date?

      @mickym said in JSONata loop - $moment > Invalid date?:

      Spaß macht es auf jeden Fall. 🙂 Ich stoße beim tüfteln nur oft an meine Grenzen. JSONata ist für mich noch Neuland.

      Nochmal vielen lieben Dank, dass du dich da so reingefuchst hast.

      @mickym
      Mein fertiger Flow für Feiertage und Schulferien zusammen:

      [
         {
             "id": "2428c1679199ce79",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Global:Feiertag",
             "func": "msg.payload = global.get(\"Frei\");\nreturn msg;",
             "outputs": 1,
             "timeout": 0,
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1740,
             "y": 280,
             "wires": [
                 [
                     "16744919a414ee37"
                 ]
             ]
         },
         {
             "id": "16744919a414ee37",
             "type": "debug",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Info",
             "active": true,
             "tosidebar": false,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 1910,
             "y": 280,
             "wires": []
         },
         {
             "id": "27a3db497b5ec5d0",
             "type": "inject",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Abfrage",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "06 00 * * *",
             "once": true,
             "onceDelay": "0.5",
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 1560,
             "y": 280,
             "wires": [
                 [
                     "2428c1679199ce79"
                 ]
             ]
         },
         {
             "id": "2873966a84096291",
             "type": "http request",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "https request",
             "method": "GET",
             "ret": "obj",
             "paytoqs": "ignore",
             "url": "",
             "tls": "498c6e5f.1070f",
             "persist": false,
             "proxy": "",
             "insecureHTTPParser": false,
             "authType": "basic",
             "senderr": false,
             "headers": [],
             "x": 1920,
             "y": 120,
             "wires": [
                 [
                     "7a7a0f91d75faecf"
                 ]
             ]
         },
         {
             "id": "98eaa50401fd8651",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "payload",
                     "tot": "msg"
                 },
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "$.url",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1890,
             "y": 60,
             "wires": [
                 [
                     "2873966a84096291"
                 ]
             ]
         },
         {
             "id": "2b49ef7e9032ba65",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Url",
             "func": "msg.payload = `https://openholidaysapi.org/SchoolHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;\n\n",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1710,
             "y": 60,
             "wires": [
                 [
                     "98eaa50401fd8651"
                 ]
             ]
         },
         {
             "id": "668cd4c46954209e",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Jahr",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Jahr",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment().year() ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$string(payload)",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1710,
             "y": 120,
             "wires": [
                 [
                     "2b49ef7e9032ba65"
                 ]
             ]
         },
         {
             "id": "081d12e755b9ae21",
             "type": "inject",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Abfrage",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "05 00 * * *",
             "once": true,
             "onceDelay": "0.5",
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 1560,
             "y": 140,
             "wires": [
                 [
                     "668cd4c46954209e",
                     "ab40ce0d2f51afd7"
                 ]
             ]
         },
         {
             "id": "def42661118b4dd8",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.payload.isSame",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2310,
             "y": 120,
             "wires": [
                 [
                     "175999b28a5905ca"
                 ]
             ]
         },
         {
             "id": "1524c9b76d833a59",
             "type": "http request",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "https request",
             "method": "GET",
             "ret": "obj",
             "paytoqs": "ignore",
             "url": "",
             "tls": "498c6e5f.1070f",
             "persist": false,
             "proxy": "",
             "insecureHTTPParser": false,
             "authType": "basic",
             "senderr": false,
             "headers": [],
             "x": 1920,
             "y": 160,
             "wires": [
                 [
                     "ecf91cc75ee58cec"
                 ]
             ]
         },
         {
             "id": "ab40ce0d2f51afd7",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Jahr",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Jahr",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment().year() ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$string(payload)",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1710,
             "y": 160,
             "wires": [
                 [
                     "12625be60bc8538d"
                 ]
             ]
         },
         {
             "id": "12625be60bc8538d",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Url",
             "func": "msg.payload = `https://openholidaysapi.org/PublicHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1710,
             "y": 220,
             "wires": [
                 [
                     "1ffa03fb20ce426e"
                 ]
             ]
         },
         {
             "id": "1ffa03fb20ce426e",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "payload",
                     "tot": "msg"
                 },
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "$.url",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1890,
             "y": 220,
             "wires": [
                 [
                     "1524c9b76d833a59"
                 ]
             ]
         },
         {
             "id": "ecf91cc75ee58cec",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Feiertage",
             "rules": [
                 {
                     "t": "delete",
                     "p": "headers",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "statusCode",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "url",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "responseUrl",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "retry",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "redirectList",
                     "pt": "msg"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.{\t   \"Feiertag\": $.name[language=\"DE\"].text,\t   \"payload\": (\t       $date := $moment($.startDate,'YYYY-MM-DD');\t       $today := $moment();\t       $date.isSame($today)\t   )\t   }",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2100,
             "y": 160,
             "wires": [
                 [
                     "3da676eba96a5168"
                 ]
             ]
         },
         {
             "id": "8a5a46b1a1839d84",
             "type": "debug",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Info",
             "active": true,
             "tosidebar": false,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 2990,
             "y": 140,
             "wires": []
         },
         {
             "id": "83e59a86c8412805",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "includes(true)",
             "func": "const Frei = msg.payload[0] && msg.payload[1];\nmsg.payload = Frei.includes(true);\nreturn msg;",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 2680,
             "y": 140,
             "wires": [
                 [
                     "ad9391d7ef4f1de7"
                 ]
             ]
         },
         {
             "id": "3da676eba96a5168",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.payload",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2310,
             "y": 160,
             "wires": [
                 [
                     "175999b28a5905ca"
                 ]
             ]
         },
         {
             "id": "175999b28a5905ca",
             "type": "join",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "mode": "custom",
             "build": "array",
             "property": "payload",
             "propertyType": "msg",
             "key": "topic",
             "joiner": "\\n",
             "joinerType": "str",
             "accumulate": false,
             "timeout": "",
             "count": "2",
             "reduceRight": false,
             "reduceExp": "",
             "reduceInit": "",
             "reduceInitType": "",
             "reduceFixup": "",
             "x": 2510,
             "y": 140,
             "wires": [
                 [
                     "83e59a86c8412805"
                 ]
             ]
         },
         {
             "id": "7a7a0f91d75faecf",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Schulferien",
             "rules": [
                 {
                     "t": "delete",
                     "p": "headers",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "statusCode",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "url",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "responseUrl",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "retry",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "redirectList",
                     "pt": "msg"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.{\t   \"Schulferien\": $.name[language=\"DE\"].text,\t   \"payload\": (\t       $start := $moment($moment($.startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t       $end := $moment($moment($.endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t       $diff := $end.diff($start, 'days');\t       ([0..$diff])@$day.{\t           \"date\": $moment($.startDate,'YYYY-MM-DD').add($day,'days').format('DD.MM.YYYY'),\t           \"today\": $moment().format('DD.MM.YYYY'),\t           \"isSame\": $moment($.startDate,'YYYY-MM-DD').add($day,'days').isSame($moment(),'days')\t           }   \t       )\t   }",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2110,
             "y": 120,
             "wires": [
                 [
                     "def42661118b4dd8"
                 ]
             ]
         },
         {
             "id": "ad9391d7ef4f1de7",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Frei",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Frei",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "Frei",
                     "pt": "global",
                     "to": "payload",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2850,
             "y": 140,
             "wires": [
                 [
                     "8a5a46b1a1839d84"
                 ]
             ]
         },
         {
             "id": "498c6e5f.1070f",
             "type": "tls-config",
             "name": "",
             "cert": "",
             "key": "",
             "ca": "",
             "certname": "",
             "keyname": "",
             "caname": "",
             "servername": "",
             "verifyservercert": false,
             "alpnprotocol": ""
         }
      ]
      

      flow_Schulferien_5.jpg

      Nebenbei. Ist absolut erstaunlich wie enorm man einen Flow verschlanken kann.

      1. Flow für die Feiertage:
        flow_Feiertage.jpg
      2. Flow für die Feiertage:
        flow_Feiertage_1.jpg

      Und der absolute Wahnsinn war das Abrufen auf einmal.
      Dadurch redziert sich alleine bei den Feiertagen das JSONata von 106 auf 8 Zeilen in der change-node. 🙂

      posted in Node-Red
      M
      MaGe
    • RE: [gelöst] JSONata loop - $moment > Invalid date?

      @mickym said in JSONata loop - $moment > Invalid date?:

      Wow, herzlichen Dank für deine Unterstützung. 🙂
      Die Ausgabe der Ferien auf einmal ist genial.
      Der Vergleich hätte mich fast noch zum Verzeifeln gebracht. Da war das Umrechnung wegzulassen ausschlaggebend.

      Das mit dem payload im payload ist wirklich nicht optimal.
      Bei den ersten 3 Zeilen $start, $end, $diff im payload wird in der Ausgabe des payloads nur der letzte Wert, also $diff ausgegeben.
      So wollte ich es eigentlich für $isSame auch machen. Nur habe ich es anders mit der Schleife nicht hinbekommen.

      payload.{
         "Ferien": $.name[language="DE"].text,
         "start": $moment($.startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),
         "end": $moment($.endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),
         "payload": (
             $start := $moment($moment($.startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
             $end := $moment($moment($.endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
             $diff := $end.diff($start, 'days');
             ([0..$diff])@$day.{
                 "date": $moment($.startDate,'YYYY-MM-DD').add($day,'days').format('DD.MM.YYYY'),
                 "today": $moment().format('DD.MM.YYYY'),
                 "isSame": $moment($.startDate,'YYYY-MM-DD').add($day,'days').isSame($moment(),'day')
                 }   
             )
         }
      

      Bei den Feiertagen funktioniert es so, dass nur ein Wert übers payload ausgegeben wird.

      [
         {
             "Feiertag":"Neujahr",
             "payload": (
                 $date := $moment($moment(payload[0].startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
                 $today := $moment($moment().format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
                 $date.isSame($today)
                 )
      }     
      ].payload
      
      posted in Node-Red
      M
      MaGe
    • RE: [gelöst] JSONata loop - $moment > Invalid date?

      @mickym said in JSONata loop - $moment > Invalid date?:

      Vielen lieben Dank. So funktioniert es. 🙂

      [
         {
             "Ferien":"Weihnachtsferien",
              "start": $moment(payload[0].startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),
              "end": $moment(payload[0].endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),
              "payload": (
                  $start := $moment($moment(payload[0].startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
                  $end := $moment($moment(payload[0].endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
                  $today := $moment($moment().format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
                  $diff := $end.diff($start, 'days');
                  ([1..$diff])@$day.{
                  "date": $moment($$.payload[0].startDate,'YYYY-MM-DD').add($day,'days').format('DD.MM.YYYY'),
              }    
              )    
         }
      ]
      

      Wie könnte man den Vergleich durchführen? Ich bekomme folgende Meldung "Ungültiger JSONata Ausdruck: Attempted to invoke a non-function"

      "isSame": $($$.payload[$day].payload[$day].date).isSame($$today)
      

      Wäre es vielleicht auch möglich ohne payload[0].payload[0].date? Daran bin ich bis jetzt noch gescheitert. Dann wäre es vielleicht einfacher mit dem Vergleichen.

      $date := { ([0..$diff])@$day.{
                  $moment($$.payload[0].startDate,'YYYY-MM-DD').add($day,'days').format('DD.MM.YYYY');
      			} 
      			};
      
      posted in Node-Red
      M
      MaGe
    • [gelöst] JSONata loop - $moment > Invalid date?

      Hallo zusammen,

      ich komme gerade nicht mehr weiter und verstehe auch nicht wo der Fehler liegt.

      In der markierten Zeile wird korrekt zum 03.01.2025 mittels add(1,'days') ein Tag als Test addiert. Soweit so gut.
      flow_Schulferien_2.jpg
      In der markierten loop wird das Datum als "Invalid date" ausgegeben.
      flow_Schulferien_3.jpg
      Debug:
      flow_Schulferien_1.jpg

      Mein Flow:

      [
         {
             "id": "aaf1926df51b3128",
             "type": "debug",
             "z": "2a5d5250.f178be",
             "g": "c99b6d419a34f213",
             "name": "Info",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 1950,
             "y": 2500,
             "wires": []
         },
         {
             "id": "b71b2f4e4c163357",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "c99b6d419a34f213",
             "name": "Schulferien",
             "rules": [
                 {
                     "t": "delete",
                     "p": "headers",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "statusCode",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "url",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "responseUrl",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "retry",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "redirectList",
                     "pt": "msg"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "[\t   {\t       \"Ferien\":\"Weihnachtsferien\",\t        \"start\": $moment(payload[0].startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),\t        \"end\": $moment(payload[0].endDate,'YYYY-MM-DD').add(1,'days').format('DD.MM.YYYY'),\t        \"payload\": (\t            $start := $moment($moment(payload[0].startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t            $end := $moment($moment(payload[0].endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t            $diff := $end.diff($start, 'days'); \t            [1..$diff].{\t            \"day\": $,\t            \"date\": $moment(payload[0].startDate,'YYYY-MM-DD').add($,'days').format('DD.MM.YYYY')\t        }    \t        )    \t   }\t]",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1930,
             "y": 2460,
             "wires": [
                 [
                     "aaf1926df51b3128"
                 ]
             ]
         },
         {
             "id": "68c7a189d51bf7bf",
             "type": "http request",
             "z": "2a5d5250.f178be",
             "g": "c99b6d419a34f213",
             "name": "",
             "method": "GET",
             "ret": "obj",
             "paytoqs": "body",
             "url": "",
             "tls": "",
             "persist": false,
             "proxy": "",
             "insecureHTTPParser": false,
             "authType": "",
             "senderr": false,
             "headers": [],
             "x": 1950,
             "y": 2420,
             "wires": [
                 [
                     "b71b2f4e4c163357"
                 ]
             ]
         },
         {
             "id": "299b868a61569eb1",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "c99b6d419a34f213",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "payload",
                     "tot": "msg"
                 },
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "$.url",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1930,
             "y": 2380,
             "wires": [
                 [
                     "68c7a189d51bf7bf"
                 ]
             ]
         },
         {
             "id": "430861125722076d",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "c99b6d419a34f213",
             "name": "Url",
             "func": "msg.payload = `https://openholidaysapi.org/SchoolHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;\n\n",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1750,
             "y": 2380,
             "wires": [
                 [
                     "299b868a61569eb1"
                 ]
             ]
         },
         {
             "id": "71181a8bd5e21a21",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "c99b6d419a34f213",
             "name": "Jahr",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Jahr",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment().year() ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$string(payload)",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1750,
             "y": 2420,
             "wires": [
                 [
                     "430861125722076d"
                 ]
             ]
         },
         {
             "id": "2ccf942347bcc03b",
             "type": "inject",
             "z": "2a5d5250.f178be",
             "g": "c99b6d419a34f213",
             "name": "Abfrage",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "05 00 * * *",
             "once": true,
             "onceDelay": "0.5",
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 1540,
             "y": 2380,
             "wires": [
                 [
                     "71181a8bd5e21a21"
                 ]
             ]
         }
      ]
      

      Hintergrund des Flows ist, dass ich im Anschluss jedes Datum auf Übereinstimmung zum aktuellen Tag überprüfen möchte.
      So habe ich es bei den Feiertagen bereits umgesetzt.

         {
             "Feiertag":"Neujahr",
             "payload": (
                 $date := $moment($moment(payload[0].startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
                 $today := $moment($moment().format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');
                 $date.isSame($today)
                 )
             }
      

      Danke für eure Unterstützung.

      posted in Node-Red
      M
      MaGe
    • RE: [gelöst] http request mit 2-facher Ausgabe

      @mickym said in http request mit 2-facher Ausgabe:

      @mage Das Problem ist meines Erachtens ganz simple und ich verstehe auch nicht, warum man das macht.

      In dem Du aus der 1. Inject Node 2 Kabel schickst, verdoppelst Du die Anzahl Nachrichten.

      6ab980c0-8215-4b8e-800a-b29fcfec80f5-image.png

      Wenn Du also die Nachricht nicht verdoppelst, dann kommt auch nur EINE Nachricht raus.

      Vielen lieben Dank. Die doppelte Verbindung hatte ich total übersehen. 🙂
      Jetzt funktioniert es wie es soll.
      Screenshot_node-red2.jpg

      posted in Node-Red
      M
      MaGe
    • RE: [gelöst] http request mit 2-facher Ausgabe

      @oliverio said in http request mit 2-facher Ausgabe:

      @mage

      Du hast 2 Info nodes?

      Ja, die 1. gibt das Ergebnis der Variable bei inject wieder (zum Test) und die 2. das Ergebnis des flows.
      In welchem Zusammenhang sollte das mit der Ausgabe stehen?

      posted in Node-Red
      M
      MaGe
    • [gelöst] http request mit 2-facher Ausgabe

      Ich wünsche Euch ein gutes neues Jahr.

      Mein Flow ermittelt die Feiertage im Kalenderjahr über die openholidaysapi: https://www.openholidaysapi.org/en/.
      Wenn der aktuelle Tag mit einem Feiertag übereinstimmt, wird in eine Variable ein true und ansonsten ein false zurückgegeben.
      Ich verstehe nur nicht, dass der payload immer 2-fach ausgegeben wird.
      Ein delay nach dem http request ändert daran nichts.
      Und über die node-red-contrib-deduplicate wird nur die zweite Ausgabe unterbunden.
      Die zweite Ausgabe enthält aber erst das korrekte Ergebnis.

      Habt ihr eine Idee, woran das liegen könnte, bzw. wie ich das unterbinden kann?

      Screenshot_node-red.jpg

      [
         {
             "id": "d7ab92de65468601",
             "type": "group",
             "z": "2a5d5250.f178be",
             "style": {
                 "stroke": "#999999",
                 "stroke-opacity": "1",
                 "fill": "none",
                 "fill-opacity": "1",
                 "label": true,
                 "label-position": "nw",
                 "color": "#a4a4a4"
             },
             "nodes": [
                 "78da17c158e6bef1",
                 "3ccc3f42a2375b34",
                 "600b30b2fa735916",
                 "e91f95671148e3f8",
                 "ea826efb6416a0e2",
                 "7654c97d19b712d2",
                 "c67025781db415b3",
                 "3174341e61111e98",
                 "a32311fe3f57f596",
                 "7a2a6e9862f4b65b",
                 "f6e38c9bba13e173",
                 "70661c26e7a597bd",
                 "6a58ba98af5e39c8",
                 "065f77b5ca36d548",
                 "f7616b34b78f0752",
                 "c277e4c9946def8d",
                 "046cbd62d6d59850",
                 "32e9962567fafd2e",
                 "23232d4ed4efc0cb",
                 "b73fa371cde46fa6",
                 "c045023939e591be",
                 "04c119132bb79324",
                 "ca46e7a0adebd311",
                 "f61b17dbcca75559",
                 "3da2e65605823f27",
                 "4ea3728856684ee3"
             ],
             "x": 1454,
             "y": 779,
             "w": 1172,
             "h": 562
         },
         {
             "id": "78da17c158e6bef1",
             "type": "http request",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "method": "GET",
             "ret": "obj",
             "paytoqs": "body",
             "url": "",
             "tls": "",
             "persist": false,
             "proxy": "",
             "insecureHTTPParser": false,
             "authType": "",
             "senderr": false,
             "headers": [],
             "x": 1970,
             "y": 860,
             "wires": [
                 [
                     "f61b17dbcca75559"
                 ]
             ]
         },
         {
             "id": "3ccc3f42a2375b34",
             "type": "inject",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Abfrage",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "05 00 * * *",
             "once": true,
             "onceDelay": "0.5",
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 1560,
             "y": 820,
             "wires": [
                 [
                     "ea826efb6416a0e2",
                     "e91f95671148e3f8"
                 ]
             ]
         },
         {
             "id": "600b30b2fa735916",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Neujahr",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Neujahr",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[0].startDate,'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(\t    $a := $moment(date_today,['DD.MM.YYYY','x'],'de');     \t    $b := $moment(date,['DD.MM.YYYY','x'],'de');     \t    $a.isSame($b); \t    )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2180,
             "y": 820,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "e91f95671148e3f8",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Jahr",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Jahr",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment().year() ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$string(payload)",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1770,
             "y": 860,
             "wires": [
                 [
                     "ea826efb6416a0e2"
                 ]
             ]
         },
         {
             "id": "ea826efb6416a0e2",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Url",
             "func": "msg.payload = `https://openholidaysapi.org/PublicHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1770,
             "y": 820,
             "wires": [
                 [
                     "7654c97d19b712d2"
                 ]
             ]
         },
         {
             "id": "7654c97d19b712d2",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "payload",
                     "tot": "msg"
                 },
                 {
                     "t": "set",
                     "p": "url",
                     "pt": "msg",
                     "to": "$.url",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1950,
             "y": 820,
             "wires": [
                 [
                     "78da17c158e6bef1"
                 ]
             ]
         },
         {
             "id": "c67025781db415b3",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Heilige Drei Könige",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Heilige Drei Könige",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[1].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2210,
             "y": 860,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "3174341e61111e98",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Karfreitag",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Karfreitag",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[2].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2180,
             "y": 900,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "a32311fe3f57f596",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Ostermontag",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Ostermontag",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[3].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2200,
             "y": 940,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "7a2a6e9862f4b65b",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Tag der Arbeit",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Tag der Arbeit",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[4].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2200,
             "y": 980,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "f6e38c9bba13e173",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Christi Himmelfahrt",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Christi Himmelfahrt",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[5].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2210,
             "y": 1020,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "70661c26e7a597bd",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Pfingstmontag",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Pfingstmontag",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[6].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2200,
             "y": 1060,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "6a58ba98af5e39c8",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Fronleichnam",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Fronleichnam",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[7].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2200,
             "y": 1100,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "065f77b5ca36d548",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Mariä Himmelfahrt",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Mariä Himmelfahrt",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[9].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2210,
             "y": 1140,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "f7616b34b78f0752",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Tag der Deutschen Einheit",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Tag der Deutschen Einheit",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[10].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2240,
             "y": 1180,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "c277e4c9946def8d",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Allerheiligen",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Allerheiligen",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[11].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2190,
             "y": 1220,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "046cbd62d6d59850",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "1. Weihnachtsfeiertag",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "1. Weihnachtsfeiertag",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[12].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2220,
             "y": 1260,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "32e9962567fafd2e",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "2. Weihnachtsfeiertag",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "2. Weihnachtsfeiertag",
                     "tot": "str"
                 },
                 {
                     "t": "set",
                     "p": "date",
                     "pt": "msg",
                     "to": "$moment(payload[13].startDate, 'YYYY-MM-DD').format('DD.MM.YYYY') ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "date_today",
                     "pt": "msg",
                     "to": "$moment().format('DD.MM.YYYY')",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "(     $a := $moment(date_today,['DD.MM.YYYY','x'],'de');          $b := $moment(date,['DD.MM.YYYY','x'],'de');          $a.isSame($b);      )",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2220,
             "y": 1300,
             "wires": [
                 [
                     "c045023939e591be"
                 ]
             ]
         },
         {
             "id": "23232d4ed4efc0cb",
             "type": "inject",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Global:Feiertag",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "06 00 * * *",
             "once": true,
             "onceDelay": "0.5",
             "topic": "",
             "payload": "Feiertag",
             "payloadType": "global",
             "x": 1590,
             "y": 920,
             "wires": [
                 [
                     "b73fa371cde46fa6"
                 ]
             ]
         },
         {
             "id": "b73fa371cde46fa6",
             "type": "debug",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Info",
             "active": true,
             "tosidebar": false,
             "console": false,
             "tostatus": true,
             "complete": "true",
             "targetType": "full",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 1770,
             "y": 920,
             "wires": []
         },
         {
             "id": "c045023939e591be",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "Feiertag",
                     "tot": "str"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2490,
             "y": 820,
             "wires": [
                 [
                     "04c119132bb79324"
                 ]
             ]
         },
         {
             "id": "04c119132bb79324",
             "type": "join",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "",
             "mode": "custom",
             "build": "array",
             "property": "payload",
             "propertyType": "msg",
             "key": "topic",
             "joiner": "\\n",
             "joinerType": "str",
             "accumulate": false,
             "timeout": "",
             "count": "13",
             "reduceRight": false,
             "reduceExp": "",
             "reduceInit": "",
             "reduceInitType": "",
             "reduceFixup": "",
             "x": 2530,
             "y": 860,
             "wires": [
                 [
                     "ca46e7a0adebd311"
                 ]
             ]
         },
         {
             "id": "ca46e7a0adebd311",
             "type": "function",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "date = today",
             "func": "const Feiertag = msg.payload;\nmsg.payload = Feiertag.includes(true);\nreturn msg;",
             "outputs": 1,
             "timeout": "",
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 2510,
             "y": 900,
             "wires": [
                 [
                     "3da2e65605823f27"
                 ]
             ]
         },
         {
             "id": "f61b17dbcca75559",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Remove",
             "rules": [
                 {
                     "t": "delete",
                     "p": "headers",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "statusCode",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "url",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "responseUrl",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "retry",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "redirectList",
                     "pt": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1980,
             "y": 900,
             "wires": [
                 [
                     "600b30b2fa735916",
                     "c67025781db415b3",
                     "3174341e61111e98",
                     "a32311fe3f57f596",
                     "7a2a6e9862f4b65b",
                     "f6e38c9bba13e173",
                     "70661c26e7a597bd",
                     "6a58ba98af5e39c8",
                     "065f77b5ca36d548",
                     "f7616b34b78f0752",
                     "c277e4c9946def8d",
                     "046cbd62d6d59850",
                     "32e9962567fafd2e"
                 ]
             ]
         },
         {
             "id": "3da2e65605823f27",
             "type": "change",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Feiertag",
             "rules": [
                 {
                     "t": "set",
                     "p": "Feiertag",
                     "pt": "global",
                     "to": "payload",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 2520,
             "y": 940,
             "wires": [
                 [
                     "4ea3728856684ee3"
                 ]
             ]
         },
         {
             "id": "4ea3728856684ee3",
             "type": "debug",
             "z": "2a5d5250.f178be",
             "g": "d7ab92de65468601",
             "name": "Info",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": true,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "payload",
             "statusType": "auto",
             "x": 2530,
             "y": 980,
             "wires": []
         }
      ]
      

      posted in Node-Red
      M
      MaGe
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo