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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Zigbee2mqtt installation

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    848

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Zigbee2mqtt installation

Scheduled Pinned Locked Moved ioBroker Allgemein
284 Posts 6 Posters 49.2k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Schmetterfliege

    @mickym said in Zigbee2mqtt installation:

    @mickym Nochmal ich glaube der Moment wird nicht richtig gesetzt.Mach mal hinter der topic Klammer noch ein Komma und ein 'x' als Eingabeformat.

    Falls Du das nicht verstehst - dann poste es einfach nochmal was jetzt drin steht in CodeTags - habe keine Lust Screenshots abzuschreiben.

    Was meinst du denn mit "der Moment"? :grin:
    EDIT: vergiss die Frage... glaube ich^^

    $moment($lookup($flowContext("timestamps"), topic)).locale("de").fromNow()
    
    mickymM Online
    mickymM Online
    mickym
    Most Active
    wrote on last edited by mickym
    #275

    @schmetterfliege sagte in Zigbee2mqtt installation:

    $moment($lookup($flowContext("timestamps"), topic)).locale("de").fromNow()

    Na Du erstellst doch Momente mit $moment().

    Das ist eine mächtige Bibliothek. Ich dachte das hättest Du Dir mal angeschaut.

    Also erstes geht man halt so vor, dass man erst mal schaut ob die timestamps richtig rauskommen, bevor du mit trial&error rumfuhrwerkst.

    $lookup($flowContext("timestamps"), topic)
    

    Das heißt, wenn die timestamps nun korrekt rauskommen, dann ändere ich das Eingabeformat.

    $moment($lookup($flowContext("timestamps"), topic),'x').locale("de").fromNow()
    

    Mit dem kleinen x - zeige ich der Momentbibliothek, dass sie Unix timestamps in ms zum Fressen bekommt.

    https://momentjs.com/docs/#/parsing/string/

    5c1e227e-91ef-45f6-bb2d-2206a1bc9455-image.png

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

    S 1 Reply Last reply
    0
    • mickymM mickym

      @schmetterfliege sagte in Zigbee2mqtt installation:

      $moment($lookup($flowContext("timestamps"), topic)).locale("de").fromNow()

      Na Du erstellst doch Momente mit $moment().

      Das ist eine mächtige Bibliothek. Ich dachte das hättest Du Dir mal angeschaut.

      Also erstes geht man halt so vor, dass man erst mal schaut ob die timestamps richtig rauskommen, bevor du mit trial&error rumfuhrwerkst.

      $lookup($flowContext("timestamps"), topic)
      

      Das heißt, wenn die timestamps nun korrekt rauskommen, dann ändere ich das Eingabeformat.

      $moment($lookup($flowContext("timestamps"), topic),'x').locale("de").fromNow()
      

      Mit dem kleinen x - zeige ich der Momentbibliothek, dass sie Unix timestamps in ms zum Fressen bekommt.

      https://momentjs.com/docs/#/parsing/string/

      5c1e227e-91ef-45f6-bb2d-2206a1bc9455-image.png

      S Offline
      S Offline
      Schmetterfliege
      wrote on last edited by Schmetterfliege
      #276

      @mickym

      Na dass die richtigen Werte (zumindest jetzt nachdem .timestamps raus ist) kommen weiß ich ja, da er die Tabelle nach und nach mit den echten Zeitdifferenzen füllt.

      Wenn ich nun eine Topic übergebe, die es nicht gibt, bekomme ich "undefined" raus.
      5a04b227-658e-40ec-aedd-14f4d241fbc9-image.png
      "Test" gibt es im Flow nicht, "Büro/Besta" schon.
      Daher würde ich erwarten dass in der eigentlichen Change Node dann auch "undefined" raus kommt und in der Tabelle entsprechend undefined drin steht - statt "vor ein paar Sekunden"?
      EDIT: also für die Sensoren die im Flow noch keinen Timestamp hatten, und daher unter "timestamps" eben auch noch nicht existieren.

      mickymM 1 Reply Last reply
      0
      • S Schmetterfliege

        @mickym

        Na dass die richtigen Werte (zumindest jetzt nachdem .timestamps raus ist) kommen weiß ich ja, da er die Tabelle nach und nach mit den echten Zeitdifferenzen füllt.

        Wenn ich nun eine Topic übergebe, die es nicht gibt, bekomme ich "undefined" raus.
        5a04b227-658e-40ec-aedd-14f4d241fbc9-image.png
        "Test" gibt es im Flow nicht, "Büro/Besta" schon.
        Daher würde ich erwarten dass in der eigentlichen Change Node dann auch "undefined" raus kommt und in der Tabelle entsprechend undefined drin steht - statt "vor ein paar Sekunden"?
        EDIT: also für die Sensoren die im Flow noch keinen Timestamp hatten, und daher unter "timestamps" eben auch noch nicht existieren.

        mickymM Online
        mickymM Online
        mickym
        Most Active
        wrote on last edited by
        #277

        @schmetterfliege sagte in Zigbee2mqtt installation:

        Daher würde ich erwarten dass in der eigentlichen Change Node dann auch "undefined" raus kommt und in der Tabelle entsprechend undefined drin steht - statt "vor ein paar Sekunden"?

        Nein dann ignoriert die moments Bibliothek den gesamten Inhalt.

        und $moments() gibt immer den aktuellen Zeitpunkt aus.

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

        S 1 Reply Last reply
        0
        • mickymM mickym

          @schmetterfliege sagte in Zigbee2mqtt installation:

          Daher würde ich erwarten dass in der eigentlichen Change Node dann auch "undefined" raus kommt und in der Tabelle entsprechend undefined drin steht - statt "vor ein paar Sekunden"?

          Nein dann ignoriert die moments Bibliothek den gesamten Inhalt.

          und $moments() gibt immer den aktuellen Zeitpunkt aus.

          S Offline
          S Offline
          Schmetterfliege
          wrote on last edited by
          #278

          @mickym

          aaaaaah okay, dann macht das natürlich Sinn!

          mickymM 1 Reply Last reply
          0
          • S Schmetterfliege

            @mickym

            aaaaaah okay, dann macht das natürlich Sinn!

            mickymM Online
            mickymM Online
            mickym
            Most Active
            wrote on last edited by mickym
            #279

            @schmetterfliege Aber Du kannst ja im vorfeld nach dem split 2 Wege einschlagen, bevor Du das wieder zusammensetzt. Du nutzt doch eine split und eine JOIN Node?

            Wie setzt Du denn die Eigenschaft im Objekt - wie lange es her ist?

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

            S 2 Replies Last reply
            0
            • mickymM mickym

              @schmetterfliege Aber Du kannst ja im vorfeld nach dem split 2 Wege einschlagen, bevor Du das wieder zusammensetzt. Du nutzt doch eine split und eine JOIN Node?

              Wie setzt Du denn die Eigenschaft im Objekt - wie lange es her ist?

              S Offline
              S Offline
              Schmetterfliege
              wrote on last edited by
              #280

              @mickym said in Zigbee2mqtt installation:

              @schmetterfliege Aber Du kannst ja im vorfeld nach dem split 2 Wege einschlagen, bevor Du das wieder zusammensetzt. Du nutzt doch eine split und eine JOIN Node?

              Du meinst dass ich nach dem Split schaue ob der Wert existiert und dann entsprechend berechne oder eben nicht berechne?
              Naja, das würde in jedem Fall den Flow verkomplizieren, da lebe ich lieber damit dass ich kurz falsche Sachen drin stehen habe wenn aus irgendeinem Grund die Flowvariablen weg sind :grinning:

              mickymM 1 Reply Last reply
              0
              • S Schmetterfliege

                @mickym said in Zigbee2mqtt installation:

                @schmetterfliege Aber Du kannst ja im vorfeld nach dem split 2 Wege einschlagen, bevor Du das wieder zusammensetzt. Du nutzt doch eine split und eine JOIN Node?

                Du meinst dass ich nach dem Split schaue ob der Wert existiert und dann entsprechend berechne oder eben nicht berechne?
                Naja, das würde in jedem Fall den Flow verkomplizieren, da lebe ich lieber damit dass ich kurz falsche Sachen drin stehen habe wenn aus irgendeinem Grund die Flowvariablen weg sind :grinning:

                mickymM Online
                mickymM Online
                mickym
                Most Active
                wrote on last edited by
                #281

                @schmetterfliege Na schlimm ist das nicht - zeig mal den Ausschnitt des Flows und exportiere das mal.

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

                1 Reply Last reply
                0
                • mickymM mickym

                  @schmetterfliege Aber Du kannst ja im vorfeld nach dem split 2 Wege einschlagen, bevor Du das wieder zusammensetzt. Du nutzt doch eine split und eine JOIN Node?

                  Wie setzt Du denn die Eigenschaft im Objekt - wie lange es her ist?

                  S Offline
                  S Offline
                  Schmetterfliege
                  wrote on last edited by Schmetterfliege
                  #282

                  @mickym said in Zigbee2mqtt installation:

                  @schmetterfliege Aber Du kannst ja im vorfeld nach dem split 2 Wege einschlagen, bevor Du das wieder zusammensetzt. Du nutzt doch eine split und eine JOIN Node?

                  Wie setzt Du denn die Eigenschaft im Objekt - wie lange es her ist?

                  f86df14b-5420-4f26-b3dd-9d4aa60f8b42-image.png
                  Sensor liefert update -> gucken ob "availability" vorhanden ist weil ich den Teil nicht haben will -> Trigger -> Paar Variablen anpassen -> In Objekt umwandeln -> Name nach Payload verschieben -> alle Flowvariablen setzen.
                  Also in der Function Node wird alles was im Flow gespeichert wird gesetzt, also auch die Timestamps.
                  Entsprechend gibts den Wert halt erst, wenn ein Sensor ein Update liefert.

                  @mickym said in Zigbee2mqtt installation:

                  @schmetterfliege Na schlimm ist das nicht - zeig mal den Ausschnitt des Flows und exportiere das mal.

                  [
                     {
                         "id": "1d6f4682167f3620",
                         "type": "change",
                         "z": "1090acf7.2d6813",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "zigbee",
                                 "tot": "flow"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1470,
                         "y": 1460,
                         "wires": [
                             [
                                 "0c3b5d9312606ab7"
                             ]
                         ]
                     },
                     {
                         "id": "0c3b5d9312606ab7",
                         "type": "split",
                         "z": "1090acf7.2d6813",
                         "name": "",
                         "splt": "\\n",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "topic",
                         "x": 670,
                         "y": 1560,
                         "wires": [
                             [
                                 "bb907a827dac8189"
                             ]
                         ]
                     },
                     {
                         "id": "bb907a827dac8189",
                         "type": "change",
                         "z": "1090acf7.2d6813",
                         "name": "LastUpdate setzen",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload.lastupdate",
                                 "pt": "msg",
                                 "to": "$moment($lookup($flowContext(\"timestamps\"), topic)).locale(\"de\").fromNow()",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 830,
                         "y": 1560,
                         "wires": [
                             [
                                 "d37949aae2f7b3e9"
                             ]
                         ]
                     },
                     {
                         "id": "d37949aae2f7b3e9",
                         "type": "join",
                         "z": "1090acf7.2d6813",
                         "name": "",
                         "mode": "auto",
                         "build": "object",
                         "property": "payload",
                         "propertyType": "msg",
                         "key": "topic",
                         "joiner": "\\n",
                         "joinerType": "str",
                         "accumulate": true,
                         "timeout": "",
                         "count": "",
                         "reduceRight": false,
                         "reduceExp": "",
                         "reduceInit": "",
                         "reduceInitType": "",
                         "reduceFixup": "",
                         "x": 990,
                         "y": 1560,
                         "wires": [
                             [
                                 "761cd976.a0cb48"
                             ]
                         ]
                     }
                  ]
                  


                  87479bb2-97e5-4b0a-8ab5-bf4585a5c664-image.png
                  Flowvariablen in Payload laden -> Split -> LastUpdate für jedes Objekt berechnen -> Join (automatisch, da das Array nun in der ui-control gesetzt wird.
                  Das "vor ein paar Sekunden" oder welche Zeit auch immer bei rum kommt speicher ich nicht im Flow, sondern übergebe es nur an die Tabelle.
                  Also LastUpdate wird dann für alle Objekte einzeln berechnet, die im Flowkontext gespeichert sind - weil ja der Kontext in den Payload geladen wird und dann gesplittet

                  mickymM 1 Reply Last reply
                  0
                  • S Schmetterfliege

                    @mickym said in Zigbee2mqtt installation:

                    @schmetterfliege Aber Du kannst ja im vorfeld nach dem split 2 Wege einschlagen, bevor Du das wieder zusammensetzt. Du nutzt doch eine split und eine JOIN Node?

                    Wie setzt Du denn die Eigenschaft im Objekt - wie lange es her ist?

                    f86df14b-5420-4f26-b3dd-9d4aa60f8b42-image.png
                    Sensor liefert update -> gucken ob "availability" vorhanden ist weil ich den Teil nicht haben will -> Trigger -> Paar Variablen anpassen -> In Objekt umwandeln -> Name nach Payload verschieben -> alle Flowvariablen setzen.
                    Also in der Function Node wird alles was im Flow gespeichert wird gesetzt, also auch die Timestamps.
                    Entsprechend gibts den Wert halt erst, wenn ein Sensor ein Update liefert.

                    @mickym said in Zigbee2mqtt installation:

                    @schmetterfliege Na schlimm ist das nicht - zeig mal den Ausschnitt des Flows und exportiere das mal.

                    [
                       {
                           "id": "1d6f4682167f3620",
                           "type": "change",
                           "z": "1090acf7.2d6813",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "zigbee",
                                   "tot": "flow"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1470,
                           "y": 1460,
                           "wires": [
                               [
                                   "0c3b5d9312606ab7"
                               ]
                           ]
                       },
                       {
                           "id": "0c3b5d9312606ab7",
                           "type": "split",
                           "z": "1090acf7.2d6813",
                           "name": "",
                           "splt": "\\n",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "topic",
                           "x": 670,
                           "y": 1560,
                           "wires": [
                               [
                                   "bb907a827dac8189"
                               ]
                           ]
                       },
                       {
                           "id": "bb907a827dac8189",
                           "type": "change",
                           "z": "1090acf7.2d6813",
                           "name": "LastUpdate setzen",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload.lastupdate",
                                   "pt": "msg",
                                   "to": "$moment($lookup($flowContext(\"timestamps\"), topic)).locale(\"de\").fromNow()",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 830,
                           "y": 1560,
                           "wires": [
                               [
                                   "d37949aae2f7b3e9"
                               ]
                           ]
                       },
                       {
                           "id": "d37949aae2f7b3e9",
                           "type": "join",
                           "z": "1090acf7.2d6813",
                           "name": "",
                           "mode": "auto",
                           "build": "object",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": true,
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "reduceExp": "",
                           "reduceInit": "",
                           "reduceInitType": "",
                           "reduceFixup": "",
                           "x": 990,
                           "y": 1560,
                           "wires": [
                               [
                                   "761cd976.a0cb48"
                               ]
                           ]
                       }
                    ]
                    


                    87479bb2-97e5-4b0a-8ab5-bf4585a5c664-image.png
                    Flowvariablen in Payload laden -> Split -> LastUpdate für jedes Objekt berechnen -> Join (automatisch, da das Array nun in der ui-control gesetzt wird.
                    Das "vor ein paar Sekunden" oder welche Zeit auch immer bei rum kommt speicher ich nicht im Flow, sondern übergebe es nur an die Tabelle.
                    Also LastUpdate wird dann für alle Objekte einzeln berechnet, die im Flowkontext gespeichert sind - weil ja der Kontext in den Payload geladen wird und dann gesplittet

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    wrote on last edited by mickym
                    #283

                    @schmetterfliege Na nur der untere Teil interessiert im Moment.

                    1a4dec5f-e8ad-4671-a088-4bce187f06d9-image.png

                    [
                       {
                           "id": "bb907a827dac8189",
                           "type": "change",
                           "z": "8b753c91a6565074",
                           "name": "LastUpdate setzen",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload.lastupdate",
                                   "pt": "msg",
                                   "to": "$moment($lookup($flowContext(\"timestamps\"), topic)).locale(\"de\").fromNow()",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 850,
                           "y": 760,
                           "wires": [
                               [
                                   "d37949aae2f7b3e9"
                               ]
                           ]
                       },
                       {
                           "id": "17b085e0c0d554ca",
                           "type": "switch",
                           "z": "8b753c91a6565074",
                           "name": "",
                           "property": "$exists($lookup($flowContext(\"timestamps\"),topic))",
                           "propertyType": "jsonata",
                           "rules": [
                               {
                                   "t": "true"
                               },
                               {
                                   "t": "false"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 2,
                           "x": 630,
                           "y": 780,
                           "wires": [
                               [
                                   "bb907a827dac8189"
                               ],
                               [
                                   "30a688d3f7589a39"
                               ]
                           ]
                       },
                       {
                           "id": "30a688d3f7589a39",
                           "type": "change",
                           "z": "8b753c91a6565074",
                           "name": "LastUpdate setzen",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload.lastupdate",
                                   "pt": "msg",
                                   "to": "nicht verfügbar",
                                   "tot": "str"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 850,
                           "y": 800,
                           "wires": [
                               [
                                   "d37949aae2f7b3e9"
                               ]
                           ]
                       }
                    ]
                    

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

                    S 1 Reply Last reply
                    0
                    • mickymM mickym

                      @schmetterfliege Na nur der untere Teil interessiert im Moment.

                      1a4dec5f-e8ad-4671-a088-4bce187f06d9-image.png

                      [
                         {
                             "id": "bb907a827dac8189",
                             "type": "change",
                             "z": "8b753c91a6565074",
                             "name": "LastUpdate setzen",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload.lastupdate",
                                     "pt": "msg",
                                     "to": "$moment($lookup($flowContext(\"timestamps\"), topic)).locale(\"de\").fromNow()",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 850,
                             "y": 760,
                             "wires": [
                                 [
                                     "d37949aae2f7b3e9"
                                 ]
                             ]
                         },
                         {
                             "id": "17b085e0c0d554ca",
                             "type": "switch",
                             "z": "8b753c91a6565074",
                             "name": "",
                             "property": "$exists($lookup($flowContext(\"timestamps\"),topic))",
                             "propertyType": "jsonata",
                             "rules": [
                                 {
                                     "t": "true"
                                 },
                                 {
                                     "t": "false"
                                 }
                             ],
                             "checkall": "true",
                             "repair": false,
                             "outputs": 2,
                             "x": 630,
                             "y": 780,
                             "wires": [
                                 [
                                     "bb907a827dac8189"
                                 ],
                                 [
                                     "30a688d3f7589a39"
                                 ]
                             ]
                         },
                         {
                             "id": "30a688d3f7589a39",
                             "type": "change",
                             "z": "8b753c91a6565074",
                             "name": "LastUpdate setzen",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload.lastupdate",
                                     "pt": "msg",
                                     "to": "nicht verfügbar",
                                     "tot": "str"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 850,
                             "y": 800,
                             "wires": [
                                 [
                                     "d37949aae2f7b3e9"
                                 ]
                             ]
                         }
                      ]
                      

                      S Offline
                      S Offline
                      Schmetterfliege
                      wrote on last edited by
                      #284

                      @mickym said in Zigbee2mqtt installation:

                      @schmetterfliege Na nur der untere Teil interessiert im Moment.

                      [
                         {
                             "id": "bb907a827dac8189",
                             "type": "change",
                             "z": "8b753c91a6565074",
                             "name": "LastUpdate setzen",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload.lastupdate",
                                     "pt": "msg",
                                     "to": "$moment($lookup($flowContext(\"timestamps\"), topic)).locale(\"de\").fromNow()",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 850,
                             "y": 760,
                             "wires": [
                                 [
                                     "d37949aae2f7b3e9"
                                 ]
                             ]
                         },
                         {
                             "id": "17b085e0c0d554ca",
                             "type": "switch",
                             "z": "8b753c91a6565074",
                             "name": "",
                             "property": "$exists($lookup($flowContext(\"timestamps\"),topic))",
                             "propertyType": "jsonata",
                             "rules": [
                                 {
                                     "t": "true"
                                 },
                                 {
                                     "t": "false"
                                 }
                             ],
                             "checkall": "true",
                             "repair": false,
                             "outputs": 2,
                             "x": 630,
                             "y": 780,
                             "wires": [
                                 [
                                     "bb907a827dac8189"
                                 ],
                                 [
                                     "30a688d3f7589a39"
                                 ]
                             ]
                         },
                         {
                             "id": "30a688d3f7589a39",
                             "type": "change",
                             "z": "8b753c91a6565074",
                             "name": "LastUpdate setzen",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload.lastupdate",
                                     "pt": "msg",
                                     "to": "nicht verfügbar",
                                     "tot": "str"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 850,
                             "y": 800,
                             "wires": [
                                 [
                                     "d37949aae2f7b3e9"
                                 ]
                             ]
                         }
                      ]
                      

                      Okay, hatte deine (erste) Frage falsch verstanden, my bad.
                      Hast recht, das ist deutlich kompakter als ich es mir vorgestellt habe - worth it :)

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


                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      775

                      Online

                      32.6k

                      Users

                      82.1k

                      Topics

                      1.3m

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

                      • Don't have an account? Register

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