Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. obeject timestamp zugriff

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    536

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

obeject timestamp zugriff

Geplant Angeheftet Gesperrt Verschoben Node-Red
23 Beiträge 3 Kommentatoren 2.1k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    @fred-freund sagte in obeject timestamp zugriff:

    trigger node wenn false wartet der bist ev. nach 5 minuten true kommt
    1e757af1-9cc3-429e-bb76-b304a55a2b04-image.png

    Nein das ist verkehrt - es sendet am Anfang ein True und nach 2 Minuten ein false - das hat mit der originalen Nachricht gar nichts zu tun.

    Fred FreundF Offline
    Fred FreundF Offline
    Fred Freund
    schrieb am zuletzt editiert von Fred Freund
    #10

    @mickym said in obeject timestamp zugriff:

    @fred-freund sagte in obeject timestamp zugriff:

    trigger node wenn false wartet der bist ev. nach 5 minuten true kommt
    1e757af1-9cc3-429e-bb76-b304a55a2b04-image.png

    Nein das ist verkehrt - es sendet am Anfang ein True und nach 2 Minuten ein false - das hat mit der originalen Nachricht gar nichts zu tun.

    der ping (Adapter)...schickt nicht dauernd....der aendert true false nur wenn das ding nicht mehr da ist auf false...dh. das Intervall kann Monate oder Jahre sein :-)
    das passt da schon...

    mit welchen die mind. 1x pro Minute oder Stunde schicken kannst das so machen...cool wie du vorgeschlagen hast... cool!! Danke

    many Thx for your support,
    Vielen Dank!

    1 Antwort Letzte Antwort
    0
    • mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #11

      So hier habe ich noch ein paar Zeitberechnung für Dich gemacht:

      9b0ac572-ead9-4949-8df9-c47ec7174dc8-image.png

      Das ist der DP vor zwei Zyklen - der Shelly sendet alle 30 sekunden.

      fafd6835-ddd8-4e0d-b6b4-e128983a9353-image.png

      [
         {
             "id": "dbcd5529ba0d5c7b",
             "type": "ioBroker in",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "topic": "mqtt.1.shellies.schalter.kueche.licht_abzug.input.1",
             "payloadType": "object",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "true",
             "outFormat": "MQTT",
             "x": 390,
             "y": 2520,
             "wires": [
                 [
                     "d316f0114937ce32",
                     "8d269b025ec2773e",
                     "222b94a31e2786e4",
                     "fba96013c702fa2d",
                     "4fb9a428b5b72cd9",
                     "a0ded692dc3d8122"
                 ]
             ]
         },
         {
             "id": "d316f0114937ce32",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "object raw mit lc und ts",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 800,
             "y": 2480,
             "wires": []
         },
         {
             "id": "8d269b025ec2773e",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "Last change (lc)",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment(payload.lc,'x').format('DD.MM.YYYY HH:mm:ss')",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 780,
             "y": 2520,
             "wires": [
                 [
                     "e0512cc34b016986"
                 ]
             ]
         },
         {
             "id": "e0512cc34b016986",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "last Change in lesbarem Format",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1070,
             "y": 2520,
             "wires": []
         },
         {
             "id": "222b94a31e2786e4",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "Last update (ts)",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment(payload.ts,'x').format('DD.MM.YYYY HH:mm:ss')",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 780,
             "y": 2580,
             "wires": [
                 [
                     "57d036183b88161a"
                 ]
             ]
         },
         {
             "id": "57d036183b88161a",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "last Change in lesbarem Format",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1070,
             "y": 2580,
             "wires": []
         },
         {
             "id": "fba96013c702fa2d",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "now",
                     "pt": "msg",
                     "to": "",
                     "tot": "date"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "now - payload.lc",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 770,
             "y": 2640,
             "wires": [
                 [
                     "2b9d1fb43e248aea"
                 ]
             ]
         },
         {
             "id": "2b9d1fb43e248aea",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "millissekunden seit last change",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1090,
             "y": 2640,
             "wires": []
         },
         {
             "id": "4fb9a428b5b72cd9",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": " {}",
                     "tot": "json"
                 },
                 {
                     "t": "set",
                     "p": "payload.jsonata",
                     "pt": "msg",
                     "to": "$toMillis($now())",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload.aktuell",
                     "pt": "msg",
                     "to": "",
                     "tot": "date"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 790,
             "y": 2700,
             "wires": [
                 [
                     "113d606106a0a2c6"
                 ]
             ]
         },
         {
             "id": "113d606106a0a2c6",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "now mit Jsonata oder ts",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1070,
             "y": 2700,
             "wires": []
         },
         {
             "id": "a0ded692dc3d8122",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment(payload.lc,'x').locale('de').fromNow()",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 770,
             "y": 2760,
             "wires": [
                 [
                     "4809cc077d800a4e"
                 ]
             ]
         },
         {
             "id": "4809cc077d800a4e",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "Zeit seit last Change",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1020,
             "y": 2760,
             "wires": []
         }
      ]
      

      Das der payload.ts - immer nur ein paar Millisekunden nach dem Triggern kommt, ist doch klar - da Du der Trigger ja den Zeitstempel selbst aktualisiert. Wenn Du prüfen willst, wann ein DP zuletzt getriggert hat (und nicht aufs triggern wartest, musst Du halt mit Get das Objekt holen.

      Wenn Du also mit einen state aktiv auslesen willst OHNE, dass dieser getriggert wurde - hier ein Beipsiel mit GET

      09fff289-a88d-43dc-bd85-27d31c7036dd-image.png

      Wenn man die Zeit nur im lesbaren Format braucht und nicht auf die genaue Zeitspanne angewiesen ist, dann kann man auch die Durationsangaben verwenden.

      c1b45c1b-b975-40ae-a17f-6ac8c22a3c93-image.png

      [
         {
             "id": "d316f0114937ce32",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "object raw mit lc und ts",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1100,
             "y": 2520,
             "wires": []
         },
         {
             "id": "8d269b025ec2773e",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "Last change (lc)",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment(payload.lc,'x').format('DD.MM.YYYY HH:mm:ss')",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1080,
             "y": 2560,
             "wires": [
                 [
                     "e0512cc34b016986"
                 ]
             ]
         },
         {
             "id": "e0512cc34b016986",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "last Change in lesbarem Format",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1370,
             "y": 2560,
             "wires": []
         },
         {
             "id": "222b94a31e2786e4",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "Last update (ts)",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment(payload.ts,'x').format('DD.MM.YYYY HH:mm:ss')",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1080,
             "y": 2620,
             "wires": [
                 [
                     "57d036183b88161a"
                 ]
             ]
         },
         {
             "id": "57d036183b88161a",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "last Change in lesbarem Format",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1370,
             "y": 2620,
             "wires": []
         },
         {
             "id": "fba96013c702fa2d",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "now",
                     "pt": "msg",
                     "to": "",
                     "tot": "date"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "now - payload.lc",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1090,
             "y": 2680,
             "wires": [
                 [
                     "2b9d1fb43e248aea"
                 ]
             ]
         },
         {
             "id": "2b9d1fb43e248aea",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "millissekunden seit last change",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1390,
             "y": 2680,
             "wires": []
         },
         {
             "id": "4fb9a428b5b72cd9",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": " {}",
                     "tot": "json"
                 },
                 {
                     "t": "set",
                     "p": "payload.jsonata",
                     "pt": "msg",
                     "to": "$toMillis($now())",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "payload.aktuell",
                     "pt": "msg",
                     "to": "",
                     "tot": "date"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1090,
             "y": 2740,
             "wires": [
                 [
                     "113d606106a0a2c6"
                 ]
             ]
         },
         {
             "id": "113d606106a0a2c6",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "now mit Jsonata oder ts",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1370,
             "y": 2740,
             "wires": []
         },
         {
             "id": "a0ded692dc3d8122",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment(payload.lc,'x').locale('de').fromNow()",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1090,
             "y": 2800,
             "wires": [
                 [
                     "4809cc077d800a4e"
                 ]
             ]
         },
         {
             "id": "4809cc077d800a4e",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "Zeit seit last Change",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1320,
             "y": 2800,
             "wires": []
         },
         {
             "id": "959d979af54b9ff7",
             "type": "inject",
             "z": "517cd16e4d7e6ae4",
             "name": "check",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 170,
             "y": 2600,
             "wires": [
                 [
                     "10735f323a8fce9d"
                 ]
             ]
         },
         {
             "id": "10735f323a8fce9d",
             "type": "ioBroker get",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "topic": "0_userdata.0.accuWeather.home.daily.DailyForecasts.0.Temperature.Maximum.Unit",
             "attrname": "payload",
             "payloadType": "object",
             "errOnInvalidState": "nothing",
             "x": 570,
             "y": 2600,
             "wires": [
                 [
                     "1866de0bbbcf7827"
                 ]
             ]
         },
         {
             "id": "ec17c988ee1cc7ec",
             "type": "change",
             "z": "517cd16e4d7e6ae4",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1090,
             "y": 2860,
             "wires": [
                 [
                     "bf8f77c03e5daadb"
                 ]
             ]
         },
         {
             "id": "bf8f77c03e5daadb",
             "type": "debug",
             "z": "517cd16e4d7e6ae4",
             "name": "Zeit seit letzter Aktualisierung",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1360,
             "y": 2860,
             "wires": []
         },
         {
             "id": "1866de0bbbcf7827",
             "type": "junction",
             "z": "517cd16e4d7e6ae4",
             "x": 940,
             "y": 2600,
             "wires": [
                 [
                     "a0ded692dc3d8122",
                     "4fb9a428b5b72cd9",
                     "222b94a31e2786e4",
                     "8d269b025ec2773e",
                     "d316f0114937ce32",
                     "fba96013c702fa2d",
                     "ec17c988ee1cc7ec"
                 ]
             ]
         }
      ]
      

      AUCH hier geht es mir wieder darum zu zeigen, dass man für solche Aufgaben nicht mit Javascript rumhantieren muss und function Nodes schreiben muss!!! -

      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.

      Fred FreundF 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        So hier habe ich noch ein paar Zeitberechnung für Dich gemacht:

        9b0ac572-ead9-4949-8df9-c47ec7174dc8-image.png

        Das ist der DP vor zwei Zyklen - der Shelly sendet alle 30 sekunden.

        fafd6835-ddd8-4e0d-b6b4-e128983a9353-image.png

        [
           {
               "id": "dbcd5529ba0d5c7b",
               "type": "ioBroker in",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "topic": "mqtt.1.shellies.schalter.kueche.licht_abzug.input.1",
               "payloadType": "object",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "true",
               "outFormat": "MQTT",
               "x": 390,
               "y": 2520,
               "wires": [
                   [
                       "d316f0114937ce32",
                       "8d269b025ec2773e",
                       "222b94a31e2786e4",
                       "fba96013c702fa2d",
                       "4fb9a428b5b72cd9",
                       "a0ded692dc3d8122"
                   ]
               ]
           },
           {
               "id": "d316f0114937ce32",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "object raw mit lc und ts",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 800,
               "y": 2480,
               "wires": []
           },
           {
               "id": "8d269b025ec2773e",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "Last change (lc)",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment(payload.lc,'x').format('DD.MM.YYYY HH:mm:ss')",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 780,
               "y": 2520,
               "wires": [
                   [
                       "e0512cc34b016986"
                   ]
               ]
           },
           {
               "id": "e0512cc34b016986",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "last Change in lesbarem Format",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1070,
               "y": 2520,
               "wires": []
           },
           {
               "id": "222b94a31e2786e4",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "Last update (ts)",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment(payload.ts,'x').format('DD.MM.YYYY HH:mm:ss')",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 780,
               "y": 2580,
               "wires": [
                   [
                       "57d036183b88161a"
                   ]
               ]
           },
           {
               "id": "57d036183b88161a",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "last Change in lesbarem Format",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1070,
               "y": 2580,
               "wires": []
           },
           {
               "id": "fba96013c702fa2d",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "now",
                       "pt": "msg",
                       "to": "",
                       "tot": "date"
                   },
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "now - payload.lc",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 770,
               "y": 2640,
               "wires": [
                   [
                       "2b9d1fb43e248aea"
                   ]
               ]
           },
           {
               "id": "2b9d1fb43e248aea",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "millissekunden seit last change",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1090,
               "y": 2640,
               "wires": []
           },
           {
               "id": "4fb9a428b5b72cd9",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": " {}",
                       "tot": "json"
                   },
                   {
                       "t": "set",
                       "p": "payload.jsonata",
                       "pt": "msg",
                       "to": "$toMillis($now())",
                       "tot": "jsonata"
                   },
                   {
                       "t": "set",
                       "p": "payload.aktuell",
                       "pt": "msg",
                       "to": "",
                       "tot": "date"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 790,
               "y": 2700,
               "wires": [
                   [
                       "113d606106a0a2c6"
                   ]
               ]
           },
           {
               "id": "113d606106a0a2c6",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "now mit Jsonata oder ts",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1070,
               "y": 2700,
               "wires": []
           },
           {
               "id": "a0ded692dc3d8122",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment(payload.lc,'x').locale('de').fromNow()",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 770,
               "y": 2760,
               "wires": [
                   [
                       "4809cc077d800a4e"
                   ]
               ]
           },
           {
               "id": "4809cc077d800a4e",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "Zeit seit last Change",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1020,
               "y": 2760,
               "wires": []
           }
        ]
        

        Das der payload.ts - immer nur ein paar Millisekunden nach dem Triggern kommt, ist doch klar - da Du der Trigger ja den Zeitstempel selbst aktualisiert. Wenn Du prüfen willst, wann ein DP zuletzt getriggert hat (und nicht aufs triggern wartest, musst Du halt mit Get das Objekt holen.

        Wenn Du also mit einen state aktiv auslesen willst OHNE, dass dieser getriggert wurde - hier ein Beipsiel mit GET

        09fff289-a88d-43dc-bd85-27d31c7036dd-image.png

        Wenn man die Zeit nur im lesbaren Format braucht und nicht auf die genaue Zeitspanne angewiesen ist, dann kann man auch die Durationsangaben verwenden.

        c1b45c1b-b975-40ae-a17f-6ac8c22a3c93-image.png

        [
           {
               "id": "d316f0114937ce32",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "object raw mit lc und ts",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1100,
               "y": 2520,
               "wires": []
           },
           {
               "id": "8d269b025ec2773e",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "Last change (lc)",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment(payload.lc,'x').format('DD.MM.YYYY HH:mm:ss')",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1080,
               "y": 2560,
               "wires": [
                   [
                       "e0512cc34b016986"
                   ]
               ]
           },
           {
               "id": "e0512cc34b016986",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "last Change in lesbarem Format",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1370,
               "y": 2560,
               "wires": []
           },
           {
               "id": "222b94a31e2786e4",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "Last update (ts)",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment(payload.ts,'x').format('DD.MM.YYYY HH:mm:ss')",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1080,
               "y": 2620,
               "wires": [
                   [
                       "57d036183b88161a"
                   ]
               ]
           },
           {
               "id": "57d036183b88161a",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "last Change in lesbarem Format",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1370,
               "y": 2620,
               "wires": []
           },
           {
               "id": "fba96013c702fa2d",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "now",
                       "pt": "msg",
                       "to": "",
                       "tot": "date"
                   },
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "now - payload.lc",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1090,
               "y": 2680,
               "wires": [
                   [
                       "2b9d1fb43e248aea"
                   ]
               ]
           },
           {
               "id": "2b9d1fb43e248aea",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "millissekunden seit last change",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1390,
               "y": 2680,
               "wires": []
           },
           {
               "id": "4fb9a428b5b72cd9",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": " {}",
                       "tot": "json"
                   },
                   {
                       "t": "set",
                       "p": "payload.jsonata",
                       "pt": "msg",
                       "to": "$toMillis($now())",
                       "tot": "jsonata"
                   },
                   {
                       "t": "set",
                       "p": "payload.aktuell",
                       "pt": "msg",
                       "to": "",
                       "tot": "date"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1090,
               "y": 2740,
               "wires": [
                   [
                       "113d606106a0a2c6"
                   ]
               ]
           },
           {
               "id": "113d606106a0a2c6",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "now mit Jsonata oder ts",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1370,
               "y": 2740,
               "wires": []
           },
           {
               "id": "a0ded692dc3d8122",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment(payload.lc,'x').locale('de').fromNow()",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1090,
               "y": 2800,
               "wires": [
                   [
                       "4809cc077d800a4e"
                   ]
               ]
           },
           {
               "id": "4809cc077d800a4e",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "Zeit seit last Change",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1320,
               "y": 2800,
               "wires": []
           },
           {
               "id": "959d979af54b9ff7",
               "type": "inject",
               "z": "517cd16e4d7e6ae4",
               "name": "check",
               "props": [
                   {
                       "p": "payload"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "",
               "payload": "",
               "payloadType": "date",
               "x": 170,
               "y": 2600,
               "wires": [
                   [
                       "10735f323a8fce9d"
                   ]
               ]
           },
           {
               "id": "10735f323a8fce9d",
               "type": "ioBroker get",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "topic": "0_userdata.0.accuWeather.home.daily.DailyForecasts.0.Temperature.Maximum.Unit",
               "attrname": "payload",
               "payloadType": "object",
               "errOnInvalidState": "nothing",
               "x": 570,
               "y": 2600,
               "wires": [
                   [
                       "1866de0bbbcf7827"
                   ]
               ]
           },
           {
               "id": "ec17c988ee1cc7ec",
               "type": "change",
               "z": "517cd16e4d7e6ae4",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1090,
               "y": 2860,
               "wires": [
                   [
                       "bf8f77c03e5daadb"
                   ]
               ]
           },
           {
               "id": "bf8f77c03e5daadb",
               "type": "debug",
               "z": "517cd16e4d7e6ae4",
               "name": "Zeit seit letzter Aktualisierung",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1360,
               "y": 2860,
               "wires": []
           },
           {
               "id": "1866de0bbbcf7827",
               "type": "junction",
               "z": "517cd16e4d7e6ae4",
               "x": 940,
               "y": 2600,
               "wires": [
                   [
                       "a0ded692dc3d8122",
                       "4fb9a428b5b72cd9",
                       "222b94a31e2786e4",
                       "8d269b025ec2773e",
                       "d316f0114937ce32",
                       "fba96013c702fa2d",
                       "ec17c988ee1cc7ec"
                   ]
               ]
           }
        ]
        

        AUCH hier geht es mir wieder darum zu zeigen, dass man für solche Aufgaben nicht mit Javascript rumhantieren muss und function Nodes schreiben muss!!! -

        Fred FreundF Offline
        Fred FreundF Offline
        Fred Freund
        schrieb am zuletzt editiert von Fred Freund
        #12

        @mickym Danke fuer deine Muehe!!!

        Das mit dem moment hab ich mir auch schon ueberlegt.

        time now ist auch meine Frage gewesen...wie bekommst bei der Injekt node den Zeitpunkt am abgefragten Object vorbei :-) dh. du Fragst das Objekt ab und bekommst Objekt zurueck aber nicht den Zeitpunkt/Zeitstempel...wenn dieser aber viel laenger weil nicht upgedated also Alt ist , ist das egal ob das nur ein paar millis sind!!
        Das heb ich mir alles auf !!

        aber es laeuft mit der Trigger node! super einfach!

        Danke nochmal und schoenen Abend...

        many Thx for your support,
        Vielen Dank!

        1 Antwort Letzte Antwort
        0
        • mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #13

          So ich habe noch einen Flow für Dich gebastelt mit dem Du gleich einen ganzen Objektbaum grob untersuchen kannst.

          Die Zaubernode ist die iobroker list node. Allerdings hat die Node einen BUG - wenn Du die Werte nicht ausliest, dann kommt anscheinend das Erstellungsdatum als ts und nicht der aktuelle Timestamp.

          Ggf. kann man ja ein Issue aufmachen - allerdings die Umgehung ist wohl immer die values auszulesen.

          a27fa9ae-6447-4ed6-b54b-86b607c3f725-image.png

          Das ist also wichtig - wenn man aktuelle Timestamps haben will, auch wenn man an den Werten gar nicht interessiert ist.

          So kannst Du wie gesagt komplette Bäume aufeinmal durchsuchen und Dir die verschiedene Arrays ausgeben lassen, je nachdem wann ein Wert angefähr zuletzt aktualisiert wurde (also wie aktuell ein Wert ist, ob im Sekunden, Minuten etc. Bereich.
          f8e52821-4914-4dfc-9b12-9016112b11e4-image.png

          An dem folgenden Screenshot kannst Du dann anhand der Anzahl Elemente in den Array auf einmal sehen, welche Objekte in welchem ungefähren Zeitraum aktualisiert wurden.

          e367372b-5326-4cec-98cb-de138affd981-image.png

          Du siehst also von insgesamt 110 Objekten im mqtt Zigbee Bereich wurden:

          2 innerhalb von Sekunden
          21 innerhalb von Minuten
          3 innerhalb von Stunden
          43 innerhalb von Tagen
          11 innerhalb von Monaten
          und
          30 innerhalb von Jahren das letzte Mal aktualisiert.

          Über reguläre Ausdrücke kann man den ganzen Baum auch filtern. Will man also IDs haben, die nur die Küche betreffen, aber die Ordner die Küche alleine als Ordner haben, dann sieht die iobroker.list Node so aus:

          1df7cfa3-276e-40af-9696-5e7a8443c461-image.png

          Aus den 110 Objekten wurden also 7 Objekte selektiert. Davon wurden 3 innerhalb von Minuten, 4 innerhalb von Tagen das letzte Mal aktualisiert.

          [
             {
                 "id": "c4f17d8302b83fa6",
                 "type": "ioBroker list",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "topic": "mqtt.1.zigbee2mqtt.*",
                 "objType": "",
                 "regex": "",
                 "asArray": "true",
                 "onlyIDs": "false",
                 "withValues": "true",
                 "x": 560,
                 "y": 2640,
                 "wires": [
                     [
                         "bf3a117f8df1b5d6",
                         "8910edbe4f6cd8d5"
                     ]
                 ]
             },
             {
                 "id": "12c1ab80c14ac534",
                 "type": "inject",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check alle Zigbees",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "",
                 "payloadType": "date",
                 "x": 330,
                 "y": 2640,
                 "wires": [
                     [
                         "c4f17d8302b83fa6"
                     ]
                 ]
             },
             {
                 "id": "bf3a117f8df1b5d6",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Alle Zigbees",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 790,
                 "y": 2580,
                 "wires": []
             },
             {
                 "id": "781af463cda7f8a6",
                 "type": "switch",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "property": "$moment(payload.ts,'x').locale('de').fromNow()",
                 "propertyType": "jsonata",
                 "rules": [
                     {
                         "t": "cont",
                         "v": "Sekunden",
                         "vt": "str"
                     },
                     {
                         "t": "cont",
                         "v": "Minute",
                         "vt": "str"
                     },
                     {
                         "t": "cont",
                         "v": "Stunde",
                         "vt": "str"
                     },
                     {
                         "t": "cont",
                         "v": "Tag",
                         "vt": "str"
                     },
                     {
                         "t": "cont",
                         "v": "Woche",
                         "vt": "str"
                     },
                     {
                         "t": "cont",
                         "v": "Monat",
                         "vt": "str"
                     },
                     {
                         "t": "cont",
                         "v": "Jahr",
                         "vt": "str"
                     },
                     {
                         "t": "else"
                     }
                 ],
                 "checkall": "true",
                 "repair": true,
                 "outputs": 8,
                 "x": 950,
                 "y": 2640,
                 "wires": [
                     [
                         "6cd56ac7ab7dce87"
                     ],
                     [
                         "5fa6eb083d46122c"
                     ],
                     [
                         "08f16a1626cf06cd"
                     ],
                     [
                         "6fc58185a311d026"
                     ],
                     [
                         "6432ac719be6bcc0"
                     ],
                     [
                         "f741845d91b9f6be"
                     ],
                     [
                         "6ba28c02c4ebf67b"
                     ],
                     [
                         "e13771b884dd8076"
                     ]
                 ]
             },
             {
                 "id": "8910edbe4f6cd8d5",
                 "type": "split",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "splt": "\\n",
                 "spltType": "str",
                 "arraySplt": 1,
                 "arraySpltType": "len",
                 "stream": false,
                 "addname": "",
                 "x": 790,
                 "y": 2640,
                 "wires": [
                     [
                         "781af463cda7f8a6"
                     ]
                 ]
             },
             {
                 "id": "873f60158caf4c69",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check Timestamp Jahr",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1520,
                 "y": 2740,
                 "wires": []
             },
             {
                 "id": "6ba28c02c4ebf67b",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2740,
                 "wires": [
                     [
                         "f42853bb676f9112"
                     ]
                 ]
             },
             {
                 "id": "f42853bb676f9112",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2740,
                 "wires": [
                     [
                         "873f60158caf4c69"
                     ]
                 ]
             },
             {
                 "id": "c955ae5137de646c",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check Timestamp Monat",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1530,
                 "y": 2700,
                 "wires": []
             },
             {
                 "id": "28cc51d1a286e25b",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2700,
                 "wires": [
                     [
                         "c955ae5137de646c"
                     ]
                 ]
             },
             {
                 "id": "78a38beef0454f0e",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check Timestamp  Woche",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1530,
                 "y": 2660,
                 "wires": []
             },
             {
                 "id": "bc7b7df4eb3ca0d2",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2660,
                 "wires": [
                     [
                         "78a38beef0454f0e"
                     ]
                 ]
             },
             {
                 "id": "3054dd6f89f95828",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check Timestamp Tag",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1520,
                 "y": 2620,
                 "wires": []
             },
             {
                 "id": "cd888096d9b8c78f",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2620,
                 "wires": [
                     [
                         "3054dd6f89f95828"
                     ]
                 ]
             },
             {
                 "id": "751348d1971f8884",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check Timestamp Stunde",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1530,
                 "y": 2580,
                 "wires": []
             },
             {
                 "id": "a519c55337cb5938",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2580,
                 "wires": [
                     [
                         "751348d1971f8884"
                     ]
                 ]
             },
             {
                 "id": "ca1edc9ab2b833d1",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check Timestamp Minute",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1530,
                 "y": 2540,
                 "wires": []
             },
             {
                 "id": "155b9f349a5fee3d",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2540,
                 "wires": [
                     [
                         "ca1edc9ab2b833d1"
                     ]
                 ]
             },
             {
                 "id": "765c617aa7f048b9",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Check Timestamp Sekunde",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1540,
                 "y": 2500,
                 "wires": []
             },
             {
                 "id": "f5dddee5c7767d21",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2500,
                 "wires": [
                     [
                         "765c617aa7f048b9"
                     ]
                 ]
             },
             {
                 "id": "f741845d91b9f6be",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2700,
                 "wires": [
                     [
                         "28cc51d1a286e25b"
                     ]
                 ]
             },
             {
                 "id": "6432ac719be6bcc0",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2660,
                 "wires": [
                     [
                         "bc7b7df4eb3ca0d2"
                     ]
                 ]
             },
             {
                 "id": "6fc58185a311d026",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2620,
                 "wires": [
                     [
                         "cd888096d9b8c78f"
                     ]
                 ]
             },
             {
                 "id": "08f16a1626cf06cd",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2580,
                 "wires": [
                     [
                         "a519c55337cb5938"
                     ]
                 ]
             },
             {
                 "id": "5fa6eb083d46122c",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2540,
                 "wires": [
                     [
                         "155b9f349a5fee3d"
                     ]
                 ]
             },
             {
                 "id": "6cd56ac7ab7dce87",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2500,
                 "wires": [
                     [
                         "f5dddee5c7767d21"
                     ]
                 ]
             },
             {
                 "id": "af4f85ad15e25226",
                 "type": "debug",
                 "z": "517cd16e4d7e6ae4",
                 "name": "ansonsten",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1490,
                 "y": 2800,
                 "wires": []
             },
             {
                 "id": "e13771b884dd8076",
                 "type": "change",
                 "z": "517cd16e4d7e6ae4",
                 "name": "Create New Object",
                 "rules": [
                     {
                         "t": "set",
                         "p": "new_payload.ts",
                         "pt": "msg",
                         "to": "payload.ts",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.since",
                         "pt": "msg",
                         "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.id",
                         "pt": "msg",
                         "to": "payload._id",
                         "tot": "msg"
                     },
                     {
                         "t": "set",
                         "p": "new_payload.val",
                         "pt": "msg",
                         "to": "$exists(payload.val) ? $eval(payload.val)\t",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "new_payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1150,
                 "y": 2800,
                 "wires": [
                     [
                         "ecd28452cd5b75a3"
                     ]
                 ]
             },
             {
                 "id": "ecd28452cd5b75a3",
                 "type": "join",
                 "z": "517cd16e4d7e6ae4",
                 "name": "",
                 "mode": "auto",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": "false",
                 "timeout": "",
                 "count": "",
                 "reduceRight": false,
                 "x": 1330,
                 "y": 2800,
                 "wires": [
                     [
                         "af4f85ad15e25226"
                     ]
                 ]
             }
          ]
          

          Auch wieder mal ein Beispiel, wie man im Vergleich zu den Puzzlefreunden solche Dinge relativ einfach ermitteln kann.

          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.

          Fred FreundF 1 Antwort Letzte Antwort
          1
          • mickymM mickym

            So ich habe noch einen Flow für Dich gebastelt mit dem Du gleich einen ganzen Objektbaum grob untersuchen kannst.

            Die Zaubernode ist die iobroker list node. Allerdings hat die Node einen BUG - wenn Du die Werte nicht ausliest, dann kommt anscheinend das Erstellungsdatum als ts und nicht der aktuelle Timestamp.

            Ggf. kann man ja ein Issue aufmachen - allerdings die Umgehung ist wohl immer die values auszulesen.

            a27fa9ae-6447-4ed6-b54b-86b607c3f725-image.png

            Das ist also wichtig - wenn man aktuelle Timestamps haben will, auch wenn man an den Werten gar nicht interessiert ist.

            So kannst Du wie gesagt komplette Bäume aufeinmal durchsuchen und Dir die verschiedene Arrays ausgeben lassen, je nachdem wann ein Wert angefähr zuletzt aktualisiert wurde (also wie aktuell ein Wert ist, ob im Sekunden, Minuten etc. Bereich.
            f8e52821-4914-4dfc-9b12-9016112b11e4-image.png

            An dem folgenden Screenshot kannst Du dann anhand der Anzahl Elemente in den Array auf einmal sehen, welche Objekte in welchem ungefähren Zeitraum aktualisiert wurden.

            e367372b-5326-4cec-98cb-de138affd981-image.png

            Du siehst also von insgesamt 110 Objekten im mqtt Zigbee Bereich wurden:

            2 innerhalb von Sekunden
            21 innerhalb von Minuten
            3 innerhalb von Stunden
            43 innerhalb von Tagen
            11 innerhalb von Monaten
            und
            30 innerhalb von Jahren das letzte Mal aktualisiert.

            Über reguläre Ausdrücke kann man den ganzen Baum auch filtern. Will man also IDs haben, die nur die Küche betreffen, aber die Ordner die Küche alleine als Ordner haben, dann sieht die iobroker.list Node so aus:

            1df7cfa3-276e-40af-9696-5e7a8443c461-image.png

            Aus den 110 Objekten wurden also 7 Objekte selektiert. Davon wurden 3 innerhalb von Minuten, 4 innerhalb von Tagen das letzte Mal aktualisiert.

            [
               {
                   "id": "c4f17d8302b83fa6",
                   "type": "ioBroker list",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "topic": "mqtt.1.zigbee2mqtt.*",
                   "objType": "",
                   "regex": "",
                   "asArray": "true",
                   "onlyIDs": "false",
                   "withValues": "true",
                   "x": 560,
                   "y": 2640,
                   "wires": [
                       [
                           "bf3a117f8df1b5d6",
                           "8910edbe4f6cd8d5"
                       ]
                   ]
               },
               {
                   "id": "12c1ab80c14ac534",
                   "type": "inject",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check alle Zigbees",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "",
                   "payloadType": "date",
                   "x": 330,
                   "y": 2640,
                   "wires": [
                       [
                           "c4f17d8302b83fa6"
                       ]
                   ]
               },
               {
                   "id": "bf3a117f8df1b5d6",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Alle Zigbees",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 790,
                   "y": 2580,
                   "wires": []
               },
               {
                   "id": "781af463cda7f8a6",
                   "type": "switch",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "property": "$moment(payload.ts,'x').locale('de').fromNow()",
                   "propertyType": "jsonata",
                   "rules": [
                       {
                           "t": "cont",
                           "v": "Sekunden",
                           "vt": "str"
                       },
                       {
                           "t": "cont",
                           "v": "Minute",
                           "vt": "str"
                       },
                       {
                           "t": "cont",
                           "v": "Stunde",
                           "vt": "str"
                       },
                       {
                           "t": "cont",
                           "v": "Tag",
                           "vt": "str"
                       },
                       {
                           "t": "cont",
                           "v": "Woche",
                           "vt": "str"
                       },
                       {
                           "t": "cont",
                           "v": "Monat",
                           "vt": "str"
                       },
                       {
                           "t": "cont",
                           "v": "Jahr",
                           "vt": "str"
                       },
                       {
                           "t": "else"
                       }
                   ],
                   "checkall": "true",
                   "repair": true,
                   "outputs": 8,
                   "x": 950,
                   "y": 2640,
                   "wires": [
                       [
                           "6cd56ac7ab7dce87"
                       ],
                       [
                           "5fa6eb083d46122c"
                       ],
                       [
                           "08f16a1626cf06cd"
                       ],
                       [
                           "6fc58185a311d026"
                       ],
                       [
                           "6432ac719be6bcc0"
                       ],
                       [
                           "f741845d91b9f6be"
                       ],
                       [
                           "6ba28c02c4ebf67b"
                       ],
                       [
                           "e13771b884dd8076"
                       ]
                   ]
               },
               {
                   "id": "8910edbe4f6cd8d5",
                   "type": "split",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "splt": "\\n",
                   "spltType": "str",
                   "arraySplt": 1,
                   "arraySpltType": "len",
                   "stream": false,
                   "addname": "",
                   "x": 790,
                   "y": 2640,
                   "wires": [
                       [
                           "781af463cda7f8a6"
                       ]
                   ]
               },
               {
                   "id": "873f60158caf4c69",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check Timestamp Jahr",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1520,
                   "y": 2740,
                   "wires": []
               },
               {
                   "id": "6ba28c02c4ebf67b",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2740,
                   "wires": [
                       [
                           "f42853bb676f9112"
                       ]
                   ]
               },
               {
                   "id": "f42853bb676f9112",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2740,
                   "wires": [
                       [
                           "873f60158caf4c69"
                       ]
                   ]
               },
               {
                   "id": "c955ae5137de646c",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check Timestamp Monat",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1530,
                   "y": 2700,
                   "wires": []
               },
               {
                   "id": "28cc51d1a286e25b",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2700,
                   "wires": [
                       [
                           "c955ae5137de646c"
                       ]
                   ]
               },
               {
                   "id": "78a38beef0454f0e",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check Timestamp  Woche",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1530,
                   "y": 2660,
                   "wires": []
               },
               {
                   "id": "bc7b7df4eb3ca0d2",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2660,
                   "wires": [
                       [
                           "78a38beef0454f0e"
                       ]
                   ]
               },
               {
                   "id": "3054dd6f89f95828",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check Timestamp Tag",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1520,
                   "y": 2620,
                   "wires": []
               },
               {
                   "id": "cd888096d9b8c78f",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2620,
                   "wires": [
                       [
                           "3054dd6f89f95828"
                       ]
                   ]
               },
               {
                   "id": "751348d1971f8884",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check Timestamp Stunde",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1530,
                   "y": 2580,
                   "wires": []
               },
               {
                   "id": "a519c55337cb5938",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2580,
                   "wires": [
                       [
                           "751348d1971f8884"
                       ]
                   ]
               },
               {
                   "id": "ca1edc9ab2b833d1",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check Timestamp Minute",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1530,
                   "y": 2540,
                   "wires": []
               },
               {
                   "id": "155b9f349a5fee3d",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2540,
                   "wires": [
                       [
                           "ca1edc9ab2b833d1"
                       ]
                   ]
               },
               {
                   "id": "765c617aa7f048b9",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Check Timestamp Sekunde",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1540,
                   "y": 2500,
                   "wires": []
               },
               {
                   "id": "f5dddee5c7767d21",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2500,
                   "wires": [
                       [
                           "765c617aa7f048b9"
                       ]
                   ]
               },
               {
                   "id": "f741845d91b9f6be",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2700,
                   "wires": [
                       [
                           "28cc51d1a286e25b"
                       ]
                   ]
               },
               {
                   "id": "6432ac719be6bcc0",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2660,
                   "wires": [
                       [
                           "bc7b7df4eb3ca0d2"
                       ]
                   ]
               },
               {
                   "id": "6fc58185a311d026",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2620,
                   "wires": [
                       [
                           "cd888096d9b8c78f"
                       ]
                   ]
               },
               {
                   "id": "08f16a1626cf06cd",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2580,
                   "wires": [
                       [
                           "a519c55337cb5938"
                       ]
                   ]
               },
               {
                   "id": "5fa6eb083d46122c",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2540,
                   "wires": [
                       [
                           "155b9f349a5fee3d"
                       ]
                   ]
               },
               {
                   "id": "6cd56ac7ab7dce87",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2500,
                   "wires": [
                       [
                           "f5dddee5c7767d21"
                       ]
                   ]
               },
               {
                   "id": "af4f85ad15e25226",
                   "type": "debug",
                   "z": "517cd16e4d7e6ae4",
                   "name": "ansonsten",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1490,
                   "y": 2800,
                   "wires": []
               },
               {
                   "id": "e13771b884dd8076",
                   "type": "change",
                   "z": "517cd16e4d7e6ae4",
                   "name": "Create New Object",
                   "rules": [
                       {
                           "t": "set",
                           "p": "new_payload.ts",
                           "pt": "msg",
                           "to": "payload.ts",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.since",
                           "pt": "msg",
                           "to": "$moment(payload.ts,'x').locale('de').fromNow()",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.id",
                           "pt": "msg",
                           "to": "payload._id",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "new_payload.val",
                           "pt": "msg",
                           "to": "$exists(payload.val) ? $eval(payload.val)\t",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "new_payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1150,
                   "y": 2800,
                   "wires": [
                       [
                           "ecd28452cd5b75a3"
                       ]
                   ]
               },
               {
                   "id": "ecd28452cd5b75a3",
                   "type": "join",
                   "z": "517cd16e4d7e6ae4",
                   "name": "",
                   "mode": "auto",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": "false",
                   "timeout": "",
                   "count": "",
                   "reduceRight": false,
                   "x": 1330,
                   "y": 2800,
                   "wires": [
                       [
                           "af4f85ad15e25226"
                       ]
                   ]
               }
            ]
            

            Auch wieder mal ein Beispiel, wie man im Vergleich zu den Puzzlefreunden solche Dinge relativ einfach ermitteln kann.

            Fred FreundF Offline
            Fred FreundF Offline
            Fred Freund
            schrieb am zuletzt editiert von
            #14

            @mickym Danke nochmal das hat mir viel geholfen...bezueglich zigbee2mqtt ich habe schon versucht umzusteigen aber wie ich dort Werte bekomme und setze war mir nicht klar...das bekommen sehe ich schon mal ..
            Wie ich die states setze muss ich mir ansehen.

            zigbee2mqtt hat bei mir auch keine Sensoren angelernt..und die Datenbank und ids, keys die ich eingetragen habe haben die Geraete erkannt aber keine Verbindung zum Coordinator hergestellt.

            Jedenfalls vielen Dank fuer deine Hilfe.

            many Thx for your support,
            Vielen Dank!

            mickymM 1 Antwort Letzte Antwort
            0
            • Fred FreundF Fred Freund

              @mickym Danke nochmal das hat mir viel geholfen...bezueglich zigbee2mqtt ich habe schon versucht umzusteigen aber wie ich dort Werte bekomme und setze war mir nicht klar...das bekommen sehe ich schon mal ..
              Wie ich die states setze muss ich mir ansehen.

              zigbee2mqtt hat bei mir auch keine Sensoren angelernt..und die Datenbank und ids, keys die ich eingetragen habe haben die Geraete erkannt aber keine Verbindung zum Coordinator hergestellt.

              Jedenfalls vielen Dank fuer deine Hilfe.

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #15

              @fred-freund Ich benutze das Zigbee2mqtt halt ohne Adapter - sondern nur mit reinem mqtt. Das zigbee2mqtt kann man von Haus aus programmieren, dass es dei Objekte auseinenander nimmt, aber ich bleibe bei den Objekten. Man kann auch Objekte und diskrete Datenpunkte verwenden.

              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.

              Fred FreundF 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @fred-freund Ich benutze das Zigbee2mqtt halt ohne Adapter - sondern nur mit reinem mqtt. Das zigbee2mqtt kann man von Haus aus programmieren, dass es dei Objekte auseinenander nimmt, aber ich bleibe bei den Objekten. Man kann auch Objekte und diskrete Datenpunkte verwenden.

                Fred FreundF Offline
                Fred FreundF Offline
                Fred Freund
                schrieb am zuletzt editiert von
                #16

                @mickym Ja das hatte ich auch, einen eigenen Container fuer Zigbee2mqtt auf Debian 12.

                Irgendwie will ich auf einen gemeinsamen Nenner. welches fuer mich MQTT ist zurueck.
                Zwave2 Mqtt hat funktioniert ...aber meine Node Red Flows umzubauen auf MQTT war mir jetzt zuviel habe 1 Woche umgebaut vom Raspi auf Proxmox.

                Andererseits die Objekte das funktioniert so gut...

                many Thx for your support,
                Vielen Dank!

                mickymM 1 Antwort Letzte Antwort
                0
                • Fred FreundF Fred Freund

                  @mickym Ja das hatte ich auch, einen eigenen Container fuer Zigbee2mqtt auf Debian 12.

                  Irgendwie will ich auf einen gemeinsamen Nenner. welches fuer mich MQTT ist zurueck.
                  Zwave2 Mqtt hat funktioniert ...aber meine Node Red Flows umzubauen auf MQTT war mir jetzt zuviel habe 1 Woche umgebaut vom Raspi auf Proxmox.

                  Andererseits die Objekte das funktioniert so gut...

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #17

                  @fred-freund Ja ich zieh auch auf Proxmox um - und überarbeite aber alle Flows - ich hab ja Zeit. ;) - Auch wenn alles noch auf den alten Flows läuft und das ganz gut - so ist vieles was ich vor 4 Jahren gemacht habe - halt überaltert und versuche das modularer aufzubauen.

                  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.

                  Fred FreundF 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @fred-freund Ja ich zieh auch auf Proxmox um - und überarbeite aber alle Flows - ich hab ja Zeit. ;) - Auch wenn alles noch auf den alten Flows läuft und das ganz gut - so ist vieles was ich vor 4 Jahren gemacht habe - halt überaltert und versuche das modularer aufzubauen.

                    Fred FreundF Offline
                    Fred FreundF Offline
                    Fred Freund
                    schrieb am zuletzt editiert von Fred Freund
                    #18

                    @mickym ich habe das Problem das ich vor einiger Zeit gemacht habe nicht mehr Weiss wie das ging...vieles hab ich wieder vergessen .:joy:

                    many Thx for your support,
                    Vielen Dank!

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      Peter666666
                      schrieb am zuletzt editiert von Peter666666
                      #19

                      Ich möchte gerne einen DP auf false setzen wenn sich ein Timestamp nicht mehr ändert für x Sekunden, ansonsten soll dieser true sein. Wie mach ich das am Besten? Der DP 170 ist vom Volkszähler

                      flows.json

                      Bild 17.01.24 um 20.25.jpeg

                      LG Peter

                      Intel NUC i5 / 16GB RAM / 512GB SSD
                      Synology DS220+ 10GB RAM / 8TB

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • P Peter666666

                        Ich möchte gerne einen DP auf false setzen wenn sich ein Timestamp nicht mehr ändert für x Sekunden, ansonsten soll dieser true sein. Wie mach ich das am Besten? Der DP 170 ist vom Volkszähler

                        flows.json

                        Bild 17.01.24 um 20.25.jpeg

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #20

                        @peter666666

                        Änder die trigger Node wie folgt:

                        856aee39-0445-4dfb-99d6-abfbe00999c4-image.png

                        Am Anfang true setzten ,den Haken für Verzögerung bei eingehender Nachricht, dann false. So wird ein Alarm gesetzt wenn der Datenpunkt nicht aktualisiert wird. Wenn Du wirklich auf Änderung triggern willst, musst das halt bei der iobroker-In Node festlegen. Ich würde aber lieber die Aktualisierung und nicht Änderung nutzen.

                        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.

                        P 1 Antwort Letzte Antwort
                        2
                        • mickymM mickym

                          @peter666666

                          Änder die trigger Node wie folgt:

                          856aee39-0445-4dfb-99d6-abfbe00999c4-image.png

                          Am Anfang true setzten ,den Haken für Verzögerung bei eingehender Nachricht, dann false. So wird ein Alarm gesetzt wenn der Datenpunkt nicht aktualisiert wird. Wenn Du wirklich auf Änderung triggern willst, musst das halt bei der iobroker-In Node festlegen. Ich würde aber lieber die Aktualisierung und nicht Änderung nutzen.

                          P Offline
                          P Offline
                          Peter666666
                          schrieb am zuletzt editiert von
                          #21

                          @mickym Vielen Dank!!! Es funktioniert. Wie mach ich es wenn ich auf Aktualisierung prüfen will?

                          LG Peter

                          Intel NUC i5 / 16GB RAM / 512GB SSD
                          Synology DS220+ 10GB RAM / 8TB

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • P Peter666666

                            @mickym Vielen Dank!!! Es funktioniert. Wie mach ich es wenn ich auf Aktualisierung prüfen will?

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #22

                            @peter666666

                            @peter666666 sagte in obeject timestamp zugriff:

                            @mickym Vielen Dank!!! Es funktioniert. Wie mach ich es wenn ich auf Aktualisierung prüfen will?

                            Na so ist ja mit Aktualisierung. Änderung würde ich Dir nicht empfehlen. Das legst du in der iobroker-In Node fest, dass dann halt nur Änderungen Nachrichten erzeugen.

                            Solange die iobroker-IN Node aber alle Events sendet

                            7f9b4ad9-98b2-4fe7-af6a-b93ae484be03-image.png

                            prüfst Du auf Aktualisierung.

                            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 Antwort Letzte Antwort
                            2
                            • mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #23

                              Und wieder mal ein Beispiel - wie einfach NodeRed es einem macht. So kannst Du übrigens alle Zustände in einem Objekt sammeln, wenn Du willst und diese dann in Summe überprüfen. Habe ich aber schon x-Mal gezeigt. Aber wenn Bedarf ist, kann ich das gerne immer wieder zeigen.

                              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 Antwort Letzte Antwort
                              2
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              334

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe