Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread - "DatabaseAddOn" Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ooUrmeloo
    antwortet
    Sisamiwe: danke für die Tipps. Ich bin gerade viel unterwegs und kann das wahrscheinlich erst nächstes Wochende ausprobieren. :-(

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von ooUrmeloo Beitrag anzeigen
    Ich benutze sqlite3
    Du könntest wie folgt vorgehen:
    • smarthomeNG beenden (dass nicht in die DB geschrieben wird)
    • die DB mit einem Tool zB DB Browser öffnen
    • mit dem Tool eigene Einträge machen, dazu müsstest den timestamp berechnen (unix-time in microsekunde)
    • DB Bearbeitung beenden
    • smarthomeNG starten
    Du kannst die fehlenden Werte auch ein Excel als csv vorbereiten und das csv mit dem Tool importieren.

    Zitat von ooUrmeloo Beitrag anzeigen
    Der Maintenance Reiter ist bei mir leer ... :-/ Die anderen gehen ...
    Das liegt daran, dass der Reiter nur bei eingestellten LogLevel <20 gefüllt wird.
    Stell mal den LogLevel auf Debug (geht ja "on-runtime") und dann sollte dort was stehen.
    Zuletzt geändert von Sisamiwe; 13.06.2024, 20:18. Grund: Korrektur

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Nutzt du mysql bzw. MariaDB oder sqlite3?
    Ich benutze sqlite3

    Zitat von Sisamiwe Beitrag anzeigen
    Schau bitte mal im WebIF des DBADDON. Dort gibt es einen Reiter "Maintenance". Dort ist zu sehen, welchen Wert das Plugin als ältesten ermittelt hat.
    Der Maintenance Reiter ist bei mir leer ... :-/ Die anderen gehen ...

    grafik.png

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von ooUrmeloo Beitrag anzeigen
    Kann man in der Datenbank eigentlich irgendwie manuell Daten ergänzen? Also z.B. einen Wert für 01.01.24 eintragen? Habe keine (einfache) Möglichkeit dazu gefunden.
    Nutzt du mysql bzw. MariaDB oder sqlite3?

    Zitat von ooUrmeloo Beitrag anzeigen
    In der Datenbank für z.B. Betriebstunden steht keine '0'. Der älteste Wert (vom 4.4.) ist 6751 und der aktuelle ist 6783.
    Schau bitte mal im WebIF des DBADDON. Dort gibt es einen Reiter "Maintenance". Dort ist zu sehen, welchen Wert das Plugin als ältesten ermittelt hat.

    Ich schaue mir das die Tage nochmal an.

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Kann es sein, dass deine neue Datenbank mit dem Wert "0" initialisiert wurde und damit "0" der älteste Wert ist.
    Du kannst das auf 2 Weisen testen: Entweder im WebIF des Database-Plugin schauen und den ältesten Wert suchen, oder in der Konfiguration des DB-Addon Plugins bzw. in der Itemkonfiguration sagen, dass die Werte "0" ausgeblendet werden sollen.
    Schau das bitte mal nach.
    In der Datenbank für z.B. Betriebstunden steht keine '0'. Der älteste Wert (vom 4.4.) ist 6751 und der aktuelle ist 6783. Wie gesagt, davor die Daten habe ich leider verloren.
    Kann man in der Datenbank eigentlich irgendwie manuell Daten ergänzen? Also z.B. einen Wert für 01.01.24 eintragen? Habe keine (einfache) Möglichkeit dazu gefunden.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von ooUrmeloo Beitrag anzeigen
    Ich habe gerade extra nochmal geschaut. Ich habe "use_oldest_entry" auf 'true' aber bei 'verbrauch_jahr' trotzdem den aktuellen Wert (= aktuell - 0).
    M.E. nimmt er nicht den ältest verfügbaren Wert.
    Kann es sein, dass deine neue Datenbank mit dem Wert "0" initialisiert wurde und damit "0" der älteste Wert ist.
    Du kannst das auf 2 Weisen testen: Entweder im WebIF des Database-Plugin schauen und den ältesten Wert suchen, oder in der Konfiguration des DB-Addon Plugins bzw. in der Itemkonfiguration sagen, dass die Werte "0" ausgeblendet werden sollen.
    Schau das bitte mal nach.

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Das SOLL-Verhalten kann man über Plugin-Parameter "use_oldest_entry" einstellen. True bewirkt, dass der älteste Eintrag genommen wird, wenn der Wert zum Startzeitpunkt nicht verfügbar ist. Bei False wird der Wert auf 0 gesetzt, da die Berechnung ja "falsch" ist. der Default-Wert ist False.

    Wie ist es bei dir konfiguriert? Es kann gut sein, dass da noch ein Fehler drin ist.
    Ich habe gerade extra nochmal geschaut. Ich habe "use_oldest_entry" auf 'true' aber bei 'verbrauch_jahr' trotzdem den aktuellen Wert (= aktuell - 0).
    M.E. nimmt er nicht den ältest verfügbaren Wert.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von ooUrmeloo Beitrag anzeigen
    D.h., 'verbrauch_jahr' kann nicht auf den Wert im Januar zurückgreifen. Ich dachte, das addon zieht dann den niedrigst verfügbaren Wert ab. Also 'heute - kleinsten Wert'. Richtig?
    Das SOLL-Verhalten kann man über Plugin-Parameter "use_oldest_entry" einstellen. True bewirkt, dass der älteste Eintrag genommen wird, wenn der Wert zum Startzeitpunkt nicht verfügbar ist. Bei False wird der Wert auf 0 gesetzt, da die Berechnung ja "falsch" ist. der Default-Wert ist False.

    Wie ist es bei dir konfiguriert? Es kann gut sein, dass da noch ein Fehler drin ist.

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Wie meinst Du "Verbrauch aufsummieren?
    Erklär mal.
    Meine PV Batterie liefert über jsonread nur den aktuellen Verbrauch oder Ertrag in W. (oben z.B. 'Consumption_W'), liefert mir aber nicht direkt den Tages-, Wochen- oder Monatsverbrauch.
    Das würde ich gerne ausrechnen bzw. mache das schon 'händisch' (siehe Item oben)

    1. Ich integriere über eine Stunde die Werte auf, damit ich Energie in kWh bekomme.

    2. Ich summiere den Wert stündlich auf, so dass ich den Verbrauch bzw. Ertrag seit Mitternacht bekomme ('Day_since') bzw. die Summe des gesamten gestrigen Tages ('Day').

    3. Das gleiche mache ich dann für Woche, Monat, Jahr, ...

    verständlich?

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Auch wenn der Wert sich nicht ändert, wird dann der immer gleiche Wert des Zahlerstandes gesendet und ins Item geschrieben?
    Nimm mal das enforce_updates aus paradigma.Betriebsstunden raus. Dann sollte der Eintrag nicht mehr kommen.

    PS: enforce_updates bewirkt, dass auch bei Zuweisung des gleichen Wertes alle Aktivitäten (Eintrag in DB usw. geschehen)
    Danke. Probiere ich später mal aus.
    Was macht das DB Addon denn, wenn der notwendige Wert nicht verfügbar ist?
    Ich habe vor 2-3 Monaten meine Datenbank verloren, weshalb ich Werte erst wieder ab März/April habe.
    D.h., 'verbrauch_jahr' kann nicht auf den Wert im Januar zurückgreifen. Ich dachte, das addon zieht dann den niedrigst verfügbaren Wert ab. Also 'heute - kleinsten Wert'. Richtig?
    Bei mir liefert der Befehl aber den aktuellen Absolut-Stand ...
    Passt das?

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von ooUrmeloo Beitrag anzeigen
    Man müsste den Verbrauch quasi aufsummieren. Ich habe das aktuell so umgesetzt:
    Wie meinst Du "Verbrauch aufsummieren?
    Erklär mal.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von ooUrmeloo Beitrag anzeigen
    Keine Ahnung, warum der Eintrag so häufig kommt. Wie gesagt, der Wert ändert sich aktuell gar nicht ...
    Auch wenn der Wert sich nicht ändert, wird dann der immer gleiche Wert des Zahlerstandes gesendet und ins Item geschrieben?
    Nimm mal das enforce_updates aus paradigma.Betriebsstunden raus. Dann sollte der Eintrag nicht mehr kommen.

    PS: enforce_updates bewirkt, dass auch bei Zuweisung des gleichen Wertes alle Aktivitäten (Eintrag in DB usw. geschehen)

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Gestern hatte ich fälschlicherweise versucht, mit 'verbrauch_tag' folgendes Item auszuwerten. Geht ja aber nicht, da es kein absoluter Zählerstand o.ä. ist, sondern der aktuelle Verbrauch. Diese Funktion habe ich im DB Addon nicht entdeckt. Wäre evtl. eine Idee für eine Zusaetzfunktion?!
    Man müsste den Verbrauch quasi aufsummieren. Ich habe das aktuell so umgesetzt:

    Code:
    sonnenbatterie:
        Consumption_W:
    #   House consumption in watts    
            type: num
            jsonread_filter@realtime: .Consumption_W
            database_maxage: 365
            database: yes
            cache: True
            Hour:
                type: num
                database: yes
                database_maxage: 30
                cache: True
                crontab: '0 * * * * = 1'
                eval: sh.sonnenbatterie.Consumption_W.db('integrate', '1h', 'now') / 1000 / 60 / 60 / 1000
            Day:
                type: num
                database: yes
                database_maxage: 30
                cache: True
                crontab: '0 0 * * * = 1'
                eval: round(sh.sonnenbatterie.Consumption_W.Hour.db('sum', '1d', 'now'), 2)
            Day_since:
                type: num
                database: yes
                database_maxage: 30
                cache: True
                eval_trigger: sonnenbatterie.Consumption_W.Hour
                eval: round(sh.sonnenbatterie.Consumption_W.Hour.db('sum', sh.date.hour.since.midnight.dbstr(), 'now'), 2)​
    und dann entsprechend für Woche, Monat, Jahr ...

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Bei dem Betriebsstunden Item von vorher steht im log ständig folgender Eintrag und der Wert ist ebenfalls unplausibel.

    Code:
    2024-06-08  22:16:07 INFO     plugins.db_addon    + Updated item 'paradigma.Betriebsstunden' with value 6783 is now due to be put to queue for processing. 1 items to do.
    2024-06-08  22:16:07 DEBUG    plugins.db_addon    queue_entry=(Item: paradigma.Betriebsstunden, 6783)
    2024-06-08  22:16:07 INFO     plugins.db_addon    # 1 item(s) to do. || 'onchange' item=paradigma.Betriebsstunden with value=6783 will be processed.
    2024-06-08  22:16:07 INFO     plugins.db_addon      Item value for 'paradigma.Betriebsstunden_Jahr_bisher' with func=None will be set to 6783​
    Keine Ahnung, warum der Eintrag so häufig kommt. Wie gesagt, der Wert ändert sich aktuell gar nicht ...

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    ... sorry ... hier war ein Fehler von mir drin ... hab's gelöscht.
    Zuletzt geändert von ooUrmeloo; 08.06.2024, 22:06.

    Einen Kommentar schreiben:

Lädt...
X