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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. (Gelöst) Rollen und Funktionen in ioBroker

NEWS

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

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

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

(Gelöst) Rollen und Funktionen in ioBroker

Geplant Angeheftet Gesperrt Verschoben Node-Red
12 Beiträge 2 Kommentatoren 1.0k Aufrufe 2 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.
  • T Offline
    T Offline
    Tableautin
    schrieb am zuletzt editiert von Tableautin
    #1

    Hallo Leute.
    Ich habe eine Frage zu Node Red: kann man auf die vergebenen Rollen in ioBroker zugreifen und eine Liste bekommen, die alle Geräte einer Funktion mit einer bestimmten Rolle zurückbekommt? Ich habe in der Doku zum "ioBroker get" Knoten keine Eigenschaft für diese Sachen gefunden.

    Anwendungsfälle:

    • Ausschalten aller Geräte mit einer bestimmten Funktion (Licht) und einer bestimmten Rolle (Switch). Ausgelöst z.B. durch einen Tastendruck oder zu einem bestimmten Zeitpunkt.
    • Liste aller eingeschalteten Geräte in Jarvis in einer Liste

    Danke


    ioBroker auf QNAP NAS im Docker

    sonst ein ziemlicher ioBroker Hipster

    • iQontrol als VIS
    • NodeRed als Programmier-Schnittstelle
    mickymM 1 Antwort Letzte Antwort
    0
    • T Tableautin

      Hallo Leute.
      Ich habe eine Frage zu Node Red: kann man auf die vergebenen Rollen in ioBroker zugreifen und eine Liste bekommen, die alle Geräte einer Funktion mit einer bestimmten Rolle zurückbekommt? Ich habe in der Doku zum "ioBroker get" Knoten keine Eigenschaft für diese Sachen gefunden.

      Anwendungsfälle:

      • Ausschalten aller Geräte mit einer bestimmten Funktion (Licht) und einer bestimmten Rolle (Switch). Ausgelöst z.B. durch einen Tastendruck oder zu einem bestimmten Zeitpunkt.
      • Liste aller eingeschalteten Geräte in Jarvis in einer Liste

      Danke

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

      @tableautin Man kann die iobroker-list Nodes verwenden und mit Wildcards arbeiten. Aber leider ist das etwas was nicht so einfach ist wie mit den anderen logic - Maschinen.

      Ich habe beispielsweise unter 0_userdata.0.homekit bestimmten states die Funktion Licht zugewiesen:

      00f82c37-b19c-4185-bb77-84099595d079-image.png

      Mit den List-Nodes muss man sich halt einmalig so eine Liste auslesen:

      781b86bd-723a-4700-84c7-1a12d19f3595-image.png

      Das kann man natürlich dann entsprechend umwandeln, dass man eine Liste mit Topics hat, die diese function Licht haben und dann alles in eine iobroker out - und das topic frei lassen - um zum Beispiel alle Lichter auszuschalten.

      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 Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #3

        Hier mal die schrittweise Erklärung des Flows:

        579adb52-1ad2-4f61-96ac-249b1a18cd97-image.png

        Als erstes lässt man sich ein Array ausgeben über alle States mit Wildcards - ich würde keinesfalls empfehlen, hier den Wurzelbaum zu verwenden, sondern allenfalls eine Adapterinstanz.

        Im 2. Schritt selektiert man alle IDs, die beispielsweise die Funktion "Licht" beinhalten und ein boolean State zum Beispiel haben.

        3f4899b1-bfac-4ca3-b5e1-0c6484fc8420-image.png

        Im 3. Schritt macht man aus dem Array einzelne Nachrichten mit dem topic aus der payload und setzt als payload "off" zum Licht ausschalten:

        67fbe68a-8b80-4d56-9930-813991d87e71-image.png

        Hier mal dieses Beispiel als Code:

        [
           {
               "id": "dd1076bf7c4b7332",
               "type": "inject",
               "z": "7e6af0015415146d",
               "name": "trigger",
               "props": [
                   {
                       "p": "payload"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "",
               "payload": "true",
               "payloadType": "bool",
               "x": 90,
               "y": 2220,
               "wires": [
                   [
                       "0e59368979d130fb"
                   ]
               ]
           },
           {
               "id": "0e59368979d130fb",
               "type": "ioBroker list",
               "z": "7e6af0015415146d",
               "name": "",
               "topic": "0_userdata.0.homekit.devices.*",
               "objType": "state",
               "regex": "",
               "asArray": "true",
               "onlyIDs": "false",
               "withValues": "false",
               "x": 310,
               "y": 2220,
               "wires": [
                   [
                       "72e626d9f2966314",
                       "92e38896c297dc5f"
                   ]
               ]
           },
           {
               "id": "72e626d9f2966314",
               "type": "debug",
               "z": "7e6af0015415146d",
               "name": "Array mit allen Objekten",
               "active": false,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 590,
               "y": 2180,
               "wires": []
           },
           {
               "id": "92e38896c297dc5f",
               "type": "change",
               "z": "7e6af0015415146d",
               "name": "Filter States mit Funktion Licht",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$.payload[enums.'enum.functions.light'=\"Licht\" and common.type=\"boolean\"]._id",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 610,
               "y": 2220,
               "wires": [
                   [
                       "d1b7bd405eaf2ae0",
                       "abf05c67fdb43e13"
                   ]
               ]
           },
           {
               "id": "d1b7bd405eaf2ae0",
               "type": "debug",
               "z": "7e6af0015415146d",
               "name": "Topics mit Function Licht",
               "active": false,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 890,
               "y": 2220,
               "wires": []
           },
           {
               "id": "abf05c67fdb43e13",
               "type": "split",
               "z": "7e6af0015415146d",
               "name": "",
               "splt": "\\n",
               "spltType": "str",
               "arraySplt": 1,
               "arraySpltType": "len",
               "stream": false,
               "addname": "",
               "x": 830,
               "y": 2280,
               "wires": [
                   [
                       "49ac6b5689b749d8"
                   ]
               ]
           },
           {
               "id": "8332c200351f1f67",
               "type": "debug",
               "z": "7e6af0015415146d",
               "name": "Alle Lichter ausschalten",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1290,
               "y": 2340,
               "wires": []
           },
           {
               "id": "49ac6b5689b749d8",
               "type": "change",
               "z": "7e6af0015415146d",
               "name": "setze topic, payload = off",
               "rules": [
                   {
                       "t": "set",
                       "p": "topic",
                       "pt": "msg",
                       "to": "payload",
                       "tot": "msg"
                   },
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "off",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1030,
               "y": 2280,
               "wires": [
                   [
                       "8332c200351f1f67",
                       "46c147a7b8187acb"
                   ]
               ]
           },
           {
               "id": "46c147a7b8187acb",
               "type": "ioBroker out",
               "z": "7e6af0015415146d",
               "d": true,
               "name": "",
               "topic": "",
               "ack": "false",
               "autoCreate": "false",
               "stateName": "",
               "role": "",
               "payloadType": "",
               "readonly": "",
               "stateUnit": "",
               "stateMin": "",
               "stateMax": "",
               "x": 1260,
               "y": 2280,
               "wires": []
           }
        ]
        

        Das topic in der iobroker-Out Node bleibt natürlich unbesetzt.
        Ich würde aber lieber solche Arrays einmal einlesen und dann im Kontext abspeichern. Diese Rollen und Funktionen sind leider nicht direkt zugänglich, sondern nur über das Auslesen der Objekte. Und leider auch nicht über NodeRed direkt zugänglich.

        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.

        T 1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          Tableautin
          schrieb am zuletzt editiert von
          #4

          Super, besten Dank für die Erklärung. Ich denke ich werde damit in der nächsten Zeit mal herumspielen.
          Klingt ja relativ logisch vom Aufbau her, die einzelnen Probleme werden im Detail vorkommen :-)

          Da ich nur meinen Alias-Baum verwende, sollte die zu lesende Menge an Objekten auch nicht zu groß sein, es wird wahrscheinlich nur ein paar Mal am Tag ausgeführt


          ioBroker auf QNAP NAS im Docker

          sonst ein ziemlicher ioBroker Hipster

          • iQontrol als VIS
          • NodeRed als Programmier-Schnittstelle
          1 Antwort Letzte Antwort
          0
          • mickymM mickym

            Hier mal die schrittweise Erklärung des Flows:

            579adb52-1ad2-4f61-96ac-249b1a18cd97-image.png

            Als erstes lässt man sich ein Array ausgeben über alle States mit Wildcards - ich würde keinesfalls empfehlen, hier den Wurzelbaum zu verwenden, sondern allenfalls eine Adapterinstanz.

            Im 2. Schritt selektiert man alle IDs, die beispielsweise die Funktion "Licht" beinhalten und ein boolean State zum Beispiel haben.

            3f4899b1-bfac-4ca3-b5e1-0c6484fc8420-image.png

            Im 3. Schritt macht man aus dem Array einzelne Nachrichten mit dem topic aus der payload und setzt als payload "off" zum Licht ausschalten:

            67fbe68a-8b80-4d56-9930-813991d87e71-image.png

            Hier mal dieses Beispiel als Code:

            [
               {
                   "id": "dd1076bf7c4b7332",
                   "type": "inject",
                   "z": "7e6af0015415146d",
                   "name": "trigger",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "true",
                   "payloadType": "bool",
                   "x": 90,
                   "y": 2220,
                   "wires": [
                       [
                           "0e59368979d130fb"
                       ]
                   ]
               },
               {
                   "id": "0e59368979d130fb",
                   "type": "ioBroker list",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "topic": "0_userdata.0.homekit.devices.*",
                   "objType": "state",
                   "regex": "",
                   "asArray": "true",
                   "onlyIDs": "false",
                   "withValues": "false",
                   "x": 310,
                   "y": 2220,
                   "wires": [
                       [
                           "72e626d9f2966314",
                           "92e38896c297dc5f"
                       ]
                   ]
               },
               {
                   "id": "72e626d9f2966314",
                   "type": "debug",
                   "z": "7e6af0015415146d",
                   "name": "Array mit allen Objekten",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 590,
                   "y": 2180,
                   "wires": []
               },
               {
                   "id": "92e38896c297dc5f",
                   "type": "change",
                   "z": "7e6af0015415146d",
                   "name": "Filter States mit Funktion Licht",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "$.payload[enums.'enum.functions.light'=\"Licht\" and common.type=\"boolean\"]._id",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 610,
                   "y": 2220,
                   "wires": [
                       [
                           "d1b7bd405eaf2ae0",
                           "abf05c67fdb43e13"
                       ]
                   ]
               },
               {
                   "id": "d1b7bd405eaf2ae0",
                   "type": "debug",
                   "z": "7e6af0015415146d",
                   "name": "Topics mit Function Licht",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 890,
                   "y": 2220,
                   "wires": []
               },
               {
                   "id": "abf05c67fdb43e13",
                   "type": "split",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "splt": "\\n",
                   "spltType": "str",
                   "arraySplt": 1,
                   "arraySpltType": "len",
                   "stream": false,
                   "addname": "",
                   "x": 830,
                   "y": 2280,
                   "wires": [
                       [
                           "49ac6b5689b749d8"
                       ]
                   ]
               },
               {
                   "id": "8332c200351f1f67",
                   "type": "debug",
                   "z": "7e6af0015415146d",
                   "name": "Alle Lichter ausschalten",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1290,
                   "y": 2340,
                   "wires": []
               },
               {
                   "id": "49ac6b5689b749d8",
                   "type": "change",
                   "z": "7e6af0015415146d",
                   "name": "setze topic, payload = off",
                   "rules": [
                       {
                           "t": "set",
                           "p": "topic",
                           "pt": "msg",
                           "to": "payload",
                           "tot": "msg"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "off",
                           "tot": "str"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1030,
                   "y": 2280,
                   "wires": [
                       [
                           "8332c200351f1f67",
                           "46c147a7b8187acb"
                       ]
                   ]
               },
               {
                   "id": "46c147a7b8187acb",
                   "type": "ioBroker out",
                   "z": "7e6af0015415146d",
                   "d": true,
                   "name": "",
                   "topic": "",
                   "ack": "false",
                   "autoCreate": "false",
                   "stateName": "",
                   "role": "",
                   "payloadType": "",
                   "readonly": "",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1260,
                   "y": 2280,
                   "wires": []
               }
            ]
            

            Das topic in der iobroker-Out Node bleibt natürlich unbesetzt.
            Ich würde aber lieber solche Arrays einmal einlesen und dann im Kontext abspeichern. Diese Rollen und Funktionen sind leider nicht direkt zugänglich, sondern nur über das Auslesen der Objekte. Und leider auch nicht über NodeRed direkt zugänglich.

            T Offline
            T Offline
            Tableautin
            schrieb am zuletzt editiert von
            #5

            @mickym sagte in Rollen und Funktionen in ioBroker:

            Im 2. Schritt selektiert man alle IDs, die beispielsweise die Funktion "Licht" beinhalten und ein boolean State zum Beispiel haben.

            Sorry für die wahrscheinlich dumme Frage, aber mir fehlt leider ein wenig Erfahrung mit dem Syntax. Bei mir ist das Objekt ein wenig anders aufgebaut, da ich noch eine weitere Zwischenebene habe, die die Sprache spezifiziert.
            c8554622-c686-4206-804b-07a7227f4f2a-image.png

            Ich verwende momentan folgende Filterung im JSONata Editor, leider bekomme ich dann immer eine leere Liste zurück. Ich denke es liegt an dem falschen Zugriff auf die Unterebene im Objekt. Vielleicht kannst du mir kurz sagen, wie ich direkt darauf zugreifen kann.

            $.payload[enums.enum.functions.light='de'=\"Licht\"]._id
            

            Danke auf jeden Fall schon einmal.


            ioBroker auf QNAP NAS im Docker

            sonst ein ziemlicher ioBroker Hipster

            • iQontrol als VIS
            • NodeRed als Programmier-Schnittstelle
            mickymM 1 Antwort Letzte Antwort
            0
            • T Tableautin

              @mickym sagte in Rollen und Funktionen in ioBroker:

              Im 2. Schritt selektiert man alle IDs, die beispielsweise die Funktion "Licht" beinhalten und ein boolean State zum Beispiel haben.

              Sorry für die wahrscheinlich dumme Frage, aber mir fehlt leider ein wenig Erfahrung mit dem Syntax. Bei mir ist das Objekt ein wenig anders aufgebaut, da ich noch eine weitere Zwischenebene habe, die die Sprache spezifiziert.
              c8554622-c686-4206-804b-07a7227f4f2a-image.png

              Ich verwende momentan folgende Filterung im JSONata Editor, leider bekomme ich dann immer eine leere Liste zurück. Ich denke es liegt an dem falschen Zugriff auf die Unterebene im Objekt. Vielleicht kannst du mir kurz sagen, wie ich direkt darauf zugreifen kann.

              $.payload[enums.enum.functions.light='de'=\"Licht\"]._id
              

              Danke auf jeden Fall schon einmal.

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

              @tableautin Probiers mal so:

              $.payload[enums.'enum.functions.light'.de="Licht"]._id
              

              Nichts maskieren.

              4b2ec5fc-d98f-496e-9b5e-726aa50664e7-image.png

              falls das nicht klappt - dann musst du mir Dein ganzes Array hier in Code Tags reinkopieren.

              Code-Tags.gif

              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.

              T 1 Antwort Letzte Antwort
              0
              • mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #7

                und klappts?

                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

                  @tableautin Probiers mal so:

                  $.payload[enums.'enum.functions.light'.de="Licht"]._id
                  

                  Nichts maskieren.

                  4b2ec5fc-d98f-496e-9b5e-726aa50664e7-image.png

                  falls das nicht klappt - dann musst du mir Dein ganzes Array hier in Code Tags reinkopieren.

                  Code-Tags.gif

                  T Offline
                  T Offline
                  Tableautin
                  schrieb am zuletzt editiert von
                  #8

                  @mickym Scheint jetzt auf den ersten Blick zu laufen. Ich bekomme zumindest ein gefiltertes Array zurück, und das scheit die korrekten Werte zu enthalten.

                  Danke nochmal für die Hilfe


                  ioBroker auf QNAP NAS im Docker

                  sonst ein ziemlicher ioBroker Hipster

                  • iQontrol als VIS
                  • NodeRed als Programmier-Schnittstelle
                  1 Antwort Letzte Antwort
                  1
                  • mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #9

                    Übrigens wenn Du für Deine Liste die States auslesen willst bzw. filtern willst, kannst Du mit

                    81debf0e-4186-4b93-8250-adbf7603056a-image.png

                    in der Eigenschaft den val mit nehmen und in den Filter einbauen, also

                    $.payload[enums.'enum.functions.light'.de="Licht" and val=true]._id
                    

                    und wenn Du die Namen gepflegt hast - kannst Du Dir diese anstelle der id ausgeben lassen.

                    $.payload[enums.'enum.functions.light'.de="Licht" and val=true].common.name
                    

                    Du siehst, wie genial man mit JSONATA auf Objekteigenschaften zugreifen kann.

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

                    T 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      Übrigens wenn Du für Deine Liste die States auslesen willst bzw. filtern willst, kannst Du mit

                      81debf0e-4186-4b93-8250-adbf7603056a-image.png

                      in der Eigenschaft den val mit nehmen und in den Filter einbauen, also

                      $.payload[enums.'enum.functions.light'.de="Licht" and val=true]._id
                      

                      und wenn Du die Namen gepflegt hast - kannst Du Dir diese anstelle der id ausgeben lassen.

                      $.payload[enums.'enum.functions.light'.de="Licht" and val=true].common.name
                      

                      Du siehst, wie genial man mit JSONATA auf Objekteigenschaften zugreifen kann.

                      T Offline
                      T Offline
                      Tableautin
                      schrieb am zuletzt editiert von
                      #10

                      @mickym Danke für die Erweiterung. Mal schauen ob ich es nutzen werde.
                      Da leider hin und wieder ioBroker Stati nicht ganz sauber sind ('uncertain' bei Szenen, etc) , so dass ich nicht garantieren kann, dass der value immer TRUE ist, werde ich wahrscheinlich nicht darauf filtern, sondern alle gefundenen Lampen direkt auf FALSE setzen, um danach immer einen klar definierten Zustand zu haben.

                      Die Möglichkeiten für JSONata werde ich sicherlich in Zukunft weiter nutzen, momentan bin ich froh, wenn ich mit den Objektstrukturen in NodeRed klarkomme :-)

                      Falls es später jemand findet über die Suchfunktion, hier noch meine verwendete Filterregel, um alle Lichter auszugeben, die der Rolle "Switch" zugeordnet sind (das klappte bei mir mit den Shellys (Ausgänge) und den Zigbee Leuchten (Hue, Lidl, IKEA).

                      $.payload[enums.'enum.functions.light'.de="Licht" and common.role="switch"]._id
                      

                      ioBroker auf QNAP NAS im Docker

                      sonst ein ziemlicher ioBroker Hipster

                      • iQontrol als VIS
                      • NodeRed als Programmier-Schnittstelle
                      mickymM 1 Antwort Letzte Antwort
                      0
                      • T Tableautin

                        @mickym Danke für die Erweiterung. Mal schauen ob ich es nutzen werde.
                        Da leider hin und wieder ioBroker Stati nicht ganz sauber sind ('uncertain' bei Szenen, etc) , so dass ich nicht garantieren kann, dass der value immer TRUE ist, werde ich wahrscheinlich nicht darauf filtern, sondern alle gefundenen Lampen direkt auf FALSE setzen, um danach immer einen klar definierten Zustand zu haben.

                        Die Möglichkeiten für JSONata werde ich sicherlich in Zukunft weiter nutzen, momentan bin ich froh, wenn ich mit den Objektstrukturen in NodeRed klarkomme :-)

                        Falls es später jemand findet über die Suchfunktion, hier noch meine verwendete Filterregel, um alle Lichter auszugeben, die der Rolle "Switch" zugeordnet sind (das klappte bei mir mit den Shellys (Ausgänge) und den Zigbee Leuchten (Hue, Lidl, IKEA).

                        $.payload[enums.'enum.functions.light'.de="Licht" and common.role="switch"]._id
                        
                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @tableautin Ich nutze diese Funktionen persönlich gar nicht und lasse die Zustände über eine JSON selbst aufbauen und speichere den Zustand in einem Datenpunkt. Damit bin ich unabhängig von diesen Definitionen der Rollen im iobroker.

                        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 Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          ACHTUNG: Anscheinend kann man mit dem JS 5.0 nicht mehr die enums auslesen.

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


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          775

                          Online

                          32.4k

                          Benutzer

                          81.4k

                          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