De slimme meter eenvoudig koppelen via wifi

Ik was al een tijdje op zoek naar een adapter waarmee ik mijn slimme meter kan uitlezen over wifi. Omdat deze nergens te vinden is heb ik besloten er zelf een te maken. Hiervoor heb ik een adapter gemaakt die ik via een telefoonkabeltje verbind met de slimme meter (in mijn geval een Landis+Gyr E350) en die via wifi benaderd kan worden door bijvoorbeeld Home Assistant, Domoticz, DSMR Reader en vele andere pakketten. Door deze adapter hoeft mijn Ubuntu server met Home Assistant en DSMR-Reader niet in de meterkast te staan maar kan ik de slimme meter over het wifi netwerk koppelen. In de meterkast is alleen de adapter nodig die via een usb micro aansluiting wordt aangesloten op het stopcontact. De adapter kan met iedere slimme meter met worden gebruikt.

Installatie:

De Slimme meter over WiFi adapter zal eenmalig geconfigureerd moeten worden om te verbinden met het lokale wifi netwerk en de gebruikte meter. Volg onderstaande stappen om de adapter eenmalig te configureren.

  • Sluit de adapter aan via een micro usb kabel op een stopcontact of vrije usb aansluiting. Elke usb aansluiting kan worden gebruikt
  • Na een halve minuut zendt de adapter het wifi netwerk “CONNECTIX.NL P1 TO WIFI” uit

  • Maak via een telefoon verbinding met het wifi netwerk “CONNECTIX.NL P1 TO WIFI”. Er is geen wachtwoord vereist
  • Er verschijnt automatisch een configuratie pagina, mocht deze niet verschijnen, browse dan naar http://192.168.4.1

  • Selecteer “Configure WiFi“. De adapter zoekt nu naar beschikbare wifi netwerken
  • Er wordt een overzicht met beschikbare wifi netwerken weergegeven. Selecteer het juiste netwerk

  • Vul nu het WiFi wachtwoord in en de juiste instelling voor de slimme meter. De instellingen worden onder aan dit artikel weergegeven
  • Vul in het volgende veld de Baudrate in van de gebruikte slimme meter, in de meeste gevallen is dit 115200 of 9600
  • Vul in bij Comsetting de juiste seriële settings in van uw slimme meter, in de meeste gevallen is dit 8N1 of 7E1. Let op, dit is hoofdletter gevoelig!

  • Selecteer nu “save” de instelling wordt opgeslagen en de adapter meldt zich nu aan op het wifi netwerk
  • De adapter zal van de internet router via dhcp een ip adres krijgen. Dit kan op verschillende manieren achterhaald worden. Een eenvoudige manier is om gebruik te maken van de gratis software “Advanced IP Scanner” Deze is te downloaden via deze link
  • Installeer de software en scan het wifi netwerk
  • Er wordt een lijst met actieve systemen weergegeven. Zoek nu de wifi adapter

  • De Slimme meter over WiFi adapter is in bovenstaande afbeelding rood omcirkeld. Deze is te herkennen aan de velden Manufacturer: Espressif Inc. Het Mac adres begint altijd met 3C:71:BF:xx:xx:xx
  • In bovenstaande afbeelding is het ip adres dus 192.168.1.171.
  • Maak voor het gevonden ip adres een reservering aan op de dhcp server van het netwerk. Raadpleeg hiervoor de handleiding van de dhcp server (router/firewall/modem)
  • Doordat de software de adapter heeft gevonden in het netwerk is deze succesvol gekoppeld
  • Sluit nu de adapter met de RJ11 connector (telefoonstekker) aan op de P1 poort van de slimme meter

 

Controleren op ontvangen telegrammen

Als de adapter is aangesloten op de slimme meter kan worden gecontroleerd of de telegrammen via het netwerk kunnen worden ontvangen. Hiervoor kan bijvoorbeeld PuTTY worden gebruikt. PuTTY kan gedownload worden via deze link: download putty

  • Start putty op, vul het ip adres in en selecteer Telnet. Port 23 wordt automatisch ingevuld. Dit is de poort waarop de adapter gekoppeld kan worden.

  • Selecteer nu Open. Als het goed is verschijnt nu iedere 10 seconden een DSMR telegram

  • Als er niks verschijnt of er verschijnen onleesbare tekens, dan is waarschijnlijk de Baudrate en Comsetting niet goed ingesteld bij het configureren van de wifi verbinding. Reset in dat geval de adapter. Zie elders in deze post hoe een reset to factory default kan worden uitgevoerd.

Koppelen van de Adapter

Het koppelen van de adapter kan door socat te gebruiken onder 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 geïnstalleerd worden. Doe dit als volgt:

