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. Verfügbarkeit von Sensoren über Node Red überwachen

NEWS

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Verfügbarkeit von Sensoren über Node Red überwachen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
426 Beiträge 5 Kommentatoren 62.5k Aufrufe 4 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

    aaaaaah, von den IN Nodes redest du!
    Ich war die ganze Zeit in einem Test Flow in dem ich nur per Inject den namen von einem bestimmten Zigbee Device auslesen wollte

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

    @schmetterfliege Na das kannst Du auch machen - das ist für das System sogar besser - die Namen nur einmal auszulesen.

    Das ist eigentlich besser. Warte mal - ich mach das dann mal:

    Dann musst aber die function Nodes wieder auf den ursprünglichen Stand zurück setzen.

    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 das kannst Du auch machen - das ist für das System sogar besser - die Namen nur einmal auszulesen.

      Das ist eigentlich besser. Warte mal - ich mach das dann mal:

      Dann musst aber die function Nodes wieder auf den ursprünglichen Stand zurück setzen.

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

      @mickym

      Ok, ich warte :D.

      Habe mal die list Node so wie von dir beschrieben hinzugefügt:
      5ef7701e-7dc8-48ed-80a1-d612fe8669cf-image.png
      Der Output den ich abgreife sieht dann so aus:
      b4f493c4-ed3d-4bed-942e-b097764e65bf-image.png
      Und da ist - wie ich auch erwarte würde - nur der Name von dem DP Temperature - und der heißt Temperature^^
      Weil: es wird ja nur der DP temperature und humidity weitergegeben

      mickymM 1 Antwort Letzte Antwort
      0
      • S Schmetterfliege

        @mickym

        Ok, ich warte :D.

        Habe mal die list Node so wie von dir beschrieben hinzugefügt:
        5ef7701e-7dc8-48ed-80a1-d612fe8669cf-image.png
        Der Output den ich abgreife sieht dann so aus:
        b4f493c4-ed3d-4bed-942e-b097764e65bf-image.png
        Und da ist - wie ich auch erwarte würde - nur der Name von dem DP Temperature - und der heißt Temperature^^
        Weil: es wird ja nur der DP temperature und humidity weitergegeben

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

        @schmetterfliege Ok - wir machen es dann so - wie ursprünglich mach die list Nodes wieder da raus und wir suchen die Namen aus den Geräten

        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 Ok - wir machen es dann so - wie ursprünglich mach die list Nodes wieder da raus und wir suchen die Namen aus den Geräten

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

          @mickym
          Ich glaube der Weg mit den List Nodes funktioniert bei dir, weil du den Datenpunkten andere Namen gegeben hast.
          Bei dir hat der DP für die Temperatur den Namen "Bad Thermometer Temperature".

          Bei mir heißen die bei allen devices einfach nur "Temperature", "Humidty" etc.
          0a116f03-9246-4847-90af-6eaef35cde1f-image.png
          Nur das "Device" hat den von mir gesetzten Namen.
          Gibt es da eine Option dass der Name den ich im Zigbee Adapter vergebe auch in die ganzen DP übernommen wird?
          Oder hast du die alle Manuell umbenannt?

          mickymM 1 Antwort Letzte Antwort
          0
          • S Schmetterfliege

            @mickym
            Ich glaube der Weg mit den List Nodes funktioniert bei dir, weil du den Datenpunkten andere Namen gegeben hast.
            Bei dir hat der DP für die Temperatur den Namen "Bad Thermometer Temperature".

            Bei mir heißen die bei allen devices einfach nur "Temperature", "Humidty" etc.
            0a116f03-9246-4847-90af-6eaef35cde1f-image.png
            Nur das "Device" hat den von mir gesetzten Namen.
            Gibt es da eine Option dass der Name den ich im Zigbee Adapter vergebe auch in die ganzen DP übernommen wird?
            Oder hast du die alle Manuell umbenannt?

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

            @schmetterfliege Ich mach das gleich mit den Geräten - wie gesagt bau den Flow wieder auf das Original auf heute morgen zurück- Ich habs gleich - Geduld!!!!

            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 Ich mach das gleich mit den Geräten - wie gesagt bau den Flow wieder auf das Original auf heute morgen zurück- Ich habs gleich - Geduld!!!!

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

              @mickym

              Schon passiert :)

              Keine Hektik, versprochen! :)
              Ich wundere mich bloß wieso man aus den DP die Namen auslesen kann, nicht aber den Namen vom Device selbst, also quasi dem "Ordner" in dem die einzelnen DP drin sind^^

              mickymM 1 Antwort Letzte Antwort
              0
              • S Schmetterfliege

                @mickym

                Schon passiert :)

                Keine Hektik, versprochen! :)
                Ich wundere mich bloß wieso man aus den DP die Namen auslesen kann, nicht aber den Namen vom Device selbst, also quasi dem "Ordner" in dem die einzelnen DP drin sind^^

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

                @schmetterfliege So hier liest Du die Zigbee Namen aus und werden der ID zugeordnet:

                2cf463b3-0261-450b-8a9a-7ea681fcff4c-image.png

                In diesem Fall lesen benötigen wir auch keine Werte sondern lesen nur die Objekte vom Typ Gerät:

                84bd4975-62c5-457a-951c-9b95b776e37c-image.png

                [
                   {
                       "id": "7d289068.84697",
                       "type": "ioBroker list",
                       "z": "54b226bc.0793e8",
                       "name": "",
                       "topic": "zigbee.0.*",
                       "objType": "device",
                       "regex": "",
                       "asArray": "false",
                       "onlyIDs": "false",
                       "withValues": "false",
                       "x": 520,
                       "y": 1740,
                       "wires": [
                           [
                               "fc64b9ea.67b448"
                           ]
                       ]
                   },
                   {
                       "id": "73e620e7.4e983",
                       "type": "inject",
                       "z": "54b226bc.0793e8",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "true",
                       "payloadType": "bool",
                       "x": 360,
                       "y": 1740,
                       "wires": [
                           [
                               "7d289068.84697"
                           ]
                       ]
                   },
                   {
                       "id": "41298ffe.872ed",
                       "type": "debug",
                       "z": "54b226bc.0793e8",
                       "name": "",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "false",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1190,
                       "y": 1740,
                       "wires": []
                   },
                   {
                       "id": "fc64b9ea.67b448",
                       "type": "change",
                       "z": "54b226bc.0793e8",
                       "name": "",
                       "rules": [
                           {
                               "t": "change",
                               "p": "topic",
                               "pt": "msg",
                               "from": "/",
                               "fromt": "str",
                               "to": ".",
                               "tot": "str"
                           },
                           {
                               "t": "change",
                               "p": "topic",
                               "pt": "msg",
                               "from": "zigbee\\.0\\.(.*)$",
                               "fromt": "re",
                               "to": "$1",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 710,
                       "y": 1740,
                       "wires": [
                           [
                               "dbecb3d4.1d80a"
                           ]
                       ]
                   },
                   {
                       "id": "dbecb3d4.1d80a",
                       "type": "function",
                       "z": "54b226bc.0793e8",
                       "name": "Gerätenamen auslesen",
                       "func": "flow.set('zigbee.' + msg.topic + '.name',msg.payload.common.name);\n\n// return msg; \n",
                       "outputs": 1,
                       "noerr": 0,
                       "initialize": "",
                       "finalize": "",
                       "libs": [],
                       "x": 970,
                       "y": 1740,
                       "wires": [
                           [
                               "41298ffe.872ed"
                           ]
                       ]
                   }
                ]
                

                Das einmalige Einlesen in der Inject Node kannst selbst setzen.

                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 So hier liest Du die Zigbee Namen aus und werden der ID zugeordnet:

                  2cf463b3-0261-450b-8a9a-7ea681fcff4c-image.png

                  In diesem Fall lesen benötigen wir auch keine Werte sondern lesen nur die Objekte vom Typ Gerät:

                  84bd4975-62c5-457a-951c-9b95b776e37c-image.png

                  [
                     {
                         "id": "7d289068.84697",
                         "type": "ioBroker list",
                         "z": "54b226bc.0793e8",
                         "name": "",
                         "topic": "zigbee.0.*",
                         "objType": "device",
                         "regex": "",
                         "asArray": "false",
                         "onlyIDs": "false",
                         "withValues": "false",
                         "x": 520,
                         "y": 1740,
                         "wires": [
                             [
                                 "fc64b9ea.67b448"
                             ]
                         ]
                     },
                     {
                         "id": "73e620e7.4e983",
                         "type": "inject",
                         "z": "54b226bc.0793e8",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "true",
                         "payloadType": "bool",
                         "x": 360,
                         "y": 1740,
                         "wires": [
                             [
                                 "7d289068.84697"
                             ]
                         ]
                     },
                     {
                         "id": "41298ffe.872ed",
                         "type": "debug",
                         "z": "54b226bc.0793e8",
                         "name": "",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "false",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1190,
                         "y": 1740,
                         "wires": []
                     },
                     {
                         "id": "fc64b9ea.67b448",
                         "type": "change",
                         "z": "54b226bc.0793e8",
                         "name": "",
                         "rules": [
                             {
                                 "t": "change",
                                 "p": "topic",
                                 "pt": "msg",
                                 "from": "/",
                                 "fromt": "str",
                                 "to": ".",
                                 "tot": "str"
                             },
                             {
                                 "t": "change",
                                 "p": "topic",
                                 "pt": "msg",
                                 "from": "zigbee\\.0\\.(.*)$",
                                 "fromt": "re",
                                 "to": "$1",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 710,
                         "y": 1740,
                         "wires": [
                             [
                                 "dbecb3d4.1d80a"
                             ]
                         ]
                     },
                     {
                         "id": "dbecb3d4.1d80a",
                         "type": "function",
                         "z": "54b226bc.0793e8",
                         "name": "Gerätenamen auslesen",
                         "func": "flow.set('zigbee.' + msg.topic + '.name',msg.payload.common.name);\n\n// return msg; \n",
                         "outputs": 1,
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 970,
                         "y": 1740,
                         "wires": [
                             [
                                 "41298ffe.872ed"
                             ]
                         ]
                     }
                  ]
                  

                  Das einmalige Einlesen in der Inject Node kannst selbst setzen.

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

                  @mickym

                  Vielen Dank!

                  Mein Problem habe ich damit auch endlich kapiert!
                  Um den Namen vom "Device" auszulesen, muss ich zigbee.0 auslesen, nicht das einzelne Device

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • S Schmetterfliege

                    @mickym

                    Vielen Dank!

                    Mein Problem habe ich damit auch endlich kapiert!
                    Um den Namen vom "Device" auszulesen, muss ich zigbee.0 auslesen, nicht das einzelne Device

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

                    @schmetterfliege Ja in dem Fall ist es wichtig - dass der Device Filter der List Node funktioniert - das war leider auch nicht immer so. Sonst bekommst nämliche mit dem Wildcard alle Datenpunkte unter zigbee.0. geliefert.

                    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 Ja in dem Fall ist es wichtig - dass der Device Filter der List Node funktioniert - das war leider auch nicht immer so. Sonst bekommst nämliche mit dem Wildcard alle Datenpunkte unter zigbee.0. geliefert.

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

                      @mickym

                      Ich habs irgendwie wieder kaputt gemacht..
                      Lassen wir mal das mit der aktualisierung weg, ich möchte nur per Knopfdruck eine Test Tabelle erstellen:
                      a19cf2b3-0f52-42c0-8cac-82cb5c582f26-image.png
                      Wenn ich da links triggere, bekomme ich die 18 Flow Variablen die ich haben möchte. Die sind auch alle korrekt, mit id, name, temp und hum.
                      Die Switch Node schaut ob ihm Namen "Multisensor" vor kommt, damit erhalte ich die 18 relevanten Sensoren.
                      Die Tabelle ist so konfiguriert:
                      be5f766a-8095-4248-bdb7-4fbf56172327-image.png
                      Aussehen tut sie aber so:
                      7f66bb10-a25e-494f-beb5-fb708326346c-image.png
                      An der Join Node sollte das nicht liegen, oder? Die sieht so aus:
                      deda2384-9d98-419a-bfae-2a1bca43abaa-image.png

                      Die Function node sieht so aus:
                      7090bcf9-0eaf-46ff-9d7c-5b500a803104-image.png

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • S Schmetterfliege

                        @mickym

                        Ich habs irgendwie wieder kaputt gemacht..
                        Lassen wir mal das mit der aktualisierung weg, ich möchte nur per Knopfdruck eine Test Tabelle erstellen:
                        a19cf2b3-0f52-42c0-8cac-82cb5c582f26-image.png
                        Wenn ich da links triggere, bekomme ich die 18 Flow Variablen die ich haben möchte. Die sind auch alle korrekt, mit id, name, temp und hum.
                        Die Switch Node schaut ob ihm Namen "Multisensor" vor kommt, damit erhalte ich die 18 relevanten Sensoren.
                        Die Tabelle ist so konfiguriert:
                        be5f766a-8095-4248-bdb7-4fbf56172327-image.png
                        Aussehen tut sie aber so:
                        7f66bb10-a25e-494f-beb5-fb708326346c-image.png
                        An der Join Node sollte das nicht liegen, oder? Die sieht so aus:
                        deda2384-9d98-419a-bfae-2a1bca43abaa-image.png

                        Die Function node sieht so aus:
                        7090bcf9-0eaf-46ff-9d7c-5b500a803104-image.png

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

                        @schmetterfliege Was hat den die Gerätenname Node in dem Flow zu suchen?

                        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 Was hat den die Gerätenname Node in dem Flow zu suchen?

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

                          @mickym

                          Der heißt nur so, mit dem setze ich doch die Flow Variablen, oder nicht?

                          mickymM 2 Antworten Letzte Antwort
                          0
                          • S Schmetterfliege

                            @mickym

                            Der heißt nur so, mit dem setze ich doch die Flow Variablen, oder nicht?

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

                            @schmetterfliege Mit der Gerätenamen Node setzt Du nur die Namen in den Objekten der Flow variablen.

                            Deswegen ist dieser Teil völlig unabhängig von den Werten und sollte mit der Tabelle gar nichts zu tun haben. Die ID wolltest Du gar nicht in der Tabelle haben und warum ist dann dies in der ui_table. Die id dient nur der internen Adressierung.

                            So und Dein Flow geht deswegen nicht, weil die split Node nichts zum aufteilen hat. Du musst ja erst die payload mit dem Inhalt der Flowvariablen füttern. ;)

                            Trenn bzw. lass mal das Namen auslesen völlig getrennt vom eigentlich Flow.

                            So sollte Dein Flow aussehen:

                            16c46fc3-e45c-4e25-a00e-055ebe08c2c7-image.png

                            und wenn Du die Ausgabe der Flow variablen testen willst - dann hängst Du eine Inject Node vor die setze msg. payload

                            Aus meiner function Node - kommt nichts raus. ;)

                            2a847cf5-e6d5-48e3-a9aa-2aee4064a7df-image.png

                            Das return.msg habe ich auskommentiert. ;)

                            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
                            • S Schmetterfliege

                              @mickym

                              Der heißt nur so, mit dem setze ich doch die Flow Variablen, oder nicht?

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

                              @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                              @mickym

                              Der heißt nur so, mit dem setze ich doch die Flow Variablen, oder nicht?

                              Wenn Du allerdings code in Deiner function Node verwendest - den ich nicht kenne - dann weiß ich es natürlich nicht. ;)

                              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 Verfügbarkeit von Sensoren über Node Red überwachen:

                                @mickym

                                Der heißt nur so, mit dem setze ich doch die Flow Variablen, oder nicht?

                                Wenn Du allerdings code in Deiner function Node verwendest - den ich nicht kenne - dann weiß ich es natürlich nicht. ;)

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

                                @mickym

                                Die Change Node vor dem Split hat gefehlt, das hat das Problem gelöst! :)

                                Wie gesagt, den Teil mit dem aktualisieren hab ich für den Test komplett weggelassen, da ich einfach nur eine neue Tabelle einmalig erzeugen wollte um zu schauen ob die sich richtig aufbaut.

                                Ich hab den eigentlichen Flow jetzt wie von dir beschrieben (bis auf die extra Test Node oben).
                                992b55f6-efd4-4966-ba65-4f07d1ce98e1-image.png

                                Das setzt die Variablen, es erstellt aber nicht automatisch die Tabelle mit den Namen.
                                Die kommt nur, wenn ich eine zweite INIT Node oben an den Change Node (wie von dir beschrieben) hänge.
                                Nur wenn NR jetzt neu startet und beide gleichzeitig triggern, dann wird die Tabelle doch auch nicht gebaut, weil er sie baut bevor die Gerätenamen da sind?

                                Mit anderen Worten:
                                13882aaf-6ce8-4e31-99ad-61a9d331bb72-image.png
                                Ich möchte, dass das rot markierte, also das was die Gerätenamen generiert, die Namen sofort in die Tabelle einträgt.
                                Aber genau das tut sie eben nicht, sondern vermutlich erst wenn mal ein Sensor ein Update macht? (oder ich manuell die change node direkt darüber triggere)

                                mickymM 2 Antworten Letzte Antwort
                                0
                                • S Schmetterfliege

                                  @mickym

                                  Die Change Node vor dem Split hat gefehlt, das hat das Problem gelöst! :)

                                  Wie gesagt, den Teil mit dem aktualisieren hab ich für den Test komplett weggelassen, da ich einfach nur eine neue Tabelle einmalig erzeugen wollte um zu schauen ob die sich richtig aufbaut.

                                  Ich hab den eigentlichen Flow jetzt wie von dir beschrieben (bis auf die extra Test Node oben).
                                  992b55f6-efd4-4966-ba65-4f07d1ce98e1-image.png

                                  Das setzt die Variablen, es erstellt aber nicht automatisch die Tabelle mit den Namen.
                                  Die kommt nur, wenn ich eine zweite INIT Node oben an den Change Node (wie von dir beschrieben) hänge.
                                  Nur wenn NR jetzt neu startet und beide gleichzeitig triggern, dann wird die Tabelle doch auch nicht gebaut, weil er sie baut bevor die Gerätenamen da sind?

                                  Mit anderen Worten:
                                  13882aaf-6ce8-4e31-99ad-61a9d331bb72-image.png
                                  Ich möchte, dass das rot markierte, also das was die Gerätenamen generiert, die Namen sofort in die Tabelle einträgt.
                                  Aber genau das tut sie eben nicht, sondern vermutlich erst wenn mal ein Sensor ein Update macht? (oder ich manuell die change node direkt darüber triggere)

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

                                  @schmetterfliege Die Init Node - hatte ich ja geschrieben - die muss halt einmalig trigger - da musst halt den Haken setzen. Dann sind die Namen doch direkt nach NR Start verfügbar. Die Werte kommen erst peu a peu, wenn Du die halt unbedingt einmalig initialisieren willst - dann musst halt noch zusätzliche list Nodes zum Auslesen benutzen.

                                  Also noch den Haken in der Init Node - dann werden die Namen sofort nach Systemstart gesetzt.

                                  ee2f6351-ba5b-4e70-90a3-625f2ce96d8c-image.png

                                  Manchmal scheine ich mich doch nicht klar auszudrücken:

                                  4b8adfdc-aa66-4ac6-a99a-12ab481850d9-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
                                  • S Schmetterfliege

                                    @mickym

                                    Die Change Node vor dem Split hat gefehlt, das hat das Problem gelöst! :)

                                    Wie gesagt, den Teil mit dem aktualisieren hab ich für den Test komplett weggelassen, da ich einfach nur eine neue Tabelle einmalig erzeugen wollte um zu schauen ob die sich richtig aufbaut.

                                    Ich hab den eigentlichen Flow jetzt wie von dir beschrieben (bis auf die extra Test Node oben).
                                    992b55f6-efd4-4966-ba65-4f07d1ce98e1-image.png

                                    Das setzt die Variablen, es erstellt aber nicht automatisch die Tabelle mit den Namen.
                                    Die kommt nur, wenn ich eine zweite INIT Node oben an den Change Node (wie von dir beschrieben) hänge.
                                    Nur wenn NR jetzt neu startet und beide gleichzeitig triggern, dann wird die Tabelle doch auch nicht gebaut, weil er sie baut bevor die Gerätenamen da sind?

                                    Mit anderen Worten:
                                    13882aaf-6ce8-4e31-99ad-61a9d331bb72-image.png
                                    Ich möchte, dass das rot markierte, also das was die Gerätenamen generiert, die Namen sofort in die Tabelle einträgt.
                                    Aber genau das tut sie eben nicht, sondern vermutlich erst wenn mal ein Sensor ein Update macht? (oder ich manuell die change node direkt darüber triggere)

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

                                    @schmetterfliege Die Namen werden aber natürlich erst gelesen wenn Du etwas getriggert ist. - wenn Du das nicht willst. Dann gibt halt aus der function Node eine Nachricht aus, wenn alles fertig ist. Das geht mit einer trigger Node.

                                    Kommentiere aus der Namens -function Node die return msg; wieder ein:

                                    1e02aa0a-7398-46ae-9b55-7c56867a6fb5-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.

                                    1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @schmetterfliege Die Init Node - hatte ich ja geschrieben - die muss halt einmalig trigger - da musst halt den Haken setzen. Dann sind die Namen doch direkt nach NR Start verfügbar. Die Werte kommen erst peu a peu, wenn Du die halt unbedingt einmalig initialisieren willst - dann musst halt noch zusätzliche list Nodes zum Auslesen benutzen.

                                      Also noch den Haken in der Init Node - dann werden die Namen sofort nach Systemstart gesetzt.

                                      ee2f6351-ba5b-4e70-90a3-625f2ce96d8c-image.png

                                      Manchmal scheine ich mich doch nicht klar auszudrücken:

                                      4b8adfdc-aa66-4ac6-a99a-12ab481850d9-image.png

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

                                      @mickym
                                      Sorry falls ich mich komplett blöd anstelle, solangsam befürchte ich es^^
                                      Ich habe (im Prinzip) schon verstanden was du meinst!
                                      Also den Haken in der Init Node habe ich nun drin.
                                      Wenn ich den Flow neu starte, habe ich in damit also sofort alle Namen verfügbar.
                                      Die Tabelle ist aber leer.
                                      Die ist erst da, wenn irgendein Sensor nun einen Wert aktualisiert.
                                      => Das ist das, was du für mich aufgebaut hast.

                                      Genau das - das kursive - möchte ich nun verkürzen indem die Namen nicht nur sofort verfügbar sein sollen, sondern auch sofort in der Tabelle stehen.
                                      Das habe ich gerade die ganze Zeit durch meine Tests versucht^^

                                      Wenn ich jetzt deine letzte Nachricht richtig interpretiere, müsste ich den Flow also so anpassen:
                                      56bc21d1-8859-4e75-b31b-8bb58ff1f531-image.png
                                      Also die Function node mit der Change Node verbinden, und in der Function meine msg ausgeben.
                                      Oder muss ich die beiden Nodes nicht miteinander verbinden?

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • S Schmetterfliege

                                        @mickym
                                        Sorry falls ich mich komplett blöd anstelle, solangsam befürchte ich es^^
                                        Ich habe (im Prinzip) schon verstanden was du meinst!
                                        Also den Haken in der Init Node habe ich nun drin.
                                        Wenn ich den Flow neu starte, habe ich in damit also sofort alle Namen verfügbar.
                                        Die Tabelle ist aber leer.
                                        Die ist erst da, wenn irgendein Sensor nun einen Wert aktualisiert.
                                        => Das ist das, was du für mich aufgebaut hast.

                                        Genau das - das kursive - möchte ich nun verkürzen indem die Namen nicht nur sofort verfügbar sein sollen, sondern auch sofort in der Tabelle stehen.
                                        Das habe ich gerade die ganze Zeit durch meine Tests versucht^^

                                        Wenn ich jetzt deine letzte Nachricht richtig interpretiere, müsste ich den Flow also so anpassen:
                                        56bc21d1-8859-4e75-b31b-8bb58ff1f531-image.png
                                        Also die Function node mit der Change Node verbinden, und in der Function meine msg ausgeben.
                                        Oder muss ich die beiden Nodes nicht miteinander verbinden?

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

                                        @schmetterfliege Ja

                                        3981d44d-4ffb-4861-b835-2aca7ddd35dd-image.png

                                        und dazwischen hängst eine trigger Node - damit nur die letzte Nachricht triggert - sprich alles fertig ist:

                                        7bf9f904-4a1a-42dd-a852-2b962762dce6-image.png

                                        Irgendwann wirst Du Node Red schon noch lieben - ist doch alles super easy wie man vorhandenes einfach miteinander verkabeln kann, um den individuellen Wünschen gerecht zu werden. ;) ;) ;)

                                        Übrigens nutzte selbst halt Debug Nodes soviel Du kannst um immer zu sehen, was passiert - also müsste aus der trigger Node nur eine Nachricht anstelle von 18 rauskommen. ;)

                                        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 Ja

                                          3981d44d-4ffb-4861-b835-2aca7ddd35dd-image.png

                                          und dazwischen hängst eine trigger Node - damit nur die letzte Nachricht triggert - sprich alles fertig ist:

                                          7bf9f904-4a1a-42dd-a852-2b962762dce6-image.png

                                          Irgendwann wirst Du Node Red schon noch lieben - ist doch alles super easy wie man vorhandenes einfach miteinander verkabeln kann, um den individuellen Wünschen gerecht zu werden. ;) ;) ;)

                                          Übrigens nutzte selbst halt Debug Nodes soviel Du kannst um immer zu sehen, was passiert - also müsste aus der trigger Node nur eine Nachricht anstelle von 18 rauskommen. ;)

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

                                          @mickym

                                          Ich liebe NR!
                                          Es nervt bloß dass ich so viel Hilfe brauche und mich doof anstelle :D.
                                          Meinem Spaß an NR tut das keinen Abbruch, im Gegenteil!

                                          Mit dem Trigger hat es nun geklappt, vielen Dank!

                                          Bitte hasse mich nicht:
                                          Nun müsste ich den Flow noch anpassen dass er mir nur die richtigen Sensoren beim aktualisieren liefert.
                                          Hier zur Veranschaulichung:
                                          cba4a77b-4b6c-4a87-ab99-37f364f76b5d-image.png
                                          Der obere Teil - also da wo die Aktualisierungen kommen - liefert mir Daten von 22 Sensoren. 18 die ich will, 2 Sensoren die nicht Konfiguriert sind, und 2 Motion Sensoren die dummerweiße auch einen Temp Sensor haben...
                                          Der untere Teil, also da wo ich die Namen auslesen, spuckt eigentlich 32 Sensoren aus (weil 32 Zigbee Devices).
                                          Über die Switch Node hole ich mir die 18 die ich brauche (haben alle "Multisensor" im Namen) raus.
                                          Das klappt.
                                          Nun muss ich den oberen Teil so anpassen, dass ich auch nur die Daten von den 18 Sensoren bekomme.
                                          Ansonsten habe ich 4 Einträge in der Tabelle, die keinen Namen haben (von den unkonfigurierten und von den motion sensoren).

                                          Was ich tun würde:
                                          Mit einer Switch Node VOR den Function Nodes checken ob das was ich bekomme ein bestimmtes Topic hat (die IDs von den Sensoren). Sprich: 18 Outputs, wo ich die 18 die ich brauche raussuche und jeweils einem Output zuweise.
                                          Mit den anderen 4 würde dann nichts passieren, weil die nicht in die Funktionen kommen.
                                          Zur Veranschaulichtung würde das dann so aussehen:
                                          21e3c788-8c29-4255-ad8f-b1877a4f6d5d-image.png
                                          Die 18 outputs gehen dann alle in die Funktion Nodes jeweils.

                                          Alternativ könnte ich auch - statt mir die 18 rauszusuchen die ich möchte - die 4 raussuchen die ich NICHT möchte, und den Output dann nicht verwenden.
                                          So:
                                          ee40af29-035c-47c1-b970-1341767cf1da-image.png
                                          Da würde dann output1-4 nichts machen, und output 5 hänge ich dann an die Funktion Nodes.
                                          Aber ich nehme an das ist nicht gerade die beste Lösung?

                                          mickymM 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

                                          622

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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