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
    491

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • 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

    ich hab 2 Tabs mit dem iobroker offen.
    in dem anderen Tab steht das richtige drin:
    fd22a84d-740e-4f4e-b30c-e2fa2929e5d1-image.png

    Der Tab mit dem ich aber gerade die ganze Zeit gearbeitet habe, hat scheinbar teilweise mit dem Chrome Cache gearbeitet... kenne ich so sonst nur von unserem Produkt aus der Firma xD

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #73

    @schmetterfliege Ja browser cache

    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.

    mickymM 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @schmetterfliege Ja browser cache

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #74

      @mickym So - habs nun - ich musste mich trotzdem erst wieder kurz eindenken:

      2ba450b2-35cd-47d2-aece-8ef01d80f6b1-image.png

      Wie gesagt - aber das mach ich heute nicht mehr - da muss ich erst selbst fitter werden ist - dass man mit einzelnen Nachrichten - einzelne Zellen mit dem update Kommando erneuern kann.

      Im Moment mache ich es über eine Flow Variable - mit einem Objekt, dass ich erst in Array aufsplitte.

      In der Flow Variblen siehst Du das ich das topic als id verwendet habe - das ist für die ui_table wichtig um die Zeilen zu identifizieren.

      b95c2c56-7b92-4710-af1f-c88df0cc9c96-image.png

      Der Flow schaut soweit erst mal so aus;

      41aab264-c34c-40b6-9a3c-b003ca6e7a74-image.png

      [
         {
             "id": "cc759e5b.10783",
             "type": "function",
             "z": "54b226bc.0793e8",
             "name": "temperature",
             "func": "flow.set('sensors.' + msg.topic + '.temperature',msg.payload);\nflow.set('sensors.' + msg.topic + '.id',msg.topic);\nreturn msg; \n",
             "outputs": 1,
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 850,
             "y": 1180,
             "wires": [
                 [
                     "9bef3fbe.ebd2a"
                 ]
             ]
         },
         {
             "id": "b7798c51.163dd",
             "type": "function",
             "z": "54b226bc.0793e8",
             "name": "humidity",
             "func": "flow.set('sensors.' + msg.topic + '.humidity',msg.payload);\nflow.set('sensors.' + msg.topic + '.id',msg.topic);\nreturn msg; \n",
             "outputs": 1,
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 840,
             "y": 1260,
             "wires": [
                 [
                     "9bef3fbe.ebd2a"
                 ]
             ]
         },
         {
             "id": "fc9f5b13.5ba148",
             "type": "ioBroker in",
             "z": "54b226bc.0793e8",
             "name": "",
             "topic": "0_userdata.0.Test.*.temperature",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "false",
             "x": 370,
             "y": 1180,
             "wires": [
                 [
                     "a8baf3b.67d8e1"
                 ]
             ]
         },
         {
             "id": "11444ce1.6049e3",
             "type": "ioBroker in",
             "z": "54b226bc.0793e8",
             "name": "",
             "topic": "0_userdata.0.Test.*.humidity",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "false",
             "x": 380,
             "y": 1260,
             "wires": [
                 [
                     "f4aa9ef3.f20a9"
                 ]
             ]
         },
         {
             "id": "cad7ae94.da0f1",
             "type": "debug",
             "z": "54b226bc.0793e8",
             "name": "",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "false",
             "statusVal": "",
             "statusType": "auto",
             "x": 1290,
             "y": 1120,
             "wires": []
         },
         {
             "id": "a8baf3b.67d8e1",
             "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": "0_userdata\\.0\\.Test\\.(.*)\\.temperature",
                     "fromt": "re",
                     "to": "$1",
                     "tot": "str"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 650,
             "y": 1180,
             "wires": [
                 [
                     "cc759e5b.10783"
                 ]
             ]
         },
         {
             "id": "f4aa9ef3.f20a9",
             "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": "0_userdata\\.0\\.Test\\.(.*)\\.humidity",
                     "fromt": "re",
                     "to": "$1",
                     "tot": "str"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 650,
             "y": 1260,
             "wires": [
                 [
                     "b7798c51.163dd"
                 ]
             ]
         },
         {
             "id": "4278d7fb.417cd8",
             "type": "ui_table",
             "z": "54b226bc.0793e8",
             "group": "744968de.91c328",
             "name": "",
             "order": 0,
             "width": 0,
             "height": 0,
             "columns": [
                 {
                     "field": "id",
                     "title": "Name",
                     "width": "",
                     "align": "left",
                     "formatter": "plaintext",
                     "formatterParams": {
                         "target": "_blank"
                     }
                 },
                 {
                     "field": "temperature",
                     "title": "Temperatur",
                     "width": "",
                     "align": "left",
                     "formatter": "plaintext",
                     "formatterParams": {
                         "target": "_blank"
                     }
                 },
                 {
                     "field": "humidity",
                     "title": "Luftfeuchtigkeit",
                     "width": "",
                     "align": "left",
                     "formatter": "plaintext",
                     "formatterParams": {
                         "target": "_blank"
                     }
                 }
             ],
             "outputs": 0,
             "cts": false,
             "x": 1550,
             "y": 1220,
             "wires": []
         },
         {
             "id": "9bef3fbe.ebd2a",
             "type": "change",
             "z": "54b226bc.0793e8",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "sensors",
                     "tot": "flow"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1050,
             "y": 1220,
             "wires": [
                 [
                     "cad7ae94.da0f1",
                     "272c9f31.52de3"
                 ]
             ]
         },
         {
             "id": "272c9f31.52de3",
             "type": "split",
             "z": "54b226bc.0793e8",
             "name": "",
             "splt": "\\n",
             "spltType": "str",
             "arraySplt": 1,
             "arraySpltType": "len",
             "stream": false,
             "addname": "",
             "x": 1240,
             "y": 1220,
             "wires": [
                 [
                     "3507c285.f518fe"
                 ]
             ]
         },
         {
             "id": "3507c285.f518fe",
             "type": "join",
             "z": "54b226bc.0793e8",
             "name": "",
             "mode": "custom",
             "build": "array",
             "property": "payload",
             "propertyType": "msg",
             "key": "topic",
             "joiner": "\\n",
             "joinerType": "str",
             "accumulate": false,
             "timeout": "",
             "count": "2",
             "reduceRight": false,
             "reduceExp": "",
             "reduceInit": "",
             "reduceInitType": "",
             "reduceFixup": "",
             "x": 1390,
             "y": 1220,
             "wires": [
                 [
                     "4278d7fb.417cd8"
                 ]
             ]
         },
         {
             "id": "744968de.91c328",
             "type": "ui_group",
             "name": "Tabelle ui_table",
             "tab": "2ce144dc.d7472c",
             "order": 6,
             "disp": true,
             "width": "10",
             "collapse": false,
             "className": ""
         },
         {
             "id": "2ce144dc.d7472c",
             "type": "ui_tab",
             "name": "test",
             "icon": "dashboard",
             "order": 17,
             "disabled": false,
             "hidden": false
         }
      ]
      

      Habs zumindest getestet - das Änderungen in die Tabelle übernommen werden.

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

      S 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @mickym So - habs nun - ich musste mich trotzdem erst wieder kurz eindenken:

        2ba450b2-35cd-47d2-aece-8ef01d80f6b1-image.png

        Wie gesagt - aber das mach ich heute nicht mehr - da muss ich erst selbst fitter werden ist - dass man mit einzelnen Nachrichten - einzelne Zellen mit dem update Kommando erneuern kann.

        Im Moment mache ich es über eine Flow Variable - mit einem Objekt, dass ich erst in Array aufsplitte.

        In der Flow Variblen siehst Du das ich das topic als id verwendet habe - das ist für die ui_table wichtig um die Zeilen zu identifizieren.

        b95c2c56-7b92-4710-af1f-c88df0cc9c96-image.png

        Der Flow schaut soweit erst mal so aus;

        41aab264-c34c-40b6-9a3c-b003ca6e7a74-image.png

        [
           {
               "id": "cc759e5b.10783",
               "type": "function",
               "z": "54b226bc.0793e8",
               "name": "temperature",
               "func": "flow.set('sensors.' + msg.topic + '.temperature',msg.payload);\nflow.set('sensors.' + msg.topic + '.id',msg.topic);\nreturn msg; \n",
               "outputs": 1,
               "noerr": 0,
               "initialize": "",
               "finalize": "",
               "libs": [],
               "x": 850,
               "y": 1180,
               "wires": [
                   [
                       "9bef3fbe.ebd2a"
                   ]
               ]
           },
           {
               "id": "b7798c51.163dd",
               "type": "function",
               "z": "54b226bc.0793e8",
               "name": "humidity",
               "func": "flow.set('sensors.' + msg.topic + '.humidity',msg.payload);\nflow.set('sensors.' + msg.topic + '.id',msg.topic);\nreturn msg; \n",
               "outputs": 1,
               "noerr": 0,
               "initialize": "",
               "finalize": "",
               "libs": [],
               "x": 840,
               "y": 1260,
               "wires": [
                   [
                       "9bef3fbe.ebd2a"
                   ]
               ]
           },
           {
               "id": "fc9f5b13.5ba148",
               "type": "ioBroker in",
               "z": "54b226bc.0793e8",
               "name": "",
               "topic": "0_userdata.0.Test.*.temperature",
               "payloadType": "value",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "false",
               "x": 370,
               "y": 1180,
               "wires": [
                   [
                       "a8baf3b.67d8e1"
                   ]
               ]
           },
           {
               "id": "11444ce1.6049e3",
               "type": "ioBroker in",
               "z": "54b226bc.0793e8",
               "name": "",
               "topic": "0_userdata.0.Test.*.humidity",
               "payloadType": "value",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "false",
               "x": 380,
               "y": 1260,
               "wires": [
                   [
                       "f4aa9ef3.f20a9"
                   ]
               ]
           },
           {
               "id": "cad7ae94.da0f1",
               "type": "debug",
               "z": "54b226bc.0793e8",
               "name": "",
               "active": false,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "false",
               "statusVal": "",
               "statusType": "auto",
               "x": 1290,
               "y": 1120,
               "wires": []
           },
           {
               "id": "a8baf3b.67d8e1",
               "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": "0_userdata\\.0\\.Test\\.(.*)\\.temperature",
                       "fromt": "re",
                       "to": "$1",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 650,
               "y": 1180,
               "wires": [
                   [
                       "cc759e5b.10783"
                   ]
               ]
           },
           {
               "id": "f4aa9ef3.f20a9",
               "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": "0_userdata\\.0\\.Test\\.(.*)\\.humidity",
                       "fromt": "re",
                       "to": "$1",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 650,
               "y": 1260,
               "wires": [
                   [
                       "b7798c51.163dd"
                   ]
               ]
           },
           {
               "id": "4278d7fb.417cd8",
               "type": "ui_table",
               "z": "54b226bc.0793e8",
               "group": "744968de.91c328",
               "name": "",
               "order": 0,
               "width": 0,
               "height": 0,
               "columns": [
                   {
                       "field": "id",
                       "title": "Name",
                       "width": "",
                       "align": "left",
                       "formatter": "plaintext",
                       "formatterParams": {
                           "target": "_blank"
                       }
                   },
                   {
                       "field": "temperature",
                       "title": "Temperatur",
                       "width": "",
                       "align": "left",
                       "formatter": "plaintext",
                       "formatterParams": {
                           "target": "_blank"
                       }
                   },
                   {
                       "field": "humidity",
                       "title": "Luftfeuchtigkeit",
                       "width": "",
                       "align": "left",
                       "formatter": "plaintext",
                       "formatterParams": {
                           "target": "_blank"
                       }
                   }
               ],
               "outputs": 0,
               "cts": false,
               "x": 1550,
               "y": 1220,
               "wires": []
           },
           {
               "id": "9bef3fbe.ebd2a",
               "type": "change",
               "z": "54b226bc.0793e8",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "sensors",
                       "tot": "flow"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1050,
               "y": 1220,
               "wires": [
                   [
                       "cad7ae94.da0f1",
                       "272c9f31.52de3"
                   ]
               ]
           },
           {
               "id": "272c9f31.52de3",
               "type": "split",
               "z": "54b226bc.0793e8",
               "name": "",
               "splt": "\\n",
               "spltType": "str",
               "arraySplt": 1,
               "arraySpltType": "len",
               "stream": false,
               "addname": "",
               "x": 1240,
               "y": 1220,
               "wires": [
                   [
                       "3507c285.f518fe"
                   ]
               ]
           },
           {
               "id": "3507c285.f518fe",
               "type": "join",
               "z": "54b226bc.0793e8",
               "name": "",
               "mode": "custom",
               "build": "array",
               "property": "payload",
               "propertyType": "msg",
               "key": "topic",
               "joiner": "\\n",
               "joinerType": "str",
               "accumulate": false,
               "timeout": "",
               "count": "2",
               "reduceRight": false,
               "reduceExp": "",
               "reduceInit": "",
               "reduceInitType": "",
               "reduceFixup": "",
               "x": 1390,
               "y": 1220,
               "wires": [
                   [
                       "4278d7fb.417cd8"
                   ]
               ]
           },
           {
               "id": "744968de.91c328",
               "type": "ui_group",
               "name": "Tabelle ui_table",
               "tab": "2ce144dc.d7472c",
               "order": 6,
               "disp": true,
               "width": "10",
               "collapse": false,
               "className": ""
           },
           {
               "id": "2ce144dc.d7472c",
               "type": "ui_tab",
               "name": "test",
               "icon": "dashboard",
               "order": 17,
               "disabled": false,
               "hidden": false
           }
        ]
        

        Habs zumindest getestet - das Änderungen in die Tabelle übernommen werden.

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

        @mickym

        Funktioniert bei mir auch wunderbar!

        Allein daraus kann ich wieder so viel lernen, dass ich mich schon schlecht fühle weil du so viel für mich tust! :D
        Wirklich vielen lieben Dank!

        Ich versuche mich da mal reinzufuchsen und das dann auszubauen und mit meinen richtigen Werten zu füttern

        mickymM 1 Antwort Letzte Antwort
        0
        • S Schmetterfliege

          @mickym

          Funktioniert bei mir auch wunderbar!

          Allein daraus kann ich wieder so viel lernen, dass ich mich schon schlecht fühle weil du so viel für mich tust! :D
          Wirklich vielen lieben Dank!

          Ich versuche mich da mal reinzufuchsen und das dann auszubauen und mit meinen richtigen Werten zu füttern

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #76

          @schmetterfliege Ja wie gesagt - die ui_table ist ein Thema was ich noch vor mir habe. Ich habe Dir ja mal einen Link dazu geschickt. Was Du an Dokumentation siehst - ist wenn Du Dir mal das Beispiel importierst, dass die Node mitliefert. ;)

          Ich schick Dir gleich noch mal paar Links - das man sieht was in der Node eigentlich steckt

          Das sind die Beispiele wenn Du die importiert hast:

          3dfb3a89-f914-4dd3-a22c-c125da82a7a1-image.png

          und dieser Mensch - der ist im NR Forum aktiv - hat das zur Perfektion gebracht: https://github.com/Christian-Me/remote-device-table

          Seitdem habe ich mir auch mal die Popup - Node installiert - aber wie gesagt - da bin ich noch blutiger Anfänger.

          Aber gerade als NodeRed user ist man hier sowieso in der Minderheit und das Dashboard ist ja vielen viel zu einfach gestrickt und die meisten arbeiten hier ja mit vis - aber da steckt schon auch einiges drin. Ich hab mal die ganzen Steelseries mal in das Dashboard integriert. ;)

          https://forum.iobroker.net/topic/45357/steelseries-widgets-im-nodered-dashboard-nutzen

          Hast sicher schon gesehen, wenn Du meine Themen im Profil angeschaut hast. ;)

          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 wie gesagt - die ui_table ist ein Thema was ich noch vor mir habe. Ich habe Dir ja mal einen Link dazu geschickt. Was Du an Dokumentation siehst - ist wenn Du Dir mal das Beispiel importierst, dass die Node mitliefert. ;)

            Ich schick Dir gleich noch mal paar Links - das man sieht was in der Node eigentlich steckt

            Das sind die Beispiele wenn Du die importiert hast:

            3dfb3a89-f914-4dd3-a22c-c125da82a7a1-image.png

            und dieser Mensch - der ist im NR Forum aktiv - hat das zur Perfektion gebracht: https://github.com/Christian-Me/remote-device-table

            Seitdem habe ich mir auch mal die Popup - Node installiert - aber wie gesagt - da bin ich noch blutiger Anfänger.

            Aber gerade als NodeRed user ist man hier sowieso in der Minderheit und das Dashboard ist ja vielen viel zu einfach gestrickt und die meisten arbeiten hier ja mit vis - aber da steckt schon auch einiges drin. Ich hab mal die ganzen Steelseries mal in das Dashboard integriert. ;)

            https://forum.iobroker.net/topic/45357/steelseries-widgets-im-nodered-dashboard-nutzen

            Hast sicher schon gesehen, wenn Du meine Themen im Profil angeschaut hast. ;)

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

            @mickym

            Alter Verwalter, ist das Crazy!
            Wenn ich das irgendwann auch nur ansatzweise hinbekomme wie er, mach' ich 3 Kreuze.

            Hatte selbst am Anfang VIS genutzt, wollte dann aber mal Node Red probieren weil es irgendwie mächtiger und schöner wirkte (vorallem das Verbinden der Nodes hat mich visuell gecatcht).
            Und nu hab ich alles an Skripten und Visualisierung in Node Red umgezogen (außer ein Skript das meine Tado Thermostate ausschalten wenn die Fenster auf gehen, und wieder in den gleichen Zustand versetzt wenn die Fenster zu gehen. Da müsste ich mich vorher mal anständig mit den (Flow)variablen auseinandersetzen^^)

            Dein Thread sieht super interessant aus, ich glaube da sitze ich demnächst mal ein paar Stunden dran :P

            mickymM 2 Antworten Letzte Antwort
            0
            • S Schmetterfliege

              @mickym

              Alter Verwalter, ist das Crazy!
              Wenn ich das irgendwann auch nur ansatzweise hinbekomme wie er, mach' ich 3 Kreuze.

              Hatte selbst am Anfang VIS genutzt, wollte dann aber mal Node Red probieren weil es irgendwie mächtiger und schöner wirkte (vorallem das Verbinden der Nodes hat mich visuell gecatcht).
              Und nu hab ich alles an Skripten und Visualisierung in Node Red umgezogen (außer ein Skript das meine Tado Thermostate ausschalten wenn die Fenster auf gehen, und wieder in den gleichen Zustand versetzt wenn die Fenster zu gehen. Da müsste ich mich vorher mal anständig mit den (Flow)variablen auseinandersetzen^^)

              Dein Thread sieht super interessant aus, ich glaube da sitze ich demnächst mal ein paar Stunden dran :P

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #78

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

              @mickym

              Alter Verwalter, ist das Crazy!
              Wenn ich das irgendwann auch nur ansatzweise hinbekomme wie er, mach' ich 3 Kreuze

              Na er schrieb ja, dass er da ein paar Monate dran gesessen ist - also das ist dann schon die hohe Kunst. ;)

              Aber er nutzt zuviele function Nodes - und da bin ich ja strikter Gegner von, da es den Sinn von Node Red kaputt macht. Du kannst ja Deine ganzen Flows in eine Function Node packen - und gerade im iobroker kannst dann gleich Javascript programmieren. ;)

              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

                Alter Verwalter, ist das Crazy!
                Wenn ich das irgendwann auch nur ansatzweise hinbekomme wie er, mach' ich 3 Kreuze.

                Hatte selbst am Anfang VIS genutzt, wollte dann aber mal Node Red probieren weil es irgendwie mächtiger und schöner wirkte (vorallem das Verbinden der Nodes hat mich visuell gecatcht).
                Und nu hab ich alles an Skripten und Visualisierung in Node Red umgezogen (außer ein Skript das meine Tado Thermostate ausschalten wenn die Fenster auf gehen, und wieder in den gleichen Zustand versetzt wenn die Fenster zu gehen. Da müsste ich mich vorher mal anständig mit den (Flow)variablen auseinandersetzen^^)

                Dein Thread sieht super interessant aus, ich glaube da sitze ich demnächst mal ein paar Stunden dran :P

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #79

                @schmetterfliege Wie gesagt schau einfach mal in mein Profil - vielleicht findest in den Themen ja was brauchbares. Mein letzter war ja die Datum und Zeitverarbeitung mit der moment Bibliotheken und out of the box Mitteln - also keine Nodes installieren. ;)

                Morgen probiere ich mal die FlipFlop Uhr ins Dashboard zu bringen. ;)

                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 Wie gesagt schau einfach mal in mein Profil - vielleicht findest in den Themen ja was brauchbares. Mein letzter war ja die Datum und Zeitverarbeitung mit der moment Bibliotheken und out of the box Mitteln - also keine Nodes installieren. ;)

                  Morgen probiere ich mal die FlipFlop Uhr ins Dashboard zu bringen. ;)

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

                  @mickym

                  Werde ich definitiv tun!
                  Die Zeitstempel zu verarbeiten ist sowieso noch auf der Todo Liste, damit ich auch darüber sehen kann von wann die Temperaturen sind und so ggf. auch zu sehen wenn einer nichts mehr meldet etc.

                  Übrigens: Heureka!
                  943fe338-3026-4c06-a4cc-191e21201491-image.png

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • S Schmetterfliege

                    @mickym

                    Werde ich definitiv tun!
                    Die Zeitstempel zu verarbeiten ist sowieso noch auf der Todo Liste, damit ich auch darüber sehen kann von wann die Temperaturen sind und so ggf. auch zu sehen wenn einer nichts mehr meldet etc.

                    Übrigens: Heureka!
                    943fe338-3026-4c06-a4cc-191e21201491-image.png

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #81

                    @schmetterfliege Na Glückwunsch :) - Ich finde es übrigens gut - wenn die Tabelle erst gefüllt ist, wenn alles aktuell gemeldet wurde. Du musst übrigens nicht alle Eigenschaften des Array einbinden. Die ID - könntest Du also nicht anzeigen lassen - brauchst aber intern - und nur übersetzte Namen. Dazu kannst Dir ja einen Datenpunkt mit einem JSON String basteln, der Dir die Gerätekennungen in sprechende Namen übersetzt.

                    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 Glückwunsch :) - Ich finde es übrigens gut - wenn die Tabelle erst gefüllt ist, wenn alles aktuell gemeldet wurde. Du musst übrigens nicht alle Eigenschaften des Array einbinden. Die ID - könntest Du also nicht anzeigen lassen - brauchst aber intern - und nur übersetzte Namen. Dazu kannst Dir ja einen Datenpunkt mit einem JSON String basteln, der Dir die Gerätekennungen in sprechende Namen übersetzt.

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

                      @mickym

                      Wie mache ich das, dass die nur aktualisiert wenn alle Werte da sind?
                      Ich hab zumindest rausgefunden dass ich die join node von 2 auf 18 Nachrichten setzen musste :D

                      Hab aber irgendwie das Gefühl dass wenn ein Humidity Wert der fehlt dazu kommt, ein anderer verschwindet.
                      Aber das wirkt whsl nur so, weil sich beim aktualisieren die ganze Tabelle kurz ändert^^
                      EDIT: da verschwinden tatsächlich ab und zu humidity werte! :O

                      mickymM 2 Antworten Letzte Antwort
                      0
                      • S Schmetterfliege

                        @mickym

                        Wie mache ich das, dass die nur aktualisiert wenn alle Werte da sind?
                        Ich hab zumindest rausgefunden dass ich die join node von 2 auf 18 Nachrichten setzen musste :D

                        Hab aber irgendwie das Gefühl dass wenn ein Humidity Wert der fehlt dazu kommt, ein anderer verschwindet.
                        Aber das wirkt whsl nur so, weil sich beim aktualisieren die ganze Tabelle kurz ändert^^
                        EDIT: da verschwinden tatsächlich ab und zu humidity werte! :O

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #83

                        @schmetterfliege Wie gesagt ich würde es nicht machen - sonst kannst es ja wieder mit list NOde einmalig aktualisieren

                        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 Wie gesagt ich würde es nicht machen - sonst kannst es ja wieder mit list NOde einmalig aktualisieren

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

                          @mickym

                          "Ich finde es übrigens gut - wenn die Tabelle erst gefüllt ist, wenn alles aktuell gemeldet wurde"
                          -> darunter habe ich jetzt verstanden, dass du es so machen würdest^^

                          1 Antwort Letzte Antwort
                          0
                          • S Schmetterfliege

                            @mickym

                            Wie mache ich das, dass die nur aktualisiert wenn alle Werte da sind?
                            Ich hab zumindest rausgefunden dass ich die join node von 2 auf 18 Nachrichten setzen musste :D

                            Hab aber irgendwie das Gefühl dass wenn ein Humidity Wert der fehlt dazu kommt, ein anderer verschwindet.
                            Aber das wirkt whsl nur so, weil sich beim aktualisieren die ganze Tabelle kurz ändert^^
                            EDIT: da verschwinden tatsächlich ab und zu humidity werte! :O

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #85

                            @schmetterfliege Wenn vorhandene Werte verschwinden - schau mal ob alle Werte in der Flow variablen drin sind

                            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 Wenn vorhandene Werte verschwinden - schau mal ob alle Werte in der Flow variablen drin sind

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

                              @mickym

                              Hab das Problem bzw. die Probleme gefunden:

                              1. ich habe 20 Temperatur Sensoren - 2 haben nur noch keinen Platz in der Wohnung gefunden und sind damit obsolet.
                                Muss also von 18 auf 20 ändern.
                              2. Ich habe 2 Motion Sensoren von Aqara - die Dinger haben scheinbar auch einen Temperatur Sensor oO (finde dazu nix auf Google).
                                Allerdings keinen Humidty Wert.

                              Aktuelle Lösung: Join Node von18 auf 22 ändern, dann haben ich halt 2 Einträge ohne Humidity

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • S Schmetterfliege

                                @mickym

                                Hab das Problem bzw. die Probleme gefunden:

                                1. ich habe 20 Temperatur Sensoren - 2 haben nur noch keinen Platz in der Wohnung gefunden und sind damit obsolet.
                                  Muss also von 18 auf 20 ändern.
                                2. Ich habe 2 Motion Sensoren von Aqara - die Dinger haben scheinbar auch einen Temperatur Sensor oO (finde dazu nix auf Google).
                                  Allerdings keinen Humidty Wert.

                                Aktuelle Lösung: Join Node von18 auf 22 ändern, dann haben ich halt 2 Einträge ohne Humidity

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #87

                                @schmetterfliege FlipFlop Uhr funzt auch. ;)

                                FlipFlopUhr in NR Dashboard.mp4

                                881faea2-e8ea-4175-be04-7ef14168126d-image.png

                                Funktioniert aber nicht richtig - da das Script anscheinend angehalten wird, wenn die SEite im Hintergrund ist.

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

                                S 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @schmetterfliege FlipFlop Uhr funzt auch. ;)

                                  FlipFlopUhr in NR Dashboard.mp4

                                  881faea2-e8ea-4175-be04-7ef14168126d-image.png

                                  Funktioniert aber nicht richtig - da das Script anscheinend angehalten wird, wenn die SEite im Hintergrund ist.

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

                                  @mickym

                                  Macht die auch diesen typischen Sound wenn man so eine Zahl flippt? Das wäre cool haha

                                  Nochmal eine ganz kurze Verständnisfrage zu der ui-table:
                                  52c768e8-2214-426a-9a9a-f89b6d167c30-image.png
                                  Die change node setzt ja den Payload auf die flow-variablen.
                                  Wieso wird das Array erst aufgesplittet und dann wieder gesammelt?
                                  So müssen ja quasi immer 22 Variablen da sein, bevor er die Tabelle aufbaut (wenn man Join auf 22 Nachrichten setzt).
                                  Wenn also die Flow Variablen mal weg waren, dauert es je nachdem über eine Stunde bis alle Sensoren mal einen Wert geliefert haben und ich 22 Flow Variablen habe.
                                  Sind Split+Join wirklich nötig? Wenn ja, wieso?

                                  F mickymM 2 Antworten Letzte Antwort
                                  0
                                  • S Schmetterfliege

                                    @mickym

                                    Macht die auch diesen typischen Sound wenn man so eine Zahl flippt? Das wäre cool haha

                                    Nochmal eine ganz kurze Verständnisfrage zu der ui-table:
                                    52c768e8-2214-426a-9a9a-f89b6d167c30-image.png
                                    Die change node setzt ja den Payload auf die flow-variablen.
                                    Wieso wird das Array erst aufgesplittet und dann wieder gesammelt?
                                    So müssen ja quasi immer 22 Variablen da sein, bevor er die Tabelle aufbaut (wenn man Join auf 22 Nachrichten setzt).
                                    Wenn also die Flow Variablen mal weg waren, dauert es je nachdem über eine Stunde bis alle Sensoren mal einen Wert geliefert haben und ich 22 Flow Variablen habe.
                                    Sind Split+Join wirklich nötig? Wenn ja, wieso?

                                    F Offline
                                    F Offline
                                    frankyboy73
                                    schrieb am zuletzt editiert von frankyboy73
                                    #89

                                    @schmetterfliege Hi, du hast in der Flow Variable kein Array sondern Objekte, die werden dann gesplittet und in der Join zu einem Array zusammengefasst, da die table Node ein Array braucht.
                                    Wann sollen die Flow Variablen denn mal weg sein? Das passiert doch eigentlich nur wenn du Node Red neu startest. Ok, dann müsstest du allerdings auf alle Nachrichten warten. Du könntest die Nachrichtenanzahl für die erste Ausgabe in der Join Node auch runtersetzen und die Tabelle würde sich dann nach und nach füllen, aber ich glaube dann kriegst du das Problem das sich die Reihenfolge in der Tabelle ständig ändert, ist auf jeden Fall bei der Template Node so, die ich zur Tabellenausgabe nutze.
                                    Edit: Probier doch einfach mal etwas rum, kaputt machen kann man da nichts. Eventuell ne Kopie vom Flow machen, dann hast du immer noch den originalen zur Verfügung.
                                    Da kennt @mickym sich aber besser aus.
                                    Wen du nicht auf alle Nachrichten warten willst,per Push über die Iobroker In Node, sondern sofort ne Ausgabe haben willst, müsstest du pollen, per Injekt und Listen Node. Da ist aber wieder das Problem das du die Werte nur zu einem bestimmten Zeitintervall abfragst und sie dann nicht so aktuell sind. Wobei das wohl bei Temperaturen und Luftfeuchtigkeit nicht so schlimm wäre, die ändern sich ja eigentlich nicht so schnell.

                                    Schöne Grüße Frank

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Schmetterfliege
                                      schrieb am zuletzt editiert von Schmetterfliege
                                      #90

                                      @frankyboy73

                                      Vielen Dank für deine Rückmeldung!

                                      Ah okay, dachte da wäre ein Array drin, weil ich das Objekt ja aufklappen kann:
                                      074f4468-e756-479f-85f6-d414b6a6608c-image.png

                                      Aber wenn das kein Array ist, ist die Sache ja klar! :)

                                      Das Problem wenn ich die JOIN Node zb auf 2 setze statt 22 ist, dass ich dann immer nur 2 Zeilen in der Tabelle habe. Und immer wenn ein Sensor einen Wert aktualisiert, wird eine der Zeilen durch diesen getauscht.
                                      Um also 22 Zeilen in der Tabelle haben zu können, muss ich in der Join Node 22 eintragen.
                                      Außer ich bin doof und verstehe da etwas nicht haha

                                      Idee:
                                      Könnte ich nicht mit einer INIT Node schon mal alle Flow Variablen anlegen, sodass falls NR neu startet, ich auf jeden Fall direkt 22 Variablen habe, die dann eben nach und nach aktualisiert werden? Oder ist das Quatsch?

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • S Schmetterfliege

                                        @mickym

                                        Macht die auch diesen typischen Sound wenn man so eine Zahl flippt? Das wäre cool haha

                                        Nochmal eine ganz kurze Verständnisfrage zu der ui-table:
                                        52c768e8-2214-426a-9a9a-f89b6d167c30-image.png
                                        Die change node setzt ja den Payload auf die flow-variablen.
                                        Wieso wird das Array erst aufgesplittet und dann wieder gesammelt?
                                        So müssen ja quasi immer 22 Variablen da sein, bevor er die Tabelle aufbaut (wenn man Join auf 22 Nachrichten setzt).
                                        Wenn also die Flow Variablen mal weg waren, dauert es je nachdem über eine Stunde bis alle Sensoren mal einen Wert geliefert haben und ich 22 Flow Variablen habe.
                                        Sind Split+Join wirklich nötig? Wenn ja, wieso?

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #91

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

                                        Macht die auch diesen typischen Sound wenn man so eine Zahl flippt? Das wäre cool haha

                                        Na das Thema ist gegessen - Nutzen und Aufwand stehen in keinem Verhältnis. ;)

                                        Nun zu Deiner Verständnisfrage:

                                        Erst mal vorweg - optimal wäre es die Tabelle einmal aufzubauen und dann nur noch Änderungen zu übermitteln - das ist aber wesentlich komplizierter.

                                        Dass die 2 Variablen erst da sein müssen bis die Tabelle aufgebaut ist, ist richtig hat aber mit der splitterei nichts zu, Du kannst den Wert auch auf 1 statt auf 22 runtersetzen, dann wird die Tabelle nacheinander aufgebaut, wie die Werte reinkommen. Sinnvoll wäre es dann auch noch eine Initialisierung mit einer List Node zu beginnen und dann über die iobroker-IN Nodes nur noch zu aktualisieren. Es wird jedoch immer die ganze Tabelle in die ui_table geschickt und nie die zu aktualisierenden Werte. Wie gesagt sonst müsste man das mit dem command UpdateorAdd machen - da muss ich aber selbst noch dran arbeiten.
                                        Also das Aufbauen bis die 22 Variablen da sind hat wieder mal gar nichts mit dem Array und dem split zu tun - es ist einfach wieder eine Frage - wartet man bis die Werte eintreffen oder will man alles mit einem Schlag initialisierne. Ist also im Prinzip das Gleiche wie bei der Initialisierung Deiner Switch oder Text-Nodes.

                                        Eine andere Alternative wäre es die Flow Variable sensors in einen Datenpunkt zu sichern und dann die Flow Variable einmal zu initialisieren. (@frankyboy73 hat das ja schon soweit auch erklärt) Dann musst Du nicht warten bis die 22 Sensoren sich gemeldet haben, sondern es wird einfach der Zustand von vorher hergestellt und jedes Update über die In-Nodes schreibt die Tabelle sofort.

                                        Nun zu Deinem Frage:

                                        Wieso wird das Array erst aufgesplittet und dann wieder gesammelt?

                                        Die Flow Variable enthält kein Array, sondern ein verschachteltes Objekt.

                                        Ich hoffe Du verstehst den Unterschied zwischen einem Objekt und einem Array.

                                        Das ist das verschachtelte Objekt:

                                        {"sensor1":{"humidity":65,"temperature":19,"id":"sensor1"},"sensor2":{"humidity":80,"temperature":22,"id":"sensor2"}}
                                        

                                        Die ui_table verlangt aber unbedingt ein Objekt-Array, das ist was anderes:

                                        [{"humidity":65,"temperature":19,"id":"sensor1"},{"humidity":80,"temperature":22,"id":"sensor2"}]
                                        

                                        Wenn ich in unserem Beispiel ein Array aktualisieren muss, dann wär das ziemlich umständlich. Ich muss quasi jedes Array-Element in einer Schleife prüfen, ob die id - dieselbe ist und dann gezielt dieses Objekt mit genau dieser ID an genau dieser Index-Stelle austauschen musst. Also wenn Du den 16. Sensor updaten willst, musst Du das Array erst durchsuchen an welcher Stelle im Array das Objekt des 16. Sensors steht.

                                        Bei einem verschachtelten Objekt spare ich mir das - da ich jeder Sensor eine Eigenschaft des Objektes Sensors ist und somit genau angesprochen werden kann.

                                        in der Funktion Node steht deshalb:

                                        flow.set('sensors.' + msg.topic + '.temperature',msg.payload);
                                        

                                        das heisst ich kann die richtige Objekteigenschaft im Objekt senors direkt über das topic ansprechen und muss nicht ein Array durchsuchen. Ansonsten haben die Leute gerade das Problem, dass die Tabelle immer weiter wächst, weil einfach jeder Datensatz an ein Array angehängt wird, selbst wenn es vom gleichen Sensor stammt.

                                        Die split Node kann nun ein Objekt in seine einzelnen Eigenschaften zerlegen.

                                        Das Objekt

                                        {"sensor1":{"humidity":65,"temperature":19,"id":"sensor1"},"sensor2":{"humidity":80,"temperature":22,"id":"sensor2"}}
                                        

                                        wird also in 2 Nachrichten aufgesplittet:

                                        {"humidity":65,"temperature":19,"id":"sensor1"}
                                        

                                        und

                                        {"humidity":80,"temperature":22,"id":"sensor2"}
                                        

                                        und dann zu dem obigen Array wieder zusammengesetzt.

                                        In dem Fall ist es nicht schwer immer von 22 auszugehen, da das Array ja immer das komplette Objekt zerlegt, das ja wiederum 22 Objekteigenschaften - nämlich die topics der Sensoren (mit den Objekten als Wert) hat.

                                        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

                                          @frankyboy73

                                          Vielen Dank für deine Rückmeldung!

                                          Ah okay, dachte da wäre ein Array drin, weil ich das Objekt ja aufklappen kann:
                                          074f4468-e756-479f-85f6-d414b6a6608c-image.png

                                          Aber wenn das kein Array ist, ist die Sache ja klar! :)

                                          Das Problem wenn ich die JOIN Node zb auf 2 setze statt 22 ist, dass ich dann immer nur 2 Zeilen in der Tabelle habe. Und immer wenn ein Sensor einen Wert aktualisiert, wird eine der Zeilen durch diesen getauscht.
                                          Um also 22 Zeilen in der Tabelle haben zu können, muss ich in der Join Node 22 eintragen.
                                          Außer ich bin doof und verstehe da etwas nicht haha

                                          Idee:
                                          Könnte ich nicht mit einer INIT Node schon mal alle Flow Variablen anlegen, sodass falls NR neu startet, ich auf jeden Fall direkt 22 Variablen habe, die dann eben nach und nach aktualisiert werden? Oder ist das Quatsch?

                                          mickymM Online
                                          mickymM Online
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #92

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

                                          Idee:
                                          Könnte ich nicht mit einer INIT Node schon mal alle Flow Variablen anlegen, sodass falls NR neu startet, ich auf jeden Fall direkt 22 Variablen habe, die dann eben nach und nach aktualisiert werden? Oder ist das Quatsch?

                                          Das habe ich ja vorgeschlagen:

                                          Eine andere Alternative wäre es die Flow Variable sensors in einen Datenpunkt zu sichern und dann die Flow Variable einmal zu initialisieren. (@frankyboy73 hat das ja schon soweit auch erklärt) Dann musst Du nicht warten bis die 22 Sensoren sich gemeldet haben, sondern es wird einfach der Zustand von vorher hergestellt und jedes Update über die In-Nodes schreibt die Tabelle sofort.

                                          Also die Flow Variable als JSON Objekt in einem Datenpunkt wegschreiben und dann bei Neustart die Flowvariable initialisieren.

                                          a571bb7b-e4f7-4ad9-b3f8-5450c81e1133-image.png

                                          Hier einfach die iobroker Nodes mit dem von Dir gewählten DP zur Speicherung der Flowvariablen eintragen:

                                          [
                                             {
                                                 "id": "3753aa96.538f06",
                                                 "type": "ioBroker get",
                                                 "z": "54b226bc.0793e8",
                                                 "name": "",
                                                 "topic": "",
                                                 "attrname": "payload",
                                                 "payloadType": "value",
                                                 "x": 1120,
                                                 "y": 1320,
                                                 "wires": [
                                                     [
                                                         "59b672af.9b248c"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "f0f365a4.3aab28",
                                                 "type": "inject",
                                                 "z": "54b226bc.0793e8",
                                                 "name": "Init sensors",
                                                 "props": [
                                                     {
                                                         "p": "payload"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": true,
                                                 "onceDelay": 0.1,
                                                 "topic": "",
                                                 "payload": "true",
                                                 "payloadType": "bool",
                                                 "x": 930,
                                                 "y": 1320,
                                                 "wires": [
                                                     [
                                                         "3753aa96.538f06"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "c6ba225c.b8298",
                                                 "type": "change",
                                                 "z": "54b226bc.0793e8",
                                                 "name": "",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "sensors",
                                                         "pt": "flow",
                                                         "to": "payload",
                                                         "tot": "msg"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 1470,
                                                 "y": 1320,
                                                 "wires": [
                                                     []
                                                 ]
                                             },
                                             {
                                                 "id": "59b672af.9b248c",
                                                 "type": "json",
                                                 "z": "54b226bc.0793e8",
                                                 "name": "",
                                                 "property": "payload",
                                                 "action": "",
                                                 "pretty": false,
                                                 "x": 1290,
                                                 "y": 1320,
                                                 "wires": [
                                                     [
                                                         "c6ba225c.b8298"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "fe0c10f6.af6d8",
                                                 "type": "json",
                                                 "z": "54b226bc.0793e8",
                                                 "name": "",
                                                 "property": "payload",
                                                 "action": "",
                                                 "pretty": false,
                                                 "x": 1250,
                                                 "y": 1140,
                                                 "wires": [
                                                     [
                                                         "fc2153a3.81aef"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "fc2153a3.81aef",
                                                 "type": "ioBroker out",
                                                 "z": "54b226bc.0793e8",
                                                 "name": "",
                                                 "topic": "",
                                                 "ack": "false",
                                                 "autoCreate": "false",
                                                 "stateName": "",
                                                 "role": "",
                                                 "payloadType": "",
                                                 "readonly": "",
                                                 "stateUnit": "",
                                                 "stateMin": "",
                                                 "stateMax": "",
                                                 "x": 1430,
                                                 "y": 1140,
                                                 "wires": []
                                             }
                                          ]
                                          

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

                                          713

                                          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