Ankündigung
Einklappen
Keine Ankündigung bisher.
Support Thread - "DatabaseAddOn" Plugin
Einklappen
X
-
Sisamiwe: danke für die Tipps. Ich bin gerade viel unterwegs und kann das wahrscheinlich erst nächstes Wochende ausprobieren. :-(
-
Du könntest wie folgt vorgehen:Zitat von ooUrmeloo Beitrag anzeigenIch benutze sqlite3- 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
Das liegt daran, dass der Reiter nur bei eingestellten LogLevel <20 gefüllt wird.Zitat von ooUrmeloo Beitrag anzeigenDer Maintenance Reiter ist bei mir leer ... :-/ Die anderen gehen ...
Stell mal den LogLevel auf Debug (geht ja "on-runtime") und dann sollte dort was stehen.
- Likes 1
Einen Kommentar schreiben:
-
Ich benutze sqlite3Zitat von Sisamiwe Beitrag anzeigenNutzt du mysql bzw. MariaDB oder sqlite3?
Der Maintenance Reiter ist bei mir leer ... :-/ Die anderen gehen ...Zitat von Sisamiwe Beitrag anzeigenSchau bitte mal im WebIF des DBADDON. Dort gibt es einen Reiter "Maintenance". Dort ist zu sehen, welchen Wert das Plugin als ältesten ermittelt hat.
grafik.png
Einen Kommentar schreiben:
-
Nutzt du mysql bzw. MariaDB oder sqlite3?Zitat von ooUrmeloo Beitrag anzeigenKann 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.
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.Zitat von ooUrmeloo Beitrag anzeigenIn der Datenbank für z.B. Betriebstunden steht keine '0'. Der älteste Wert (vom 4.4.) ist 6751 und der aktuelle ist 6783.
Ich schaue mir das die Tage nochmal an.
Einen Kommentar schreiben:
-
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.Zitat von Sisamiwe Beitrag anzeigenKann 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.
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:
-
Kann es sein, dass deine neue Datenbank mit dem Wert "0" initialisiert wurde und damit "0" der älteste Wert ist.Zitat von ooUrmeloo Beitrag anzeigenIch 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.
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:
-
Ich habe gerade extra nochmal geschaut. Ich habe "use_oldest_entry" auf 'true' aber bei 'verbrauch_jahr' trotzdem den aktuellen Wert (= aktuell - 0).Zitat von Sisamiwe Beitrag anzeigenDas 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.
M.E. nimmt er nicht den ältest verfügbaren Wert.
Einen Kommentar schreiben:
-
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.Zitat von ooUrmeloo Beitrag anzeigenD.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?
Wie ist es bei dir konfiguriert? Es kann gut sein, dass da noch ein Fehler drin ist.
Einen Kommentar schreiben:
-
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.Zitat von Sisamiwe Beitrag anzeigenWie meinst Du "Verbrauch aufsummieren?
Erklär mal.
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:
-
Danke. Probiere ich später mal aus.Zitat von Sisamiwe Beitrag anzeigenAuch 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)
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:
-
Wie meinst Du "Verbrauch aufsummieren?Zitat von ooUrmeloo Beitrag anzeigenMan müsste den Verbrauch quasi aufsummieren. Ich habe das aktuell so umgesetzt:
Erklär mal.
Einen Kommentar schreiben:
-
Auch wenn der Wert sich nicht ändert, wird dann der immer gleiche Wert des Zahlerstandes gesendet und ins Item geschrieben?Zitat von ooUrmeloo Beitrag anzeigenKeine Ahnung, warum der Eintrag so häufig kommt. Wie gesagt, der Wert ändert sich aktuell gar nicht ...
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:
-
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:
und dann entsprechend für Woche, Monat, Jahr ...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)
Einen Kommentar schreiben:
-
Bei dem Betriebsstunden Item von vorher steht im log ständig folgender Eintrag und der Wert ist ebenfalls unplausibel.
Keine Ahnung, warum der Eintrag so häufig kommt. Wie gesagt, der Wert ändert sich aktuell gar nicht ...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
Einen Kommentar schreiben:


Einen Kommentar schreiben: