Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Zeitsteuerung function

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zeitsteuerung function

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Carsten 4 last edited by

      Hallo.

      ich habe ein flow im Node-red dem ich eine Zeitsteuerung hinzufügen möchte.

      Aus dem iobroker/modbus hole ich mir den Stromverbrauch der dann umgewandelt wird zum Soyo geschickt wird. Jetzt soll das ganze nur von 18 bis 6 Uhr passieren.
      Habe es schon mit Paletten probiert aber es funktioniert nicht.

      Ich denke es muss in der function nocht ein Script eingefügt werden.
      Vielleicht könnte mir jemand helfen.
      20.JPG

      [
          {
              "id": "0bbbbf4d440568b6",
              "type": "tab",
              "label": "Flow 1",
              "disabled": false,
              "info": "",
              "env": []
          },
          {
              "id": "648a24b56b9b94d3",
              "type": "ioBroker in",
              "z": "0bbbbf4d440568b6",
              "name": "",
              "topic": "modbus.0.holdingRegisters.40206_M_AC_Power",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 260,
              "y": 340,
              "wires": [
                  [
                      "6901404413c290c6",
                      "a401d49e0f0634d9"
                  ]
              ]
          },
          {
              "id": "31f9e37f8779afd9",
              "type": "function",
              "z": "0bbbbf4d440568b6",
              "name": "function 1",
              "func": "msg.url = \"http://192.168.178.62/L1L2L3Auto?Value=\" + msg.payload;\nreturn msg;",
              "outputs": 2,
              "noerr": 0,
              "initialize": "",
              "finalize": "",
              "libs": [],
              "x": 860,
              "y": 260,
              "wires": [
                  [
                      "9360491c42a4fa1d"
                  ],
                  []
              ]
          },
          {
              "id": "9360491c42a4fa1d",
              "type": "http request",
              "z": "0bbbbf4d440568b6",
              "name": "",
              "method": "GET",
              "ret": "txt",
              "paytoqs": "ignore",
              "url": "",
              "tls": "",
              "persist": false,
              "proxy": "",
              "insecureHTTPParser": false,
              "authType": "",
              "senderr": false,
              "headers": [],
              "x": 710,
              "y": 60,
              "wires": [
                  [
                      "262aedd9310307b7"
                  ]
              ]
          },
          {
              "id": "a401d49e0f0634d9",
              "type": "change",
              "z": "0bbbbf4d440568b6",
              "name": "",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "payload *-1",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 630,
              "y": 280,
              "wires": [
                  [
                      "31f9e37f8779afd9"
                  ]
              ]
          },
          {
              "id": "262aedd9310307b7",
              "type": "debug",
              "z": "0bbbbf4d440568b6",
              "name": "debug 1",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": true,
              "complete": "payload",
              "targetType": "msg",
              "statusVal": "payload",
              "statusType": "auto",
              "x": 900,
              "y": 60,
              "wires": []
          },
          {
              "id": "6901404413c290c6",
              "type": "ui_gauge",
              "z": "0bbbbf4d440568b6",
              "name": "",
              "group": "35c4e4cc50ae5e9c",
              "order": 0,
              "width": 0,
              "height": 0,
              "gtype": "gage",
              "title": "gauge",
              "label": "units",
              "format": "{{value}}",
              "min": 0,
              "max": 10,
              "colors": [
                  "#00b500",
                  "#e6e600",
                  "#ca3838"
              ],
              "seg1": "",
              "seg2": "",
              "diff": false,
              "className": "",
              "x": 730,
              "y": 440,
              "wires": []
          },
          {
              "id": "35c4e4cc50ae5e9c",
              "type": "ui_group",
              "name": "Test",
              "tab": "3829bdb73c1099e9",
              "order": 1,
              "disp": true,
              "width": "6",
              "collapse": false,
              "className": ""
          },
          {
              "id": "3829bdb73c1099e9",
              "type": "ui_tab",
              "name": "Home",
              "icon": "dashboard",
              "disabled": false,
              "hidden": false
          }
      ]
      
      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Carsten 4 last edited by

        @carsten-4 Mach einfach eine switch Node als Filter dazwischen:

        47701145-ebd7-45cc-8338-9f05ec746686-image.png

        [
           {
               "id": "ee5e2b9e11fd3f58",
               "type": "switch",
               "z": "7e6af0015415146d",
               "name": "Filter nur zwischen 18 und 6 Uhr",
               "property": "$not($moment().isBetween($moment(\"06\", \"HH\"),$moment(\"18\", \"HH\"),'hour','[]'))",
               "propertyType": "jsonata",
               "rules": [
                   {
                       "t": "true"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 1,
               "x": 550,
               "y": 3260,
               "wires": [
                   [
                       "bacc8987f9b71068"
                   ]
               ]
           }
        ]
        

        C 1 Reply Last reply Reply Quote 0
        • C
          Carsten 4 @mickym last edited by

          @mickym sagte in Zeitsteuerung function:

          vielen Dank.
          Habe es gerade eingefügt.
          Funktioniert

          C 1 Reply Last reply Reply Quote 0
          • C
            Carsten 4 @Carsten 4 last edited by

            funktioniert leider doch nicht.

            Der Wert wird irgendwie nicht weiter gereicht.

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Carsten 4 last edited by

              @carsten-4 sagte in Zeitsteuerung function:

              funktioniert leider doch nicht.

              Der Wert wird irgendwie nicht weiter gereicht.

              Nun ob das an der Node liegt bezweifle ich mal. Dann sendet Dein Teil halt nicht:

              23a43e0b-5240-418a-b8d1-4e65c7915324-image.png

              Du kannst ja die Node jederzeit testen, ob sie die Nachricht durchlässt.

              C 1 Reply Last reply Reply Quote 0
              • C
                Carsten 4 @mickym last edited by

                @mickym
                ja stimmt das funktioniert.

                Ich muss den Wert 0 haben wenn der Timer nicht aktiv ist. Bekommt man das in dem Switch mit unter?

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Carsten 4 last edited by mickym

                  @carsten-4 sagte in Zeitsteuerung function:

                  @mickym
                  ja stimmt das funktioniert.

                  Ich muss den Wert 0 haben wenn der Timer nicht aktiv ist. Bekommt man das in dem Switch mit unter?

                  4f117dfa-2f17-441b-9b49-984fe065ef15-image.png

                  [
                     {
                         "id": "ee5e2b9e11fd3f58",
                         "type": "switch",
                         "z": "7e2525a8ae761146",
                         "name": "Filter nur zwischen 18 und 6 Uhr",
                         "property": "$not($moment().isBetween($moment(\"06\", \"HH\"),$moment(\"18\", \"HH\"),'hour','[]'))",
                         "propertyType": "jsonata",
                         "rules": [
                             {
                                 "t": "true"
                             },
                             {
                                 "t": "false"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 570,
                         "y": 480,
                         "wires": [
                             [
                                 "8381e8a8b096aa55"
                             ],
                             [
                                 "6f6ba6ec7bbfe3fb"
                             ]
                         ]
                     },
                     {
                         "id": "011f554e15a8860b",
                         "type": "inject",
                         "z": "7e2525a8ae761146",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "Hallo",
                         "payloadType": "str",
                         "x": 330,
                         "y": 480,
                         "wires": [
                             [
                                 "ee5e2b9e11fd3f58"
                             ]
                         ]
                     },
                     {
                         "id": "8381e8a8b096aa55",
                         "type": "debug",
                         "z": "7e2525a8ae761146",
                         "name": "Hallo",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1030,
                         "y": 460,
                         "wires": []
                     },
                     {
                         "id": "6f6ba6ec7bbfe3fb",
                         "type": "change",
                         "z": "7e2525a8ae761146",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "0",
                                 "tot": "num"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 850,
                         "y": 520,
                         "wires": [
                             [
                                 "8381e8a8b096aa55"
                             ]
                         ]
                     }
                  ]
                  

                  oder falls Du lieber programmierst, dann änderst Du halt Deine payload. 😉

                  1d9885a2-8708-467a-82d5-bfb3bd744140-image.png

                  [
                     {
                         "id": "3e854b39bc3bc0d9",
                         "type": "change",
                         "z": "7e2525a8ae761146",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "inTime",
                                 "pt": "msg",
                                 "to": "$not($moment().isBetween($moment(\"06\", \"HH\"),$moment(\"18\", \"HH\"),'hour','[]'))",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "inTime ? payload : 0",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 570,
                         "y": 640,
                         "wires": [
                             [
                                 "79cbca2ddace5703"
                             ]
                         ]
                     },
                     {
                         "id": "76a26a125a57b8a9",
                         "type": "inject",
                         "z": "7e2525a8ae761146",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "Hallo2",
                         "payloadType": "str",
                         "x": 370,
                         "y": 640,
                         "wires": [
                             [
                                 "3e854b39bc3bc0d9"
                             ]
                         ]
                     },
                     {
                         "id": "79cbca2ddace5703",
                         "type": "debug",
                         "z": "7e2525a8ae761146",
                         "name": "Hallo2",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 790,
                         "y": 640,
                         "wires": []
                     }
                  ]
                  

                  1 Reply Last reply Reply Quote 0
                  • C
                    Carsten 4 last edited by

                    @mickym sagte in Zeitsteuerung function:

                    so scheint zu funktionieren.

                    Aber wenn ich jetzt (13:45) die Zeit ändere von 13-6Uhr bekomme ich immer noch die 0,bei 12-6 Uhr funktioniert es.
                    Die Systemzeit des iobroker passt.

                    Seltsam

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Carsten 4 last edited by mickym

                      @carsten-4 die granularität ist auf hourly gestellt.das heißt solange es 13 Uhr irgendwias ist, ist das immer noch ausgeschlossen. Ansonsten musst halt Minute eintragen, dann muss man aber auch die Minuten abfragen. Dann muss man aber auch genau schreiben was man will. Ansonsten wenn 18 Uhr Punkt beginnen soll 6-17 eintragen. Dann fängt es Punkt 18:00 an und hört 5:59 auf.

                      Alternativ wenn das verwirrt, einfach die Klammern wie folgt ändern:

                      [)
                      

                      Also eckige und runde Klammer- dann geht es bei Angabe von 6-18 von, 18:00 bis 5:59

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        Carsten 4 @mickym last edited by

                        @mickym

                        Vielen Dank!

                        Du hast mir echt weitergeholfen.
                        Und ich habe wieder etwas gelernt.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        884
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        2
                        10
                        384
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo