Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Zugriff per Script auf History Daten

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Zugriff per Script auf History Daten

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pep last edited by

      Hallo Leute,

      aktuell habe ich ein Script, welches 0.00 immer den aktuellen Stromzählerstand in eine variable schreibt und am nächsten Tag die Differenz bildet. So dass ich mir früh 8:00 eine Pushnachricht mit dem Stromverbrauch von gestern schicken kann.

      Jetzt sind diese Daten doch aber im Adapter History vorhanden. Kann mir jemand sagen, ob es mittlerweile eine Funktion gibt, um einfach darauf zuzugreifen? Irgendwo im Forum habe ich es schon mal über einen Filezugriff auf die Dateien von History gesehen - es muss doch aber eine einfache API geben oder?

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        @Pep:

        es muss doch aber eine einfache API geben `
        Wieso?

        Der History-Adapter schreibt die Daten aller historisierten Punkte in json-files (für jeden Tag eins).

        flot dient der grafischen Darstellung dieser Daten und greift auf diese Dateien zu.

        Es ist nicht vorgesehen (gewesen) die Rohdaten anderweitig zu verarbeiten.

        Dies könntest du z.B. machen, wenn du statt des history Adapters mit SQL oder influxDB arbeitest und anschließend die Funktionen dieser Datenbanken zum Auslesen von Daten nutzst.

        Gruß

        Rainer

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

          @Pep:

          Hallo Leute,

          aktuell habe ich ein Script, welches 0.00 immer den aktuellen Stromzählerstand in eine variable schreibt und am nächsten Tag die Differenz bildet. So dass ich mir früh 8:00 eine Pushnachricht mit dem Stromverbrauch von gestern schicken kann.

          Jetzt sind diese Daten doch aber im Adapter History vorhanden. Kann mir jemand sagen, ob es mittlerweile eine Funktion gibt, um einfach darauf zuzugreifen? Irgendwo im Forum habe ich es schon mal über einen Filezugriff auf die Dateien von History gesehen - es muss doch aber eine einfache API geben oder? `

          Es gibt ein Adapter, welcher genau die Kalkulationen macht. Man muss den noch vom git installieren: https://github.com/GermanBluefox/ioBroker.statistics

          Da werden 15 MIN, Day min/max, Stunde, Tag, Monat, Jahr Zähler-Werte kalkuliert.

          Das Problem aber mit dem History adapter bleibt.

          Und das kann man damit Lösen: https://github.com/ioBroker/ioBroker.hi … pt-adapter

          `sendTo('history.0', 'getHistory', {
              id: 'blaBLaBLa',
              options: {
                  end:       new Date().getTime(),
                  start:      new Date().getTime() - 60000 * 25, // now - 25 Hours
                  aggregate: 'none'
              }
          }, function (result) {
              for (var i = 0; i < result.result.length; i++) {
                  console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
              }
          });` [/i][/i]
          
          1 Reply Last reply Reply Quote 0
          • P
            Pep last edited by

            @Bluefox:

            Es gibt ein Adapter, welcher genau die Kalkulationen macht. Man muss den noch vom git installieren: https://github.com/GermanBluefox/ioBroker.statistics `

            Danke - genau das habe ich gesucht 🙂

            1 Reply Last reply Reply Quote 0
            • Lenny.CB
              Lenny.CB Most Active last edited by

              @Bluefox:

              Es gibt ein Adapter, welcher genau die Kalkulationen macht. Man muss den noch vom git installieren: https://github.com/GermanBluefox/ioBroker.statistics `

              kann es sein, dass hierfür nicht alle Datenpunkte genommen werden können?

              Ich haben das mit Geräten aus der zwave-Struktur versucht, klappt. 983_stat_1.png
              Mit Datenpunkten aus der javascript-Struktur geht´s nicht. 983_stat_2.png
              ist die ggf. zu lang?

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

                Was für ein Typ haben javascript Objekte? mixed?

                Ändere das auf Nummer.

                1 Reply Last reply Reply Quote 0
                • Lenny.CB
                  Lenny.CB Most Active last edited by

                  ist "number", daran dachte ich auch erst…

                  {
                    "from": "system.adapter.javascript.1",
                    "ts": 1535704007535,
                    "common": {
                      "name": "Zählerstand - in kWh",
                      "unit": "kWh",
                      "type": "number",
                      "role": "javascript",
                      "def": 0,
                      "min": 0,
                      "custom": {
                        "history.0": {
                          "enabled": true,
                          "changesOnly": true,
                          "debounce": "1000",
                          "maxLength": "960",
                          "retention": "31536000",
                          "changesRelogInterval": 0,
                          "changesMinDelta": 0,
                          "aliasId": ""
                        },
                        "statistics.0": {
                          "enabled": true,
                          "logName": "Strom Pool",
                          "count": false,
                          "sumCount": false,
                          "timeCount": false,
                          "fiveMin": false,
                          "groupFactor": "",
                          "impUnit": "",
                          "impUnitPerImpulse": "",
                          "sumIgnoreMinus": true,
                          "sumDelta": true,
                          "avg": true,
                          "sumGroup": ""
                        }
                      }
                    },
                    "native": {},
                    "acl": {
                      "object": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator",
                      "state": 1636
                    },
                    "_id": "javascript.1.Verbrauch.Strom.Zaehler_Pool.Strom_Zaehlerstand_kWh",
                    "type": "state"
                  }
                  
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  976
                  Online

                  31.7k
                  Users

                  79.6k
                  Topics

                  1.3m
                  Posts

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