SMLUSB

Aus FHEMWiki

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.

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

Links