Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Probleme mit Zeitsteuerung und AND Logik

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    224

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Probleme mit Zeitsteuerung und AND Logik

Probleme mit Zeitsteuerung und AND Logik

Scheduled Pinned Locked Moved Node-Red
8 Posts 2 Posters 604 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Saranger
    wrote on last edited by
    #1

    Guten Morgen zusammen, ich scheitere mal wieder an den Zeitbausteinen in Kombination mit einem AND. Vielleicht kann mir da einer auf die Sprünge helfen.

    Ich habe bei mir im BAd zwei Lampen welche über einen P geschaltet werden, ich möchte das Nachts aber nur eine angeht und jetzt habe ich die KNX GA und zwei Uhrzeiten und ein AND und trotzdem gehen immer beide an. Ich hab es auch mit dem Bigtimer schon probiert aber die AND Logik gibt immer ein true raus auch wenn die Zeit nicht aktiv ist.

    Lampe.JPG

    [
        {
            "id": "6dcd33f86c41b022",
            "type": "knxUltimate",
            "z": "415f0fe36e308bdb",
            "server": "6fc013af.98132c",
            "topic": "1/1/70",
            "outputtopic": "",
            "dpt": "1.001",
            "initialread": "1",
            "notifyreadrequest": false,
            "notifyresponse": true,
            "notifywrite": true,
            "notifyreadrequestalsorespondtobus": false,
            "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0",
            "listenallga": false,
            "name": "O5 - L2.2 80cm",
            "outputtype": "write",
            "outputRBE": false,
            "inputRBE": false,
            "formatmultiplyvalue": 1,
            "formatnegativevalue": "leave",
            "formatdecimalsvalue": 999,
            "passthrough": "no",
            "x": 780,
            "y": 2120,
            "wires": [
                []
            ]
        },
        {
            "id": "40f01663243f3135",
            "type": "inject",
            "z": "415f0fe36e308bdb",
            "name": "06:00",
            "props": [
                {
                    "p": "payload"
                },
                {
                    "p": "topic",
                    "vt": "str"
                }
            ],
            "repeat": "",
            "crontab": "00 07 * * *",
            "once": false,
            "onceDelay": 0.1,
            "topic": "1",
            "payload": "on",
            "payloadType": "str",
            "x": 90,
            "y": 2180,
            "wires": [
                [
                    "bdb25d3bedb3d1a1"
                ]
            ]
        },
        {
            "id": "b2aac529d0d241b1",
            "type": "inject",
            "z": "415f0fe36e308bdb",
            "name": "22:00",
            "props": [
                {
                    "p": "payload"
                },
                {
                    "p": "topic",
                    "vt": "str"
                }
            ],
            "repeat": "",
            "crontab": "00 22 * * *",
            "once": false,
            "onceDelay": 0.1,
            "topic": "1",
            "payload": "off",
            "payloadType": "str",
            "x": 90,
            "y": 2220,
            "wires": [
                [
                    "bdb25d3bedb3d1a1"
                ]
            ]
        },
        {
            "id": "fa43646eebd9962e",
            "type": "group",
            "z": "415f0fe36e308bdb",
            "name": "2 Boolean Logic",
            "style": {
                "label": true,
                "fill": "#ff7f7f",
                "color": "#000000"
            },
            "nodes": [
                "bdb25d3bedb3d1a1",
                "b62ff4888f8291c0"
            ],
            "x": 334,
            "y": 2079,
            "w": 292,
            "h": 82
        },
        {
            "id": "bdb25d3bedb3d1a1",
            "type": "join",
            "z": "415f0fe36e308bdb",
            "g": "fa43646eebd9962e",
            "name": "",
            "mode": "custom",
            "build": "object",
            "property": "payload",
            "propertyType": "msg",
            "key": "topic",
            "joiner": "\\n",
            "joinerType": "str",
            "accumulate": true,
            "timeout": "",
            "count": "2",
            "reduceRight": false,
            "reduceExp": "",
            "reduceInit": "",
            "reduceInitType": "",
            "reduceFixup": "",
            "x": 410,
            "y": 2120,
            "wires": [
                [
                    "b62ff4888f8291c0"
                ]
            ]
        },
        {
            "id": "b62ff4888f8291c0",
            "type": "change",
            "z": "415f0fe36e308bdb",
            "g": "fa43646eebd9962e",
            "name": "AND ?",
            "rules": [
                {
                    "t": "set",
                    "p": "payload",
                    "pt": "msg",
                    "to": "$reduce(payload.*,function($i, $j){$i and $j})",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 550,
            "y": 2120,
            "wires": [
                [
                    "6dcd33f86c41b022",
                    "47bb59ef955c0f04"
                ]
            ],
            "info": "# All Property of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
        },
        {
            "id": "6fc013af.98132c",
            "type": "knxUltimate-config",
            "host": "192.168.2.89",
            "port": "3671",
            "physAddr": "15.15.22",
            "hostProtocol": "TunnelUDP",
            "suppressACKRequest": true,
            "csv": "",
            "KNXEthInterface": "Auto",
            "KNXEthInterfaceManuallyInput": "",
            "statusDisplayLastUpdate": true,
            "statusDisplayDeviceNameWhenALL": true,
            "statusDisplayDataPoint": false,
            "stopETSImportIfNoDatapoint": "stop",
            "loglevel": "error",
            "name": "Martins KNX",
            "localEchoInTunneling": true,
            "delaybetweentelegrams": "40",
            "delaybetweentelegramsfurtherdelayREAD": "1",
            "ignoreTelegramsWithRepeatedFlag": false,
            "keyringFileXML": ""
        }
    ]!
    

    Danke euch

    mickymM 1 Reply Last reply
    0
    • S Saranger

      Guten Morgen zusammen, ich scheitere mal wieder an den Zeitbausteinen in Kombination mit einem AND. Vielleicht kann mir da einer auf die Sprünge helfen.

      Ich habe bei mir im BAd zwei Lampen welche über einen P geschaltet werden, ich möchte das Nachts aber nur eine angeht und jetzt habe ich die KNX GA und zwei Uhrzeiten und ein AND und trotzdem gehen immer beide an. Ich hab es auch mit dem Bigtimer schon probiert aber die AND Logik gibt immer ein true raus auch wenn die Zeit nicht aktiv ist.

      Lampe.JPG

      [
          {
              "id": "6dcd33f86c41b022",
              "type": "knxUltimate",
              "z": "415f0fe36e308bdb",
              "server": "6fc013af.98132c",
              "topic": "1/1/70",
              "outputtopic": "",
              "dpt": "1.001",
              "initialread": "1",
              "notifyreadrequest": false,
              "notifyresponse": true,
              "notifywrite": true,
              "notifyreadrequestalsorespondtobus": false,
              "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0",
              "listenallga": false,
              "name": "O5 - L2.2 80cm",
              "outputtype": "write",
              "outputRBE": false,
              "inputRBE": false,
              "formatmultiplyvalue": 1,
              "formatnegativevalue": "leave",
              "formatdecimalsvalue": 999,
              "passthrough": "no",
              "x": 780,
              "y": 2120,
              "wires": [
                  []
              ]
          },
          {
              "id": "40f01663243f3135",
              "type": "inject",
              "z": "415f0fe36e308bdb",
              "name": "06:00",
              "props": [
                  {
                      "p": "payload"
                  },
                  {
                      "p": "topic",
                      "vt": "str"
                  }
              ],
              "repeat": "",
              "crontab": "00 07 * * *",
              "once": false,
              "onceDelay": 0.1,
              "topic": "1",
              "payload": "on",
              "payloadType": "str",
              "x": 90,
              "y": 2180,
              "wires": [
                  [
                      "bdb25d3bedb3d1a1"
                  ]
              ]
          },
          {
              "id": "b2aac529d0d241b1",
              "type": "inject",
              "z": "415f0fe36e308bdb",
              "name": "22:00",
              "props": [
                  {
                      "p": "payload"
                  },
                  {
                      "p": "topic",
                      "vt": "str"
                  }
              ],
              "repeat": "",
              "crontab": "00 22 * * *",
              "once": false,
              "onceDelay": 0.1,
              "topic": "1",
              "payload": "off",
              "payloadType": "str",
              "x": 90,
              "y": 2220,
              "wires": [
                  [
                      "bdb25d3bedb3d1a1"
                  ]
              ]
          },
          {
              "id": "fa43646eebd9962e",
              "type": "group",
              "z": "415f0fe36e308bdb",
              "name": "2 Boolean Logic",
              "style": {
                  "label": true,
                  "fill": "#ff7f7f",
                  "color": "#000000"
              },
              "nodes": [
                  "bdb25d3bedb3d1a1",
                  "b62ff4888f8291c0"
              ],
              "x": 334,
              "y": 2079,
              "w": 292,
              "h": 82
          },
          {
              "id": "bdb25d3bedb3d1a1",
              "type": "join",
              "z": "415f0fe36e308bdb",
              "g": "fa43646eebd9962e",
              "name": "",
              "mode": "custom",
              "build": "object",
              "property": "payload",
              "propertyType": "msg",
              "key": "topic",
              "joiner": "\\n",
              "joinerType": "str",
              "accumulate": true,
              "timeout": "",
              "count": "2",
              "reduceRight": false,
              "reduceExp": "",
              "reduceInit": "",
              "reduceInitType": "",
              "reduceFixup": "",
              "x": 410,
              "y": 2120,
              "wires": [
                  [
                      "b62ff4888f8291c0"
                  ]
              ]
          },
          {
              "id": "b62ff4888f8291c0",
              "type": "change",
              "z": "415f0fe36e308bdb",
              "g": "fa43646eebd9962e",
              "name": "AND ?",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "$reduce(payload.*,function($i, $j){$i and $j})",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 550,
              "y": 2120,
              "wires": [
                  [
                      "6dcd33f86c41b022",
                      "47bb59ef955c0f04"
                  ]
              ],
              "info": "# All Property of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
          },
          {
              "id": "6fc013af.98132c",
              "type": "knxUltimate-config",
              "host": "192.168.2.89",
              "port": "3671",
              "physAddr": "15.15.22",
              "hostProtocol": "TunnelUDP",
              "suppressACKRequest": true,
              "csv": "",
              "KNXEthInterface": "Auto",
              "KNXEthInterfaceManuallyInput": "",
              "statusDisplayLastUpdate": true,
              "statusDisplayDeviceNameWhenALL": true,
              "statusDisplayDataPoint": false,
              "stopETSImportIfNoDatapoint": "stop",
              "loglevel": "error",
              "name": "Martins KNX",
              "localEchoInTunneling": true,
              "delaybetweentelegrams": "40",
              "delaybetweentelegramsfurtherdelayREAD": "1",
              "ignoreTelegramsWithRepeatedFlag": false,
              "keyringFileXML": ""
          }
      ]!
      

      Danke euch

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      wrote on last edited by mickym
      #2

      @saranger na ich muss das erst mal generell verstehen.

      Die linke Lampe geht immer an ? - und die rechte Lampe soll nur angehen, wenn es nicht nachts ist? Das Problem ist aber schon erkannt. Grundsätzlich musst Du mit true und false arbeiten. Zeichenketten sind immer true

      adbcdd72-42c6-4349-9c18-9367ac3e61ba-image.png

      [
         {
             "id": "40f01663243f3135",
             "type": "inject",
             "z": "85ae8ec646aa7f1a",
             "name": "06:00",
             "props": [
                 {
                     "p": "payload"
                 },
                 {
                     "p": "topic",
                     "vt": "str"
                 }
             ],
             "repeat": "",
             "crontab": "00 07 * * *",
             "once": false,
             "onceDelay": 0.1,
             "topic": "1",
             "payload": "true",
             "payloadType": "bool",
             "x": 210,
             "y": 360,
             "wires": [
                 [
                     "bdb25d3bedb3d1a1"
                 ]
             ]
         },
         {
             "id": "b2aac529d0d241b1",
             "type": "inject",
             "z": "85ae8ec646aa7f1a",
             "name": "22:00",
             "props": [
                 {
                     "p": "payload"
                 },
                 {
                     "p": "topic",
                     "vt": "str"
                 }
             ],
             "repeat": "",
             "crontab": "00 22 * * *",
             "once": false,
             "onceDelay": 0.1,
             "topic": "1",
             "payload": "false",
             "payloadType": "bool",
             "x": 210,
             "y": 400,
             "wires": [
                 [
                     "bdb25d3bedb3d1a1"
                 ]
             ]
         },
         {
             "id": "77b9693b34d6f33b",
             "type": "inject",
             "z": "85ae8ec646aa7f1a",
             "name": "",
             "props": [
                 {
                     "p": "payload"
                 },
                 {
                     "p": "topic",
                     "vt": "str"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "L2.1",
             "payload": "true",
             "payloadType": "bool",
             "x": 260,
             "y": 280,
             "wires": [
                 [
                     "bdb25d3bedb3d1a1"
                 ]
             ]
         },
         {
             "id": "4ba5db35935bee8b",
             "type": "debug",
             "z": "85ae8ec646aa7f1a",
             "name": "debug 2",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "false",
             "statusVal": "",
             "statusType": "auto",
             "x": 840,
             "y": 300,
             "wires": []
         },
         {
             "id": "fa43646eebd9962e",
             "type": "group",
             "z": "85ae8ec646aa7f1a",
             "name": "2 Boolean Logic",
             "style": {
                 "label": true,
                 "fill": "#ff7f7f",
                 "color": "#000000"
             },
             "nodes": [
                 "bdb25d3bedb3d1a1",
                 "b62ff4888f8291c0"
             ],
             "x": 454,
             "y": 259,
             "w": 292,
             "h": 82
         },
         {
             "id": "bdb25d3bedb3d1a1",
             "type": "join",
             "z": "85ae8ec646aa7f1a",
             "g": "fa43646eebd9962e",
             "name": "",
             "mode": "custom",
             "build": "object",
             "property": "payload",
             "propertyType": "msg",
             "key": "topic",
             "joiner": "\\n",
             "joinerType": "str",
             "accumulate": true,
             "timeout": "",
             "count": "2",
             "reduceRight": false,
             "reduceExp": "",
             "reduceInit": "",
             "reduceInitType": "",
             "reduceFixup": "",
             "x": 530,
             "y": 300,
             "wires": [
                 [
                     "b62ff4888f8291c0"
                 ]
             ]
         },
         {
             "id": "b62ff4888f8291c0",
             "type": "change",
             "z": "85ae8ec646aa7f1a",
             "g": "fa43646eebd9962e",
             "name": "AND ?",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$reduce(payload.*,function($i, $j){$i and $j})",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 670,
             "y": 300,
             "wires": [
                 [
                     "4ba5db35935bee8b"
                 ]
             ],
             "info": "# All Property of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
         }
      ]
      

      Man kann das aber auch einfacher - mit der Moments Bibliothek und der Datum- und Zeitverarbeitung in Node Red lösen.

      Hier mal eine Change und eine Switch Node. 😉
      d060ec59-1f3b-434a-b189-22e114411bea-image.png

      [
         {
             "id": "922b0da53b5fc75b",
             "type": "switch",
             "z": "85ae8ec646aa7f1a",
             "name": "zwischen 6 und 22 Uhr ?",
             "property": "$moment().isBetween($moment(\"06\", \"hh\"),$moment(\"22\", \"hh\"),'minute','[)')",
             "propertyType": "jsonata",
             "rules": [
                 {
                     "t": "true"
                 },
                 {
                     "t": "false"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 610,
             "y": 100,
             "wires": [
                 [],
                 []
             ]
         },
         {
             "id": "8e35e390facce767",
             "type": "change",
             "z": "85ae8ec646aa7f1a",
             "name": "zwischen 6 und 22 Uhr?",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment().isBetween($moment(\"06\", \"hh\"),$moment(\"22\", \"hh\"),'minute','[)')",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 610,
             "y": 140,
             "wires": [
                 []
             ]
         }
      ]
      

      Schau Dir mal meinen Thread zur Datum und Uhrzeit in Node-Red an: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      S 1 Reply Last reply
      0
      • mickymM mickym

        @saranger na ich muss das erst mal generell verstehen.

        Die linke Lampe geht immer an ? - und die rechte Lampe soll nur angehen, wenn es nicht nachts ist? Das Problem ist aber schon erkannt. Grundsätzlich musst Du mit true und false arbeiten. Zeichenketten sind immer true

        adbcdd72-42c6-4349-9c18-9367ac3e61ba-image.png

        [
           {
               "id": "40f01663243f3135",
               "type": "inject",
               "z": "85ae8ec646aa7f1a",
               "name": "06:00",
               "props": [
                   {
                       "p": "payload"
                   },
                   {
                       "p": "topic",
                       "vt": "str"
                   }
               ],
               "repeat": "",
               "crontab": "00 07 * * *",
               "once": false,
               "onceDelay": 0.1,
               "topic": "1",
               "payload": "true",
               "payloadType": "bool",
               "x": 210,
               "y": 360,
               "wires": [
                   [
                       "bdb25d3bedb3d1a1"
                   ]
               ]
           },
           {
               "id": "b2aac529d0d241b1",
               "type": "inject",
               "z": "85ae8ec646aa7f1a",
               "name": "22:00",
               "props": [
                   {
                       "p": "payload"
                   },
                   {
                       "p": "topic",
                       "vt": "str"
                   }
               ],
               "repeat": "",
               "crontab": "00 22 * * *",
               "once": false,
               "onceDelay": 0.1,
               "topic": "1",
               "payload": "false",
               "payloadType": "bool",
               "x": 210,
               "y": 400,
               "wires": [
                   [
                       "bdb25d3bedb3d1a1"
                   ]
               ]
           },
           {
               "id": "77b9693b34d6f33b",
               "type": "inject",
               "z": "85ae8ec646aa7f1a",
               "name": "",
               "props": [
                   {
                       "p": "payload"
                   },
                   {
                       "p": "topic",
                       "vt": "str"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "L2.1",
               "payload": "true",
               "payloadType": "bool",
               "x": 260,
               "y": 280,
               "wires": [
                   [
                       "bdb25d3bedb3d1a1"
                   ]
               ]
           },
           {
               "id": "4ba5db35935bee8b",
               "type": "debug",
               "z": "85ae8ec646aa7f1a",
               "name": "debug 2",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "false",
               "statusVal": "",
               "statusType": "auto",
               "x": 840,
               "y": 300,
               "wires": []
           },
           {
               "id": "fa43646eebd9962e",
               "type": "group",
               "z": "85ae8ec646aa7f1a",
               "name": "2 Boolean Logic",
               "style": {
                   "label": true,
                   "fill": "#ff7f7f",
                   "color": "#000000"
               },
               "nodes": [
                   "bdb25d3bedb3d1a1",
                   "b62ff4888f8291c0"
               ],
               "x": 454,
               "y": 259,
               "w": 292,
               "h": 82
           },
           {
               "id": "bdb25d3bedb3d1a1",
               "type": "join",
               "z": "85ae8ec646aa7f1a",
               "g": "fa43646eebd9962e",
               "name": "",
               "mode": "custom",
               "build": "object",
               "property": "payload",
               "propertyType": "msg",
               "key": "topic",
               "joiner": "\\n",
               "joinerType": "str",
               "accumulate": true,
               "timeout": "",
               "count": "2",
               "reduceRight": false,
               "reduceExp": "",
               "reduceInit": "",
               "reduceInitType": "",
               "reduceFixup": "",
               "x": 530,
               "y": 300,
               "wires": [
                   [
                       "b62ff4888f8291c0"
                   ]
               ]
           },
           {
               "id": "b62ff4888f8291c0",
               "type": "change",
               "z": "85ae8ec646aa7f1a",
               "g": "fa43646eebd9962e",
               "name": "AND ?",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$reduce(payload.*,function($i, $j){$i and $j})",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 670,
               "y": 300,
               "wires": [
                   [
                       "4ba5db35935bee8b"
                   ]
               ],
               "info": "# All Property of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
           }
        ]
        

        Man kann das aber auch einfacher - mit der Moments Bibliothek und der Datum- und Zeitverarbeitung in Node Red lösen.

        Hier mal eine Change und eine Switch Node. 😉
        d060ec59-1f3b-434a-b189-22e114411bea-image.png

        [
           {
               "id": "922b0da53b5fc75b",
               "type": "switch",
               "z": "85ae8ec646aa7f1a",
               "name": "zwischen 6 und 22 Uhr ?",
               "property": "$moment().isBetween($moment(\"06\", \"hh\"),$moment(\"22\", \"hh\"),'minute','[)')",
               "propertyType": "jsonata",
               "rules": [
                   {
                       "t": "true"
                   },
                   {
                       "t": "false"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 2,
               "x": 610,
               "y": 100,
               "wires": [
                   [],
                   []
               ]
           },
           {
               "id": "8e35e390facce767",
               "type": "change",
               "z": "85ae8ec646aa7f1a",
               "name": "zwischen 6 und 22 Uhr?",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment().isBetween($moment(\"06\", \"hh\"),$moment(\"22\", \"hh\"),'minute','[)')",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 610,
               "y": 140,
               "wires": [
                   []
               ]
           }
        ]
        

        Schau Dir mal meinen Thread zur Datum und Uhrzeit in Node-Red an: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered

        S Offline
        S Offline
        Saranger
        wrote on last edited by
        #3

        @mickym cool danke, schaue ich mir an und teste das gleich mal, das könnte meine Probleme in meinen anderen Flows auch gleich beheben 🙂

        1 Reply Last reply
        0
        • S Offline
          S Offline
          Saranger
          wrote on last edited by
          #4

          @mickym das hat schon mal gut funktioniert, macht viele Flows einfacher. Wo aber die Uhrzeit als einziger Trigger ist muss ich es weiterhin über die inject node oder den Bigtimer machen oder?

          mickymM 1 Reply Last reply
          0
          • S Saranger

            @mickym das hat schon mal gut funktioniert, macht viele Flows einfacher. Wo aber die Uhrzeit als einziger Trigger ist muss ich es weiterhin über die inject node oder den Bigtimer machen oder?

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by mickym
            #5

            @saranger sagte in Probleme mit Zeitsteuerung und AND Logik:

            @mickym das hat schon mal gut funktioniert, macht viele Flows einfacher. Wo aber die Uhrzeit als einziger Trigger ist muss ich es weiterhin über die inject node oder den Bigtimer machen oder?

            Ja. Gibt ja neben der inject node noch die Trigger node bei den Standard-Nodes. Bei den nachinstallierten Nodes bevorzuge ich inzwischen andere nodes anstelle des Bigtimers. Für wöchentlich wiederkehrende Zeitfenster den Lightscheduler mit grafischer Bedienung und für anspruchsvolle Zeitaufgaben die cronplus-Node. Der Bigtimer ist noch 1. Wahl wenn man bestimmte zyklische Tage im Jahr braucht, die nicht über cron zu erstellen sind.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            S 1 Reply Last reply
            0
            • mickymM mickym

              @saranger sagte in Probleme mit Zeitsteuerung und AND Logik:

              @mickym das hat schon mal gut funktioniert, macht viele Flows einfacher. Wo aber die Uhrzeit als einziger Trigger ist muss ich es weiterhin über die inject node oder den Bigtimer machen oder?

              Ja. Gibt ja neben der inject node noch die Trigger node bei den Standard-Nodes. Bei den nachinstallierten Nodes bevorzuge ich inzwischen andere nodes anstelle des Bigtimers. Für wöchentlich wiederkehrende Zeitfenster den Lightscheduler mit grafischer Bedienung und für anspruchsvolle Zeitaufgaben die cronplus-Node. Der Bigtimer ist noch 1. Wahl wenn man bestimmte zyklische Tage im Jahr braucht, die nicht über cron zu erstellen sind.

              S Offline
              S Offline
              Saranger
              wrote on last edited by
              #6

              @mickym danke Dir, den Ligth schau ich mir mal an. Die Triggernode hab ich auch schon in Benutzung, da weis ich aber auch nicht ob das nicht zu kompliziert ist was ich da gebaut habe.

              S 1 Reply Last reply
              0
              • S Saranger

                @mickym danke Dir, den Ligth schau ich mir mal an. Die Triggernode hab ich auch schon in Benutzung, da weis ich aber auch nicht ob das nicht zu kompliziert ist was ich da gebaut habe.

                S Offline
                S Offline
                Saranger
                wrote on last edited by
                #7

                Wie sollte man es eigentlich schreiben wenn die timerange über 00 Uhr hinaus in den neuen Tag geht?

                Sollte man da eher 01:00 - 06:00 und das dann invertieren? 06:00 - 01:00 geht ja irgendwie nicht.

                Ich hab jetzt bei einem Kumpel gesehen das es noch die node timerange gibt kennt das jemand?

                mickymM 1 Reply Last reply
                0
                • S Saranger

                  Wie sollte man es eigentlich schreiben wenn die timerange über 00 Uhr hinaus in den neuen Tag geht?

                  Sollte man da eher 01:00 - 06:00 und das dann invertieren? 06:00 - 01:00 geht ja irgendwie nicht.

                  Ich hab jetzt bei einem Kumpel gesehen das es noch die node timerange gibt kennt das jemand?

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  wrote on last edited by
                  #8

                  @saranger sagte in Probleme mit Zeitsteuerung und AND Logik:

                  Sollte man da eher 01:00 - 06:00 und das dann invertieren?

                  Genau mit $not() invertieren.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  56

                  Online

                  32.4k

                  Users

                  81.3k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe