Skip to content
  • 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
  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.2k

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

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

Zigbee2mqtt installation

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
284 Beiträge 6 Kommentatoren 46.9k 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 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 😀

    mickymM Online
    mickymM Online
    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 Online
        mickymM Online
        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

          757

          Online

          32.4k

          Benutzer

          81.4k

          Themen

          1.3m

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

          • Du hast noch kein Konto? Registrieren

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