Zitat von bmx
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: DatabaseAddOn - Erweitere Testphase
Einklappen
X
-
Ich habs zum Laufen bekommen, denke ich zumindest....
Zum Test:
Die Temperatur im WC
Heute Min/Max zeigt noch nichts an... denke ich erst ein Tag vergehen muss, richtig?
Der Code:
Code:wc: temperatur: type: num # visu_acl: rw database: init knx_dpt: 9 knx_listen: 6/2/23 knx_init: 6/2/23 # Ab hier TEST von Neues Plugin: DatabaseAddOn - Erweitere Testphase auswertung: type: foo heute_min: type: num database_addon_fct: minmax_heute_min heute_max: type: num database_addon_fct: minmax_heute_max gestern_min: type: num database_addon_fct: minmax_heute_minus1_min gestern_max: type: num database_addon_fct: minmax_heute_minus1_max
In deinem Beispiel unter: https://github.com/sisamiwe/shng-db_addon-plugin
Code:temperature: aussen: nord: name: Außentemp Nordseite type: num visu_acl: ro knx_dpt: 9 knx_cache: 6/5/1 database: init struct: - db_addon.minmax_1 - db_addon.minmax_2
hast du
struct:
- db_addon.minmax_1
- db_addon.minmax_2
verwendet, dies taucht bei den "item_attributes:" "valid_list:" nicht auf... werden dadurch alle Unterpunkte bei "name: Struct für Auswertung der Wertehistorie bei schwankenden Werten wie bspw. Temperatur oder Leistung (Teil 1) " automatisch verwendet?minmax_1:
Danke schon mal für die Erklärung
Kommentar
-
Ich hätte darüber hinaus noch eine Frage.
Meinen bisherigen Temperaturmittelwert ermittle ich folgendermaßen.
ITEM temperatur_mittelwert bzw. die gerundete Variante davon
Code:temperatur: mittelwert: type: num eval: avg eval_trigger: - raum_1_temp - raum_2_temp - ... - ... - ... - raum_731_temp :D database: init mittelwert_rund: type: num eval: round(sh.temperatur.mittelwert(), 2) eval_trigger: temperatur.mittelwert database: init
Sollte ich das anderseweitig lösen?
Kommentar
-
Zitat von Maexle Beitrag anzeigenHeute Min/Max zeigt noch nichts an... denke ich erst ein Tag vergehen muss, richtig?
Zitat von Maexle Beitrag anzeigenstruct:
Zitat von Maexle Beitrag anzeigenstruct:
- db_addon.minmax_1
- db_addon.minmax_2
Du kannst das auch im AdminIF unter "Items" und "Struktur Templates" einsehen.
Zitat von Maexle Beitrag anzeigenMeinen bisherigen Temperaturmittelwert ermittle ich folgendermaßen.
Kommentar
-
Zitat von Sisamiwe Beitrag anzeigenNein, die Werte werden angezeigt, sobald das erste mal neue Werte ins Item geschrieben werden.
Structs sind hier erklärt
Konfig Name Plugin
admin/plugins_list --> db_addon_test und _priv_db_addon
D.h. im meinem Fall !?
Code:wc: temperatur: type: num database: init knx_dpt: 9 knx_listen: 6/2/23 knx_init: 6/2/23 struct: - db_addon_test.minmax_1 - db_addon_test.minmax_2 - db_addon_test.minmax_was auch immer
Das ist ja quasi der "live Mittelwert"
Kommentar
-
Zitat von Maexle Beitrag anzeigenhabe ich schon mehrmals versucht zu verstehen...
an der Stelle, an der du in deiner item.yaml das struct 'aufrufst', werden die Items, die im struct selbst definiert sind, beim Start von shNG eingesetzt.
Zitat von Maexle Beitrag anzeigenKonfig Name Plugin
admin/plugins_list --> db_addon_test und _priv_db_addon
Kommentar
-
Zitat von Sisamiwe Beitrag anzeigenDas verstehe ich nicht! Hast das das Plugin 2x aktiviert
habe jetzt noch beim Stromzähler getestet ---> auch ohne Erfolg
Code:verbrauch_strom: zaehlertotal: # Zaehlerstand Bezug vom Stromzaehler ohne Umwandlung Rundung etc. name: Zaehlerstand type: num database: init sml_obis: 1-0:1.8.0*255 #### Ab hier Test vom neuen Plugin #### struct: - db_addon_test.verbrauch_strom.zaehlertotal.verbrauch_heute - verbrauch_strom.zaehlertotal.db_addon_test.verbrauch_woche - _priv_db_addon.verbrauch_monat - db_addon_test.verbrauch_jahr - db_addon_test.verbrauch_heute_minus1
Das Log ist ziemlich eindeutig --> Maschine kann damit nichts anfangen ... nur halt nicht für mich
" lib.config add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_strom.zaehlertotal.verbra uch_heute' not found (referenced in item verbrauch_strom.zaehlertotal)
"
Kommentar
-
Zitat von Maexle Beitrag anzeigenhab mal die verschiedenen Kombinationen dir mir eingefallen sind probiert --> die richtige war wohl nicht dabei
Ich habe dir unten mal die Konfig gebaut.
Du bindest, bei dem Items, die du auswerten willst nur das struct selbst bzw. die structs, die die möchtest, ein.
Das struct wird aufgerufen mit: Konfig_Name_des_Plugin.Struct_Name
Damit werden unterhalb der Stelle, an der du das struct definiert hast, alle Items selbst eingefügt.
Code:verbrauch_strom: zaehlertotal: # Zaehlerstand Bezug vom Stromzaehler ohne Umwandlung Rundung etc. name: Zaehlerstand type: num database: init sml_obis: 1-0:1.8.0*255 #### Ab hier Test vom neuen Plugin #### struct: - db_addon_test.verbrauch_1 - db_addon_test.zaehlerstand_1
Kommentar
-
Zitat von Sisamiwe Beitrag anzeigenProbier nochmal.
"ERROR lib.config add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_1' not found (referenced in item verbrauch_strom.zaehlertotal)"
was mich auch mehr als verwirrt in der "shng-db_addon-plugin/plugin.yaml" gibt es doch überhaupt keine ".verbrauch_1 .zaehlerstand_1"
Immerhin beim WC geben jetzt alle 4 Items einen Wert aus (Heute min/max & Gestern min/max) --> musste wohl wirklich der "Tag erst vergehen"
Kommentar
-
Nachdem ich mir fast die "verbrauch_strom.yaml" zerschossen habe.
Neues Item angelegt:
Code:# neues_plugin.yaml neues_plugin: stromkwh: type: num database: init sml_obis: 1-0:1.8.0*255 struct: - db_addon_test.verbrauch - db_addon_test.zaehlerstand add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch' not found (referenced in item neues_plugin.stromkwh) add_struct_to_item_template: Struct definition for 'db_addon_test.zaehlerstand' not found (referenced in item neues_plugin.stromkwh) ############################################## TEST Nummer 2 # neues_plugin.yaml neues_plugin: stromkwh: type: num database: init sml_obis: 1-0:1.8.0*255 struct: - db_addon_test.verbrauch_1 - db_addon_test.zaehlerstand_1 add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_1' not found (referenced in item neues_plugin.stromkwh) add_struct_to_item_template: Struct definition for 'db_addon_test.zaehlerstand_1' not found (referenced in item neues_plugin.stromkwh) ################################################### TEST Nummer 3 # neues_plugin.yaml neues_plugin: stromkwh: type: num database: init sml_obis: 1-0:1.8.0*255 struct: - db_addon_test.verbrauch_heute - db_addon_test.zaehlerstand_heute_minus1 add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_heute' not found (referenced in item neues_plugin.stromkwh) add_struct_to_item_template: Struct definition for 'db_addon_test.zaehlerstand_heute_minus1' not found (referenced in item neues_plugin.stromkwh)
Kommentar
-
Maexle einige Erläuterungen die sich nicht unbedingt aus der Doku ergeben könnten:
1. Private Plugins haben ein prefix priv_ weil sie dann bei git fetch, git pull, git merge etc. übergangen werden. Das ist in der .gitignore im ./smarthome/plugins Verzeichnis enthalten:
Code:# don't upload private plugins /priv_*
3. Die verfügbaren struct werden im Admin Interface unter Items -> Struktur Templates aufgelistetZuletzt geändert von bmx; 24.10.2022, 10:19.
Kommentar
-
kleines Update:
mittlerweile wurden die Items befüllt
Das Addon "greift hier" die Werte ab --> direkt aus dem SML-Plugin --> sml_obis: 1-0:1.8.0*255
verbrauch_strom.zaehlertotal --> 4914257.8 (aktuller Zählerstand) Wh --> für die Visu habe ich mir ein Item
verbrauch_strom.verbrauch.zaehler --> holt Werte aus eval: round(sh.verbrauch_strom.zaehlertotal() / 1000, 2) gebaut.
Macht es von der "wieviel Leistung wird vom System verlangt" einen Unterschied bzw. ist eine der beiden Varianten besser?
Variante A: ich setze die "Structs" unter das verbrauch_strom.verbrauch.zaehler (somit habe ich alle Werte in kWh)
Variante B: (falls das überhaupt möglich ist) - jeden einzelnen Unterpunkt des Struct --> eval /1000
Variante C: ???
Danke Euch
Kommentar
-
Ich wollte das jetzt mal testen. Da inzwischen alles andere läuft. Das steht hier im Log:
Code:2022-10-25 19:04:04 WARNING plugins.db_addon Item 'Zentral.Wetter.pluggit.Temperatur.Gruenlandtemperatursumme' with database_addon_fct=gruenlandtempsumme ignored, since parameter using 'database_addon_params' not given. Item will be ignored. 2022-10-25 19:04:04 WARNING plugins.db_addon Item 'Zentral.Wetter.pluggit.Temperatur.Waermesumme' with database_addon_fct=waermesumme ignored, since parameter using 'database_addon_params' not given. Item will be ignored.
Code:pluggit: Temperatur: type: num knx_dpt: 9 knx_send: 4/0/1 knx_reply: 4/0/1 database: yes database_maxage: 732 visu_acl: ro eval: value eval_trigger: Zentral.pluggit.OutdoorTemperature Gruenlandtemperatursumme: type: num database_addon_fct: gruenlandtempsumme Waermesumme: type: num database_addon_fct: waermesumme
Kommentar
Kommentar