Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Auswertungen von Datenpunkten wie z. B. Temperatursensor

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Auswertungen von Datenpunkten wie z. B. Temperatursensor

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      flyer99 @Domi920 last edited by

      @domi920 Also ganz spontan würde ich sagen du loggst die Temperaturwerte in einer Datenbank. Nach einem Tag kannste schon die Tagesauswertung machen, nach einer Woche die Wochenauswertung usw.
      Mache ich schon seit 2016-05-06 von meinem Vitola-Brenner --> bis heute aktuell 874905 Einträge, alle 5 Minuten wird geloggt, die Sicherung ist aktuell 13.128 KB groß. Damit kannste dann schöne Auswertungen machen ....

      Domi920 1 Reply Last reply Reply Quote 0
      • Domi920
        Domi920 @flyer99 last edited by

        @flyer99 Danke für die schnelle Antwort!
        Aktuell lasse ich die Daten tatsächlich mit dem Historie Adapter loggen.
        Allerdings weiß ich nicht, wie ich jeweils die min & max-Werte raushohle und sie mir in Datenpunkten anzeigen lassen kann.

        Oder gibt es noch eine einfachere Lösung als ich mir jetzt vorstelle?

        1 Reply Last reply Reply Quote 0
        • F
          flyer99 last edited by

          Also ehrlich gesagt habe ich mit dem Historie-Adapter noch nichts gemacht ...
          Der mag für dein Vorhaben vielleicht schon gehen jedoch bin ich da raus und denke bei solch einer Datenmenge ist immer eine Datenbank die beste Option (ist der Historie-Adapter vielleicht auch, aber wie gesagt, ich habe noch nichts damit gemacht).
          mySQL wird auch für den ioBroker angeboten, somit kannst du auch (wenn die Datenbank gefüllt ist) sämtliche Abfragen ausführen. Dazu gibt es auch ein paar sehr gute Videos die das ganze sehr gut erklären ....

          Domi920 1 Reply Last reply Reply Quote 0
          • Domi920
            Domi920 @flyer99 last edited by

            @flyer99 ich werde diese Möglichkeit von Dir auch in Betracht ziehen.

            Warte jetzt mal ob es noch andere Ideen gibt, weil das für mein Vorhaben fasst schon etwas übertrieben wäre 😆

            Vielen Dank für Deine Idee!

            Gruß Dominik

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

              @domi920 Dann würde ich einfach mittels eines Schedulers triggern und dann die Werte in Datenpunkte schreiben. Musst halt mit Deiner Logikmaschine machen.

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

                @mickym Danke für deine Antwort!
                Tatsächlich nutze ich Node-Red.
                Aber so wie ich das jetzt sehe, ist der Aufwand relativ gleich mit Blockly zu setzen, oder?

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

                  @domi920 Nun mit der cron-plus Node hast du meines erachtens einen sehr leistungsfähigen Scheduler. Die Aggregator Node kommt wegen Zeiträumen über Monate nicht in Frage. Ein gewissen Aufwand bedeutet es, aber du musst Dich halt entscheiden mit welchem Tool es umsetzen willst.

                  Für die Ermittlung von min und max habe ich mir halt 2 function Nodes selbst geschrieben. Ich nutz das aktuell zur Überwachung des Kühlschranks:
                  1fae67bc-43d9-4f2a-aad8-9a9a5867c522-image.png

                  dc1bb1a5-c28f-41e3-b635-8671ac11ce4d-image.png

                  Hier die 2 Function Nodes mit den du das min und max ermitteln kannst:

                  [
                      {
                          "id": "6750dfb7.337c8",
                          "type": "function",
                          "z": "e6ec2a6.3220fd8",
                          "name": "min",
                          "func": "if (msg.reset) {\n    context.set('min', undefined);\n    msg.payload = \"-.-\";\n    return msg;\n}\n\nvar min = context.get('min')||msg.payload;\n\nmin = (msg.payload < min) ? msg.payload : min;\ncontext.set ('min',min);\n\nmsg.payload = min;\nreturn msg;",
                          "outputs": 1,
                          "noerr": 0,
                          "initialize": "",
                          "finalize": "",
                          "libs": [],
                          "x": 4370,
                          "y": 600,
                          "wires": [
                              [
                                  "f800e838.33bc98"
                              ]
                          ]
                      },
                      {
                          "id": "aa25146b.40b388",
                          "type": "function",
                          "z": "e6ec2a6.3220fd8",
                          "name": "max",
                          "func": "if (msg.reset) {\n    context.set('max', undefined);\n    msg.payload = \"-.-\";\n    return msg;\n}\nvar max = context.get('max')||0;\n\nmax = (msg.payload > max) ? msg.payload : max;\ncontext.set ('max',max);\n\nmsg.payload = max;\nreturn msg;",
                          "outputs": 1,
                          "noerr": 0,
                          "initialize": "",
                          "finalize": "",
                          "libs": [],
                          "x": 4370,
                          "y": 560,
                          "wires": [
                              [
                                  "d9d65629.6e2068"
                              ]
                          ]
                      }
                  ]
                  

                  So nun muss man halt über verschiedene Sensoren und über den Scheduler entsprechende das Ganze drum rum aufbauen.

                  Der Aufwand ist zwar vergleichbar, aber ich würde so was nicht über Blockly abwicklen wollen. Musst halt entscheiden, wie du das Umsetzen willst.

                  ========================================================================================

                  Alternativ kann man wie gesagt die aggregator Node fix und fertig nutzen und sich quasi automatisch die Tageswerte ausgeben lassen. Diese lässt man sich dann in der Datenbank wegschreiben.

                  6756ef2c-dbda-4165-be1b-4ca309f94b08-image.png

                  Diese kann man dann über History oder Datenbank in DB wegspeichern und diese dann über DB Abfragen ermitteln. Diese Abfragen müsste man über Scheduler initiieren. Wie man den History Adapter abfragt weiß ich nicht. Besser wäre wohl eine andere Datenbank.

                  ==========================================================================================

                  Die 3. Möglichkeit wäre generell eine Influx Db, die für zeitbasierte Abfragen und Konsoldierungen eigentlich am Besten geeignet sind, aber da sind meine Fluxx Kenntnisse aktuell noch nicht ausreichend. Dort kann man automatisch min und max Werte über verschiedene Zeiträume konsolidieren. Also anstelle des History Adapters nutzt man dann für diese Datenpunkte den Influx Adapter mit einer Influx Db

                  Damit hast Du denn zum Beispiel automatisiert die Möglichkeit über verschiedene Zeiträume Werte zu aggregieren:

                  9cfda286-b652-4b66-9b99-ada8107d61ca-image.png

                  Wie du siehst werden dann automatisiert zum Kalendermonate automatisch über einen Monat aggregiert. Wie gesagt ich bin da aber auch noch viel zu blutiger Anfänger. Da müsste man sich halt weiter einarbeiten. Das kann man natürlich dann über Datenpunkte machen, die automatisch über den Influx Adapter geschrieben werden.

                  Solche Abfragen kann man sich ggf. am Anfang über den Query Builder zusammenstellen.

                  9d09c11b-bf76-4ce0-828e-1b0116246e33-image.png

                  Wenn man die Abfrage kennt, dann habe ich das mit InfluxDb Node abgefragt.

                  Solche Abfragen kann man dann wiederum in NodeRed - oder Blockly machen - und dann in Datenpunkte schreiben.
                  In NodeRed habe ich das schon mal versucht, da kommen dann wirklich für jede Zeile ein Objekt raus:

                  ===========================================================================================

                  Also sieh alles mal als Ideensammlung von mir. 😉

                  Domi920 1 Reply Last reply Reply Quote 1
                  • Domi920
                    Domi920 @mickym last edited by

                    @mickym Danke für die großartige Zusammenfassung!
                    Da muss ich mir mal früher oder später Zeit einplanen um mich mal in die Datenbank Geschichte einzuarbeiten.

                    Gruß Dominik

                    1 Reply Last reply Reply Quote 0
                    • J
                      Jan.S100 @Domi920 last edited by

                      @domi920 Schau dir mal diesen Adapter an. Der macht das was du möchtest.
                      B2FF97BD-432F-4BF6-A82E-293B324F9A8D.jpeg FDA03F03-5A8C-4E5D-8BFF-10E975663F1D.jpeg

                      Domi920 1 Reply Last reply Reply Quote 0
                      • Domi920
                        Domi920 @Jan.S100 last edited by

                        @jan-s100 WoW!
                        Das ist wirklich eine Meisterlösung!
                        Vielen vielen Dank!

                        Leider habe ich bei der V2.2.0 einige negative Bewertungen in der IOBroker Adapterliste gefunden.
                        Deshalb habe ich die V2.3.0 (2022-11-03) von Github installiert.

                        Welche Version nutzt du?
                        Wie sind deine Erfahrungen damit?

                        Gruß Dominik

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          Jan.S100 @Domi920 last edited by Jan.S100

                          @domi920 Ich sag mal er macht das was er soll. V2.3.0
                          Bei mir sind das nur Temperatur Werte Max und Min.

                          01D658F0-460F-426A-9B7D-B341D9B3BF35.jpeg

                          Domi920 1 Reply Last reply Reply Quote 0
                          • Domi920
                            Domi920 @Jan.S100 last edited by

                            @jan-s100 das sieht echt gut bei Dir aus.

                            Screenshot_20221224_132239_Gallery.jpg

                            Mir kommen die Daten etwas seltsam vor.
                            absMAX ist höher als YearMax.

                            Sollte das so sein?

                            Wünsche Dir frohe Weihnachten!

                            Gruß Dominik

                            1 Reply Last reply Reply Quote 0
                            • Domi920
                              Domi920 last edited by Domi920

                              Muss noch hinzufügen, dass die aktuellen Werte im temp Ornder und nicht im save Ordner bei den Datenpunkten liegen.
                              Alles im save Ordner wird erst am Ende der jeweiligen Zeit (z. B. Am Ende des Tages) in den Datenpunkt geschrieben.

                              Um aktuelle Werte zu haben, verwende ich also den temp Ordner.

                              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

                              924
                              Online

                              31.6k
                              Users

                              79.4k
                              Topics

                              1.3m
                              Posts

                              auswertung auswertungen datenpunkte temperatur temperatursensor vis visualisierung
                              4
                              14
                              1034
                              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