SolarLog: Unterschied zwischen den Versionen
TinoB (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
TinoB (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 36: | Zeile 36: | ||
## Register Ertrag Vortag definieren | ## Register Ertrag Vortag definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_yesterdayyield ModbusRegister 0 3510 | define solarlog_yesterdayyield ModbusRegister 0 3510 | ||
Zeile 46: | Zeile 46: | ||
attr solarlog_yesterdayyield registerType Holding | attr solarlog_yesterdayyield registerType Holding | ||
attr solarlog_yesterdayyield room Solar | attr solarlog_yesterdayyield room Solar | ||
attr solarlog_yesterdayyield stateAlias solar | |||
attr solarlog_yesterdayyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | attr solarlog_yesterdayyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | ||
attr solarlog_yesterdayyield updateInterval 24:00:00 | attr solarlog_yesterdayyield updateInterval 24:00:00 | ||
Zeile 69: | Zeile 70: | ||
|- | |- | ||
| registerType || RegisterTyp (z.B. Holding oder Input) | | registerType || RegisterTyp (z.B. Holding oder Input) | ||
|- | |||
| stateAlias || es wird ein zusätzliches Reading erzeugt, um zum Beispiel das Statistic-Modul nutzen zu können, stateAlias ist eine echte Kopie von "state" | |||
|- | |- | ||
| updateInterval || Intervall des Abfragezyklus (z.B. alle 24 Stunden) | | updateInterval || Intervall des Abfragezyklus (z.B. alle 24 Stunden) | ||
Zeile 103: | Zeile 106: | ||
## Register aktuelle Leistung definieren | ## Register aktuelle Leistung definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_totalpac ModbusRegister 0 3502 | define solarlog_totalpac ModbusRegister 0 3502 | ||
Zeile 109: | Zeile 112: | ||
attr solarlog_totalpac event-on-change-reading .* | attr solarlog_totalpac event-on-change-reading .* | ||
attr solarlog_totalpac room Solar | attr solarlog_totalpac room Solar | ||
attr solarlog_totalpac stateAlias solar | |||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 114: | Zeile 118: | ||
## Register Tagesertrag definieren | ## Register Tagesertrag definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_dailyyield ModbusRegister 0 3508 | define solarlog_dailyyield ModbusRegister 0 3508 | ||
Zeile 122: | Zeile 126: | ||
attr solarlog_dailyyield plcDataType DWORD | attr solarlog_dailyyield plcDataType DWORD | ||
attr solarlog_dailyyield room Solar | attr solarlog_dailyyield room Solar | ||
attr solarlog_dailyyield stateAlias solar | |||
attr solarlog_dailyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | attr solarlog_dailyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | ||
attr solarlog_dailyyield updateInterval | attr solarlog_dailyyield updateInterval 00:01:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 129: | Zeile 134: | ||
## Register Monatsertrag definieren | ## Register Monatsertrag definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_monthlyyield ModbusRegister 0 3512 | define solarlog_monthlyyield ModbusRegister 0 3512 | ||
Zeile 137: | Zeile 142: | ||
attr solarlog_monthlyyield plcDataType DWORD | attr solarlog_monthlyyield plcDataType DWORD | ||
attr solarlog_monthlyyield room Solar | attr solarlog_monthlyyield room Solar | ||
attr solarlog_monthlyyield stateAlias solar | |||
attr solarlog_monthlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | attr solarlog_monthlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | ||
attr solarlog_monthlyyield updateInterval | attr solarlog_monthlyyield updateInterval 01:00:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 144: | Zeile 150: | ||
## Register Jahresertrag definieren | ## Register Jahresertrag definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_yearlyyield ModbusRegister 0 3514 | define solarlog_yearlyyield ModbusRegister 0 3514 | ||
Zeile 154: | Zeile 160: | ||
attr solarlog_yearlyyield registerType Holding | attr solarlog_yearlyyield registerType Holding | ||
attr solarlog_yearlyyield room Solar | attr solarlog_yearlyyield room Solar | ||
attr solarlog_yearlyyield stateAlias solar | |||
attr solarlog_yearlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | attr solarlog_yearlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | ||
attr solarlog_yearlyyield updateInterval 01:00:00 | attr solarlog_yearlyyield updateInterval 01:00:00 | ||
Zeile 164: | Zeile 171: | ||
## Register aktueller Verbrauch definieren | ## Register aktueller Verbrauch definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_totalpac_cons ModbusRegister 0 3518 | define solarlog_totalpac_cons ModbusRegister 0 3518 | ||
Zeile 170: | Zeile 177: | ||
attr solarlog_totalpac_cons event-on-change-reading .* | attr solarlog_totalpac_cons event-on-change-reading .* | ||
attr solarlog_totalpac_cons room Solar | attr solarlog_totalpac_cons room Solar | ||
attr solarlog_totalpac_cons stateAlias solar | |||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 175: | Zeile 183: | ||
## Register Tagesverbrauch definieren | ## Register Tagesverbrauch definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_dailyyield_cons ModbusRegister 0 3520 | define solarlog_dailyyield_cons ModbusRegister 0 3520 | ||
Zeile 183: | Zeile 191: | ||
attr solarlog_dailyyield_cons plcDataType DWORD | attr solarlog_dailyyield_cons plcDataType DWORD | ||
attr solarlog_dailyyield_cons room Solar | attr solarlog_dailyyield_cons room Solar | ||
attr solarlog_dailyyield_cons stateAlias solar | |||
attr solarlog_dailyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | attr solarlog_dailyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | ||
attr solarlog_dailyyield_cons updateInterval 00:01:00 | attr solarlog_dailyyield_cons updateInterval 00:01:00 | ||
Zeile 190: | Zeile 199: | ||
## Register Monatsverbrauch definieren | ## Register Monatsverbrauch definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_monthlyyield_cons ModbusRegister 0 3524 | define solarlog_monthlyyield_cons ModbusRegister 0 3524 | ||
Zeile 199: | Zeile 208: | ||
attr solarlog_monthlyyield_cons plcDataType DWORD | attr solarlog_monthlyyield_cons plcDataType DWORD | ||
attr solarlog_monthlyyield_cons room Solar | attr solarlog_monthlyyield_cons room Solar | ||
attr solarlog_monthlyyield_cons stateAlias solar | |||
attr solarlog_monthlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | attr solarlog_monthlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | ||
attr solarlog_monthlyyield_cons updateInterval 01:00:00 | attr solarlog_monthlyyield_cons updateInterval 01:00:00 | ||
Zeile 206: | Zeile 216: | ||
## Register Jahresverbrauch definieren | ## Register Jahresverbrauch definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define solarlog_yearlyyield_cons ModbusRegister 0 | define solarlog_yearlyyield_cons ModbusRegister 0 3526 | ||
attr solarlog_yearlyyield_cons IODev SolarLogServer | attr solarlog_yearlyyield_cons IODev SolarLogServer | ||
attr solarlog_yearlyyield_cons alignUpdateInterval 01:00:00 | attr solarlog_yearlyyield_cons alignUpdateInterval 01:00:00 | ||
Zeile 216: | Zeile 226: | ||
attr solarlog_yearlyyield_cons registerType Holding | attr solarlog_yearlyyield_cons registerType Holding | ||
attr solarlog_yearlyyield_cons room Solar | attr solarlog_yearlyyield_cons room Solar | ||
attr solarlog_yearlyyield_cons stateAlias solar | |||
attr solarlog_yearlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | attr solarlog_yearlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} | ||
attr solarlog_yearlyyield_cons updateInterval 01:00:00 | attr solarlog_yearlyyield_cons updateInterval 01:00:00 | ||
Zeile 226: | Zeile 237: | ||
## Tägliches LogFile definieren | ## Tägliches LogFile definieren | ||
## Erstellt........: 07.03.2015 | ## Erstellt........: 07.03.2015 | ||
## Geändert........: | ## Geändert........: 04.04.2015 | ||
######################################################## | ######################################################## | ||
define filelog_solarlog_day FileLog ./log/filelog_solarlog_day-%d.log | define filelog_solarlog_day FileLog ./log/filelog_solarlog_day-%d.log solarlog_.*:solar.* | ||
</pre> | </pre> | ||
== ReadingsGroup == | == ReadingsGroup == | ||
Darstellung in einer ReadingsGroup definieren. | |||
<pre> | |||
######################################################## | |||
## ReadingsGroup definieren | |||
## Erstellt........: 04.04.2015 | |||
## Geändert........: | |||
######################################################## | |||
define rg_dummy_SOLAR_state readingsGroup <Beschreibung>,<> | |||
solarlog_.*:state | |||
solarlog_.*:energybalance | |||
attr rg_SolarLog_state alias SolarLog | |||
attr rg_SolarLog_state mapping {'solarlog_dailyyield' => 'Tagesertrag','solarlog_monthlyyield' => 'Monatsertrag', | |||
'solarlog_totalpac' => 'Erzeugung','solarlog_yearlyyield' => 'Jahresertrag', | |||
'solarlog_totalyield' => 'Gesamtertrag','solarlog_yesterdayyield' => 'Vortagesertrag'} | |||
attr rg_SolarLog_state nostate 1 | |||
attr rg_SolarLog_state notime 1 | |||
attr rg_SolarLog_state valueFormat {'state' => "%0.2f"} | |||
attr rg_SolarLog_state valueStyle style="text-align:right" | |||
</pre> | |||
== Plotbeispiel == | == Plotbeispiel == | ||
<pre> | <pre> | ||
# Created by FHEM/98_SVG.pm, 2015-03-07 21:20:25 | # Created by FHEM/98_SVG.pm, 2015-03-07 21:20:25 | ||
# Changed by FHEM/98_SVG.pm, 2015-04-04 10:40:00 | |||
set terminal png transparent size <SIZE> crop | set terminal png transparent size <SIZE> crop | ||
set output '<OUT>.png' | set output '<OUT>.png' | ||
Zeile 249: | Zeile 279: | ||
set y2label "Ertrag [kWh]" | set y2label "Ertrag [kWh]" | ||
#filelog_solarlog_day | #filelog_solarlog_day 4:solarlog_totalpac.solar\x3a::$fld[3]/1000 | ||
#filelog_solarlog_day | #filelog_solarlog_day 4:solarlog_dailyyield.solar\x3a:: | ||
</pre> | </pre> | ||
[[Bild:Solarlog_graph.jpg|thumb|right|Plotbeispiel]] | [[Bild:Solarlog_graph.jpg|thumb|right|Plotbeispiel]] |
Version vom 4. April 2015, 09:50 Uhr
SolarLog ist eine Hardwareerweiterung für Wechselrichter zum Monitoren von Photovoltaikanlagen. SolarLog bietet ebenfalls die Möglichkeit die zur Verfügung gestellten Werte mittels ModbusTCP (free Version) in FHEM zu übernehmen, anzuzeigen und grafisch darzustellen. Da man mit FHEM Verbraucher beeinflussen kann, bringt die Integration den Vorteil mit sich, FHEM als Energiemanagementsystem einzusetzen.
Voraussetzung
Voraussetzung zur Anbindung ist ein SolarLog mit Firmware ab Version 2.8.1 Build 49 sowie eine bestehende Netzwerkverbindung. Weiterhin werden die zur Verfügung stehenden Module:
- 36_ModbusTCPServer.pm
- 37_ModbusRegister.pm
genutzt. Getestet wurde der Zugriff auf einem BeagleBone Black mit der hier beschriebenen Debian Installation sowie einem SolarLog 200.
Installation
Die oben aufgeführten Module sind notwendig und müssen nachinstalliert werden. Zum Zeitpunkt der Erstellung dieser Dokumentation (11.3.2015) sind diese noch nicht offiziell in FHEM enthalten und werden auch nicht mittels Update verteilt. Die Module werden mit dem Befehl:
update all https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/mb/controls_modbus.txt reload 36_ModbusTCPServer.pm reload 37_ModbusRegister.pm
über die FHEM Befehlszeile installiert und anschließend mit einem Reload geladen.
Benutzung
Anlegen der ModbusTCPServer Verbindung
Wie im Folgenden beschrieben, muss zunächst eine ModbusTCPServer Verbindung konfiguriert werden. Die angegebene IP-Adresse muss durch die IP-Adresse des SolarLog ersetzt werden.
######################################################## ## ModbusTCPServer definieren ######################################################## define SolarLogServer ModbusTCPServer 192.168.1.160 attr SolarLogServer verbose 2
Ein erfolgreicher Verbindungsaufbau wird mit einem „ok“ im State gekennzeichnet.
Modbus-Register Adressen definieren
Im nachfolgenden Beispiel wird anhand des Ertrags vom Vortag die Adressdefinition erklärt.
######################################################## ## Register Ertrag Vortag definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_yesterdayyield ModbusRegister 0 3510 attr solarlog_yesterdayyield IODev SolarLogServer attr solarlog_yesterdayyield alignUpdateInterval 08:00:00 attr solarlog_yesterdayyield conversion 0.001:0 attr solarlog_yesterdayyield event-on-change-reading .* attr solarlog_yesterdayyield plcDataType DWORD attr solarlog_yesterdayyield registerType Holding attr solarlog_yesterdayyield room Solar attr solarlog_yesterdayyield stateAlias solar attr solarlog_yesterdayyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} attr solarlog_yesterdayyield updateInterval 24:00:00
Erklärung:
Attribut | Erläuterungen |
---|---|
ModbusRegister 0 3510 | 0 Device Adresse, in der Regel bei ModbusTCP immer 0 |
ModbusRegister 0 3510 | 3510 Register Adresse |
IODev | Verwendeter und zuvor angelegter ModbusTCPServer |
alignUpdateInterval | Startzeit UpdateInterval |
conversion | eine gegebenenfalls notwendige Konvertierung des übermittelten Values |
PlcDataType | Ermögliche automatische Interpretation der ankommenden Daten |
registerType | RegisterTyp (z.B. Holding oder Input) |
stateAlias | es wird ein zusätzliches Reading erzeugt, um zum Beispiel das Statistic-Modul nutzen zu können, stateAlias ist eine echte Kopie von "state" |
updateInterval | Intervall des Abfragezyklus (z.B. alle 24 Stunden) |
Namensvergabe
Vorschlag der Namensvergabe für den SolarLog. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch readingsGroup.
solarlog_totalpac | Aktuelle Leistung |
solarlog_dailyyield | Tagesertrag |
solarlog_yesterdayyield | Ertrag des Vortag |
solarlog_monthlyyield | Monatsertrag |
solarlog_yearlyyield | Jahresertrag |
solarlog_totalyield | Gesamtertrag |
solarlog_totalpac_cons | Aktueller Verbrauch |
solarlog_dailyyield_cons | Tagesverbrauch |
solarlog_monthlyyield_cons | Monatsverbrauch |
solarlog_yearlyyield_cons | Jahresverbrauch |
######################################################## ## Register aktuelle Leistung definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_totalpac ModbusRegister 0 3502 attr solarlog_totalpac IODev SolarLogServer attr solarlog_totalpac event-on-change-reading .* attr solarlog_totalpac room Solar attr solarlog_totalpac stateAlias solar
######################################################## ## Register Tagesertrag definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_dailyyield ModbusRegister 0 3508 attr solarlog_dailyyield IODev SolarLogServer attr solarlog_dailyyield conversion 0.001:0 attr solarlog_dailyyield event-on-change-reading .* attr solarlog_dailyyield plcDataType DWORD attr solarlog_dailyyield room Solar attr solarlog_dailyyield stateAlias solar attr solarlog_dailyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} attr solarlog_dailyyield updateInterval 00:01:00
######################################################## ## Register Monatsertrag definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_monthlyyield ModbusRegister 0 3512 attr solarlog_monthlyyield IODev SolarLogServer attr solarlog_monthlyyield conversion 0.001:0 attr solarlog_monthlyyield event-on-change-reading .* attr solarlog_monthlyyield plcDataType DWORD attr solarlog_monthlyyield room Solar attr solarlog_monthlyyield stateAlias solar attr solarlog_monthlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} attr solarlog_monthlyyield updateInterval 01:00:00
######################################################## ## Register Jahresertrag definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_yearlyyield ModbusRegister 0 3514 attr solarlog_yearlyyield IODev SolarLogServer attr solarlog_yearlyyield alignUpdateInterval 01:00:00 attr solarlog_yearlyyield conversion 0.001:0 attr solarlog_yearlyyield event-on-change-reading .* attr solarlog_yearlyyield plcDataType DWORD attr solarlog_yearlyyield registerType Holding attr solarlog_yearlyyield room Solar attr solarlog_yearlyyield stateAlias solar attr solarlog_yearlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} attr solarlog_yearlyyield updateInterval 01:00:00
Bei Anschluß eines SO-Verbrauchszähler können zusätzlich noch die Register Aktueller-, Tages-, Monats- und Jahresverbrauch ausgelesen werden.
######################################################## ## Register aktueller Verbrauch definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_totalpac_cons ModbusRegister 0 3518 attr solarlog_totalpac_cons IODev SolarLogServer attr solarlog_totalpac_cons event-on-change-reading .* attr solarlog_totalpac_cons room Solar attr solarlog_totalpac_cons stateAlias solar
######################################################## ## Register Tagesverbrauch definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_dailyyield_cons ModbusRegister 0 3520 attr solarlog_dailyyield_cons IODev SolarLogServer attr solarlog_dailyyield_cons conversion 0.001:0 attr solarlog_dailyyield_cons event-on-change-reading .* attr solarlog_dailyyield_cons plcDataType DWORD attr solarlog_dailyyield_cons room Solar attr solarlog_dailyyield_cons stateAlias solar attr solarlog_dailyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} attr solarlog_dailyyield_cons updateInterval 00:01:00
######################################################## ## Register Monatsverbrauch definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_monthlyyield_cons ModbusRegister 0 3524 attr solarlog_monthlyyield_cons IODev SolarLogServer attr solarlog_monthlyyield_cons alignUpdateInterval 01:00:00 attr solarlog_monthlyyield_cons conversion 0.001:0 attr solarlog_monthlyyield_cons event-on-change-reading .* attr solarlog_monthlyyield_cons plcDataType DWORD attr solarlog_monthlyyield_cons room Solar attr solarlog_monthlyyield_cons stateAlias solar attr solarlog_monthlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} attr solarlog_monthlyyield_cons updateInterval 01:00:00
######################################################## ## Register Jahresverbrauch definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define solarlog_yearlyyield_cons ModbusRegister 0 3526 attr solarlog_yearlyyield_cons IODev SolarLogServer attr solarlog_yearlyyield_cons alignUpdateInterval 01:00:00 attr solarlog_yearlyyield_cons conversion 0.001:0 attr solarlog_yearlyyield_cons event-on-change-reading .* attr solarlog_yearlyyield_cons plcDataType DWORD attr solarlog_yearlyyield_cons registerType Holding attr solarlog_yearlyyield_cons room Solar attr solarlog_yearlyyield_cons stateAlias solar attr solarlog_yearlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))} attr solarlog_yearlyyield_cons updateInterval 01:00:00
Logfile
Anlegen eines täglichen Logfiles.
######################################################## ## Tägliches LogFile definieren ## Erstellt........: 07.03.2015 ## Geändert........: 04.04.2015 ######################################################## define filelog_solarlog_day FileLog ./log/filelog_solarlog_day-%d.log solarlog_.*:solar.*
ReadingsGroup
Darstellung in einer ReadingsGroup definieren.
######################################################## ## ReadingsGroup definieren ## Erstellt........: 04.04.2015 ## Geändert........: ######################################################## define rg_dummy_SOLAR_state readingsGroup <Beschreibung>,<> solarlog_.*:state solarlog_.*:energybalance attr rg_SolarLog_state alias SolarLog attr rg_SolarLog_state mapping {'solarlog_dailyyield' => 'Tagesertrag','solarlog_monthlyyield' => 'Monatsertrag', 'solarlog_totalpac' => 'Erzeugung','solarlog_yearlyyield' => 'Jahresertrag', 'solarlog_totalyield' => 'Gesamtertrag','solarlog_yesterdayyield' => 'Vortagesertrag'} attr rg_SolarLog_state nostate 1 attr rg_SolarLog_state notime 1 attr rg_SolarLog_state valueFormat {'state' => "%0.2f"} attr rg_SolarLog_state valueStyle style="text-align:right"
Plotbeispiel
# Created by FHEM/98_SVG.pm, 2015-03-07 21:20:25 # Changed by FHEM/98_SVG.pm, 2015-04-04 10:40:00 set terminal png transparent size <SIZE> crop set output '<OUT>.png' set xdata time set timefmt "%Y-%m-%d_%H:%M:%S" set xlabel " " set title '<L1>' set ytics set y2tics set grid set ylabel "Einspeiseleistung [kW]" set y2label "Ertrag [kWh]" #filelog_solarlog_day 4:solarlog_totalpac.solar\x3a::$fld[3]/1000 #filelog_solarlog_day 4:solarlog_dailyyield.solar\x3a::
Kontakt
Weitere Fragen, Wünsche und Anregungen bitte im entsprechenden Forenthread zum Wiki-Artikel "SolarLog" zur Diskussion stellen.
Links
- Solarlog Herstellerseite