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

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter History 2.0.0

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Test Adapter History 2.0.0

Geplant Angeheftet Gesperrt Verschoben Tester
100 Beiträge 12 Kommentatoren 8.4k Aufrufe 12 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.
  • apollon77A Online
    apollon77A Online
    apollon77
    schrieb am zuletzt editiert von
    #66

    Hi All,

    GitHub hat nochmal ein paar nderungen erfahren - primär im Umgang mit dem Abfragen von Daten und versucht dort Dinge zu optimieren. Version bleibt weiterhin 2.0.0

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    M 1 Antwort Letzte Antwort
    1
    • apollon77A apollon77

      Hi All,

      GitHub hat nochmal ein paar nderungen erfahren - primär im Umgang mit dem Abfragen von Daten und versucht dort Dinge zu optimieren. Version bleibt weiterhin 2.0.0

      M Offline
      M Offline
      Marty56
      schrieb am zuletzt editiert von Marty56
      #67

      @apollon77
      Hallo,

      Super, dass der Adapter überarbeitet wird. Endlich!!! Juhuuu.

      Was mir immer wieder passiert ist,
      dass irgendein Sensor Mist in die History schreibt, die Daten versaut und die Diagramme unbrauchbar macht.

      Es wäre wünschenswert, wenn man

      1. Datenpunkte aus der History per UI löschen, ändern und hinzufügen könnte.

      2. beim Editieren von Datenpunkte in der History DB, muss natürlich auch der Zeitpunkt änderbar sein.

      3. Was auch noch super wäre, wenn man alle Datenpunkte, die man logt an einer Stelle, nämlich dem Adapter wiederfinden würde und dort zentral verwalten könnte.
        Man muss jedesmal in den Verzeichnisbäumen der Datenpunkte suchen, das nervt total und ist unübersichtlich. Was mir auch schon passiert ist, dass ich einen Datenpunkt vergessen habe, und der hat mir dann die Harddisk voll gemacht.

      Ich bin mir nicht ganz sicher, ob das im Change Log beinhaltet ist. Habe es aber beim Überfliegen nicht gefunden.

      Und ein verwandtes Thema: alle Grafik Module für VIS können max nur 2 Jahre darstellen. Flot kann, wenn man die URL umständlich editiert auch 9 Jahre darstellen. Es wäre schön, wenn man dieses Defizit auch beheben könnte.

      Liebe Grüße

      Martin

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      apollon77A HomoranH 2 Antworten Letzte Antwort
      0
      • M Marty56

        @apollon77
        Hallo,

        Super, dass der Adapter überarbeitet wird. Endlich!!! Juhuuu.

        Was mir immer wieder passiert ist,
        dass irgendein Sensor Mist in die History schreibt, die Daten versaut und die Diagramme unbrauchbar macht.

        Es wäre wünschenswert, wenn man

        1. Datenpunkte aus der History per UI löschen, ändern und hinzufügen könnte.

        2. beim Editieren von Datenpunkte in der History DB, muss natürlich auch der Zeitpunkt änderbar sein.

        3. Was auch noch super wäre, wenn man alle Datenpunkte, die man logt an einer Stelle, nämlich dem Adapter wiederfinden würde und dort zentral verwalten könnte.
          Man muss jedesmal in den Verzeichnisbäumen der Datenpunkte suchen, das nervt total und ist unübersichtlich. Was mir auch schon passiert ist, dass ich einen Datenpunkt vergessen habe, und der hat mir dann die Harddisk voll gemacht.

        Ich bin mir nicht ganz sicher, ob das im Change Log beinhaltet ist. Habe es aber beim Überfliegen nicht gefunden.

        Und ein verwandtes Thema: alle Grafik Module für VIS können max nur 2 Jahre darstellen. Flot kann, wenn man die URL umständlich editiert auch 9 Jahre darstellen. Es wäre schön, wenn man dieses Defizit auch beheben könnte.

        Liebe Grüße

        Martin

        apollon77A Online
        apollon77A Online
        apollon77
        schrieb am zuletzt editiert von
        #68

        @marty56

        1.) geht schon seit Admin5

        2.) Nein geht nicht aktuell. War bisher noch kein Usecase. Wäre ein Admin Feature-Request im ersten schritt. Wenn dort muss man zusätzlich die 3 Adapter anpassen.

        3.) Nein auch das wird so bleiben. Admin ist "die zentrale Stelle" und du kannst im Admin oben rechts nach der "History instanz" filtern, dann hast Du alle die so loggen. Was fehlt noch das das "die zentrale Stelle ist"?

        Vis-Modul ... Wenn was fehlt bitte Github requests anlegen. Technisch kein Stress, aber Daten für 9 Jahre?? Mal abgesehen von der Zeit die History brauchen würde alle JSON-Files (9x365) von der SD zu kratzen und zu verarbeiten und den Datenmengen ... was willst DU auf dem zeitraum sehen"?

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        M 2 Antworten Letzte Antwort
        0
        • M Marty56

          @apollon77
          Hallo,

          Super, dass der Adapter überarbeitet wird. Endlich!!! Juhuuu.

          Was mir immer wieder passiert ist,
          dass irgendein Sensor Mist in die History schreibt, die Daten versaut und die Diagramme unbrauchbar macht.

          Es wäre wünschenswert, wenn man

          1. Datenpunkte aus der History per UI löschen, ändern und hinzufügen könnte.

          2. beim Editieren von Datenpunkte in der History DB, muss natürlich auch der Zeitpunkt änderbar sein.

          3. Was auch noch super wäre, wenn man alle Datenpunkte, die man logt an einer Stelle, nämlich dem Adapter wiederfinden würde und dort zentral verwalten könnte.
            Man muss jedesmal in den Verzeichnisbäumen der Datenpunkte suchen, das nervt total und ist unübersichtlich. Was mir auch schon passiert ist, dass ich einen Datenpunkt vergessen habe, und der hat mir dann die Harddisk voll gemacht.

          Ich bin mir nicht ganz sicher, ob das im Change Log beinhaltet ist. Habe es aber beim Überfliegen nicht gefunden.

          Und ein verwandtes Thema: alle Grafik Module für VIS können max nur 2 Jahre darstellen. Flot kann, wenn man die URL umständlich editiert auch 9 Jahre darstellen. Es wäre schön, wenn man dieses Defizit auch beheben könnte.

          Liebe Grüße

          Martin

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #69

          @marty56 sagte in Test Adapter History 2.0.0:

          Datenpunkte aus der History per UI löschen, ändern und hinzufügen könnte.

          geht!
          Expertenmodus - Wert anklicken - editieren oder löschen (oben rech

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • apollon77A apollon77

            @marty56

            1.) geht schon seit Admin5

            2.) Nein geht nicht aktuell. War bisher noch kein Usecase. Wäre ein Admin Feature-Request im ersten schritt. Wenn dort muss man zusätzlich die 3 Adapter anpassen.

            3.) Nein auch das wird so bleiben. Admin ist "die zentrale Stelle" und du kannst im Admin oben rechts nach der "History instanz" filtern, dann hast Du alle die so loggen. Was fehlt noch das das "die zentrale Stelle ist"?

            Vis-Modul ... Wenn was fehlt bitte Github requests anlegen. Technisch kein Stress, aber Daten für 9 Jahre?? Mal abgesehen von der Zeit die History brauchen würde alle JSON-Files (9x365) von der SD zu kratzen und zu verarbeiten und den Datenmengen ... was willst DU auf dem zeitraum sehen"?

            M Offline
            M Offline
            Marty56
            schrieb am zuletzt editiert von
            #70

            @apollon77
            Danke fürs Feedback.
            Es scheint mehr zu gehen, als ich wusste. Auf den Expertenmodus wäre ich nie gekommen.

            Und dass man nach History Instanz filtern kann, wusste ich auch nicht.

            Muss ich gleich mal alles ausprobieren.
            Ok, User Inkompetenz. Ich schäme mich.

            HW:NUC (16 GB Ram)
            OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

            1 Antwort Letzte Antwort
            1
            • apollon77A apollon77

              @marty56

              1.) geht schon seit Admin5

              2.) Nein geht nicht aktuell. War bisher noch kein Usecase. Wäre ein Admin Feature-Request im ersten schritt. Wenn dort muss man zusätzlich die 3 Adapter anpassen.

              3.) Nein auch das wird so bleiben. Admin ist "die zentrale Stelle" und du kannst im Admin oben rechts nach der "History instanz" filtern, dann hast Du alle die so loggen. Was fehlt noch das das "die zentrale Stelle ist"?

              Vis-Modul ... Wenn was fehlt bitte Github requests anlegen. Technisch kein Stress, aber Daten für 9 Jahre?? Mal abgesehen von der Zeit die History brauchen würde alle JSON-Files (9x365) von der SD zu kratzen und zu verarbeiten und den Datenmengen ... was willst DU auf dem zeitraum sehen"?

              M Offline
              M Offline
              Marty56
              schrieb am zuletzt editiert von
              #71

              @apollon77
              9 Jahre. Mein Anwendung ist meine Solarnanlage, die jetzt schon 12 Jahre läuft und wo ich in die History DB alle Werte per Script manuell eingetragen habe.
              Da habe ich nur einen Wert pro Jahr, bzw. 12 wenn ich die Monatsdarstellung wähle.
              Das sollte machbar sein.

              HW:NUC (16 GB Ram)
              OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

              apollon77A 1 Antwort Letzte Antwort
              0
              • M Marty56

                @apollon77
                9 Jahre. Mein Anwendung ist meine Solarnanlage, die jetzt schon 12 Jahre läuft und wo ich in die History DB alle Werte per Script manuell eingetragen habe.
                Da habe ich nur einen Wert pro Jahr, bzw. 12 wenn ich die Monatsdarstellung wähle.
                Das sollte machbar sein.

                apollon77A Online
                apollon77A Online
                apollon77
                schrieb am zuletzt editiert von
                #72

                @marty56 sagte in Test Adapter History 2.0.0:

                Da habe ich nur einen Wert pro Jahr, bzw. 12 wenn ich die Monatsdarstellung wähle.

                Wie meinst Du das?

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                S 1 Antwort Letzte Antwort
                0
                • apollon77A apollon77

                  @marty56 sagte in Test Adapter History 2.0.0:

                  Da habe ich nur einen Wert pro Jahr, bzw. 12 wenn ich die Monatsdarstellung wähle.

                  Wie meinst Du das?

                  S Offline
                  S Offline
                  Sneak-L8
                  schrieb am zuletzt editiert von
                  #73

                  @apollon77 Ich glaube ihm ist nicht klar, dass alle Daten in einem Json (pro Tag) gehalten werden. Also nicht nur der State den er einal am Tag speichert. Wenn die Werte dieses States das einzige sind, was in der Hostiry liegt, dann sollte es tatschlich kein Problem sein.
                  @Marty56 Wenn da aber auch andere States geloggt werden, dann landen die mit den von Dir angesprochennen Werten zusammen in einer Json-Datei pro Tag. Die werden also auch alle mitgelesen (und gefiltert), um die Auswertung zu machen. Ist halt keine Datenbank.

                  paul53P HomoranH M 3 Antworten Letzte Antwort
                  0
                  • S Sneak-L8

                    @apollon77 Ich glaube ihm ist nicht klar, dass alle Daten in einem Json (pro Tag) gehalten werden. Also nicht nur der State den er einal am Tag speichert. Wenn die Werte dieses States das einzige sind, was in der Hostiry liegt, dann sollte es tatschlich kein Problem sein.
                    @Marty56 Wenn da aber auch andere States geloggt werden, dann landen die mit den von Dir angesprochennen Werten zusammen in einer Json-Datei pro Tag. Die werden also auch alle mitgelesen (und gefiltert), um die Auswertung zu machen. Ist halt keine Datenbank.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #74

                    @sneak-l8 sagte: zusammen in einer Json-Datei pro Tag.

                    Bisher war es eine Json-Datei pro Datenpunkt und Tag. Hat sich das geändert?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    apollon77A 1 Antwort Letzte Antwort
                    0
                    • S Sneak-L8

                      @apollon77 Ich glaube ihm ist nicht klar, dass alle Daten in einem Json (pro Tag) gehalten werden. Also nicht nur der State den er einal am Tag speichert. Wenn die Werte dieses States das einzige sind, was in der Hostiry liegt, dann sollte es tatschlich kein Problem sein.
                      @Marty56 Wenn da aber auch andere States geloggt werden, dann landen die mit den von Dir angesprochennen Werten zusammen in einer Json-Datei pro Tag. Die werden also auch alle mitgelesen (und gefiltert), um die Auswertung zu machen. Ist halt keine Datenbank.

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #75

                      @sneak-l8 sagte in Test Adapter History 2.0.0:

                      dann landen die mit den von Dir angesprochennen Werten zusammen in einer Json-Datei pro Tag

                      du hast pro Tag und Datenpunkt ein eigenes json

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @sneak-l8 sagte: zusammen in einer Json-Datei pro Tag.

                        Bisher war es eine Json-Datei pro Datenpunkt und Tag. Hat sich das geändert?

                        apollon77A Online
                        apollon77A Online
                        apollon77
                        schrieb am zuletzt editiert von
                        #76

                        @paul53 Ne hat sich nicht geändert. Ein File pro Datenpunkt pro Tag

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        1 Antwort Letzte Antwort
                        0
                        • S Sneak-L8

                          @apollon77 Ich glaube ihm ist nicht klar, dass alle Daten in einem Json (pro Tag) gehalten werden. Also nicht nur der State den er einal am Tag speichert. Wenn die Werte dieses States das einzige sind, was in der Hostiry liegt, dann sollte es tatschlich kein Problem sein.
                          @Marty56 Wenn da aber auch andere States geloggt werden, dann landen die mit den von Dir angesprochennen Werten zusammen in einer Json-Datei pro Tag. Die werden also auch alle mitgelesen (und gefiltert), um die Auswertung zu machen. Ist halt keine Datenbank.

                          M Offline
                          M Offline
                          Marty56
                          schrieb am zuletzt editiert von Marty56
                          #77

                          @sneak-l8 Ich habe das Verzeichnis angeschaut, in der die History ihre Jsons ablegt und bei mir wird nur dann eine Datei angelegt, wenn sich der Datenpunkt ändert.

                          Das wären in meinem Beispiel bei 10 Jahren, genau 10 Files, die die Jahreswerte speichern und 240 files, für die Monatswerte.

                          Muss ich woanders schauen?
                          Ich habe unter /opt/iobroker/history geschaut. IOB läuft unter Linux

                          HW:NUC (16 GB Ram)
                          OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                          paul53P 1 Antwort Letzte Antwort
                          1
                          • M Marty56

                            @sneak-l8 Ich habe das Verzeichnis angeschaut, in der die History ihre Jsons ablegt und bei mir wird nur dann eine Datei angelegt, wenn sich der Datenpunkt ändert.

                            Das wären in meinem Beispiel bei 10 Jahren, genau 10 Files, die die Jahreswerte speichern und 240 files, für die Monatswerte.

                            Muss ich woanders schauen?
                            Ich habe unter /opt/iobroker/history geschaut. IOB läuft unter Linux

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #78

                            @marty56 sagte: Ich habe unter /opt/iobroker/history geschaut.

                            Laut Doku:

                            Ohne Angabe eines Speicherverzeichnisses wird der Ordner /opt/iobroker/iobroker-data/history automatisch angelegt

                            Dort befinden sich Ordner mit dem Datum.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            M 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @marty56 sagte: Ich habe unter /opt/iobroker/history geschaut.

                              Laut Doku:

                              Ohne Angabe eines Speicherverzeichnisses wird der Ordner /opt/iobroker/iobroker-data/history automatisch angelegt

                              Dort befinden sich Ordner mit dem Datum.

                              M Offline
                              M Offline
                              Marty56
                              schrieb am zuletzt editiert von Marty56
                              #79

                              @paul53 Danke.
                              Ich habe gerade bemerkt, dass ich den Ordner nach /opt/iobroker/history konfiguriert habe.

                              Was mich aber zur eigentlich Frage bringt, wie viele Jsons Files werden angelegt.
                              m.M. Ich habe unter der Option "trotzdem gleiche Werte aufzeichnen (Sekunden)" immer "0" angegeben. Vielleicht liegt es daran, dass bei mir nicht pro Tag ein Json mit dem konstanten Wert abgelegt wird, sondern nur ein Json an dem Tag bzw. der Zeit, wenn es sich geändert hat.

                              HW:NUC (16 GB Ram)
                              OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                              apollon77A 1 Antwort Letzte Antwort
                              0
                              • M Marty56

                                @paul53 Danke.
                                Ich habe gerade bemerkt, dass ich den Ordner nach /opt/iobroker/history konfiguriert habe.

                                Was mich aber zur eigentlich Frage bringt, wie viele Jsons Files werden angelegt.
                                m.M. Ich habe unter der Option "trotzdem gleiche Werte aufzeichnen (Sekunden)" immer "0" angegeben. Vielleicht liegt es daran, dass bei mir nicht pro Tag ein Json mit dem konstanten Wert abgelegt wird, sondern nur ein Json an dem Tag bzw. der Zeit, wenn es sich geändert hat.

                                apollon77A Online
                                apollon77A Online
                                apollon77
                                schrieb am zuletzt editiert von
                                #80

                                @marty56 J natürlich. Wenn du wirklich so selten ändernde Daten hast mit den Einstellungen, dann ist deine Aussage korrekt

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                M 1 Antwort Letzte Antwort
                                0
                                • apollon77A apollon77

                                  @marty56 J natürlich. Wenn du wirklich so selten ändernde Daten hast mit den Einstellungen, dann ist deine Aussage korrekt

                                  M Offline
                                  M Offline
                                  Marty56
                                  schrieb am zuletzt editiert von
                                  #81

                                  @apollon77
                                  Ich schaffe es übrigens nicht, auch im Expertenmodus, beim History Adapter einen Wert zu ändern.
                                  Es kommt zwar eine Abfrage, in der der Wert geändert werden kann, aber die Werte werden nicht übernommen.
                                  Wäre schön, wenn man das fixen könnte.

                                  Außerdem schaffe ich es nicht, per Script in die History DB zu schreiben.
                                  Das Script läuft durch, macht aber nichts.

                                  const timestamp = new Date("2021-01-01 00:01:00.000").getTime();
                                  var value = 15
                                  sendTo('history.0', 'store', [
                                      {id: 'javascript.0.strom.Erz_Energie_Jahr', ts: timestamp,val: value}
                                  ], result => console.log('stored'));
                                  

                                  Wie gesagt, die "Unkorrigierbarkeit" von Daten in der History DB ist für mich ein Issue und es wäre schön, wenn man da etwas machen könnte.

                                  HW:NUC (16 GB Ram)
                                  OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                  apollon77A 1 Antwort Letzte Antwort
                                  0
                                  • M Marty56

                                    @apollon77
                                    Ich schaffe es übrigens nicht, auch im Expertenmodus, beim History Adapter einen Wert zu ändern.
                                    Es kommt zwar eine Abfrage, in der der Wert geändert werden kann, aber die Werte werden nicht übernommen.
                                    Wäre schön, wenn man das fixen könnte.

                                    Außerdem schaffe ich es nicht, per Script in die History DB zu schreiben.
                                    Das Script läuft durch, macht aber nichts.

                                    const timestamp = new Date("2021-01-01 00:01:00.000").getTime();
                                    var value = 15
                                    sendTo('history.0', 'store', [
                                        {id: 'javascript.0.strom.Erz_Energie_Jahr', ts: timestamp,val: value}
                                    ], result => console.log('stored'));
                                    

                                    Wie gesagt, die "Unkorrigierbarkeit" von Daten in der History DB ist für mich ein Issue und es wäre schön, wenn man da etwas machen könnte.

                                    apollon77A Online
                                    apollon77A Online
                                    apollon77
                                    schrieb am zuletzt editiert von
                                    #82

                                    @marty56 Zum Editieren. Bitte mal Debug Log aktivieren und Debug log zeigen von so einer editieraktion ... bei mir tat es die Tage

                                    Zum storeState ... ... ... liess nochmal genau die Readme https://github.com/ioBroker/ioBroker.history/tree/master/docs/en#storestate ... store -> storeState

                                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                    M 1 Antwort Letzte Antwort
                                    0
                                    • apollon77A apollon77

                                      @marty56 Zum Editieren. Bitte mal Debug Log aktivieren und Debug log zeigen von so einer editieraktion ... bei mir tat es die Tage

                                      Zum storeState ... ... ... liess nochmal genau die Readme https://github.com/ioBroker/ioBroker.history/tree/master/docs/en#storestate ... store -> storeState

                                      M Offline
                                      M Offline
                                      Marty56
                                      schrieb am zuletzt editiert von
                                      #83

                                      @apollon77 Debug gibt keine weitere Ausgaben.

                                      Die Syntax vermute ich nicht korrekt. Leider gibt die Dokumentation nichts dazu her.

                                      HW:NUC (16 GB Ram)
                                      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • M Marty56

                                        @apollon77 Debug gibt keine weitere Ausgaben.

                                        Die Syntax vermute ich nicht korrekt. Leider gibt die Dokumentation nichts dazu her.

                                        M Offline
                                        M Offline
                                        Marty56
                                        schrieb am zuletzt editiert von
                                        #84

                                        @appollon

                                        Vielleicht fragst Du Dich, warum will der den ganzen Quatsch.

                                        Mein Use Case.
                                        Ich habe zwei Balkendiagram meiner Solaranlage, die einmal Jahres bzw Monatsverbräuche darstellen sollen.
                                        Jeweils am Monatsende schreibe ich einen Wert in das Monatsdiagramm bzw. Ende des Jahres in das Jahresdiagramm.

                                        Was schön wäre, wenn der Wert für den noch nicht abgeschlossenen Zeitraum auch angezeigt würde.

                                        Was ich also machen will, als Beispiel das Jahresdiagramm, jeden Tag für den 31.12. des Jahres einen Wert schreiben. Am nächsten Tag möchte ich den alten Wert für den 31.12. löschen und danach wieder mit dem (erhöhten) Wert neu schreiben.
                                        In der DB ist also immer nur ein Wert pro Jahr und der soll upgedatet werden.

                                        Ich hoffe, dass ist verständlich.

                                        PS: was ich auch bemerkt habe, ist, dass die Beispiele in der Dokumentation auch syntaktisch nicht korrekt sind. z.B.

                                        sendTo('sql.0', 'delete', [
                                            {id: 'mbus.0.counter.xxx', state: {ts: 1589458809352}, 
                                            {id: 'mbus.0.counter.yyy', state: {ts: 1589458809353}
                                        ], result => console.log('deleted'));
                                        code_text
                                        

                                        fehlen wohl die Klammern, also

                                        
                                        sendTo('sql.0', 'delete', [
                                            {id: 'mbus.0.counter.xxx', state: {ts: 1589458809352}}, 
                                            {id: 'mbus.0.counter.yyy', state: {ts: 1589458809353}}
                                        ], result => console.log('deleted'));
                                        

                                        Ich habe mit verschiedenen Versionen der "store" oder "storeState" Commandos herumgespielt, die funktionieren aber alle nicht.

                                        Was ich letztlich benötigen würde, ist ein Script Beispiel für die history.db

                                        1. einen State zu löschen
                                        2. einen State zu schreiben

                                        HW:NUC (16 GB Ram)
                                        OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                        M apollon77A 2 Antworten Letzte Antwort
                                        0
                                        • M Marty56

                                          @appollon

                                          Vielleicht fragst Du Dich, warum will der den ganzen Quatsch.

                                          Mein Use Case.
                                          Ich habe zwei Balkendiagram meiner Solaranlage, die einmal Jahres bzw Monatsverbräuche darstellen sollen.
                                          Jeweils am Monatsende schreibe ich einen Wert in das Monatsdiagramm bzw. Ende des Jahres in das Jahresdiagramm.

                                          Was schön wäre, wenn der Wert für den noch nicht abgeschlossenen Zeitraum auch angezeigt würde.

                                          Was ich also machen will, als Beispiel das Jahresdiagramm, jeden Tag für den 31.12. des Jahres einen Wert schreiben. Am nächsten Tag möchte ich den alten Wert für den 31.12. löschen und danach wieder mit dem (erhöhten) Wert neu schreiben.
                                          In der DB ist also immer nur ein Wert pro Jahr und der soll upgedatet werden.

                                          Ich hoffe, dass ist verständlich.

                                          PS: was ich auch bemerkt habe, ist, dass die Beispiele in der Dokumentation auch syntaktisch nicht korrekt sind. z.B.

                                          sendTo('sql.0', 'delete', [
                                              {id: 'mbus.0.counter.xxx', state: {ts: 1589458809352}, 
                                              {id: 'mbus.0.counter.yyy', state: {ts: 1589458809353}
                                          ], result => console.log('deleted'));
                                          code_text
                                          

                                          fehlen wohl die Klammern, also

                                          
                                          sendTo('sql.0', 'delete', [
                                              {id: 'mbus.0.counter.xxx', state: {ts: 1589458809352}}, 
                                              {id: 'mbus.0.counter.yyy', state: {ts: 1589458809353}}
                                          ], result => console.log('deleted'));
                                          

                                          Ich habe mit verschiedenen Versionen der "store" oder "storeState" Commandos herumgespielt, die funktionieren aber alle nicht.

                                          Was ich letztlich benötigen würde, ist ein Script Beispiel für die history.db

                                          1. einen State zu löschen
                                          2. einen State zu schreiben
                                          M Offline
                                          M Offline
                                          Marty56
                                          schrieb am zuletzt editiert von
                                          #85

                                          @apollon77

                                          Ich habe mir die gewünschte Funktion jetzt zusammengebastelt. Sie funktioniert, ich bin aber nicht sicher, ob ich etwas übersehen habe oder ich mir irgendwelche unerwünschten Probleme damit einfange.
                                          Expertenfeedback wäre sehr wünschenswert.

                                          function write_history_db(id,date,value) {
                                              const fs = require('fs/promises');
                                              const path = require('path');
                                              var filename = "history." + id + ".json"
                                              var timestamp = new Date(date).getTime();
                                              var folder = "/opt/iobroker/history/" + date.substring(0,10).replace("-","").replace("-","") + "/"
                                              var data = [
                                                              {
                                                                  "val": value,
                                                                  "ts": timestamp,
                                                                  "q": 0,
                                                                  "c": "script.js.common.Energie",
                                                                  "from": "system.adapter.javascript.0",
                                                                  "user": "system.user.admin"
                                                              }
                                                              ]
                                              var filecontent = JSON.stringify(data)
                                          
                                              async function isExists(path) {
                                              try {
                                                  await fs.access(path);
                                                  return true;
                                              } catch {
                                                  return false;
                                              }
                                              };
                                          
                                              async function writeFile(filePath, data) {
                                              try {
                                                  const dirname = path.dirname(filePath);
                                                  const exist = await isExists(dirname);
                                                  if (!exist) {
                                                  await fs.mkdir(dirname, {recursive: true});
                                                  }
                                                  
                                                  await fs.writeFile(filePath, data, 'utf8');
                                              } catch (err) {
                                                  throw new Error(err);
                                              }
                                              }
                                          
                                              (async ()  => {
                                                  await writeFile(folder+filename, filecontent);
                                              })();
                                          }
                                          write_history_db("javascript.0.strom.Erz_Energie_Jahr", "2022-12-31 12:00:00.000",3100)
                                          

                                          HW:NUC (16 GB Ram)
                                          OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                          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

                                          165

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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