SMLUSB: Unterschied zwischen den Versionen

Aus FHEMWiki
K (→‎Eigenverbrauch PV-Anlage: -> Anpassung an geändertes trigger-Verhalten userReadings)
(Ersetzung von Forum-Links mit Vorlage Link2Forum)
Zeile 118: Zeile 118:
* [[SML]]
* [[SML]]
* [http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-usb-ausgang IR-Schreib-Lesekopf vom Volkszähler Projekt ]
* [http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-usb-ausgang IR-Schreib-Lesekopf vom Volkszähler Projekt ]
* [http://forum.fhem.de/index.php/topic,14117.0.html Diskussion im FHEM-Forum]
* {{Link2Forum|Topic=14117|LinkText=Diskussion im FHEM-Forum}}


[[Kategorie:Other Components]]
[[Kategorie:Other Components]]
[[Kategorie:Energieverbrauchsmessung]]
[[Kategorie:Energieverbrauchsmessung]]
[[Kategorie:Energieerzeugungsmessung]]
[[Kategorie:Energieerzeugungsmessung]]

Version vom 19. März 2017, 20:34 Uhr


Info blue.png
Abgelöst durch 47_OBIS

Icinger hat das SML Protokoll in sein Obis Modul aufgenommen, so dass wir die beiden verschiedenen Stromzähler Protokolle nun in einem Modul vereint haben. Ich konnte ihn durch ein paar Tests unterstützen und bei mir läuft es einwandfrei und sogar deutlich performanter als mein SMLUSB.

Daher jetzt mein Vorschlag an alle SMLUSB Benutzer: Guckt Euch bitte das 47_OBIS Modul von Icinger an und stellt wenn möglich um, da ich mein Modul nicht weiterentwickeln werde, sondern Icinger dann beim 47_OBIS unterstütze. Weitere Informationen zu dem Modul findet ihr hier: [1]



SMLUSB
Zweck / Funktion
Verbrauchswerte aus SML Smartmetern per IR Lesekopf auslesen
Allgemein
Typ Inoffiziell
Details
Dokumentation siehe Forum
Support (Forum) Codeschnipsel
Modulname 70_SMLUSB.pm
Ersteller matzefisi (Forum / Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

Das Modul 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 [http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-

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

Bitte verwendet in Zukunft nur noch das Modul 47_OBIS, welches mit FHEM ausgeliefert wird.

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

ToDo

  • Saubere Dokumentation im Quellcode
  • Code aufräumen
  • Performanceprobleme mit der Funktion SMLUSB_Read lösen (Es liegen permanent Daten am seriellen Bus an, so dass SMLUSB_Read kontinuierlich ausgeführt wird und so in APPTIME immer an erster Stelle steht.)
  • Übernahme in das SVN Repository
  • Feature: Lesertypen wie den ACE 3000 unterstützen Link

Links