Plugin ‚smartmeter‘ Konfiguration

plugin type logo

Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin smartmeter konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann. [1]

Es handelt sich bei diesem Plugin um ein interface Plugin.

ACHTUNG: Dieses Plugin ist als develop gekennzeichnet. Es kann daher sein, dass es noch nicht Feature-Complete oder noch fehlerhaft ist.

Beschreibung

Unterstützung für Smartmeter, die DLMS (Device Language Message Specification, IEC 62056-21) oder SML (Smart Message Language) nutzen und OBIS Codes liefern

Anforderungen

  • Minimum SmartHomeNG Version: 1.10.0.3

  • Minimum Python Version: 3.9

Konfiguration

Im folgenden ist beschrieben, wie das Plugin smartmeter konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann.

Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/plugin.yaml konfiguriert werden:

autoreconnect

Bei Beenden der Verbindung automatisch erneut verbinden (nur bei ständigem Empfang)

  • Datentyp: bool

  • Standardwert: True

baudrate

Baudrate, bei der die Kommunikation erfolgen soll

  • Datentyp: int

  • Standardwert: 9600

  • Minimalwert: 50

baudrate_min

Baudrate, bei der die Kommunikation zuerst erfolgen soll (nur DLMS)

  • Datentyp: int

  • Standardwert: 300

  • Minimalwert: 50

buffersize

Größe des Lesepuffers. Mindestens doppelte Größe der maximalen Nachrichtenlänge in Bytes (nur SML)

  • Datentyp: int

  • Standardwert: 1024

crontab

Abfragen des Smartmeters mit Festlegung via Crontab

  • Datentyp: str

cycle

Zeitlicher Abstand zwischen zwei Abfragen des Smartmeters in Sekunden, setzen auf 0 schaltet cycle aus

  • Datentyp: int

  • Standardwert: 60

  • Minimalwert: 0

date_offset

Unix timestamp der Smartmeter Inbetriebnahme (nur SML)

  • Datentyp: int

  • Standardwert: 0

device_address

Interne Unteradresse des Smartmeters (nur DLMS)

  • Datentyp: str

device_type

Typ des Gerätes, ggf. notwendig für spezielle Behandlung (nur SML)

  • Datentyp: str

  • Mögliche Werte:

host

Host der eine IP Schnittstelle bereitstellt (nur SML)

  • Datentyp: str

normalize

Wenn Einheiten mit Zehnerpräfix geliefert werden, werden Einheit und Wert in die entsprechende Basiseinheit konvertiert (z.B. 12.7 kWh -> 12700 Wh)

  • Datentyp: bool

  • Standardwert: True

only_listen

Manche Smartmeter können nicht abgefragt werden sondern senden von sich aus Informationen. Für diese Smartmeter auf True setzen und die Baudrate anpassen (nur DLMS)

  • Datentyp: bool

  • Standardwert: False

poll

Gerät regelmäßig abfragen (cycle/crontab) statt ständigem Empfang (nur SML)

  • Datentyp: bool

  • Standardwert: True

port

Port für die Kommunikation (nur SML)

  • Datentyp: int

protocol

Protokoll zur Kommunikation mit dem Smartmeter. Leerer Wert bedeutet automatische Erkennung (soweit erfolgreich).

  • Datentyp: str

  • Mögliche Werte:

    • DLMS

    • SML

    • dlms

    • sml

querycode

Abfragecode für den Smartmeter, default ist ?, einige Smartmeter akzeptieren z.B. 2 (nur DLMS)

  • Datentyp: str

  • Standardwert: ?

serialport

Serieller Port, an dem das Smartmeter angeschlossen ist

  • Datentyp: str

time_filter

Im „ständig empfangen“-Modus Item-Updates nur alle x Sekunden senden. x = 0: alle Updates senden. x = -1: den Wert von „cycle“ verwenden.

  • Datentyp: int

  • Standardwert: 0

timeout

Timeout in Sekunden nach dem der Lesevorgang automatisch beendet wird

  • Datentyp: int

  • Standardwert: 2

use_checksum

Wenn wahr, wird eine Prüfsumme über die ausgelesenen Daten gebildet (nur DLMS)

  • Datentyp: bool

  • Standardwert: True

Item Attribute

Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items verwendet werden:

obis_code

OBIS-Code, dessen Wert gelesen werden soll

  • Datentyp: str

obis_index

Index des OBIS-Werts, der gelesen werden soll

  • Datentyp: int

  • Standardwert: 0

  • Minimalwert: 0

  • Maximalwert: 10

obis_property

Eigenschaft des gelesenen Wertes: * value: korrigierter Wert (Skalierungsfaktor, SI-Basiseinheit) * valueRaw: vom Gerät gelieferter (Roh-)Wert * unit: zurückgegebene Einheit des Wertes * unitCode: Code der Einheit gem. smllib.const.UNITS * scaler: Multiplikationsfaktor für valueRaw * status: Status-Bitfeld * valTime: Zeitstempel des Wertes * actTime: korrigierter Zeitstempel des Wertes * signature: tbd Nicht alle Eigenschaften sind in jedem Datenpunkt vorhanden.

  • Datentyp: str

  • Standardwert: value

  • Mögliche Werte:

    • value

    • valueRaw

    • unit

    • unitCode

    • name

    • obis

    • valTime

    • actTime

    • scaler

    • signature

    • status

    • statRun

    • statFraudMagnet

    • statFraudCover

    • statEnergyTotal

    • statEnergyL1

    • statEnergyL2

    • statEnergyL3

    • statRotaryField

    • statBackstop

    • statCalFault

    • statVoltageL1

    • statVoltageL2

    • statVoltageL3

obis_readout

Der komplette Auslesepuffer wird für eigene Untersuchungen gespeichert (nur DLMS)

  • Datentyp: str

obis_vtype

Konvertierungsart des gelesenen Wertes: * str: eine Zeichenkette * num: numerisch, entweder Ganzzahl oder Fließkommazahl * int: Ganzzahl * float: Fließkommazahl * ZST12: Datum und Zeit codiert als YYMMDDhhmmss * ZST10: Datum und Zeit codiert als YYMMDDhhmm * D6: Datum codiert als YYMMDD * Z4: Zeit codiert als hhmm * Z6: Zeit codiert als hhmmss

  • Datentyp: str

  • Mögliche Werte:

    • str

    • num

    • int

    • float

    • ZST12

    • ZST10

    • D6

    • Z6

    • Z4

Logik Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/logic.yaml konfiguriert werden:

Keine Logik Parameter in den Metadaten beschrieben - Bitte in der README nachsehen (siehe Fußnote)

Plugin Functions

Das Plugin verfügt über folgende öffentliche Funktionen, die z.B. in Logiken aufgerufen werden können.

Keine