Steeds meer huizen hebben een slimme meter. Ons huis ook al een tijdje. De laatste tijd ben ik met Domoticz aan het experimenteren. Dit is een open-source Domotica systeem. Naast apparaten slim schakelen, kan je er ook sensoren mee uitlezen. Denk hierbij aan temperatuur, luchtvochtigheid, lichtsterkte (LUX), luchtdruk, PIR, etc.
Veel moderne slimme meters hebben een P1 poort, waarmee realtime het opgenomen vermogen, de netspanning en het verbruik kan worden gemeten. Ook de van de gekoppelde gasmeter kan het verbruik worden uitgelezen. Dat gaat met een vertraging van enkele minuten (vanwege de draadloze koppeling tussen deze twee meters).
Deze P1 poort kan worden uitgelezen met een RJ11 stekker, welke gekoppeld is aan een elektronische schakeling. Deze schakeling inverteert het datasignaaltje en versterkt het tot de spanning die je microcontroller of computer nodig heeft op zijn seriële poort. Sommige schakelingen zetten het nog met een UART om naar een RS232 protocol. Een veelgebruikte schakeling is een USB dongle (zoals deze bijvoorbeeld). Deze dongle kan direct gekoppeld worden aan een Raspberry Pi of een computer. Met de ingebouwde FTDI chip wordt een compoort gesimuleerd. Gebruik je echter een microcontroller zoals de Arduino of ESP8266, dan is de RS232 omzetting niet nodig. In dat geval hoef je alleen te inverteren en te levelen naar 3.3V of 5V (wat je controller maar nodig heeft).
Mijn Domoticz installatie draait op een normale PC met Ubuntu server besturingssysteem. Daar had ik prima de dongle voor kunnen gebruiken, maar ik had een ander plan. Ik wilde namelijk nog een paar extra sensoren plaatsen in de meterkast, zoals een deurbelsensor, een deursensor (of de voordeur open staat) en wie weet wat nog meer. En ook een schakelaar voor de buitenlamp lijkt me wel handig. Een waterverbruik sensor was ook leuk geweest, maar ik twijfel of mijn watermeter geschikt is om uit te lezen.
Ik werk ook graag met de ESP Easy firmware, wat een ESP8266 controller op een NodeMCU/Wemos PCB in een handomdraai omzet naar een Wifi gestuurde multisensor schakelplatform met webserver. Of dat de juiste benamingen zijn, mag je zelf uitmaken, maar het is in elk geval indrukwekkend wat het ontwikkelteam haalt uit deze kleine snelle controllers. Een van de functionaliteiten is de mogelijkheid om het P1 signaal uit de slimme meter via Wifi en een soort Telnet sessie te sturen naar je domotica controller. Dit wordt dan een P1 Wifi gateway genoemd.
Het enige wat je dan nodig hebt, is een kleine schakeling voor het inverteren en levelen, een RJ11 of RJ12 stekker met draad en een NodeMCU/Wemos met ESP8266. Deze NodeMCU/Wemos kan met de ESP Easy firmware nog 11 andere dingen tegelijkertijd uitlezen of schakelen, dus ook mijn andere sensoren kunnen op deze PCB worden aangesloten.
Voor het inverteren levelen heb ik een handig en simpel schakelingetje gevonden op deze site: link.
Zo heb ik het aangesloten op een Wemos D1:
Let op: in het schema staat foutief RJ11, want de AM550 meter heeft eigenlijk een RJ12 (6 pens) stekker. RJ11 (4 pens) kun je gewoon gebruiken: Voor RJ11 worden alleen de binnenste vier gebruikt (pin 2 t/m 5). Bedankt aan Traveller_NL die daarop attendeerde in de comment sectie.
Om te testen of het werkte, heb ik op een laptop eerst een Putty Telnet sessie gestart, welke verbonden werd met mijn in ESP Easy geconfigureerde IP adres van de Wemos op het netwerk en poort 8088. Eerst zag ik niks, terwijl mijn verbinding wel werd geaccepteerd. Toen bleken de seriële instellingen van mijn P1 signaal wat anders te zijn voor mijn specifieke model slimme meter (Iskra AM550). Zo moet het zijn voor deze meter:
En toen zag ik ineens de datablokken binnenkomen! Zelfs met een webbrowser naar dit IP adres en poortnummer laten verwijzen werkt, al update de informatie dan niet meer na het eerste blok.
Daarna heb ik in Domoticz hardware aangemaakt:
Onder Devices kwamen ineens ook alle losse gegevens die mijn Iskra meter afzonderlijk stuurt: Netspanning, opgenomen vermogen, verbruikte vermogen (dal/nacht afzonderlijk), terug geleverde vermogen, gasverbruik. Een driefasenmeter zou het vermogen en spanning per fase aanduiden. Ik heb echter een normale enkelfase meter. In Domoticz kun je zelf kiezen welke gegevens je wil activeren en tonen in je systeem (groene pijltje bij devices).
De geactiveerde devices zijn terug te vinden in de tab Utility. Daar kun je ze als favoriet markeren om ze op het Dashboard te plaatsen.
Welke capacitor heb je gebruikt? ik ben niet bekend met de waardes van capacitor en ik kom er niet uit door te googlen op 1nf. kan je een modelnummer aangeven?
Ik neem aan dat je de condensator rechts van de 1k weerstand bedoelt. Dit is een 10nF condensator (vandaar de afgekorte term “10n” in het schema). Het type maakt niet zoveel uit, maar keramisch is prima.
Hey. ik heb de onderdelen besteld en op een breadbord aan elkaar gesloten.
Ik heb een nodemcu gebruikt ipv een wemos. en de data lijn op de RX pin aangesloten.
als ik met putty een telnet doe op 8088 zie ik in de log van espeasy ‘ P1 : Client connected!’ dus die verbinding gaat wel open. alleen krijg ik geen data binnen.
ik heb ook een AM550 meter. dus de seriele settings zouden goed moeten zijn.
Moet je nog iets op de meter aanzetten? welke kant op hou je de Rj-11 connector wanneer je de pinnen 1-6 nummert?
Hoi Stephan,
Kun je eens met een oscilloscoop meten of je datapulsjes ziet op de RX pin? Indien je geen oscilloscoop hebt, is het wat lastiger te controleren of je schakeling correct werkt. Misschien dat je iemand dan kent met een oscilloscoop, of kun je één lenen?
Op de meter hoef je niks aan te zetten.
Pin nummers: Als je naar je meter P1 uitgang kijkt (dus met de achterkant van de RJ11 stekker naar je toe en het klemmetje omhoog), dan zit pin 1 aan de rechter zijde.
Let op: RJ11 heeft 4 lijnen. In het bovenstaande schema bestaan lijn 1 en 6 eigenlijk helemaal niet.
Dus:
1: RTS / 5Vdc
2: Gnd
3: NC
4: TXD ( Data uitgang van de meter)
Het was inderdaad mogelijk niet goed duidelijk dat de AM550 meter een RJ12 (6 pens) stekker heeft, waar ook wel een RJ11 (4 pens) stekker in werkt. Het schema geeft de pennen van de AM550 aan en er staat foutief RJ11 bij (terwijl het er wel degelijk 6 zijn). Alleen worden die toch niet gebruikt, dus werkt RJ11 ook. Bedankt voor de attendering om het te verduidelijken. Ik heb het toegevoegd in mijn tekst en zal later het schema aanpassen.
Aha! Ik heb hier ook nog eens goed gekeken naar mijn Landis+Gyr E360 meter en die heeft ook inderdaad 6 lijnen, maar de RJ11 past daar uitstekend in. Nog even spannend of het wel goed contact maakt, want ik heb nog geen data. Helaas geen scope om dit te controleren, maar ik heb nog wel ergens een Velleman FTDI breakout printje. Die heeft 5V en 3.3V logic (omschakelbaar) en een USB aansluiting.
Dit is net zoiets als het lezen van handleidingen. Eerst bouwen, en dan pas kijken of er überhaupt wel signaal is. Haha.
Ook ik ben een verwoed esp en domoticz knutselaar en heb de schakeling nagebouwd. Helaas nog geen data ontvangst. Hoe stel/kies je de poort voor/van de esp/domoticz in? Mag je hier gewoon een willekeurig vrij poort nummer nemen? Espeasy vraagt om een user en wachtwoord inlog. Wordt deze indien vanuit domoticz overgeslagen of moet je die nog ergens ingeven?
In tegenstelling tot andere devices, pusht ESP easy met de P1 gateway niet zelfstandig naar Domoticz. Dus hoeft hij ook niet de controller te gebruiken en is er geen login nodig.
In plaats daarvan is ESP Easy op een poort gewoon tekst aan het uitspuwen (ik heb in mijn artikel poort 8088 ingesteld zoals je hierboven kan zien). Eerst kun je het beste even testen met Putty in een Telnet sessie. Voer in Putty het ESP easy IP adres en poort in en kies mode Telnet. Zonder in te hoeven loggen moet je nu de tekstblokken zien rollen. Zo niet, dan komt er geen leesbare seriële data binnen in de ESP. Dat had ik eerst ook en het kan ook zijn dat je seriële instellingen nog niet overeen komen met je smart meter.
Mocht je in Putty wel output zien, dan kun je vervolgens in Domoticz de P1 Smart Meter with LAN interface toevoegen onder Setup/Hardware. Ook daar is alleen maar het IP adres en poortnummer van ESP Easy belangrijk (bij mij dus in de bovenstaande foto 192.168.0.127 en poort 8088).
Gelukt! Bedankt voor je antwoord, dat was net het zetje dat ik nodig had om verder te komen.
Verklaart dit ook waarom ik een rood kruis bij de Domotcz HTTP controller heb?
Wanneer ik in Domoticz naar het log kijk zie ik wel dat er verbinding met de ESP8266 wordt gemaakt. Maar nog geen data.
Ik gebruik plugin _P044_P1WifiGateway uit het ESPeasy Mega framework, maar soms wordt er op het web verwezen naar plugin _P110_P1WifiGateway in ESPEasyPluginPlayground. Iemand die het verschil weet?
In mijn zoektocht naar informatie heb ik nog een uitgebreide handleiding (Nederlands) gevonden:
http://www.esp8266thingies.nl/wp/wp-content/uploads/2017/01/P1wifi_handleiding.pdf
Alle beetjes info helpen denk ik dan maar…
Echter even opletten, in die handleiding worden bij het naamgeven spaties en illegale tekens als een koppelstreepje gebruikt. Ik geloof dat het Domoticz was die daar over begon te protesteren. Een underscore mocht dan weer wel.
73, PA/KX4UI
Nog een tip van mij terug voor het uitlezen van je watermeter. Een inductief opnemertje boven het draaischijfje werkt bij mij prima. Optisch omwentelingen tellen is te storingsgevoelig heb ik ondervonden. Wel een 8mm opnemertje nemen, een 4mm werkte bij mij niet.
Via ESP8266 pulsjes tellen en in liters omzetten. Werkt prima.
Om opnemertje netjes op de meter te krijgen: rond levensmiddelen bakje als “hoedje” op de meter met een gat voor de opnemer.
Klepje van de watermeter kan er voorzichtig af zonder kapot te maken.
Suc6. Thomas.
Dank je Thomas, dat ga ik nog eens proberen! Hopelijk is op deze manier bij mijn meter wel iets van pulsjes te tellen, gezien er geen enkel zichtbaar draaischijfje zichtbaar is. Ga ik eens proberen!
Ben nu erg benieuwd wat voor “exotische” watermeter je wel niet hebt ;-)
Wettelijk moet er volgens mij altijd een verbruiks signalering/aanwijzing opzitten.
Mijn Smart kwh meter bijvoorbeeld heeft een “flits led” met 1000 flitsen per kwh.
Máár wellicht kun je de info van deze link gebruiken om je watermeter “gewoon” OCR uit te lezen. (erg knap overigens vind ik). Grtz. Thomas.
https://blog.jokielowie.com/en/2020/01/raspberry-pi-zero-aktualizujemy-otwieranie-bramy-o-nowy-sprzet-oraz-rozponawanie-wskazan-licznika-ocr/?cn-reloaded=1
Ja, het is inderdaad een bijzonder kale watermeter met alleen een telwerk, zonder radertjes, laat staan iets elektronisch. De meter is van 1986. Het maakt dus geen onderdeel uit van mijn smartmeters voor gas/elektra.
Ik ga me eens verdiepen in dat OCR project, maar eerst ga ik eens kijken of ik op de bovenkap iets van pulsjes kan meten met de inductieve opnemer. Bedankt voor de tips :)
Een watermeter uit 1986 is bijna 35 jaar oud!
Die is denk ik beslist niet meer “calibreer waardig”.
Als je het waterleiding bedrijf mailt krijg je volgens mij zo een nieuwe.
(die w.s.s ook veel gemakkelijker te voorzien is van een opnemertje).
Suc6 ;-)
Goede tip! Thanks!
Ik heb problemen met het uitlezen van het telegram. Ik gebruik als configuratie een Wemos D1 R2 plus een BS170 (datalijn op RX)
In een andere sketch gebruik ik “espsoftserial” en deze heeft een chip frequency van 160 nodig om 115200 baud goed te kunnen verwerken. Nu weet ik niet welke softserial gebruikt wordt in ESPeasy maar ik zie in ESPeasy dat de Chip frequency van de Wemos 80 MHz is. Kan dit mijn probleem zijn?
Hallo Wouter, helaas moet ik je het antwoord schuldig blijven. Verder dan het bovenstaand verhaal ben ik niet gegaan. Hopelijk heeft iemand anders nog een antwoord op je vraag. Voor de duidelijkheid toch even een vraag: bedoelde je ipv Telegram misschien Telnet? Daar ging ik even van uit.
Ik heb een ISKRA AM 550 met SMR 5.0. Dit is een 3 fase meter die in 2018 is geplaatst door de netbeheerder.
Ik heb EASYESP Mega gebruikt op de NodeMCU.
Eerst kreeg ik met putty geen data binnen, na een kleine aanpassing aan bovenstaande schakeling werkt het prima. Ik heb de pull of weerstand op de TX uitgang van de meter verlaagd naar 2k2.
Kennelijk heeft de transistor van de optocoupler in deze meter een lagere weerstandswaarde nodig.
In de output is de belasting van alle 3 de fases apart te zien
Ik heb Domoticz middels een ‘slimme meter kabel’ rechtstreeks aan een Kaifa slimme meter gekoppeld. Werkt super, per fase het actuele verbruik en de actuele teruglevering (vermogen), een actueel totaalvermogen, dagtellers en totaaltellers.
Echter, ik kan de waarden voor de netspanning en -stroom niet vinden. Weet iemand hier een oplossing voor?
Goedenmiddag,
ik ben ook voornemens om een p1 reader te maken met ESP om die te koppelen aan mijn Homeassistant.
Ik heb alle onderdelen liggen maar ik dacht ik zal eerst eens kijken of ik een rj11 kabel heb liggen. Goed nieuws die heb ik gevonden maar na dat ik die ingeplugt zie ik weinig leven op de kabel. Kan het kloppen dat ik met mijn multimeter helemaal geen 5v kan meten op 1 van de 4 pins?
Het klopt geloof ik inderdaad dat er geen 5V meetbaar is. De outputs zijn enkel maar schakelende uitgangen, die in het voorbeeldschema hierboven een pullup weerstand omlaag schakelen.
Succes!
Hallo Tjalling,
Ik sta hier helemaal fris in,het printje gemaakt.
Maar waar vind ik nu hoe ik de RX poort moet instellen op de wemos?
Is hier een software packet voor?
Rudy
Dag Rudy,
Ik gebruik ESP Easy als firmware op de Wemos zoals beschreven in mijn artikel. Je moet vervolgens de ruwe data uit ESP Easy nog ergens mee uitlezen (testen kan al met Putty). Ik gebruik daar Domoticz voor, maar er zijn meer variaties. Het is handig om een dergelijke service te hebben die alle data analyseert.
Hoe je dit allemaal moet instellen kan ik niet in dit reactieformulier beschrijven. Daar heb ik de handleidingen voor geraadpleegd van de beide pakketten.
Ik ben inmiddels ook begonnen dit na te bootsen. Maar krijg het niet voor elkaar.
Ik heb als Ip-adres in ESP Easy 192.168.178.125 gezet. Met poort 8088.
(de Wemos D1 heeft zelf 192.168.178.123 gekregen)
Maar Putty wil hier niet naar connecten. Dat adres bestaat niet en krijg een time-out error. Hoe werkt dit nu? Fungeert de D1 Wemos als server? Moet die niet worden gestart?
Ook als ik http://192.168.178.125:8088 in de browser tik krijg ik de melding dat dat adres niet bestaat. Wat gaat er nu fout?
Dag Frans, het is even geleden dat ik hier mee bezig ben geweest. Ik moest echt weer even in de config duiken om het één en ander weer op te rakelen. Maar er zijn nu wel wat vragen ontstaan die je mogelijk verder helpen: hoe kom je aan twee IP adressen? Bij mij is alles op één IP adres, alleen de telnetsessie opent op een andere poort (8088). Heb je al eens geprobeerd te verbinden met 192.168.178.123:8088?
En ter verificatie: klopt het dat je onder devices een “Communication – P1 Wifi Gateway” aan hebt gemaakt?