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. Auswertungen von Datenpunkten wie z. B. Temperatursensor

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    110

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Auswertungen von Datenpunkten wie z. B. Temperatursensor

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
auswertungauswertungendatenpunktetemperaturtemperatursensorvisvisualisierung
14 Beiträge 4 Kommentatoren 1.5k Aufrufe 3 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.
  • F flyer99

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

    Domi920D Offline
    Domi920D Offline
    Domi920
    schrieb am zuletzt editiert von
    #5

    @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 :laughing:

    Vielen Dank für Deine Idee!

    Gruß Dominik

    mickymM 1 Antwort Letzte Antwort
    0
    • Domi920D Domi920

      @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 :laughing:

      Vielen Dank für Deine Idee!

      Gruß Dominik

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

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

      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.

      Domi920D 1 Antwort Letzte Antwort
      0
      • mickymM mickym

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

        Domi920D Offline
        Domi920D Offline
        Domi920
        schrieb am zuletzt editiert von
        #7

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

        mickymM 1 Antwort Letzte Antwort
        0
        • Domi920D Domi920

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

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

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

          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.

          Domi920D 1 Antwort Letzte Antwort
          1
          • mickymM 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. ;)

            Domi920D Offline
            Domi920D Offline
            Domi920
            schrieb am zuletzt editiert von
            #9

            @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 Antwort Letzte Antwort
            0
            • Domi920D Domi920

              Hallo,
              bin auf der Suche nach einen Script, Adapter oder etwas anderen, mit dem man kleine Auswertungen machen könnte.

              Hätte mir dabei folgende Datenpunkte gedacht:
              Zur Erfassung der Mindest-Temperaturen:

              • Temperatur min Tag
              • Temperatur min Woche
              • Temperatur min Monat
              • Temperatur min Quartal
              • Temperatur min Jahr
              • Temperatur min (seit Beginn der Auswertung)

              Zur Erfassung der Maximal-Temperaturen:

              • Temperatur max Tag
              • Temperatur max Woche
              • Temperatur max Monat
              • Temperatur max Quartal
              • Temperatur max Jahr
              • Temperatur max (seit Beginn der Auswertung)

              Die Datenpunkte müssten nach Ablauf des jeweiligen Zeitraums (Tag, Woche, Monat, Quartal, Jahr) natürlich wieder mit den aktuellen
              Temperaturwert zurückgesetzt werden.

              Würde diese Datenpunkte dann in einer Visualisierung (VIS) darstellen lassen.
              Die Zeit- und Datumsangaben könnte ich aus den jeweiligen Objekten verwenden und mit einen VIS Widget anzeigen lassen. Dafür müsste man keinen extra Datenpunkt anlegen.

              Der Adapter SourceAnalytix (https://github.com/DrozmotiX/ioBroker.sourceanalytix) legt eine vorbildliche Struktur der Datenpunkte an die mir sehr gefallen würde:
              Screenshot_20221215_012355_Gallery.jpg
              Nur leider verarbeitet dieser Adapter Zählerstände und ist somit für meinen Einsatzzweck mit Temperatursensoren nicht passend.

              Nun wäre ich auf der Suche nach einer einfachen Lösung.
              Würde diese Auswertungen auf mehreren Sensoren ausweiten und bin jetzt am überlegen, wie man das am einfachsten und effektivsten in die Tat umsetzen könnte.

              Bin für neue Vorschläge und Verbesserungen gerne offen.

              Gruß Dominik

              J Offline
              J Offline
              Jan.S100
              schrieb am zuletzt editiert von
              #10

              @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

              Domi920D 1 Antwort Letzte Antwort
              0
              • J Jan.S100

                @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

                Domi920D Offline
                Domi920D Offline
                Domi920
                schrieb am zuletzt editiert von
                #11

                @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 Antwort Letzte Antwort
                0
                • Domi920D Domi920

                  @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 Offline
                  J Offline
                  Jan.S100
                  schrieb am zuletzt editiert von Jan.S100
                  #12

                  @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

                  Domi920D 1 Antwort Letzte Antwort
                  0
                  • J 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

                    Domi920D Offline
                    Domi920D Offline
                    Domi920
                    schrieb am zuletzt editiert von
                    #13

                    @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 Antwort Letzte Antwort
                    0
                    • Domi920D Offline
                      Domi920D Offline
                      Domi920
                      schrieb am zuletzt editiert von Domi920
                      #14

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

                      807

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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