Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Verfügbarkeit von Sensoren über Node Red überwachen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Verfügbarkeit von Sensoren über Node Red überwachen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Schmetterfliege last edited by

      @schmetterfliege Aktualisiere den Browser oder lad neu - das JSON gibt Dir nur die Strukur und keine Werte, die musst selbst setzen die kann ich nicht exportieren. Wie gesagt das muss gehen - jeder kann einen DP unter userdata beschreiben

      mickym S 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @mickym last edited by

        @mickym Tja die Meldung war halt noch der verkehrte Typ

        1 Reply Last reply Reply Quote 0
        • S
          Schmetterfliege @mickym last edited by

          @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

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Schmetterfliege last edited by

            @schmetterfliege Ja browser cache

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @mickym last edited by 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 1 Reply Last reply Reply Quote 0
              • S
                Schmetterfliege @mickym last edited by

                @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! 😄
                Wirklich vielen lieben Dank!

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

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Schmetterfliege last edited by 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 1 Reply Last reply Reply Quote 0
                  • S
                    Schmetterfliege @mickym last edited by 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 😛

                    mickym 2 Replies Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Schmetterfliege last edited by mickym

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

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Schmetterfliege last edited by 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 1 Reply Last reply Reply Quote 0
                        • S
                          Schmetterfliege @mickym last edited by

                          @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

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Schmetterfliege last edited by 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 1 Reply Last reply Reply Quote 0
                            • S
                              Schmetterfliege @mickym last edited by 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 😄

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

                              mickym 2 Replies Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Schmetterfliege last edited by

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

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Schmetterfliege @mickym last edited by

                                  @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 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Schmetterfliege last edited by

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

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      Schmetterfliege @mickym last edited by

                                      @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

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @Schmetterfliege last edited by 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 1 Reply Last reply Reply Quote 0
                                        • S
                                          Schmetterfliege @mickym last edited by 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 mickym 2 Replies Last reply Reply Quote 0
                                          • F
                                            frankyboy73 @Schmetterfliege last edited by frankyboy73

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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            721
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            426
                                            49829
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo