Meteen naar de inhoud

ZTATZ P1 Monitor uitlezen met silmme meter wifi gateway

in deze instructie leg ik je uit hoe je je slimme meter gateway kunt uitlezen via ZTATZ P1 Monitor

P1 Monitor is op de Raspberry PI 3 gebaseerde software om je “slimme” meter uit te lezen. De slimme meter heeft een zogenaamde P1 poort/aansluiting waar elke 10 seconden de laatste waarden uit te lezen zijn. Als je huidige en historisch elektriciteit verbruik wil meten dan is P1 monitor de oplossing voor je. Hieronder een simpel schema hoe de P1 Monitor werkt.

Kijk voor de volledige beschrijving op https://www.ztatz.nl/p1-monitor/

Wat heb je nodig voor het uitlezen van de slimme meter met ZTATZ P1 Monitor?

Om het uitlezen van de slimme meter met Home Assistant met MQTT heb je een Slimme Meter WiFi gateway nodig. Deze is hier verkrijgbaar. (Klik op de foto om naar de Slimme Meter WiFi gateway productpagina te gaan).

https://smartgateways.nl/slimme-meter-p1-dsmr-uitlezen/

Installeer P1 monitor via de instructies op https://ztatz.nl. Als P1 monitor is geinstalleerd kan deze verbinding maken met de slimme meter wifi gateway via een virtuele com poort. Deze kan via de volgende stappen worden aangemaakt.

Doorsturen van de telegrammen naar een virutele com poort:

Indien er geen ondersteuning is voor een koppeling op basis van ip, kan er ook worden gekozen voor een virtuele com poort. Hoe dit in zijn werk gaat wordt hieronder uitgelegd.

Het koppelen van de gateway kan door socat te gebruiken binnen Linux. Socat maakt via telnet een verbinding met de adapter en emuleert een seriële poort. Deze poort kan vervolgens gekoppeld worden aan Domoticz, Home Assistant of DSMR Reader alsof het een lokale USB adapter is.

Aanmaken virtuele poort in Linux (Ubuntu / Debian)

Voor het koppelen dient socat geïnstalleerd te worden. Voer hiervoor het volgende uit:

  • sudo apt-get update
  • sudo apt-install socat

Beantwoord de vraag of socat geïnstalleerd mag worden met Y(yes)

Gebruik nu socat om de poort te koppelen. Doe dit met het volgende commando (vervang ip adres):

sudo socat -T60 pty,link=/dev/virtualcom1,rawer,group-late=dialout,mode=660 tcp:192.168.1.171:23,retry=forever,interval=30

Socat maakt nu verbinding met de adapter en stuurt de telegrammen door naar de virtuele poort /dev/virtualcom1

De sessie komt nu echter niet meer terug. Er kan gecontroleerd worden door het maken van een tweede sessie naar het linux systeem en te kijken of de telegrammen op de virtuele poort binnen komen. Voer hiervoor het volgende commando uit:

cat /dev/virtualcom5

de data ziet er als volgt uit:

Als alles goed werkt kan socat als een service geinstalleerd worden. Doe dit als volgt:

maak een script /etc/systemd/system/socat.service aan met de volgende inhoud.

$ sudo vi /etc/systemd/system/socat.service
of
$ sudo nano /etc/systemd/system/socat.service

Kopieer de volgende tekst in het nieuwe bestand (socat.service)

[Unit]
Description=Socat Serial Loopback
#Before=my-other.service
[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=socat-serial-lo
ExecStart=sudo /usr/bin/socat -T60 pty,link=/dev/virtualcom1,rawer,group-late=dialout,mode=660 tcp:192.168.1.171:23,retry=forever,interval=30
Restart=always
RestartSec=2000ms
[Install]
WantedBy=multi-user.target

Sla dit bestand op en herstart de systemctl deamon met het volgende commando:

systemctl daemon-reload

Enable nu het script met het volgende commando:

systemctl enable socat.service

Start nu het script:

systemctl start socat.service

Controleer of het script juist is uitgevoerd:

Indien de output er zoals in het screenshot uitziet is de socat service juist gestart en zal deze automatisch worden gestart wanneer linux reboot.

Nu dient de gebruiker P1mon nog de juiste rechten te hebben op de nieuwe virtuele com port. Voer hiervoor het volgende commando uit:

sudo usermod -a -G dialout p1mon

Ga nu terug naar P1mon en verwijs naar de virtuele com poort: /dev/virtualcom1

Als alles goed is gegaan zal P1 Monitor de slimme meter wifi gateway uitlezen.