Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread - "DatabaseAddOn" Plugin

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

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

    Kommentar


      #32
      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.

      Kommentar


        #33
        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.

        Kommentar


          #34
          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.

          Kommentar


            #35
            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.

            Kommentar


              #36
              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?

              Kommentar


                #37
                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?

                Kommentar


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

                  Kommentar


                    #39
                    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

                    Kommentar


                      #40
                      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.

                      Kommentar


                        #41
                        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

                        Kommentar


                          #42
                          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?

                          Kommentar


                            #43
                            Zitat von Cannon Beitrag anzeigen
                            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?
                            ja, wenn keine Parameter angegeben sind, sollte der aktuelle Zeitraum, also ab 21.09.2023 genommen werden.

                            Schickst Du bitte hier auch einen Debug.Log Auszug?
                            Danke

                            Kommentar


                              #44
                              Cannon

                              Ich konnte die Fehler lokalisieren und korrigieren. Es ist ein PR vorbereitet: https://github.com/smarthomeNG/plugins/pull/925 Kannst Du das mal testen?

                              Kommentar


                                #45
                                Zitat von Sisamiwe Beitrag anzeigen
                                Ich konnte die Fehler lokalisieren und korrigieren. Es ist ein PR vorbereitet: https://github.com/smarthomeNG/plugins/pull/925 Kannst Du das mal testen?



                                Großartig.

                                Es läuft und errechnet auch Werte. Und jetzt mal kurz zur Auswertung im Vergleich zu der Seite wetterportal.net, die ich als Referenz heranziehe. Die Werte sind mit den Standardeinstellungen des AddOns verglichen.
                                • Grünlandtemperatur und Kältesumme scheinen mit meiner Vergleichsseite stimmig zu sein.
                                • Wärmesumme weicht deutlich ab; 2,5 - 4,5 fache im Portal
                                • Wachstumstaggrade 10°C weicht ab; ca. 2 - 3 fache im Portal
                                Ich werde mir mal die Werte noch mal anschauen, auch auf Wikipedia vergleichen mit den Parametern probieren. Das kann aber noch ne Weile dauern.

                                Kommentar

                                Lädt...
                                X