SMLUSB: Unterschied zwischen den Versionen
Version vom 14. Juli 2014, 18:42 Uhr
Das Modul 70_SMLUSB ermöglicht mit Hilfe eines USB-Infrarot-Lesekopfes das Auslesen von Smartmetern, die ihre Daten im binären SML (Smart Metering Language) Format über die Infrarotschnittstelle ausgeben.
Bislang wurde das Module nur mit dem Volkszähler USB-Schreib und Lesekopfes vom Volkszählerprojekt [1] getestet, sollte aber auch mit anderen seriellen IR-Empfängern gehen. Erfahrungen dazu bitte im Forum posten.
Features
- Auswertung der Energierichtung (Bezug / Einspeisung)
- Auswertung und Darstellung als Reading der folgenden Obis Codes:
'77070100010800FF' => 'Zählerstand-Bezug-Total'
'77070100020800FF' => 'Zählerstand-Lieferung-Total'
'77070100010801FF' => 'Zählerstand-Tarif-1-Bezug',
'77070100020801FF' => 'Zählerstand-Tarif-1-Lieferung'
'77070100010802FF' => 'Zählerstand-Tarif-2-Bezug',
'77070100020802FF' => 'Zählerstand-Tarif-2-Lieferung'
'770701000F0700FF' => 'Momentanleistung',
'77070100100700FF' => 'Momentanleistung'
Aktuelle Version
Die aktuelle Version ist zur Zeit noch in meinem eigenen Github Repository abgelegt.
https://github.com/matzefisi/fhem-modules/blob/master/70_SMLUSB.pm
Fragen und Anregungen bitte im Forum abliefern:
http://forum.fhem.de/index.php/topic,14117.0.html
Um die Version zu installieren, ladet die Datei bitte von dort herunter und kopiert sie in Euer FHEM Verzeichnis.
Define
define <name> SMLUSB <serial device>@<baudrate>
Beispiel:
define powerZaehler SMLUSB /dev/usbsml@9600
Attribute
Im Prinzip ist nur ein Attribut wichtig. Und zwar event-min-interval. Dieses wird beim define automatisch angelegt und auf den Wert 30 Sekunden gesetzt. Damit wird verhindert, dass zu viele Events generiert werden.
attr powerZaehler event-min-interval .*:30
Readings
Je nach Smartmeter-Model werden verschiedene Readings ausgegeben. Folgende Readings werden aktuell unterstützt:
Momentanleistung
- Zählerstand-Bezug-Total
- Zählerstand-Lieferung-Total
- Zählerstand-Tarif-1-Bezug
- Zählerstand-Tarif-1-Lieferung
- Zählerstand-Tarif-2-Bezug
- Zählerstand-Tarif-2-Lieferung
Tips und Tricks
Eigenverbrauch PV-Anlage
Falls eine PV-Anlage oder sonstige Erzeuger oder auch weitere Stromzaehler vorhanden sind, können verschiedene Werte über Userreadings miteinander verrechnet werden.
attr power_Zaehler userReadings energy_current_overall:energy_current \
{my $solarpower = ReadingsVal("power_Wechselrichter","AC.Power",0);; \
my $mainpower = ReadingsVal("power_Zaehler","energy_current",0);; $solarpower+$mainpower;;}
Stunden-, Tages-, Monats- und Jahreswerte
Mit Hilfe des statistics Modul ist es nun einfach möglich, sich Stunden-, Tages-, Monats- und Jahreswerte ausgegeben zu lassen:
define statisticsPower statistics power_Zaehler
attr statisticsPower deltaReadings Zählerstand-Tarif-1-Bezug,Zählerstand-Tarif-1-Lieferung
attr statisticsPower minAvgMaxReadings Momentanleistung
Beispielausgabe:
Reading | Wert | Timestamp |
---|---|---|
Momentanleistung | 274.90 | 2014-07-09 20:37:34 |
Momentanleistung_Gesamt | 301.9 | 2014-07-09 20:37:34 |
Zählerstand-Bezug-Total | 4289.76 | 2014-07-09 20:37:34 |
Zählerstand-Lieferung-Total | 7726.96 | 2014-07-09 20:37:34 |
Zählerstand-Tarif-1-Bezug | 4289.76 | 2014-07-09 20:37:34 |
Zählerstand-Tarif-1-Lieferung | 7726.96 | 2014-07-09 20:37:34 |
statMomentanleistungDay | Min: 199.2 Avg: 276.2 Max: 278.3 (since: 2014-07-09_20:34:45 ) | 2014-07-09 20:37:02 |
statMomentanleistungMonth | Min: 199.2 Avg: 276.2 Max: 278.3 (since: 2014-07-09_20:34:45 ) | 2014-07-09 20:37:02 |
statMomentanleistungYear | Min: 199.2 Avg: 276.2 Max: 278.3 (since: 2014-07-09_20:34:45 ) | 2014-07-09 20:37:02 |
statZählerstand-Tarif-1-Bezug | Hour: 0.0 Day: 0.0 Month: 0.0 Year: 0.0 (since: 2014-07-09_20:34:45 ) | 2014-07-09 20:37:34 |
statZählerstand-Tarif-1-Lieferung | Hour: 0.0 Day: 0.0 Month: 0.0 Year: 0.0 (since: 2014-07-09_20:34:45 ) | 2014-07-09 20:37:34 |