Photovoltaik Eigenverbrauch,Bilanz,Prognose (Kostal Plenticore; KSEM; BYD HV)

Begonnen von ch.eick, 07 Oktober 2020, 16:09:12

Vorheriges Thema - Nächstes Thema

ch.eick

Zitat von: majestro84 am 01 Juli 2022, 09:50:33
Hallo Christian,

bei muss ich die Quartalsauswertung manuell anstoßen. Ist das so richtig? Oder habe ich irgendwo was überlesen und vergessen ins DOIF zupacken.

VG Alex
Hallo Alex,
ich habe es auch noch nicht automatisch drin :-) , also einfach manuell oder ansonsten in das PV-Schedule und dann am ersten des neuen Quartals ausführen.
Würdest Du eventuell das DOIF liefern, da ich momentan etwas eingespannt bin ?

Hier ein Beispiel aus meiner PV_Schedule für die Zählerstände vom KSEM, da ich einen Schwarm betreibe.

################################################################################################################
## 5 Jeden Morgen die Zählerstände aktualisieren, damit im Schwarm die Statistiken berechnet werden können
##
DOELSEIF
([00:01])

  (setreading WR_1_API SW_Meter_init_FeedInGrid_Day [WR_0_KSEM:Active_energy-])   ## 6172
  (setreading WR_1_API SW_Meter_init_Grid_Day [WR_0_KSEM:Active_energy+])         ## 4727

({if ($mday eq 1)
     {
      fhem("setreading WR_1_API SW_Meter_init_FeedInGrid_Month [WR_0_KSEM:Active_energy-]");   ## 5707
      fhem("setreading WR_1_API SW_Meter_init_Grid_Month [WR_0_KSEM:Active_energy+]");         ## 4717

      if ($yday eq 0)
        {
         fhem("setreading WR_1_API SW_Meter_init_FeedInGrid_Year [WR_0_KSEM:Active_energy-]");   ## 5241
         fhem("setreading WR_1_API SW_Meter_init_Grid_Year [WR_0_KSEM:Active_energy+]");         ## 3517
        }
     }
  }
)


Eventuell wäre eine Darstellung der rollierenden Quartale bei den Statistiken auch ganz nett.
vier Spalten wären ja schon da und man könnte das aktuelle immer ganz rechts platzieren und dann z.B. für jetzt Q3|Q4|Q1|Q2 anzeigen.
Dadurch würde dann jedoch das uitable vom WR_1_API fast doppelt so hoch in der FHEM GUI angezeigt.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

majestro84

Ok dann habe ich ja nichts übersehen.
Gucke das ich es die Tage mal ins DOIF packe.

VG Alex
Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

ch.eick

Zitat von: majestro84 am 01 Juli 2022, 11:05:09
Ok dann habe ich ja nichts übersehen.
Gucke das ich es die Tage mal ins DOIF packe.

VG Alex
Lief denn Dein manueller Lauf mit richtigem Ergebnis?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

majestro84

Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

trupf

Also mir ist vollkommen unklar, was mit den Parametern in der WR_1_config gemeint ist und was ich da eintragen sollte...
Ich habe 1 WR, 15 Module alle mit gleicher Neigung und in gleiche Richtung ausgerichtet. Ich hätte jetzt gedacht, ich trage Steilheit und Winkel der Ausrichtung ein und fertig. aber was bedeutet tempk cloudk und raink? Muss ich nur ein Modul mit der Gesamtleistung konfigurieren oder 15? Oder soll ich dann Modul 2-5 löschen? Was sind ist bei faktor und autocorrecetion einzutragen? Usw. ich habe da echt keine Idee....

ch.eick

Zitat von: trupf am 05 Juli 2022, 22:32:59
Also mir ist vollkommen unklar, was mit den Parametern in der WR_1_config gemeint ist und was ich da eintragen sollte...
Ich habe 1 WR, 15 Module alle mit gleicher Neigung und in gleiche Richtung ausgerichtet. Ich hätte jetzt gedacht, ich trage Steilheit und Winkel der Ausrichtung ein und fertig. aber was bedeutet tempk cloudk und raink? Muss ich nur ein Modul mit der Gesamtleistung konfigurieren oder 15? Oder soll ich dann Modul 2-5 löschen? Was sind ist bei faktor und autocorrecetion einzutragen? Usw. ich habe da echt keine Idee....
Moin,
Du verwendest dazu modul_1_* , bei den anderen reicht es *_count auf 0 zu setzen.

