Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin: DatabaseAddOn - Erweitere Testphase

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

  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Kleine Anmerkung schon jetzt. In plugin.yaml sollte gruenlandtempsumme korrigiert werden. Da steht stattdessen gruendlandtempsumme drin.
    Danke. Gefixt in meinem Repo

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von bmx Beitrag anzeigen
    Da brauchst Du nicht drauf zu warten. Kopiere Dir einfach die Dateien wie im 1. Post beschrieben lokal runter und binde das Plugin ein. Die SQLite Hausaufgaben sind IMHO alle implementiert und warten auf eifrige Tester.
    Dann teste ich das morgen. Eingebunden ist es schon, muss nur noch neu starten. Kleine Anmerkung schon jetzt. In plugin.yaml sollte gruenlandtempsumme korrigiert werden. Da steht stattdessen gruendlandtempsumme drin.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Da brauchst Du nicht drauf zu warten. Kopiere Dir einfach die Dateien wie im 1. Post beschrieben lokal runter und binde das Plugin ein. Die SQLite Hausaufgaben sind IMHO alle implementiert und warten auf eifrige Tester.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    ich habe soeben eine neue Version in mein Repo gepushed, bei der die erste Runde sqlite Queries implementiert sind.
    Grundsätzlich habe ich nun 2 Funktionen drin, die die Query-Strings zusammenstellen. Die erste arbeitet alle einfacheren Abfragen ab (Werte innerhalb eines Tages, Woche, Monat, Jahr). Die zweite die komplexeren Anfragen.
    Für die einfachere Abfrage gibt es auch sqlite Queries, die ich aber nur offline testen konnte.
    Finde ich sehr spannend dein AddOn. Dann warte ich noch auf die komplexen Anfragen mit sqlite.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von bmx Beitrag anzeigen
    Gibt es schon Fortschritte im Bestreben das auch SQLite im Plugin funktioniert?
    Hallo,
    ich habe soeben eine neue Version in mein Repo gepushed, bei der die erste Runde sqlite Queries implementiert sind.
    Grundsätzlich habe ich nun 2 Funktionen drin, die die Query-Strings zusammenstellen. Die erste arbeitet alle einfacheren Abfragen ab (Werte innerhalb eines Tages, Woche, Monat, Jahr). Die zweite die komplexeren Anfragen.
    Für die einfachere Abfrage gibt es auch sqlite Queries, die ich aber nur offline testen konnte.

    Beste Grüße
    MIchael

    Einen Kommentar schreiben:


  • android
    antwortet
    Bei mir leider nicht, ich sehe das auch nicht mehr vor Weihnachten

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Gibt es schon Fortschritte im Bestreben das auch SQLite im Plugin funktioniert?

    Einen Kommentar schreiben:


  • Foxi352
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Um den Rechen- bzw. Abfrageaufwand zu reduzieren, werden die Werte, die vom aktuellen Zählerstand abhängen (heute, woche, monat, jahr) erst dann berechnet, wenn es ein Update des Wertes vom Zähler gibt. Deshalb ist der Update-Cycle auch "on-change", Berechnung bei Änderung.

    Mittlerweile sollten sie da sein.
    Richtig?
    Jein. Habe seither nicht mehr neu gestartet. Wie du siehst ist Woche-1und -2 noch nicht zurückgekommen. Auch Monat-1 ist nicht da. Allerdings hatte ich das Plugin erst am 29. oder 30. letzten Monats installiert. Das würde och jetzt mal ignorieren. Aber vorherige Wochen sollten schon da sein.

    Ausserdem war an dem Tag als ich neu gestartet habe der Tageswert wieder bei 0 losgegangen. Will heissen er hat ab Neustart gerechnet, aber nicht rückwirkend bis Mitternacht.

    Screen Shot 2022-07-17 at 12.47.28.png

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Foxi352 Beitrag anzeigen
    Nur der Tageswert für Heute ich nun irgendwie im Eimer. Und Woche -1 ist auch auf 0.
    Um den Rechen- bzw. Abfrageaufwand zu reduzieren, werden die Werte, die vom aktuellen Zählerstand abhängen (heute, woche, monat, jahr) erst dann berechnet, wenn es ein Update des Wertes vom Zähler gibt. Deshalb ist der Update-Cycle auch "on-change", Berechnung bei Änderung.

    Mittlerweile sollten sie da sein.
    Richtig?

    Einen Kommentar schreiben:


  • Foxi352
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Hier solltes so sein, dass das Plugin feststellt, dass es für den 1.1. keine Daten gibt, automatisch auf "oldest entry" geht und dieses Wert nimmt.
    Das Plugin hat noch einen Debug-Modus. Wenn Du im Log-level "debug" bist, gibt es automatisch im WebIF des Plugins einen Reiter "Maintenance". Dort sind alle gecachten Werte sichtbar. Schau mal, on dort der "oldest entry" für das Item sichtbar ist.
    Hab mal für das Plugin den DEBUG Modus aktiviert und SHNG neu gestarted.
    Ich sehe nun den Maintenance Reiter und auch Jahreswerte sind nun plötzlich da.
    Nur der Tageswert für Heute ich nun irgendwie im Eimer. Und Woche -1 ist auch auf 0.
    Ich werd es mal ein paar Tage beobachten, villeicht kommen wie Werte ja noch irgendwann ?

    Screen Shot 2022-07-09 at 11.51.16.png

    Einen Kommentar schreiben:


  • manhartm
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen

    Das müsste ich mir mal genauer auschauen. Ich glaube, dass es da einfach zu wenig Werte gibt.

    D.h. wenn Du die eine funktionierende SQL Abfrage hast, können wir überlegen, wie wir die bestehenden optimieren.

    Beste Grüße
    Ich habe zu Tests 2 Zähler mit dem Plugin verbunden. Der Solarzähler des Wechselrichters erzeugt pro Tage mehrere Updates. Da funktioniert die Berechnung.

    Der Wasserzähler erhöht den Wert nur alle paar Tage um 1 Schritt:

    29.6.22 01:17 Wert=1274.0
    03.7.22 01:17 Wert=1275.0
    06.7.22 01:16 Wert=1276.0

    Der Wasserzähler funktioniert nicht. Alle 3 Werte bleiben auf Null.

    Einen Kommentar schreiben:


  • manhartm
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen

    Code:
    [mysqld]
    connect_timeout = 60
    net_read_timeout = 60
    wait_timeout = 28800
    interactive_timeout = 28800
    in der /etc/mysql/my.cnf
    Ich verwende exakt diese Werte auf einem Raspberry Pi 4 mit einer SSD am USB3 und der MariaDB auf dieser SSD. Wenn ich die beiden ersten Timeout auf 120 erhöhe, sehe ich im Log Hinweise, dass ich diese auf 60 setzen soll.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von android Beitrag anzeigen
    Wenn ich Zeit habe, werde ich mich mal dran versuchen, das kann aber dauern....
    Ich habe mal meine SQL Datenbank in sqlite gewandelt (zumindest für Testzwecke). Ich versuche mich auch mal dran.

    Kann aber auch dauern....

    Aber schön, wenn jemand mit dabei ist.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von manhartm Beitrag anzeigen
    Die 3 Werte bleiben immer auf Null.
    Das müsste ich mir mal genauer auschauen. Ich glaube, dass es da einfach zu wenig Werte gibt.

    Hier nochmal zu Info: Das Plugin macht eigentlich nichts anderes, wie gezielte Abfragen der SQL Datenbank. Es werden keinen eigenen Berechnungen durchgeführt.
    Schlussendlich wird über die Parameter etc einen SQL Abfrage zusammengesetzt und ausgeführt. In höheren Log-Level findest Du die eigentliche Abfrage als Log mit "_query: Called with query=SELECT ...."

    D.h. wenn Du die eine funktionierende SQL Abfrage hast, können wir überlegen, wie wir die bestehenden optimieren.

    Beste Grüße

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von manhartm Beitrag anzeigen
    Was hat es mit diesem ERROR "Can not execute query" auf sich ?
    Das steht doch in der Fehlermeldung direkt dahinter. Die Anfrage konnte nicht ausgeführt werden, weil der SQL Server nicht erreichbar war. Danach findet ein Reconnect statt und die Abfrage wird ausgeführt. Das Ergebnis steht in der Zeile darunter.

    Im diesen Verbindungsbruch zu unterdrücken, kann man die Parameter für die SQL DB anpassen. Damit können u.a. längere Abfragezeiten zugelassen werden.
    Im Moment teste ich

    Code:
    [mysqld]
    connect_timeout = 60
    net_read_timeout = 60
    wait_timeout = 28800
    interactive_timeout = 28800
    in der /etc/mysql/my.cnf

    Einen Kommentar schreiben:

Lädt...
X