Hobbyproject: Slimme meter uitlezen, 3 jaar later

Het is al weer zo'n 3 jaar geleden dat mijn eerste blog over de slimme meter uitkwam. Door verschillende lezers zijn ook nuttige bijdragen geleverd hoe het ook kan en zelf doe ik het inmiddels ook al weer een beetje anders. Tijd voor een update (en een extra toevoeging voor data verzameling).

De ESP8266 (arduino compatible) WiFi-chip heeft inmiddels vele mogelijkheden om allerlei functionaliteit te automatiseren. Met de ESPEasy software is het heel eenvouding om aangesloten sensoren of actuatoren aan te sturen en te koppelen met bijvoorbeeld Domoticz. Voor een paar euro heb je een ESP8266, en in de vorm van de Wemos D1 is het bijna een kwestie van een microUSB kabel aansluiten en gaan.

ESPEasy (https://github.com/letscontrolit/ESPEasy) heeft bijvoorbeeld ook de mogelijkheid om de telegrammen van een P1 poort van een slimme meter uit te lezen en als gateway te fungeren voor Domoticz. We gebruiken als het ware de seriele poort via WiFi. Ik stuitte op de volgende website: http://www.esp8266thingies.nl/wp/

Mooi schematisch ziet dat er zo uit:

wemosp1sketch_bb

De seriele poort op een Wemos wordt hiermee aangesloten op de slimme meter. De transistor+weerstand zorgt ervoor dat het signaal geinverteerd wordt en er geen 5 volt op de Wemos terecht komt, dat kan de Wemos niet aan namelijke (max 3.3V). Mijn eerste poging was een experimenteer-print met daarop de juiste componenten. Aansluiten op de slimme meter en loggen maar. Echter, ik heb tegenwoordig een Landis+Gyr E350 meter, en die had nog even een pull-up weerstand nodig. (dat is het geval bij Landis+Gyr en Iskra. De meters van Kamstrup en Kaifa hebben de weerstand niet nodig).

Mijn experimenteerprint zag er zo uit:

img_5430_small

Maar een experimenteerprint met losse draden in de meterkast, daar ben ik niet zo’n fan van. Dus leek het me wel een goed idee om zelf een print te gaan ontwerpen. Op EasyEDA ben ik aan de slag gegaan met het natekenen van het schema. Je kunt hiervoor meerdere online-omgevingen gebruiken. Of bijvoorbeeld Fritzing.

Een schema resulteert in een printontwerp. In EasyEDA kun je bij het selecteren en verbinden van de juiste componenten dat vrijwel automatisch laten doen. Met wat fine tuning levert dat een mooi printontwerp op en door de integratie met een printfabrikant heb je dan in een paar dagen je print in huis (of meerdere).

Het resultaat mag er zijn:

img_5378_small

De Wemos moet ook nog even de juiste software geflashed krijgen: ESPEasy. Download een release en flash deze met de stappen zoals hier genoemd.

Voor een Wemos d1 kun je de 4M/4096 versie gebruiken. Op bovengenoemde pagina wordt ook de procedure beschreven om de ESP in te stellen op je WiFi netwerk. In de rest van de tekst ga ik er vanuit dat de ESP bereikbaar is via je netwerk en je het IP-adres weet.

Je kunt nu de Wemos verder instellen via http://[IP ADRES WeMos]/. Zie onderstaande afbeelding.

espeasy-settings

In Domoticz kun je nu hardware toevoegen van het type ‘P1 Smart Meter with LAN interface’:

domoticz-setup

En vervolgens kun je via ‘devices’ in domoticz de nieuwe devices toevoegen van de slimme meter, waar mooie grafiekjes in verschijnen:

domoticz-device domoticz-graph

Bonus: Je watermeter ook aansluiten op de Wemos

De Wemos heeft nog een heleboel vrije poorten en het is natuurlijk leuk om hier meer op aan te kunnen sluiten. De warmtemeter wordt al uitgelezen, zie mijn vorige blog, maar de watermeter is nog niet beschreven.

Op de meeste watermeters zit een klein rotortje dat gaat draaien als je water gebruikt. Op dat rotortje zit een metalen plaatje en dat kunnen we uiteraard detecteren. En daarvoor is een inductieve nabijheidssensor een optie. De meest gebruikte daarvoor, een LJ12A3-4/BX, is helaas niet direct op de wemos te gebruiken. De sensor vereist een ingangsvoltage van 10-36 volt. Een logische waarde is dan 12 volt, die mogelijk nabij je watermeter al beschikbaar is door bijvoorbeeld een modem of andere adapter.

Een voorbeeld en schema hiervan zie je hier: https://www.letscontrolit.com/wiki/index.php/LJ12A3

In domoticz kun je hiervoor een dummy device van het type ‘Counter incremental’ toevoegen. De offset bij dit device stel je in op je huidige stand van je watermeter, zodat je tellerstanden (ongeveer) overeenkomen.

Elke keer als je rotor nu ronddraait (doorgaans 1 rotatie per liter) zal het ledje op de sensor oplichten en telt ESPEasy een puls. Deze wordt vervolgens doorgestuurd naar domoticz, en je kunt op termijn zien hoeveel water je op welke momenten van de dag gebruikt:

domoticz-watermeter

[Henri is developer bij Infi en lees zijn oude blog over slimme meters hier]

Wil je op de hoogte blijven van updates over hippe tech, een kijkje achter de schermen, of upcoming events? Schrijf je in voor onze nieuwsbrief!

Wil je iets waarmaken met Infi?

Wil jij een eigen webapplicatie of mobiele app waarmee jij het bij anderen maakt?

Waargemaakt door de nerds van Infi.
Nerds met liefde voor softwareontwikkeling en die kunnen communiceren. En heel belangrijk: wat we doen, doen we met veel lol!

Wij willen het fixen. Laat jij van je horen?