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. ioBroker Allgemein
  4. Zigbee2mqtt installation

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Zigbee2mqtt installation

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
284 Beiträge 6 Kommentatoren 47.3k Aufrufe 5 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.
  • S Schmetterfliege

    @mickym said in Zigbee2mqtt installation:

    @schmetterfliege Dann musst halt step für Step schauen - Du musst das ganze ja machen bevor du die table Node speist.

    Also das Array auftrennen und in jedes Objekt die Differenz eintragen. Geh halt Schritt für Schritt vor. Die Tabelle interessiert doch erst mal nicht. Es interessiert nur das Array, das Du in die Tabelle speist.

    Sprich wird der richtige Wert aus dem Kontext geholt und dann die Differenz richtig berechnet. Musst halt Step für Step machen.

    Genau das ist mein Problem - ich weiß ja nicht was sich die ChangeNode aus dem Kontext holt^^
    dc6a758a-e810-4aa4-a426-c72806252fee-image.png
    "topic" entspricht hier jeweils diesen Strings:
    b507aa7c-771b-4df9-9858-8689e322816c-image.png
    Da übergibt auch jedes Objekt der Change Node den richtigen Wert.
    Ist das Problem dass die Timestamps jeweils direkt unter dem Namen gespeichert sind, und es kein "timestamp" unter jedem Objekt gibt?

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #271

    @schmetterfliege sagte in Zigbee2mqtt installation:

    Ist das Problem dass die Timestamps jeweils direkt unter dem Namen gespeichert sind, und es kein "timestamp" unter jedem Objekt gibt?

    Klar das ist es, mach einfach mal das .timestamp hinter der Klammer raus.

    Genau das ist mein Problem - ich weiß ja nicht was sich die ChangeNode aus dem Kontext holt^^

    Warum weisst Du das nicht. :grin: ;) - Du sollst ja den Flow selbst verstehen. ;)

    Es gibt den Wert aus, den topic ausgibt. Wahrscheinlich musst Du noch ein x für das Eingabeformat für den Moment eingeben.

    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 mickymM 2 Antworten Letzte Antwort
    0
    • mickymM mickym

      @schmetterfliege sagte in Zigbee2mqtt installation:

      Ist das Problem dass die Timestamps jeweils direkt unter dem Namen gespeichert sind, und es kein "timestamp" unter jedem Objekt gibt?

      Klar das ist es, mach einfach mal das .timestamp hinter der Klammer raus.

      Genau das ist mein Problem - ich weiß ja nicht was sich die ChangeNode aus dem Kontext holt^^

      Warum weisst Du das nicht. :grin: ;) - Du sollst ja den Flow selbst verstehen. ;)

      Es gibt den Wert aus, den topic ausgibt. Wahrscheinlich musst Du noch ein x für das Eingabeformat für den Moment eingeben.

      S Offline
      S Offline
      Schmetterfliege
      schrieb am zuletzt editiert von
      #272

      @mickym said in Zigbee2mqtt installation:

      @schmetterfliege sagte in Zigbee2mqtt installation:

      Ist das Problem dass die Timestamps jeweils direkt unter dem Namen gespeichert sind, und es kein "timestamp" unter jedem Objekt gibt?

      Klar das ist es, mach einfach mal das .timestamp hinter der Klammer raus.

      Warum weisst Du das nicht. :grin: ;)

      Es gibt den Wert aus, den topic ausgibt.

      Das ist mir an sich schon klar, mich macht nur fertig dass überall wo es noch keinen Timestamp gibt trotzdem "vor ein paar Sekunden" drin steht :grinning:
      Das dürfte doch eigentlich gar nicht, ich meine so wie ich es hatte (also dass noch .timestamp drin stand) hätte das Teil ja mit nem String gerechnet. Da würde ich eine Fehlermeldung erwarten, und nicht dass er dann einfach sagt "joa, dann mach ich da halt jetzt draus" ^^

      Geht jetzt jedenfalls und er ersetzt langsam die Werte für Sensoren die Updates liefern.
      dc6e6d8d-b84e-44ca-a531-0e4c4044ebc7-image.png

      1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @schmetterfliege sagte in Zigbee2mqtt installation:

        Ist das Problem dass die Timestamps jeweils direkt unter dem Namen gespeichert sind, und es kein "timestamp" unter jedem Objekt gibt?

        Klar das ist es, mach einfach mal das .timestamp hinter der Klammer raus.

        Genau das ist mein Problem - ich weiß ja nicht was sich die ChangeNode aus dem Kontext holt^^

        Warum weisst Du das nicht. :grin: ;) - Du sollst ja den Flow selbst verstehen. ;)

        Es gibt den Wert aus, den topic ausgibt. Wahrscheinlich musst Du noch ein x für das Eingabeformat für den Moment eingeben.

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #273

        @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.

        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 Antwort Letzte Antwort
        0
        • mickymM mickym

          @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.

          S Offline
          S Offline
          Schmetterfliege
          schrieb am zuletzt editiert von Schmetterfliege
          #274

          @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 1 Antwort Letzte Antwort
          0
          • 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 Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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 Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #278

                  @mickym

                  aaaaaah okay, dann macht das natürlich Sinn!

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • S Schmetterfliege

                    @mickym

                    aaaaaah okay, dann macht das natürlich Sinn!

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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 Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                          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 Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

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

                              845

                              Online

                              32.4k

                              Benutzer

                              81.5k

                              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