maak een script /etc/systemd/system/socat.service aan met de volgende inhoud (commando: sudo nano /etc/systemd/system/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 uit ziet is de socat service juist gestart en zal deze automatisch worden gestart wanneer linux reboot.

Koppelen met DSMR-Reader software

Het koppelen van de adapter met DSMR-Reader kan door bij COM-poort het volgende in te stellen: /dev/virtualcom1

Na het instellen moet de DSMR-reader software opnieuw opgestart worden. Daarna zal de software de metingen verwerken:

Koppelen met Domoticz

Domoticz ondersteunt native een DSMR koppeling over het netwerk. Volgens de domoticz site kan dit op de volgende manier:

For connection via ethernet:

Setup ser2net with the the baudrate found like the USB setup. Use the Domoticz ‘Set-up’->’Hardware’ menu and choose the ‘P1 Smart Meter with LAN interface’ device. Fill in the ip number and port ser2net host. and press “Add” now you have the same meters as with USB.

De adapter werkt het zelfde als een ser2net verbinding. Vul dus gewoon het ip adres van de adapter in met port 23.

Reset to factory default

De Slimme meter over WiFi adapter kan naar fabrieks-instellingen worden hersteld door het reset knopje twee seconden in te drukken. Wanneer dit wordt gedaan zal de adapter weer het “CONNECTIX.NL P1 TO WIFI” netwerk uitzenden. Hiermee kan de setup opnieuw worden uitgevoerd.

Troubleshooting

  • De adapter zal waarschijnlijk in de meterkast worden geplaatst. Let op dat er voldoende wifi bereik is in de meterkast. De adapter zal in de meeste gevallen goed werken indien een telefoon ook goed bereik heeft in de meterkast.
  • De adapter werkt alleen op 2.4Ghz wifi netwerken. De adapter werkt dus niet op 5Ghz!
  • Indien het wifi signaal te zwak is zal de adapter steeds opnieuw opstarten en naar het wifi netwerk zoeken. Krijgt de adapter geen verbinding, dan wordt de setup opnieuw gestart. De adapter zal echter het laatst geconfigureerde wifi netwerk onthouden en iedere 5 minuten opnieuw proberen met dit netwerk te verbinden. Als de adapter een succesvolle verbinding tot stand heeft gebracht zal het “CONNECTIX.NL P1 TO WIFI” netwerk weer worden uitgeschakeld.

 

Verschilldene slimme meters met de te gebruiken instellingen

Merk: Model: Type: Uitvoering P1 poort: DSMR/EMSR versie: Seriële instellingen: Geïnverteerd signaal? P1 telegram header:
Iskra ME 382 1-fase kleinverbruik RJ-11, 6-pins DSMR 2.2 9600 7E1 Ja /ISk5\
Iskra MT 382 3-fase kleinverbruik RJ-11, 6-pins DSMR 2.2 9600 7E1 Ja /ISk5\
Iskra AM 550 3-fase kleinverbruik RJ-11, 6-pins ESMR 5.0 115200 8N1 Ja /ISK5\
Kaifa E0003 3-fase kleinverbruik RJ-11, 6-pins DSMR 4? 115200 8N1 Ja KFM5
KFM5KAIFA-METER
Kaifa E0025 1-fase kleinverbruik RJ-11, 6-pins DSMR 4 115200 8N1 Ja /KFM5
Kaifa MA105 1-fase kleinverbruik RJ-11, 6-pins DSMR 4.0 (4.0.5 / 4.0.7) 115200 8N1 Ja /KFM5
Kaifa MA105C 1-fase kleinverbruik RJ-11, 6-pins DSMR 4.2.2 115200 8N1? Ja? /KFM5
Kaifa MA304 3-fase kleinverbruik RJ-11, 6-pins DSMR 4.0 (4.0.5 / 4.0.7) 115200 8N1 Ja /KFM5
Kaifa MA304C 3-fase kleinverbruik RJ-11, 6-pins DSMR 4.2.2 115200 8N1? Ja? /KFM5
Kamstrup 162 1-fase kleinverbruik RJ-11, 4-pins DSMR 2.2 9600 7E1 Ja /KMP5
Kamstrup 351 3-fase (ext. stroom spoelen) RJ-11, 6-pins DSMR 2.2 9600 7E1 Ja /KMP5
Kamstrup 382 3-fase kleinverbruik RJ-11, 4-pins DSMR 2.2 9600 7E1 Ja /KMP5
Landis + Gyr E350 (ZCF100) 1-fase kleinverbruik RJ-11, 6-pins DSMR 4.0 115200 8N1 Ja? /XMX5LG
Landis + Gyr E350 (ZCF100) 1-fase kleinverbruik RJ-11, 6-pins DSMR 4.2 115200 7E1 Ja /XMX5LG
Landis + Gyr E350 (ZCF110) 1-fase kleinverbruik RJ-11, 6-pins DSMR 4.2 115200 8N1 Zie mailtip onder /XMX5LG
Landis + Gyr E350 (ZFF100) 3-fase (3-aderig) kleinverbruik RJ-11, 6-pins DSMR 4.0 115200 8N1 Ja? /XMX5LG
Landis + Gyr E350 (ZMF100) 1-fase / 3-fase (4-aderig) kleinverbruik RJ-11, 6-pins DSMR 4.0 115200 8N1 Ja? /XMX5LG
Landis + Gyr E360 (T11142) 1-fase / 3-fase (4-aderig) kleinverbruik RJ-11, 6-pins ESMR 5.0 115200 8N1 Ja /XMX5LG
Sagemcom T210-D ESMR5 3-fase RJ-11, 6-pins ESMR 5.0 115200 8N1 Ja /Ene5

(bron http://domoticx.com)