Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread - "DatabaseAddOn" Plugin

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

  • Sisamiwe
    antwortet
    Cannon


    Ich habe mich nochmal schlau gemacht:

    Die Wärmesumme ist nicht eindeutig definiert. Ich habe es so implementiert, dass bei "current" die Jahreswärmesumme als Summe der Tagesmitteltemperaturen in der Zeit vom 20.3. und 21.9 des aktuellen Jahres errechnet werden. D.h. bislang war der Ergebnis per Definition 0.

    Gruenlandtemperatursumme ist mehr oder weniger definiert. Hier werden für das laufende Jahr die (positiven) Tagesmitteltemperaturen addiert. Die Werte im Januar werden mit 0,5 gewichet, die von Februar mit 0,75.

    Es gibt in der Tat einen Fehler im Plugin. Der Parameter "db_addon_startup: yes​" wird aktuell für die Temperatursumme nicht beachtet.

    Bei einer im WebIF ausgelösten Neuberechnung funktioniert die Berechnung bei mit.
    Wenn du den Log-Level auf Debug stellst, kannst Du im Log die Berechnung der Items verfolgen. Bei mir sieht das so aus:

    Code:
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        handle_ondemand        handle_ondemand: _db_addon_fct='gruenlandtempsumme' detected; _db_addon_params={'year': 'current', '_database_item': Item: wetter.foshk.outdoor.temp}
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _query_item            _query_item called with func='max', item=wetter.foshk.outdoor.temp, timeframe='year', start=0, end=0, group='day', group2=None, ignore_value=None
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _get_oldest_log        _get_oldest_log for item wetter.foshk.outdoor.temp = 1658055085967
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _query_item            _query_item: Requested timeframe='year' with start=0 and end=0 resulted in start being timestamp=1672531200000 / 2023-01-01 00:00:00 and end being timestamp=1704067200000 / 2024-01-01 00:00:00
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _query_log_timestamp   _query_log_timestamp: Called with func='max', item_id=996, ts_start=1672531200000, ts_end=1704067200000, group='day', group2=None, ignore_value=None
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _query_log_timestamp   _query_log_timestamp: query="SELECT time, ROUND(MAX(val_num), 1) as value FROM log WHERE item_id = :item_id AND time BETWEEN :ts_start AND :ts_end AND val_bool = 1 GROUP BY date((time/1000),'unixepoch') ORDER BY time ASC", params={'item_id': 996, 'ts_start': 1672531200000, 'ts_end': 1704067200000}
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _query                 _query: Called with query="SELECT time, ROUND(MAX(val_num), 1) as value FROM log WHERE item_id = :item_id AND time BETWEEN :ts_start AND :ts_end AND val_bool = 1 GROUP BY date((time/1000),'unixepoch') ORDER BY time ASC", params={'item_id': 996, 'ts_start': 1672531200000, 'ts_end': 1704067200000}, cur=None
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _query                 _query: Result of 'SELECT time, ROUND(MAX(val_num), 1) as value FROM log WHERE item_id = 996 AND time BETWEEN 1672531200000 AND 1704067200000 AND val_bool = 1 GROUP BY date((time/1000),'unixepoch') ORDER BY time ASC': []
    2023-03-21  22:17:04 INFO     plugins.priv_db_addon        _handle_query_result    No values for item in requested timeframe in database found.
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        _query_item            _query_item: value for item=wetter.foshk.outdoor.temp with timeframe='year', func='max': [[0, 0]]
    2023-03-21  22:17:04 DEBUG    plugins.priv_db_addon        handle_ondemand        handle_ondemand: result is 0 for item 'wetter.foshk.outdoor.temp.gruenlandtempsumme_aktuell' with '_db_addon_fct='gruenlandtempsumme''
    2023-03-21  22:17:04 INFO     plugins.priv_db_addon        handle_ondemand          Item value for 'wetter.foshk.outdoor.temp.gruenlandtempsumme_aktuell' will be set to 0​
    Schau bei dir bitte nochmal.

    Fix kommt dann später.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Rechnet es gar nicht oder nur die Wärmesummer und Gruenlandtemperatursumme nicht?
    Das musste ich erst einmal prüfen. Mehr als die beiden Sachen nutze ich ja gar nicht. Ich habe nun noch mit minmax_heute_min und minmax_heute_max getestet. Das geht. Also gehen nur die Temperatursummen nicht.

    Als Ansatz evtl. die minmax werden bei on_change aktualisiert, die Temperaturen nur täglich. Vielleicht ist da ein Problem?
    Zuletzt geändert von Cannon; 20.03.2023, 18:46.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Es rechnet einfach nicht.
    Rechnet es gar nicht oder nur die Wärmesummer und Gruenlandtemperatursumme nicht?

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Was sagt denn das Debug-Log dazu?
    Ich habe jetzt nochmal mit dem Plugin gespielt. Also das Plugin mal im Webif pausiert und wieder fortgesetzt. Beides steht im Log. Es gibt aber sonst keine Meldungen vom Plugin. Es rechnet einfach nicht.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Was sagt denn das Debug-Log dazu
    Kein Eintrag dazu.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Habe ich was übersehen?
    Die Konfig sieht gut aus.

    Was sagt denn das Debug-Log dazu?

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    So ich habe das Update etzt gezogen und alles eingerichtet. Irgendwie werden mir aber keine Werte gezeigt:

    Code:
            Wetterstation:
                Temperatur:
                    type: num
                    knx_dpt: 9
                    knx_cache: 4/0/0
                    database: init
                    database_maxage: 732
                    visu_acl: ro
                    Gruenlandtemperatursumme:
                        type: num
                        database: init
                        database_maxage: 732
                        db_addon_fct: gruenlandtempsumme
                        db_addon_params: "year=current"
                        db_addon_startup: yes
                    Waermesumme:
                        type: num
                        database: init
                        database_maxage: 732
                        db_addon_fct: waermesumme      
                        db_addon_params: "year=current"
                        db_addon_startup: yes​
    Das Plugin läuft und meine Items werden auch gelistet. Der Wert belibt 0 und scheint auch vom plugin, lauit Item-Info nicht geändert worden zu sein.

    Habe ich was übersehen?

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    henfri

    Ja, es funktioniert auch mit sqlite

    Beste Grüße

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    vielen Dank für das AddOn.
    Es funktioniert jetzt sogar mit Sqlite, oder?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Sisamiwe
    hat ein Thema erstellt Support Thread - "DatabaseAddOn" Plugin.

    Support Thread - "DatabaseAddOn" Plugin

    Hallo,

    das ist der Support Thread für das "DatabaseAddOn" Plugin.
Lädt...
X