Damit es besser aussieht könntest Du ja auch die anderen Werte auf 0 setzen.
Ich glaube jetzt verstehe ich den Gedankengang.
Hier wird mit Modulen gerechnet, die eine gemeinsame Ausrichtung haben. Die 1-5 wären dann die Strings mit unterschiedlicher Ausrichtung.

Hiel ein Beispiel für einen nicht verwendeten String:

module_5_count 0
module_5_direction 0
module_5_name frei
module_5_plain 0
module_5_power 0

Die Modulleistung wird nur für eins eingetragen und dann intern mit der Anzahl multipliziert :-) Somit könntest Du natürlich auch nur eins mit der Gesamtleistung eintragen.

Zum Thema Temperatur sollte bereits ein Default Wert eingetragen sein. Auch für Regen und Wolken sollte es erstmal so passen.
Eine Beschreibung wie man da dann weiter anpassen kann steht im Wiki an dieser Stelle
Das normale Vorgehen wäre, zuerst die defaults zu verwenden und nur wenn es im Diagramm starke Ungereimtheiten gibt das zu verändern.
Stell nach dem Einrichten mal ein Diagramm hier rein, dann kann man das Verbesserungspotential am besten erkennen. Es sollten die Prognose Werte und die Realität zu erkennen sein.

Die Autokorrektur sollte bitte zuerst auf 0 bleiben, die würde später aus der Datenbank versuchen die Prognose noch zu verbessern, was ich bei mir jedoch momentan gar nicht mehr verwende.

Auch der Faktor wollte zu beginn auf 1 bleiben. Dieser ermöglicht später dann die gesamte Prognoseleistung zu jeder Stunde um den Faktor anzuheben.


VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo zusammen,
ich bin mal wieder an etwas neuem :-)
Meine openWB hat die Möglichkeit von "70%_beachten", wobei dann eine 70% Basis verwendet wir, um z.B. das Mittagshoch eigenständig zu verwenden.
Das war mir wieder nicht toll genug und würde sich ja auch nicht auf die Leistungsprognose anpassen, wobei es dann passieren kann, dass das Auto gar nicht geladen würde, oder halt viel zu wenig.
Mit dem NurPV laden ist es jedoch so, dass jegliche Überschuss ins Auto geht und es dann abber zuschnell voll ist, wodurch es zu einer 70% Kappung kommen kann, die ich bei mir schon oft gesehen habe.
Nun habe ich mich halt ran gesetzt und mal wieder einiges berechnet. Die Grundlage dabei ist natürlich das Mittagshoch aus der Prognose, was Start- und Stoppzeiten liefert.

2022.07.06 12:08:41.515 3: Kia_eNiro_PV Ladebasis_berechnen : delta_wh       17280        <<< berechnete Leistung anhand der gesetzten SOCs vom Auto, also zwischen 20 und 80 %
2022.07.06 12:08:41.515 3: Kia_eNiro_PV Ladebasis_berechnen : Mittagshoch_h      3        <<< dauer des Mittagshochs
2022.07.06 12:08:41.515 3: Kia_eNiro_PV Ladebasis_berechnen : charge_Power_wh 5760        <<< erforderliche Leistung pro Stunde
2022.07.06 12:08:41.515 3: Kia_eNiro_PV Ladebasis_berechnen : fc_Power_wh    32736        <<< Summe der Leistungsprognose für die Zeit vom Mittagshoch
2022.07.06 12:08:41.516 3: Kia_eNiro_PV Ladebasis_berechnen : 70% Basis       6200        <<< berechneter Wert für die "70%_beachten" Funktion

Wenn man das jetzt in der openWB Konfiguriert würde ab einer Einspeisung von 6200 Watt der Überschuss ins Auto geladen werden. Das bedeutet ab 6200 Watt plus die ein Phasige Mindestleistung.

Damit nun nicht all die anderen Starkverbraucher in der Mittagszeit ein ständiges auf und ab beim E-Auto Laden hervorrufen, habe ich den 70% Wert nochmals dynamisch angepasst.
Der Wert von dynw schwankt somit mit den Starkverbraucher und wird als 70% Basis an die openWB gesendet, was im nächsten Regelzyklus berücksichtigt wird.

2022.07.06 12:35:41.668 3: Kia_eNiro_PV 70 % berechnen : Starkverbraucher 3874.06    <<< Da läuft gerade die LWWP für's WW
2022.07.06 12:35:41.672 3: Kia_eNiro_PV 70 % berechnen : basis 6200 dynw  2300

2022.07.06 13:28:10.474 3: Kia_eNiro_PV 70 % berechnen : Starkverbraucher 980.21     <<< Das ist der Wirlpool
2022.07.06 13:28:10.478 3: Kia_eNiro_PV 70 % berechnen : basis 6200 dynw  5200

2022.07.06 15:21:26.364 3: Kia_eNiro_PV 70 % berechnen : Starkverbraucher 3098.24    <<< Hier überschneidet sich der Pool mit der Waschmaschine
2022.07.06 15:21:26.368 3: Kia_eNiro_PV 70 % berechnen : basis 5200 dynw  2100

2022.07.06 15:32:50.973 3: Kia_eNiro_PV 70 % berechnen : Starkverbraucher 2153       <<< Hier heizt gerade die Waschmaschine
2022.07.06 15:32:50.977 3: Kia_eNiro_PV 70 % berechnen : basis 5200 dynw  3000

Im anhängenden Diagramm kann man nun erkennen, wie sich die Verbraucher aufeinander abstimmen und die WallBox eine gleichmäßige Ladung beibehält.
Das besondere ist hierbei nun, dass die Wallbox nach oben der Leistungskurve des Wechselrichters folgen kann, um die dynamische 70% Regelung zu nutzen. Es kommt zu keiner 70% Kappung an solch einem E-Auto Ladetag. Was man in diesem Diagramm nicht sehen kann ist, dass der Hausspeicher zusätzlich geladen wurde und ebenfalls die dynamische 70% Regelung genutzt hat. Daher rührt auch die ziemlich gerade Oberkannte von 13:30 bis ca 15:00 Uhr. Ohne den Hausspeicher würde die NurPV Ladung des Autos stärker der WR Ladekurve folgen, dann geht es halt auch etwas schneller.

Ein großes Ziel ist es natürlich die Leistung schön gleichmäßig zu verteilen und Mittags ein Peak Shaving zu erreichen, bzw. am Morgen so wenig wie möglich zu verwenden, damit die anderen im Netz auch etwas abbekommen ;-)

VG
     Christian


Rot is LWWP, lila ist BEV, gelb der Pool und hellrot die Waschmaschine
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

trupf

OK und danke Christian, habe ich soweit verstanden und hoffentlich richtig eingetragen.

Grafiken laufen bei mir noch nicht, da muss ich wohl erst noch grafana einrichichten, da habe ich nicht und bin auch nicht sicher ob die Leistung meiner Box dafür reicht...
(ich habe fhem auf der NAS laufen und die hat einen schwachen Prozessor).

Unklar ist mir jetzt noch die Parameter  Einstellungen und Commandos auf WR_1_Speicher_1_ExternControl. Was z.B. sollte bei MinSOC Steuerung eingetragen werden? Und bei SpeicherSteuerung Automatik/Trigger/Zeit? Ich habe nur einen Stromtarif, keinen Zeittarif. Wenn ich es richtig verstehe ist es in dem Fall nicht wichtig, sich die externe Steuerung vom Installateur freigeben zu lasse, oder sollte ich das in jedem Fall tun? Was ich auf jeden Fall erreichen möchte ist, den Speicher dann zu laden wenn die 70%-Kappung einsetzen würde. Eine Wallbox kommt auch noch hinzu (allerdings ein go-e, keine OpenWB)


ch.eick

