Installation
Vorbemerkungen
- Die Installation eines Smartmeter-Servers und die Anbindung der Funkzähler per LoRaWan erfordert einiges technisches Know-How und etwas Erfahrung auf Linux-Systemen. Dieses trifft insbesondere dann zu, wenn nicht alle Komponenten innerhalb eines Netzwerks liegen. Wenn Sie selber nicht über dieses Know-How verfügen, empfehlen wir dringend, sich kompetente technische Unterstützung zu holen, da wir keine Hilfe bei Fragen zu Linux-, Netzwerk- oder LoRaWan-Problemen leisten können
- Für die Installation gibt es an vielen Stellen mehr als eine Möglichkeit für die Realisierung. Die hier vorgestellte Installationsweise ist deshalb nur als beispielhaft anzusehen
Benutzte Hardware
- Dragino LPS8v2. Dieses ist ein LoRaWAN-Gateway, in dem ein ChirpStack-Application-Server integriert ist.
- Raspberry PI Version 4 oder 5 mit installiertem Raspberry Pi OS
- Dragino LHT65N-E31F ist ein LoRaWAN-Temperatur- und Feuchte-Sensor mit einem internen und einem externen Sensor. Er dient zunächst zum einfachen Test der Installation und kann später als Außentemperatursensor eingesetzt werden.
- Zenner Zelsius C5 Wärmezähler mit LoRaWAN-Schnittstelle
LoRaWAN einrichten
Gateway einrichten
- Dragino LPS8v2 mit dem Netzwerk und Stromversorgung verbinden
- Im Router die IP-Adresse ermitteln und dafür sorgen, dass sie sich nicht ändert
- Mit dem Browser IP-Adresse ansteuern zur Konfiguration (User root, Default-Passwort dragino)
System → Generalanwählen und Passwort ändern. MitSave&ApplyübernehmenLoRaWAN → Semtech UDPanwählen- Wert in Feld
Gateway EUImerken - Unter
Primary Serverals Service-ProviderCustom/Private LoRaWANauswählen und die IP-Adresse des Gateways eingeben - Als
Secondary ServerkannThe Things Network V3ausgewählt werden, um das öffentliche The-Things-Network einzubinden. Dann muss dort auch eine Registrierung erfolgen - Mit
Save&Applyübernehmen
- Wert in Feld
Server → Network Serveranwählen- Wenn bei ChirpStack nicht
Runningangezeigt wird,enablesetzen undLaunchdrücken - Änderungen mit
Save&Applyübernehmen
- Wenn bei ChirpStack nicht
ChirpStack einrichten
- Mit dem Browser IP-Adresse des Gateways mit der Port-Nummer 8080 ansteuern (User admin, Default-Passwort dragino)
- Unter
Users → admin → Change passwordein neues Passwort setzen und bestätigen - Mit
Gateways → Add gatewayden Dialog zur Anlage eines Gateways öffnen- Unter
Nameeinen beliebigen Namen eintragen - Unter
Gateway IDden Wert aus der Gateway EUI des Gateways eintragen - Mit
Submitabschließen
- Unter
- Im
Dashboardmüsste nach einiger Zeit eine grüne Anzeige für das Gateway erfolgen - Unter
Device profiles → Add device profileden Dialog zur Anlage eines LoRaWAN-Gerätetyps auswählen- Nach
Select device profile templateden Hersteller Dragino, Typ LHT65, Firmware 1.8, Region EU868 wählen und mitOkübernehmen - Unter
Codecden Javascript-Decoder durch die neuere Version von der offiziellen Website ersetzen - Mit
Submitabschließen
- Nach
Add device profileein weiteres Mal für den Wärmezähler aufrufen- Für diesen steht kein Template bereit, deshalb muss die Anlage manuell erfolgen
- Als
Name“Zenner Zelsius C5” eintragen Regionmuss auf EU868 stehenMAC version1.0.3Regional parameters revisionmuss den Wert A habenADR algorithmbleibt auf Default- Auf der Seite
Join (OTAA/ABP)mussDevice supports OTAAeingeschaltet sein - Auf die Seite
CodecwechselnPayload codecJavascript auswählenCodec functionsmit Text aus decoder-zenner-zelsius-c5.js füllen
- Mit
Submitabschließen
- Mit
Applications → Add applicationden Dialog zur Anlage einer Applikation öffnen- Einen beliebigen Namen vergeben und mit
Submitabschließen
- Einen beliebigen Namen vergeben und mit
- Gerade erstellte Application auswählen
- Mit
Add devicesden Dialog zur Registrierung eines LoRaWAN-Gerätes öffnen. Zunächst wird der Temperatursensor registriert. Für jeden Zähler muss dieser Vorgang dann wiederholt werden, wenn alles gründlich getestet wurde- Beliebigen Namen vergeben, z.B. “lht65-aussen”
- Device-EUI aus den Informationen zum Gerät eingeben
- Join-EUI aus den Informationen zum Gerät eingeben (wird manchmal auch als App-EUI bezeichnet)
- In
Device profileden oben angelegten Gerätetyp auswählen - Mit
Submitzum nächsten Schritt - In
Application keyden Wert aus den Informationen zum Gerät eingeben - Mit
Submitabschließen
- Jetzt kann das Gerät eingeschaltet werden
- Im
Dashboardmüsste nach einiger Zeit eine grüne Anzeige für ein aktives Gerät erscheinen
Der Temperatursensor kann dann so installiert werden, dass der externe Fühler an der Nordwand die Außentemperatur misst, der interne eine passende Raumtemperatur
Mibakus Smartmeter-Server einrichten
Diese Einrichtung erfolgt auf dem Raspberry-PI.
Docker einrichten
Docker ist ein Container-System, dass die Einrichtung des Smartmeter-Serves sehr vereinfacht.
- Vor der Docker-Einrichtung Betriebssystem auf den neuesten Stand bringen
sudo apt-get updatesudo apt-get upgrade- Eventuell Neustart
sudo curl -fsSL https://get.docker.com | shsudo usermod -aG docker $USER- Ausloggen mit
exitund wieder einloggen - Zur Prüfung die folgenden Kommandos verwenden, die ohne Fehlermeldung abgeschlossen werden müssen
docker versiondocker compose versiondocker run hello-world
Smartmeter-Server einrichten
Weil der Smartmeter-Server E-Mails versenden muss, benötigt er Zugang zu einem Mail-Server.
Es empfiehlt sich, zu diesem Zweck vor diesem Schritt ein eigenes E-Mail-Konto einzurichten, z.B. goethestr-56-meinestadt@provider.de.
- Docker-Konfiguration mibasmserver-docker.tgz hier herunterladen
- File in ein geeignetes Verzeichnis kopieren
- Mit
tar xfz mibasmserver-docker.tgzauspacken cd mibasmserver- File
docker-compose.yamlbearbeiten- Unter
dnsdie Adresse des zu verwendenden DNS-Servers eintragen, in der Regel die IP-Adresse des Routers - Prüfen, ob der unter
portsangegebene Port auf dem System frei ist- Zur Prüfung, ob ein Port aktuell benutzt ist, kann das Kommando
lsof -i -P | grep 8088verwendet werden - Bei Bedarf einen anderen freien Port auswählen und als ersten der beiden Port-Nummern eintragen, z.B. “8188:8088”
- Zur Prüfung, ob ein Port aktuell benutzt ist, kann das Kommando
- Unter
- File
configuration/mibasmserver.conf.yamlbearbeiten- Im Abschnitt
General- In
replyToundbccdie Adresse des Vermieters eintragen - In
adminMailAddressdie Mail-Adresse des technisch Verantwortlichen eintragen - In
outdoorTemperature“lht65-aussen.Ext_TempC_SHT” eintragen, um den externen Temperatursensor des lkh65 auszuwählen operationModebleibt auf “mail-to-admin”, um besser testen zu können
- In
- Im Abschnitt
smtpsind die Angaben des Mail-Providers für das für mibasmserver eingerichtete E-Mail-Konto einzutragen - Im Abschnitt
chirpStack- In
addressdie IP-Adresse des Dragino LPS8v2 eintragen
- In
- Im Abschnitt
- Mit dem Befehl
docker compose up -dkann der Server jetzt gestartet werden. Er wird dann auch bei einem Neustart des Linux-Systems automatisch neu gestartet
Kontrolle
- Mit einem Webbrowser IP-Adresse des Raspberry PI mit der Port-Nummer 8088 ansteuern (User admin, Default-Password admin)
- Auf der Übersichtsseite dürfen jetzt Fehler wegen des Operation-Modus und der fehlenden Hausbeschreibung angezeigt werden
- Bei anderen Fehlern muss die Konfiguration korrigiert werden, auf der Seite
Logskönnen eventuell genauere Gründe gefunden werden - Auf der Seite
LoRaWANmüsste ein Eintrag für “lht65-aussen” erscheinen, wenn der lht65 die nächste Nachricht mit den aktuellen Werten versendet. Dies geschieht alle 20 Minuten - Nach dem Start sendet der Smartmeter-Server eine E-Mail zur Information an den Administrator. Diese kann ebenfalls geprüft werden
Passwörter
Passwörter sollten in Konfigurationsfiles nicht im Klartext angegeben werden, damit sie nicht versehentlich öffentlich werden. Deshalb unterstützt mibasmserver eine Angabe von verschlüsselten Passwörtern. Da die Verschlüsselung zunächst initialisiert werden muss, muss der Server zunächst einmal mit unverschlüsselten Passwörtern angelegt werden und ein erstes Mal gestartet werden.
Danach kann jeweils ein Passwort mit dem Shell-Skript password-encryptor verschlüsselt werden, das sich im Verzeichnis mibasmserver befindet.
Die gesamten ausgegebenen Strings inclusive der umgebenden "''" müssen anstelle der unverschlüsselten Passwörter in den Konfigurationsfile eingetragen werden.
Nachdem alle Ersetzungen durchgeführt wurde, muss der Server neu gestartet werden
- mit dem Kommando
docker compose restartim Verzeichnis mibasmserver - oder über den Button
Neustartauf der SeiteSystemder Web-Oberfläche
Updates oder Änderungen der Konfiguration
Änderungen am Konfigurationsfile werden von mibasmserver nicht automatisch übernommen. Dazu ist ein Neustart erforderlich, ebenso wie bei einem Software-Update
Alle Kommandos müssen im Verzeichnis mibasmserver ausgeführt werden.
docker compose downfährt den Server herunter, um eine neue Version einzuspielen oder Änderungen an der Konfiguration durchzuführendocker compose pulldient zum Update des Servers auf die aktuelle Version- Bei Bedarf können jetzt Änderungen an der Konfiguration vorgenommen werden
- Mit
docker compose up -dwird der Server neu gestartet
Mibakus Desktop-Applikation anbinden
- Mibakus starten
- Unter
Stammdaten → Allgemeinesdie CheckboxSmartmeter-Supportanklicken Stammdaten → Smartmeter-Einstellungenausfüllen- In
Smartmeter-Server-URLdie Web-Adresse des Smartmeter-Servers eintragen, z.B.http://raspberry-pi:8088/ Login erforderlichanwählenUsernameauf “mibakus” setzenPasswortauf das im Konfigurationsfile für den Smartmeter-Server gesetzte Passwort setzen- Mit
OKabschließen
- In
- Mit
Datei → Speichernwird die Änderung gespeichert und die Hausbeschreibung an den Smartmeter-Server gesendet - Im Webbrowser müsste auf der Seite
Übersichtder Fehler über die fehlende Hausbeschreibung verschwunden sein
Zähler einrichten
Für jeden Zähler ist jetzt die folgende Prozedur auszuführen:
Zähler im Application-Server registrieren
- Mit
Add devicesden Dialog zur Registrierung eines LoRaWAN-Gerätes öffnen.- Beliebigen Namen vergeben, z.B. “eg-waerme”
- Device-EUI aus den Informationen zum Gerät eingeben
- Join-EUI aus den Informationen zum Gerät eingeben (wird manchmal auch als App-EUI bezeichnet)
- In
Device profile“Zenner Zelsius C5” auswählen - Mit
Submitzum nächsten Schritt - In
Application keyden Wert aus den Informationen zum Gerät eingeben - Mit
Submitabschließen - Jetzt kann im Zähler die LoRaWAN-Schnittstelle aktiviert werden
LoRaWAN-Einrichtung prüfen
- Auf der Seite
LoRaWANdes Smartmeter-Servers müsste ein Eintrag für den neuen LoRaWAN-Zähler erscheinen
In Mibakus eintragen
Wenn der Zähler tatsächlich installiert worden ist, muss in Mibakus der Zählertausch fast wie normal eingetragen werden:
- In
Stammdaten → Zählerden entsprechenden Zählereintrag anwählen- Einen Haken bei
Smarter Zählersetzen - Als
Zählernummerden Zählernamen zusammen mit dem Namen des Feldes mit dem Zählwert setzen, also z.B. “eg-waerme.energy” - Mit
OKabschließen
- Einen Haken bei
- In
Zählerden Zähler anwählen- Einen neuen Eintrag anlegen
- Als
Ereignis“Ablesung” eintragen - Als
Datumden Termin des Umbaus eintragen Zählerstandist der letzte Stand des alten Zählers- Mit
OKabschließen
- Als
- Einen weiteren Eintrag erzeugen
- Als
Ereignis“Zählertausch” wählen und denselben Termin - Anfangsstand des neuen Zählers eintragen
- Mit
OKabschließen
- Als
- Einen neuen Eintrag anlegen
- Mit
Datei → Speicherndie Änderung speichern
Einrichtung prüfen
- Auf der Seite
Zählerdes Smartmeter-Servers müsste ein Eintrag für den neuen Zähler mit dem in Mibakus verwendeten Namen erscheinen - Dieser Name müsste auf der Seite
LoRaWANin der SpalteBenutzende Zählerauftauchen
Nach dem nächsten Monatsanfang können die vom Smartmeter-Server versendeten E-Mails geprüft werden.
Wenn alles OK ist, kann im Konfigurationsfile der Eintrag operationMode entfernt werden und der Server neu gestartet werden.
Danach werden die Verbrauchs-Mails auch an die Mieter gesendet.
