Liebe fhem forums Mitglieder,
ich lese derzeit meinen Gaszähler über eine 1Wire S0 Schnittstelle aus. Mit dem HourCounter und der anleitung aus dem FHEM Wiki sieht das schon ziemlich gut aus.
Ich würde jedoch folgendes gerne realisieren:
Anzeige des Gaszählers
Anzeige des Tagesverbrauches
Anzeige des durchschnittlichen Wochenverbrauchs
Anzeige des durchschnittlichen Monatsverbrauches
Anzeiges des durchschnittlichen Jahresverbrauches
das ganze sollte dann gepaart sein mit der Anzeige der Außentemperatur (über Homematik Wetterstation).
Das ganze lässt sich zwar auch über das Charting irgendwie auswerten, aber eine (für mich) ansprechende Darstellung habe ich leider noch nicht gefunden.
Mir schwebt etwas in der Richtung vor, wie es für die Brennerlaufzeiten (beiliegender screenshot) gibt.
Ich habe einmal daran gedacht, die Werte jeweils in dummys zu schreiben aber mir fehlt derzeit noch der durchbruch, wie ich es schaffe, Werte von verschiedenen Devices in ein dummy zu schreiben.
Vielleicht hat jemand eine Idee.
Danke im Voraus
Hallo Gerd, erstelle doch einen Dummy in dem du alle Werte als Userreadings ablegst. Diese Readings kannst du dann in useReadings weiter verarbeiten, diese auch im wieder Dummy ablegen und mit readingsGroup wunderbar darstellen. Ich bin auch gerade dabei sowas für meinen Strom und Gaszähler zu machen. Anbei mal einige Anregungen. Ich gebe z.B, mehrer Readings in einen Dummy via textField ein, welche dann mittels userReadings zur Berechnung des Verbrauchs z.B seit der letzten Abrechnung oder der verbrauchten kWh anhand der Gasmenge dem Brennwert und Z-Wert nutze.
Gruß
cerberus
Hallo Cerberus,
Das sieht meinen Vorstellungen schon sehr aehnlich. Wie schaffe ich es denn die dummys mit verschiedenen readings anzulegen?
Hallo Gerd, wenn du es so wie hier in Wiki beschrieben ist schon gemacht hast, musst du die Readings nur noch mit Readingsgroup darstellen.
http://www.fhemwiki.de/wiki/Stromz%C3%A4hler_und_1-Wire,_OWServer,_OWDevice (http://www.fhemwiki.de/wiki/Stromz%C3%A4hler_und_1-Wire,_OWServer,_OWDevice)
Ich habe das ganze einfach kopiert und um meine readingsGroups sowie die Berechnung des Verbrauchs Strom/Gas für die Abrechnungsperiode incl. Gas in kWh ergänzt.
Anbei die Screenshots sowie die config dazu. Störe dich nicht an den zum Teil falschen Werten, das hängt damit zusammen das ich noch viel am System probiere und oft resete. Auch die ReadingsGroup "Verbrauchsdaten" haut noch nicht ganz hin wie du siehst, hier sollten eigentlich alles Textfleder stehen damit ich nicht über den Dummy die Werte setzen muss, die sollen dann später nämlich aus der Ansicht verschwinden. Aber die Umlaute funktionieren scheinbar nicht mit ReadingsGroup, daher muss ich einige Readings nochmal umstellen. Versuch einfach dein Glück damit.
Grüße
cerberus
Hallo Cerberus,
vielen Dank. Ich komme wohl doch nicht darum, einzelne dummys anzulegen und die Werte dann darin zu speichern. Richtig geholfen haben mir die Eintragungen in die Myutils am ende des Tages bzw. des Monats.
Sobald meine ersten ergebnisse vorliegen poste ich sie hier.
Danke und Gruß
Gerd
Bitte Gerd, das mit den userReadings hatte bei mir auch nicht so ganz funktioniert, habe es jetzt anders gelöst.
Siehe meinen Beitrag hier.
http://forum.fhem.de/index.php/topic,29070.msg218708.html#msg218708 (http://forum.fhem.de/index.php/topic,29070.msg218708.html#msg218708)
Grüße
cerberus
... jetzt bin ich ein wenig ausgestiegen, da die variablen für mich nicht ganz nachvollziehbar waren.
Ich bin (zur Zeit) bei folgender Vorgehensweise.
1. Definition der Dummy Variablen:
Hierbei habe ich folgende Variablen definiert
1. Tageszähler (um nachher Durchschnittswerte/Monat/Jahr/Woche und Gesamt zu erhalten. Am Wochenanfang/Monatsanfang bzw. Jahresanfang werden die Tageszähler für Woche/Monat/Jahr auf 0 gesetzt
2. Variablen für den Verbrauch/Woche/Monat/Jahr/Gesamt/Tag ebenso für die Vorwoche/Vorjahr/Vormonat und vorherigen Tag. Die Daten für den Tag hole ich mir per notify aus dem Device
3. Berechnung der Durchschnittswerte
Schön wäre es jetzt wenn ich daraus eine Tabelle kreeiren könnte, die in etwa so aussieht:
Anzahl Betriebstage Verbrauch Durchschnittsverbrauch/Tag
aktueller Tag 1 12,xx 12,xx
vorheriger Tag 1 13,xx 13,xx
aktuelle Woche 2 25,xx 12,5x
vorherige Woche 7 80 12,xx
aktueller Monat 20 xxxx xxxx
vorheriger Monat 31 xxxxx xxxx
aktuelles Jahr 279 xxxx xxxx
voriges Jahr 365 xxxx xxxx
Gesamtverbrauch 567 xxxx xxxx
Ziel ist es, das ganze dann noch mit Temperaturwerten zu hinterlegen (Außentemperatur).
Liebe FHEM´ler,
nach langem Ausprobieren habe ich das Thema jetzt endlich gelöst.
Das Ergebnis lässt sich schon ganz gut an. Einiges an Optimierungspotential bei den Variablen muss ich noch vornehmen.
Gerd
Hallo,
den Beitrag NICHT schliessen.
Ein gelöst vor den Betreff und die Lösung im ersten Beitrag einarbeiten genügt - liest eigentlich niemand die angepinnten Beiträge ???
Danke.
Grüße
Hallo Gerd, schaut gut aus. Kannst du bitte bei Gelegenheit erklären wie du es gemacht hast oder evt. die config zeigen?
Grüße
cerberus
Hallo Cerberus,
wie gesagt, ich bin noch ein wenig in der Optimierungsphase. Habe (eigentlich) alle werte doppelt angelegt.
Habe eine eigene (Energie.cfg) Config angelegt. Kann Dir diese und die Änderungen in der 99_MyUtils gerne zur Verfügung stellen. Die sind (derzeit) noch nicht optimiert, also noch ziemlich viel "Müll" enthalten. Außerdem habe ich den Monats- bzw. Jahreswechsel noch nicht eingefügt.
Tagswechsel funktioniert (2. Real Durchlauf). Wochenwechsel werde ich montag morgen sehen.
Müsste jetzt nur noch wissen, wie man hier den code bzw. die Datei einfügen kann.
Gerd
Hallo Gerd, unter erweiterte Optionen unter dem Antwortfenster kann du auch Dateien anhängen.
Gruß
cerberus
voilá
ich habe nachträglich noch die Kommastellen mit folgender Zeile geändert:
attr Verbrauch valueFormat { if($READING eq "Verbrauch"){sprintf("%.2f Kwh", $VALUE);;}elsif($READING eq "Durchschnittsverbrauch"){sprintf("%.2f Kwh ", $VALUE);;}elsif($READING eq "Tageszaehler"){sprintf("%.0f ", $VALUE)}else{sprintf("%.2f ", $VALUE);;} }
Gruß
Gerd