Ein Smartmeter über Node-RED anbinden und das ganze im LXC Container

Für die die Installation von Node-RED auf einem LXC Container kann diese Beschreibung genutzt werden.

Ab dem Punkt “Sie können sich mit einem Webbrowser mit der Weboberfläche von Node-RED verbinden” machen Sie hier wieder weiter.

1. Nach der Installation

Mit dem Aufruf der IP-Adresse vom LXC Container und der Portnummer(1880) bekommen Sie Zugriff auf den Node-RED Server im Container.

Sie bekommen dann die Oberfläche von Node-RED angezeigt.


2. Weiter Zusätzlich Plug-in

Für Node-RED muss noch das Plug-in Smartmeter hinzufügen werden.

Auf der Rechteseite unter dem Menü mit den drei strichen bitte die Option „Palette verwalten“ auswählen.


Hier bitte auf den Reiter Installation und im Suchfeld „smartmeter“ eingeben. Hier dann „node-red-contrib-smartmeter“ installieren.


Nach der Installation ist die Funktion im Node-RED nutzbar.

3. Die Bausteine auf die Flow ziehen

Den Baustein smartmeter auf die Fläche ziehen. Mit einen doppelklick kann man diesen bearbeiten.


Als erstes wird eine neue „Data source“ hinterlegt. Als Auslesegerät wird ein IR-Schreib/Lesekopf genutzt.


3.1 Einrichten des IR-Lesekopf

Dieser hier geht von Seriellen Schnittstelle auf eine USB Schnittstelle. Dieser Lesekopf wird im LXC Container als /dev/ttyUSB0 oder /dev/ttyUSBX angezeigt und kann dann in Node-RED angesteuert werden. Die Parameter für Serielle Schnittstelle kommen vom Datenblatt des Hersteller. Hier wurden die Standartwert genutzt die auch bei diesem Lesekopf gehen.


Bei der Auswahl des Protokolls kommt des drauf an was der Smartmeter nutzen kann (SML oder D0).

Bei der Option Transport „SerialResponseTransport“ nutzen. Die Daten kommen über die Serielle Schnittstelle kontinuierlich.

Über die Option Request interval kann man die Daten abfragen in Sekunden angeben. Hier wurden 10 Sekunden hinterlegt für die abfrage.


3.2 Die Einrichtung testen

Ob Sie Daten von dem Lesekopf erhalten können Sie sehr einfach über die debug Ausgabe Anzeigen lassen.


Auf der rechten Seite von Node-RED bekommen Sie die Ausgabe angezeigt.


4. Aus dem JSON String Werte Parsen

Dafür haben Sie den Funktionsblock im Node-Red, hier für den Wert momentan.


In der Funktion müssen Sie aus der payload den Wert herausnehmen denn Sie benötigen


Für die OBIS (1-0:16.7.0*255) Nummern können Sie unter dem Link nachschauen, welche Wert wo zu finden sind.

OBIS Nummer External Link

Unter dem debug “Smartmeter Momentanleistung in Watt“ können Sie es wieder überprüfen.


5. Der Wert wird an einen MQTT Broker weitergeben

Der Momentan Leistungswert wird an einen MQTT Server weitergeben.


5.1 Den Zugriff einrichten auf den Broker

Der MQTT Server muss hinterlegt werden


Server IP Adresse und Port Nummer hinterlegen.


5.2 Die Struktur vom Topic

Ein Topic hinterlegen wie es hinterlegen werden soll. In diesem Fall habe ich mich für eine 3 Struktur entschieden.

	
	location →  raspberry
	field    →  smartmeter-b8:27:eb:0f:c7:11
	payload  →  momentan
 


5.3 Die Daten über mosquitto testen

Über das Programme mosquitto können Sie Prüfen ob Daten an den MQTT Broker verschickt werden.

USER
:~$ mosquitto_sub -h 192.168.142.1 -p 1883 -v -t raspberry/# -u admin -P admin01 raspberry/smartmeter-b8:27:eb:0f:c7:11/momentan 146


Übersicht des Flow in Node-RED