SML: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== Einleitung == Das Smart Metering Language (SML, auf XML basierende Syntax) Modul ('''''70_SML.pm''''') ist ein Modul zur Auswertung von über LAN (TCP/IP) a…“) |
Krikan (Diskussion | Beiträge) K (Modultyp korrigiert) |
||
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | {{Infobox Modul | ||
Das Smart Metering Language (SML, auf XML basierende Syntax) Modul | |ModPurpose=Auswertung von SML Zählern (SmartMeter) | ||
|ModType=d | |||
<!-- |ModCategory=?? --> | |||
<!-- |ModCmdRef=http://fhem.de/commandref.html#LightScene --> | |||
|ModForumArea=Sonstiges | |||
|ModTechName=70_SML.pm | |||
|ModOwner=[[SML#Kontakt|bentele]] | |||
}} | |||
Das Smart Metering Language ([[SML]], auf XML basierende Syntax) Modul ist ein Modul zur Auswertung von über LAN (TCP/IP) abfragbaren Stromzählern. | |||
== Voraussetzung == | == Voraussetzung == | ||
Der Stromzähler | Der Stromzähler muss von FHEM aus über das Netzwerk erreichbar sein, üblich ist der Port 80, es ist aber auch jeder andere Port denkbar. | ||
Zur Zeit bekannte Stromzähler, die abgefragt werden können: | Zur Zeit bekannte Stromzähler, die abgefragt werden können: | ||
Zeile 9: | Zeile 18: | ||
* "Intelligenter Strom Zähler" (ENBW) | * "Intelligenter Strom Zähler" (ENBW) | ||
* "Sparzähler" (Yellow Strom) | * "Sparzähler" (Yellow Strom) | ||
== Benutzung == | == Benutzung == | ||
Die Definition eines SML Devices erfolgt mit dem Befehl: | Die Definition eines SML Devices erfolgt mit dem Befehl: | ||
Zeile 15: | Zeile 25: | ||
Wobei <host> der Hostname und <port> der angegebene TCP Port des Zählers sind. | Wobei <host> der Hostname und <port> der angegebene TCP Port des Zählers sind. | ||
Das <interval> ist per default 300 sec. Das bedeutet, es wird der Durchschnitt aus den letzten 300 sec (5 | Das <interval> ist per default 300 sec. Das bedeutet, es wird der Durchschnitt aus den letzten 300 sec (5 Minuten) ausgegeben. | ||
Der <timeout> gibt an, wie lange ein Verbindungsaufbau versucht wird, | Der <timeout> gibt an, wie lange ein Verbindungsaufbau versucht wird, Default ist hier 4 Sekunden. | ||
Zählerstand einzutragen: | Zählerstand einzutragen: | ||
<nowiki>set <name> TOTALPOWER <wert></nowiki> | <nowiki>set <name> TOTALPOWER <wert></nowiki> | ||
== Loggen == | == Loggen == | ||
<nowiki>define SML_log FileLog /var/log/fhem/enbw-%Y.log sml:.*</nowiki> | <nowiki>define SML_log FileLog /var/log/fhem/enbw-%Y.log sml:.*</nowiki> | ||
So | So sieht dann eine Log Zeile aus, die pro Intervall erzeugt wird: | ||
<nowiki>2012-08-08_19:03:08 enbw min: 441 max: 1935 last: 672 avg: 771.35 day: 5.124356 month: 66.241639 year: 11834.708207 total: 11834.708207</nowiki> | <nowiki>2012-08-08_19:03:08 enbw min: 441 max: 1935 last: 672 avg: 771.35 day: 5.124356 month: 66.241639 year: 11834.708207 total: 11834.708207</nowiki> | ||
Zeile 31: | Zeile 42: | ||
Year: das ist die Jahressumme und wird jedes Jahr auf 0 KW gesetzt. | Year: das ist die Jahressumme und wird jedes Jahr auf 0 KW gesetzt. | ||
Total: das ist der Zählerstand und wird nicht verändert. | Total: das ist der Zählerstand und wird nicht verändert. | ||
== Plotten == | == Plotten == | ||
<nowiki>define wl_ENBW weblink fileplot SML_log:smartmeter:CURRENT</nowiki> | <nowiki>define wl_ENBW weblink fileplot SML_log:smartmeter:CURRENT</nowiki> | ||
[[File: | [[File:SML2.png|808px|Beispiel eines SML-Plots]] | ||
smartmeter.gplot: | smartmeter.gplot: | ||
Zeile 64: | Zeile 73: | ||
"< awk '/totalEnergyDay:/ {print $1, $4}' <IN>",\ | "< awk '/totalEnergyDay:/ {print $1, $4}' <IN>",\ | ||
using 1:2 ls l0fill axes x1y2 title 'min' with histeps</nowiki> | using 1:2 ls l0fill axes x1y2 title 'min' with histeps</nowiki> | ||
== Kontakt == | == Kontakt == | ||
Bei Problemen/Fragen bitte per Mail an: gabriel AT bentele DOT de, wenden. | Bei Problemen/Fragen bitte per Mail an: gabriel AT bentele DOT de, wenden. | ||
[[Kategorie:HOWTOS]] | |||
[[Kategorie:Glossary]] |
Aktuelle Version vom 2. September 2014, 19:30 Uhr
SML | |
---|---|
Zweck / Funktion | |
Auswertung von SML Zählern (SmartMeter) | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstiges |
Modulname | 70_SML.pm |
Ersteller | bentele |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Das Smart Metering Language (SML, auf XML basierende Syntax) Modul ist ein Modul zur Auswertung von über LAN (TCP/IP) abfragbaren Stromzählern.
Voraussetzung
Der Stromzähler muss von FHEM aus über das Netzwerk erreichbar sein, üblich ist der Port 80, es ist aber auch jeder andere Port denkbar.
Zur Zeit bekannte Stromzähler, die abgefragt werden können:
- "Intelligenter Strom Zähler" (ENBW)
- "Sparzähler" (Yellow Strom)
Benutzung
Die Definition eines SML Devices erfolgt mit dem Befehl:
define <name> SML <host> <port> [<interval> [<timeout>]]
Wobei <host> der Hostname und <port> der angegebene TCP Port des Zählers sind.
Das <interval> ist per default 300 sec. Das bedeutet, es wird der Durchschnitt aus den letzten 300 sec (5 Minuten) ausgegeben.
Der <timeout> gibt an, wie lange ein Verbindungsaufbau versucht wird, Default ist hier 4 Sekunden.
Zählerstand einzutragen:
set <name> TOTALPOWER <wert>
Loggen
define SML_log FileLog /var/log/fhem/enbw-%Y.log sml:.*
So sieht dann eine Log Zeile aus, die pro Intervall erzeugt wird:
2012-08-08_19:03:08 enbw min: 441 max: 1935 last: 672 avg: 771.35 day: 5.124356 month: 66.241639 year: 11834.708207 total: 11834.708207
Day: das ist die Tagessumme, und wird um 24 Uhr wieder auf 0 KW gesetzt. Month: das ist die Monatssumme und wird jeden Monat wieder auf 0 KW gesetzt. Year: das ist die Jahressumme und wird jedes Jahr auf 0 KW gesetzt. Total: das ist der Zählerstand und wird nicht verändert.
Plotten
define wl_ENBW weblink fileplot SML_log:smartmeter:CURRENT
smartmeter.gplot:
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 '<TL>' set y2label "currentPower (W)" set ylabel "totalEnergyDay (kWh)" #FileLog 12:enbw:0: #FileLog 10:enbw:0: #FileLog 8:enbw:0: #FileLog 6:enbw:0: #FileLog 4:enbw:0: plot \ "< awk '/enbw:/ {print $1, $12}' <IN>"\ using 1:2 ls l9 axes x1y1 title 'day' with filledcurve,\ "< awk '/totalEnergyDay:/ {print $1, $10}' <IN>",\ using 1:2 ls l2 axes x1y2 title 'averange' with histeps,\ "< awk '/totalEnergyDay:/ {print $1, $8}' <IN>",\ using 1:2 ls l3 axes x1y2 title 'last' with histeps,\ "< awk '/totalEnergyDay:/ {print $1, $6}' <IN>",\ using 1:2 ls l1 axes x1y2 title 'max' with histeps,\ "< awk '/totalEnergyDay:/ {print $1, $4}' <IN>",\ using 1:2 ls l0fill axes x1y2 title 'min' with histeps
Kontakt
Bei Problemen/Fragen bitte per Mail an: gabriel AT bentele DOT de, wenden.