Zitat von: trupf am 06 Juli 2022, 20:49:57
OK und danke Christian, habe ich soweit verstanden und hoffentlich richtig eingetragen.
Grafiken laufen bei mir noch nicht, da muss ich wohl erst noch grafana einrichichten, da habe ich nicht und bin auch nicht sicher ob die Leistung meiner Box dafür reicht...
(ich habe fhem auf der NAS laufen und die hat einen schwachen Prozessor).
Das kannst Du auch auf einem anderen System laufen lassen, da es nur über das Netzwerk auf die Datenbank zugreift.
Zitat
Unklar ist mir jetzt noch die Parameter  Einstellungen und Commandos auf WR_1_Speicher_1_ExternControl. Was z.B. sollte bei MinSOC Steuerung eingetragen werden?
Zuerst sollte die Prognose richtig laufen. Dort werden quasi Punkte auf der Forecast (fc) Kurfe eingetragen, die dann Schwellwerte für bestimmte Leistungen sind. Das sollte aber auch im Wiki beschrieben sein.
Zitat
Und bei SpeicherSteuerung Automatik/Trigger/Zeit? Ich habe nur einen Stromtarif, keinen Zeittarif.
Am besten verwendest Du erstmal "Automatik". Die Möglichkeit "Zeit" ist eher für die Schweizer unter uns, die Tagsüber einen teureren Tarif haben und in dieser Zeit bevorzugt im Winter den Speicher entladen möchten. Trigger wird so weiß ich weiß garnicht verwendet, es ist ein Abfallprodukt der Zeitsteuerung. Damit kann man sich zusätzlich einen Trigger von einer eigenen Steuerung bauen. Ich denke das nehme ich irgend wann mal raus, da mir kein wirklicher Anwendungsfall einfällt.
Zitat
Wenn ich es richtig verstehe ist es in dem Fall nicht wichtig, sich die externe Steuerung vom Installateur freigeben zu lasse, oder sollte ich das in jedem Fall tun?
Die einfachen Dinge, wie Sommer/Winter Umschaltung des MinSOC oder Smart Laden im Winter gehen auch ohne diese Freischaltung. Für die Lade/Entlade Steuerung im Mittagshoch muss es frei gegeben sein. Generell stört es eh nicht, wenn man nichts zum WR schickt, dann steuert der Plenticore selber (dead man). Sogar die "inteligente Speicher Steuerung" des Plenticores funktioniert mit den Basis Steuerungen. Nur wenn man das Mittagshoch selber kontrollieren möchte, dann braucht man die Freischaltung, oder wenn ein zweiter WR oder ein BHKW im Haus ist, denn dann funktioniert die Kostal Speicher Steuerung nicht mehr, denn der Hausverbrauch wird nicht richtig ermittelt.
Zitat
Was ich auf jeden Fall erreichen möchte ist, den Speicher dann zu laden wenn die 70%-Kappung einsetzen würde.
Das ermöglicht das Mittagshoch, also Speichersteuerung frei schalten und die "inteligente Speicher Steuerung" abschalten. Der Speicher lädt dann im default (dead man) einfach morgens jeden Überschuss, bis man selber irgend etwas anderes vorgibt.
Zitat
Eine Wallbox kommt auch noch hinzu (allerdings ein go-e, keine OpenWB)
Für die go-e gibt es ja schon einen anderen Thread und ich mache jetzt keine weitere Werbung mehr :-)
Mein letzter Post würde dann für Dich wegfallen, bei dem ich die openWB auch für das Mittagshoch verwende.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

trupf

Ich habe jetzt Grafana soweit am Laufen und es auch geschafft DbLogExclude und DbLoginclude soweit zu setzen, dass ich die Danten in der Datenbank bekomme. Die begefügten Bilder sind dann der Verlauf von heute. Unverständlich sind mir vor allem die Peaks um z.B. 7:00 Uhr oder 9:00 Uhr. Wie kann der Eigenverbrauch von der Solaranlage höher sein als die aktuelle Leistung der Solaranlage? Weiterhin auffällig ist das SW_Home_own_consumption_from_PV und SW_Home_own_consumption_from_grid an vielen tllen eine vergleichbare Kurvenform haben, also parrallel steiegen oder fallen - das ergibt für mich auch keinen Sinn.

Wie kann ich den Forecast jetzt weiter optimieren? Ich denke der Ertrag wird tendenziell eher zu niedrig angesetzt...

P.S.: Der Speicher ist noch nicht angeschlossen, kommt die Tage aber noch hinzu.

ch.eick

Zitat von: trupf am 11 Juli 2022, 21:40:01

Wie kann ich den Forecast jetzt weiter optimieren? Ich denke der Ertrag wird tendenziell eher zu niedrig angesetzt...

P.S.: Der Speicher ist noch nicht angeschlossen, kommt die Tage aber noch hinzu.
Hast Du den KSEM bereits eingebunden? Der wird für die Berechnungen verwendet.

