Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ich freue mich schon. Allerdings setzt das laut den requirements auch eine neue Version von SmartHomeNG voraus, die es noch nicht als Master gibt. Ich habe mir das aktuelle db_addon gerade mal reinkopiert in meine Master-Installation. Eine Kopie habe ich nicht gemacht, deshalb kann ich das db_addon bis zum Master gar nicht mehr nutzen.
vielen Dank für die Anpassung, kam gerade dazu das Update einzuspielen und es funktioniert auf Anhieb.
Die Doku finde ich generell gut, finde auf Anhieb erstmal nichts was da zwingend ergänzt werden muss. Am Ende der Doku sollen zwei Bilder sein, da scheinen aber die Links verwaist zu sein.
Falls nicht, wäre es natürlich cool wenn in einer der nächsten Versionen (falls du es weiter entwickelst) die Funktion mit aufgenommen wird.
Hallo,
ich habe das eben noch mit eingebaut. Das Update ist in meinem Repo verfügbar.
Hintergrund: Das Plugin selbst ist aktuell nicht multi-instancefähig, bedeudet, dass nur eine Instance des database-plugins unterstützt wird. Bei der Konfiguration des Plugins muss die Konfiguration des database-Plugins angegeben werden, für die das DatabaseAddon-Pluging wirken soll. Mit der Angabe der Konfiguration ist auch automatisch die Instance definiert. Diese wird nun eingelesen und bei der Suche nach dem jeweiligen Database-Item mit genutzt.
Bitte: Ich habe noch eine Bitte. Ich werden in den kommenden Tage den PR stellen, so dass das Plugin beim nächsten Release mit dabei ist. Es wäre schon, wenn Du dir die Doku dazu mal anschaust und ggf. Ergänzungen etc erstellen kannst. Ich bin dazu schon "betriebsblind".
ich habe eine Vermutung: Es hat mit den Instanzen zu tun.[LIST][*]Für das database Attribut ist eine Instanz gesetzt: database@mariadb[*]Für das struct und damit die db_addon Attribute hingegen nicht.
Wenn ich die Instanz entferne bei der Database und im Item, dann klappt es auf anhieb.
Kann ich deinem Plugin (was übrigens ziemlich genial ist - Danke dafür) denn die Instanz beibringen?
Falls nicht, wäre es natürlich cool wenn in einer der nächsten Versionen (falls du es weiter entwickelst) die Funktion mit aufgenommen wird.
ich probiere mich nun leider auch seit 2 Tagen erfolglos an dem Addon. Vielleicht seht ihr ja meinen Fehler direkt. Ich bin etwas ratlos und nachdem ich den Thread hier durch habe seit ihr meine letzte Hoffnung erstmal.
Im WebIf des Plugins werden mir keine Items angezeigt und die Items, welche über struct angelegt werden, bleiben verständlicher weise leer. Im Log meckert er jedes mal beim starten folgendes, was wohl auch mein Problem ist:
2023-02-15 15:24:27 CET WARNING __init__ Main No database item found for Sensoren.Schlafzimmer.Temperatur.verbrauch_heute: Item ignored. -- (__init__.pyarse_item:371)
Das Item ist wie folgt angelegt:
# Sensoren.yaml
Sensoren:
Schlafzimmer:
Temperatur:
name: Temperatur Schlafzimmer
type: num
knx_dpt: 9
knx_listen: 0/2/3
database@mariadb: init
struct: priv_db_addon.verbrauch_1
Dementsprechend sollte doch auch etwas kommen .. ab dem 05.02 - dies geschieht jedoch nicht - deswegen habe ich mich noch mal gemeldet
Für die Items welche ich nachträglich hinzugefügt habe wie zmb den Eigenverbrauch sowie die Ersparnis ist klar das er noch keinen wert hat , aber ich bin wie gesagt ein wenig verwundert da es ja mit dem Tages Bezug ebenfalls funktioniert
Zuletzt geändert von jonny7792; 08.02.2023, 18:54.
Wenn ich die Doku richtig verstanden habe sollte er doch den Monats und Wochenverbrauch täglich auf Basis des Vortages berechnen - korrekt?
Naja. Wie ich oben schon geschrieben habe, rechnet Plugin standardmäßig nur, wenn der Abfragezeitraum komplett in der Datenbank seht.
Sprich: Die Monatsberechnung wird dann ausgeführt wenn auch für den 1. des Monats Daten vorliegen. Da deine Datenbank erst ab 5.2. beginnt, überspringt das Plugin die Berechnung. Seht so auch im Logfile.
Alternativ kannst Du den Parameter "use_oldest_entry" nutzen. Das bedeutet: "Verwendung des ältesten Eintrags des Items in der Datenbank, falls der Start des Abfragezeitraums zeitlich vor diesem Eintrag liegt". Sprich hier würde er den Monatswert errechnen und dafür den "oldest_entry" nutzen.
B) Wie soll das Plugin den Tagesverbrauch berechnen, wenn noch kein Tag in der DB ist? Deine DB beginnt doch erst heute gegen 9.00 Uhr. Damit das Plugin bei solchen Fällen den ältesten Eintrag der DB nimmt, kann man das in den Plugin Parametern konfigurieren. Der Parameter "use_oldest_entry" ist dafür gedacht.
Damit das Plugin bei solchen Fällen den ältesten Eintrag der DB nimmt, kann man das in den Plugin Parametern konfigurieren. Der Parameter "use_oldest_entry" ist dafür gedacht.
Hallo Sisamiwe
habe nun den entsprechenden Parameter gesetzt.
Das klappt soweit auch, jedoch musste ich feststellen das der Monatsverbrauch nicht addiert wird.
Dieser Eintrag bleibt nach wie vor leer obwohl 2 Tage in der DB hinterlegt sind.
Eigenverbrauch und Einsparung werden durch eine Logik berechnet:
Code:
#!/usr/bin/env python3
# eigenverbrauch.py
#Berechne anhand von Erzeugter sowie und Exportierter Energie den Eigenverbrauch und schreibe das Ergebniss in ein Item
sh.Messung.Strom.Eigenverbrauch(sh.Photovoltaik.Produktion2() - sh.Photovoltaik.M_Export())
#Berechne ebenfalls die Eingesparten Kosten aufgrund vom Eigenverbrauch
sh.Messung.Strom.Einsparung(round(sh.Messung.Strom.Eigenverbrauch()*0.32 + (144/365)),2)
Ja ich musste sie löschen da sie teilweise unbrauchbar war , aber trotzalledessen sollte der tagesverbauch doch berechnet werden.
Hier sind 2 Dinge relevant:
A) Wie ich bereits mehrfach schrieb, führt das Plugin erst seine Berechnungen nach einer gewissen Zeit nach dem Start aus.
B) Wie soll das Plugin den Tagesverbrauch berechnen, wenn noch kein Tag in der DB ist? Deine DB beginnt doch erst heute gegen 9.00 Uhr. Damit das Plugin bei solchen Fällen den ältesten Eintrag der DB nimmt, kann man das in den Plugin Parametern konfigurieren. Der Parameter "use_oldest_entry" ist dafür gedacht.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: