Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread - "DatabaseAddOn" Plugin

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

  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Es muss nur ...
    Danke, da habe ich mich wohl verschaut gehabt.

    Ich habe es jetzt geändert und die Ergebnisse geben jetzt mehr Sinn. wachstumsgradtage=10 und waermesumme=109 sollte stimmig sein. Genauso, wie oben auf dem Dach, 6 und 58, auch passen sollte.

    Die Kältesumme geht allerdings noch nicht. Die ist 0. Mir ist allerdings aus der Doku nicht ganz klar, ob da wirklich der 21.09.23, ohne Angebe von Parametern, bis jetzt genommen wird?

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Version ist 1.2.7.
    ja, 1.2.7.

    Es muss nur
    Code:
                if result == 'series':
                    return wgte_list
                else:
                    return int(round(wgte, 0))
    nach links gerückt werden. Der Ausschnitt oben zeigt das Endergebnis

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Kannst du bitte mal die Zeilen 1888 bis einschließlich 1891 um eine Ebene nach links rücken?
    Über welche Version reden wir? Bei mir beginnt der benannte Block ab Zeile 1872. Version ist 1.2.7.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Das Ergebnis sollte nicht 0 sein oder?
    Kannst du bitte mal die Zeilen 1888 bis einschließlich 1891 um eine Ebene nach links rücken?
    So müsste es dann aussehen:

    Code:
                for entry in raw_data:
                    timestamp, min_val, max_val = entry
                    
                    if variant == 0:
                        wgt = (((min_val + min(30, max_val)) / 2) - threshold)
                    elif variant == 1:
                        wgt = (((max(threshold, min_val) + min(30.0, max_val)) / 2) - threshold)
                    elif variant == 2:
                        wgt = (((min_val + min(30, max_val)) / 2) - threshold)
                    else:
                        wgt = None
    
                    if wgt and wgt > 0:
                        wgte += wgt
                    wgte_list.append([timestamp, int(round(wgte, 0))])
    
                if result == 'series':
                    return wgte_list
                else:
                    return int(round(wgte, 0))
    Probier es damit bitte mal.
    Danke

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Das Ergebnis sollte nicht 0 sein oder?
    Ich schau mir das an und melde mich.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Wenn man den Logger auf Debug stellt, sieht man im Log auch die Rohdaten.
    Es würde helfen, wenn Du mal prüfen würdest, ob die Rohdaten schon einen Fehler aufweisen oder die Summenbildung.
    Die Rohdaten scheinen zu passen. Hier mal ein Beispiel:

    Code:
    2024-02-28  17:49:58 INFO     plugins.db_addon    # 2 item(s) to do. || 'on-demand' item=Zentral.Wetter.pluggit.Temperatur.Wachstumsgradtage will be processed.
    2024-02-28  17:49:58 DEBUG    plugins.db_addon    Item=Zentral.Wetter.pluggit.Temperatur.Wachstumsgradtage with item_config={'db_addon': 'function', 'db_addon_fct': 'wachstumsgradtage', 'database_item': Item: Zentral.Wetter.pluggit.Temperatur, 'query_params': {'year': 'current'}, 'suspended': False, 'on': 'demand', 'cycle': 'daily', 'startup': True}
    2024-02-28  17:49:58 DEBUG    plugins.db_addon    db_addon_fct='wachstumsgradtage' will _query_item with params={'year': 'current', 'database_item': Item: Zentral.Wetter.pluggit.Temperatur}.
    2024-02-28  17:49:58 DEBUG    plugins.db_addon    func='wachstumsgradtage', database_item=Item: Zentral.Wetter.pluggit.Temperatur, year='current', month=None, params={}
    2024-02-28  17:49:58 DEBUG    plugins.db_addon    try to get raw data
    2024-02-28  17:49:58 DEBUG    plugins.db_addon    called with database_item=Zentral.Wetter.pluggit.Temperatur, timeframe='day', start=58, end=0, ignore_value_list=None, data_con_func='minmax_day'
    2024-02-28  17:49:58 DEBUG    plugins.db_addon    raw_data for _query_params={'func': 'raw', 'database_item': Item: Zentral.Wetter.pluggit.Temperatur, 'timeframe': 'day', 'start': 58, 'end': 0, 'ignore_value_list': None} read from cache.
    2024-02-28  17:50:08 DEBUG    plugins.db_addon    _block1='day', value_dict={......... GEKÜRZT
    2024-02-28  17:50:08 DEBUG    plugins.db_addon    _data_con1='minmax', result=[[1704063600, 4.26, 9.02], [1704150000, 3.48, 8.29], [1704236400, 8.2, 12.27], [1704322800, 1.46, 10.03], [1704409200, 1.0, 2.11], [1704495600, -0.43, 1.9], [1704582000, -5.53, 4.66], [1704668400, -6.42, -1.26], [1704754800, -9.78, -1.12], [1704841200, -8.31, 1.37], [1704927600, -6.21, 1.68], [1705014000, 0.39, 2.19], [1705100400, 2.14, 4.28], [1705186800, 3.2, 4.81], [1705273200, 0.45, 4.3], [1705359600, -5.3, 2.44], [1705446000, -4.0, 7.04], [1705532400, -2.61, 1.58], [1705618800, -3.37, 4.12], [1705705200, -1.89, 5.23], [1705791600, -3.11, 4.33], [1705878000, 3.3, 10.91], [1705964400, 4.48, 9.39], [1706050800, 5.57, 12.47], [1706137200, 4.3, 9.98], [1706223600, 1.47, 10.28], [1706310000, 3.37, 8.07], [1706396400, -0.78, 9.11], [1706482800, 0.01, 10.9], [1706569200, -0.11, 9.16], [1706655600, 5.53, 9.72], [1706742000, 5.76, 10.43], [1706828400, 5.17, 9.02], [1706914800, 8.54, 11.95], [1707001200, 7.17, 9.46], [1707087600, 7.66, 11.2], [1707174000, 9.66, 12.77], [1707260400, 1.37, 10.08], [1707346800, 0.06, 4.83], [1707433200, 2.02, 7.03], [1707519600, 6.69, 14.89], [1707606000, 7.32, 9.88], [1707692400, 6.28, 9.76], [1707778800, 2.94, 10.87], [1707865200, 2.33, 10.78], [1707951600, 9.41, 13.99], [1708038000, 8.53, 17.57], [1708124400, 7.28, 13.02], [1708210800, 2.79, 10.7], [1708297200, 7.66, 10.05], [1708383600, 7.78, 9.9], [1708470000, 7.9, 12.76], [1708556400, 8.76, 12.32], [1708642800, 4.27, 12.4], [1708729200, 1.09, 12.59], [1708815600, 1.64, 13.52], [1708902000, -0.05, 13.68], [1708988400, 4.03, 8.19], [1709074800, 3.74, 5.91]]
    2024-02-28  17:50:08 DEBUG    plugins.db_addon    raw_value_list=[[1704063600, 4.26, 9.02], [1704150000, 3.48, 8.29], [1704236400, 8.2, 12.27], [1704322800, 1.46, 10.03], [1704409200, 1.0, 2.11], [1704495600, -0.43, 1.9], [1704582000, -5.53, 4.66], [1704668400, -6.42, -1.26], [1704754800, -9.78, -1.12], [1704841200, -8.31, 1.37], [1704927600, -6.21, 1.68], [1705014000, 0.39, 2.19], [1705100400, 2.14, 4.28], [1705186800, 3.2, 4.81], [1705273200, 0.45, 4.3], [1705359600, -5.3, 2.44], [1705446000, -4.0, 7.04], [1705532400, -2.61, 1.58], [1705618800, -3.37, 4.12], [1705705200, -1.89, 5.23], [1705791600, -3.11, 4.33], [1705878000, 3.3, 10.91], [1705964400, 4.48, 9.39], [1706050800, 5.57, 12.47], [1706137200, 4.3, 9.98], [1706223600, 1.47, 10.28], [1706310000, 3.37, 8.07], [1706396400, -0.78, 9.11], [1706482800, 0.01, 10.9], [1706569200, -0.11, 9.16], [1706655600, 5.53, 9.72], [1706742000, 5.76, 10.43], [1706828400, 5.17, 9.02], [1706914800, 8.54, 11.95], [1707001200, 7.17, 9.46], [1707087600, 7.66, 11.2], [1707174000, 9.66, 12.77], [1707260400, 1.37, 10.08], [1707346800, 0.06, 4.83], [1707433200, 2.02, 7.03], [1707519600, 6.69, 14.89], [1707606000, 7.32, 9.88], [1707692400, 6.28, 9.76], [1707778800, 2.94, 10.87], [1707865200, 2.33, 10.78], [1707951600, 9.41, 13.99], [1708038000, 8.53, 17.57], [1708124400, 7.28, 13.02], [1708210800, 2.79, 10.7], [1708297200, 7.66, 10.05], [1708383600, 7.78, 9.9], [1708470000, 7.9, 12.76], [1708556400, 8.76, 12.32], [1708642800, 4.27, 12.4], [1708729200, 1.09, 12.59], [1708815600, 1.64, 13.52], [1708902000, -0.05, 13.68], [1708988400, 4.03, 8.19], [1709074800, 3.74, 5.91]]
    2024-02-28  17:50:08 INFO     plugins.db_addon    Calculate 'Wachstumsgradtag' according to 'Berechnung des einfachen Durchschnitts'.
    2024-02-28  17:50:08 DEBUG    plugins.db_addon    result is 0 for item 'Zentral.Wetter.pluggit.Temperatur.Wachstumsgradtage' with 'db_addon_fct='wachstumsgradtage''
    2024-02-28  17:50:08 INFO     plugins.db_addon      Item value for 'Zentral.Wetter.pluggit.Temperatur.Wachstumsgradtage' will be set to 0​
    Das Ergebnis sollte nicht 0 sein oder?

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    hier nutzen alle die gleiche Funktion
    Zitat von Sisamiwe Beitrag anzeigen
    Es würde helfen, wenn Du mal prüfen würdest, ob die Rohdaten schon einen Fehler aufweisen oder die Summenbildung.
    Werde ich mir anschauen, aber wenn alle die gleiche Funktion nutzen, wo würde da der Sinn liegen die Rohdaten zu prüfen? Denn die Grünlandtemperatur scheint ja zu stimmen. Oder habe ich was falsch verstanden?

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Evtl. Möglichkeiten das zu beheben?
    Die Berechnungen für diese Temperatursummen ist 2-stufig aufgebaut. Zuerst wurden die Rohdaten aus der Datenbank abgefragt (hier nutzen alle die gleiche Funktion) und im zweiten Schritt werden aus diesen Daten die Temperatursummen berechnet.

    In der Doku habe ich versucht, die Berechnung der einzelnen Temperatursummen zu beschreiben. Die meisten haben keine allgemeingültige Berechnungsformel.

    Wenn man den Logger auf Debug stellt, sieht man im Log auch die Rohdaten.
    Es würde helfen, wenn Du mal prüfen würdest, ob die Rohdaten schon einen Fehler aufweisen oder die Summenbildung.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Ich habe das Plugin mal wieder aktiviert. Ich hoffe das mit SmartHomeNG 1.10 die Datenbankfehler dann nicht mehr bestehen.

    Grundsätzlich wird das Thema wieder aktuell. Ich versuche mal die Daten vom Web mit meinen hier lokal zu vergleichen:

    https://www.wetterportal.net/agrarwerte.php

    Für den Standort Pankow, nehme ich die Werte als Basis, also heute:

    Kältesumme -> 29,6
    Wärmesumme -> 269,8
    Wachstumsgradtage (5 °C) -> 113,1
    Wachstumsgradtage (10°C) -> 13,8
    Grünlandtemperatur -> 165,0

    Das ganze vergleiche ich mal mit den Daten aus meiner Datenbank mittels dbaddon:

    Kältesumme -> 0
    Wärmesumme -> 87
    Wachstumsgradtage -> 0
    Grünlandtemperatur -> 165,0

    ------------

    Und zum Vergleich noch mal eine andere Station, Finowfurt:

    Kältesumme -> 40,7
    Wärmesumme -> 211,2
    Wachstumsgradtage (5 °C) -> 102,0
    Wachstumsgradtage (10°C) -> 11,6
    Grünlandtemperatur -> 129,4

    Und hier nehme ich meine Wetterstation auf dem Dach:
    ​​
    Kältesumme -> 0
    Wärmesumme -> 36
    Wachstumsgradtage -> 0
    Grünlandtemperatur -> 135,0

    ​-------------

    Was fällt auf: Die Grünlandtemperatur scheint wirklich sehr gut zu passen. Allerdings scheinen alle anderen Werte nicht im entferntesten zu passen. Kann das jemand bestätigen? Evtl. Möglichkeiten das zu beheben?

    Ich erachte die Werte aus dem Portal für recht realistisch, deshalb bietet das natürlich eine gute Vergleichsbasis.

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    Hallo zusammen,

    ich hab das Plugin erfolgreich am laufen und ist ne tolle Idee. Hat jemand damit auch Diagramme vom täglichen, wöchentlichen, monatlichen Stromverbrauch umgesetzt? Das Widget Stacked Column Bar Chart gefällt mir z.B. ganz gut. Ich hatte vorher in der Smartvisu gesucht aber da gibt es keinen Beitrag und als Grundlage wäre dieses Plugin ja wichtig.

    Ich würde gerne die alte ehz Berechnung loswerden.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Hast Du mal die Version aus dem develop-Branch getestet?
    Geht das, ohne komplett SHNG aus dem Develop zu nutzen?

    Gut, habe das gerade mal ausprobiert. db_addon und database-plugin habe ich aktualisiert. Das Problem besteht weiterhin. Schon gleich nach dem Start.
    Zuletzt geändert von Cannon; 12.12.2023, 13:01.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Gern würde ich das DataBaseAddon nutzen
    Hast Du mal die Version aus dem develop-Branch getestet?

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Gern würde ich das DataBaseAddon nutzen, jedoch führt das bei mir immer wieder zu Problemen, weil die Datenbank blockiert wird. Kann man das irgendwie verhindert? So werden ja auch kritische Dinge nicht in die Datenbank geschrieben. Es hilft übrigens auch nicht das Plugin zu pausieren, es muss wirklich komplett in der plugin.yaml auskommentiert werden.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Szenario 1:
    1.12. 0:00 Zählerstand 25.000
    1.12. 23:59 Zählerstand 25.100
    -> Verbrauch_heute = 100

    Szenario 2:
    30.11. 0:00 Zählerstand 60.000
    1.12. 0:00 Zählerstand 0
    -> Warnung im Log wegen negativem Wert für Tag, Woche, etc. Ja. Das kannst du nur verhindern, wenn du nach einem Reset über ein Hilfsitem in die Datenbank schreiben lässt, wo automatisch 60.000 dazu gezählt wird. Ich glaub, es gibt im Forum irgendwo was in die Richtung Höchststand * Resetamount + aktueller Stand

    Ich denke, du kannst dir aus dem Git einfach das zip ziehen und den Ordner db_addon im Docker ersetzen. Aber wie oben geschrieben liegt das Problem eher woanders. Sollte alles auch mit der alten Version klappen.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Yfkt5A Beitrag anzeigen
    Anders wenn ein Zähleraustausch stattfindet, dann hätte man am Vortag noch z.B. 60000kWh und nach dem Tausch 0kWh und damit einen Minuswert!?
    Das DBADDON Plugin nutzt nur die Daten aus der Datenbank. Um das zu beschrieben Verhalten zu umgehen, müssten die Daten in der Datenbank bspw. über Items lösen.

    Beste Grüße

    Einen Kommentar schreiben:

Lädt...
X