Den Forecast kann man am besten an Wolken freien Tagen anpassen.
Ja, er ist konservativ gestaltet. Das schauen wir uns später an. Bin unterwegs :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Zitat von: trupf am 11 Juli 2022, 21:40:01
Ich habe jetzt Grafana soweit am Laufen und es auch geschafft DbLogExclude und DbLoginclude soweit zu setzen, dass ich die Danten in der Datenbank bekomme. Die begefügten Bilder sind dann der Verlauf von heute. Unverständlich sind mir vor allem die Peaks um z.B. 7:00 Uhr oder 9:00 Uhr. Wie kann der Eigenverbrauch von der Solaranlage höher sein als die aktuelle Leistung der Solaranlage? Weiterhin auffällig ist das SW_Home_own_consumption_from_PV und SW_Home_own_consumption_from_grid an vielen tllen eine vergleichbare Kurvenform haben, also parrallel steiegen oder fallen - das ergibt für mich auch keinen Sinn.
Schau Dir dazu mal die Berechnungen und die zugrunde liegenden Werte an.
Solche Peaks kenne ich nur von der Notladung des Speichers,der ja noch nicht dran ist.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

trupf

Zitat von: ch.eick am 12 Juli 2022, 11:59:00
Hast Du den KSEM bereits eingebunden? Der wird für die Berechnungen verwendet.

Den KSEM hatte ich nicht eingebunden, da im Wiki stand das sei nicht zwingend...kann ich aber noch tun.

..inzwischen ist er  eingebunden, stehat aber auf disabled und verbindet sich auch nicht wenn ich "attr WR_0_KSEM disable 0" setze. Es wird immer "disconnected" angezigt. Nur in dem Moment wo ich das Attribut so setze zeigt er kurz "active" an um dann gleich wieder auf disconnected zu wechseln. Irgendwelche Readings bekomme ich auch nicht.

trupf

Und ich habe auch einige Schwierigkeiten mit der Authentifizierung von WR_1_API am Umrichter. Prinzipiell klappt es mit dem Masterkey. Dann bekomme ich aber jedes Mal, wenn ich mich als Anlagenbeteiber am Plenticore anmelden will angezeigt, es wäre kein Passwort gesetzt und ich müsse eines vergeben. Das kann ich dann tun und mich anmelden, aber beim nächsten Anmeldeversuch 1h später oder so, hat er das Passwort wieder vergessen. Ich dachte daher, ich könnte mich in WR_1_API auch mit dem vergebenen Passwort authentifizieren, aber das scheint auch nicht zu gehen.

Was genau muss ich denn nun hier ausführen: {KeyValue("[read|store]","PW_<Device Name>_<Benutzer Name>","<passwort>")}\
   {KeyValue("store","PW_WR_1_API_user","<passwort>")}

Ich habe das ober als Erklärung zur Funktion verstanden und nur die untere Funktion mit meinem vergebenen Passwort ausgeführt - wie gesagt, danach klappt die Authentifizierung nicht mehr. Wenn ich den Masterkey als Passwort verwende geht es, aber ich kann mich im Plenticore nur noch umständlich anmelden...

Nachdem ich wieder auf den Masterkey umgestellt habe bekomme ich angezeigt:
httpbody    {"role":"NONE","locked":true,"authenticated":false,"permissions":[],"active":false,"anonymous":true}
Heißt das es gibt einen Fehler oder alles ok?


ch.eick

Zitat von: trupf am 12 Juli 2022, 14:57:08
Den KSEM hatte ich nicht eingebunden, da im Wiki stand das sei nicht zwingend...kann ich aber noch tun.
Zitat
Um die Installation zu vereinheitlichen, da ich später einen zweiten WR bekommen hatte, habe ich alles so umgestellt, dass die Devices für einen oder zwei WR funktionieren. Das geht dann allerdings nur mit dem Verbund des KSEM. Da muss ich wohl nochmal ins Wiki :-)

..inzwischen ist er  eingebunden, stehat aber auf disabled und verbindet sich auch nicht wenn ich "attr WR_0_KSEM disable 0" setze. Es wird immer "disconnected" angezigt. Nur in dem Moment wo ich das Attribut so setze zeigt er kurz "active" an um dann gleich wieder auf disconnected zu wechseln. Irgendwelche Readings bekomme ich auch nicht.
Hast Du da im KSEM den ModBus aktiviert?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick