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
    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:


  • Yfkt5A
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Zieh dir das Plugin am besten hier: https://github.com/sisamiwe/plugins/tree/dev-db_addon
    Da ich das Docker-Image von jentz1986 nutze ist das nicht so einfach möglich, oder?
    Leider ist der noch auf dem Stand von 1.9.3, aber habe leider kein aktuelleres finden können.

    Zitat von Onkelandy Beitrag anzeigen
    Was stört dich am hohen Zählerstand? Der Verbrauch wird ja relativ berechnet.
    Schon, aber z.B. wenn mein Zählerstand jetzt sagen wir 25000kWh hat und ich die Berechnungen starte, wird der Tag eins wohl die 25000kWh zuviel haben, genau wie die erste Woche, Monat und Jahr. Oder habe ich einen Denkfehler, bzw. die Berechnung nicht verstanden!?

    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!?

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Zieh dir das Plugin am besten hier: https://github.com/sisamiwe/plugins/tree/dev-db_addon

    Das Plugin ist bei dir wohl nicht richtig geladen, schau doch mal im Log vor dem struct Fehler, ob was dazu steht. Database Plugin läuft?

    Was stört dich am hohen Zählerstand? Der Verbrauch wird ja relativ berechnet.

    Einen Kommentar schreiben:

Lädt...
X