Als je zonnepanelen hebt wil je natuurlijk weten wat ze opwekken. Je kunt de slimme meter monitoren met een P1 kabel, maar de slimme meter saldeert. Je weet dus niet wat de panelen echt opwekken. Gelukkig kun je dat alsnog monitoren met een tussenmeter in je meterkast. Als je een tussenmeter met S0 uitgang hebt, kun je de pulsen tellen en doorgeven aan je domotica systeem.

De tussenmeter die ik gebruik is een Eltako WSZ12D-32A. Deze meter laat het huidige verbruik (lees opwek) (P), Stroom (I) en Spanning (U) zien. Dat is erg handig, omdat je dan op de meter zelf altijd realtime je opbrengst kunt zien. Nog beter is als je het ook in je Domotica systeem kunt inzien!

Wat gaan we maken?

Advertenties

Mijn gebruikte tussenmeter heeft een potentiaalvrij S0 contact. Dat betekent dat je voltages tussen de 5V en 30V op het contact kunt aansluiten. Normaal is het contact open, als er een puls afgegeven wordt, sluit het contact heel even. Sluit je draden aan op die S0 poort, en aan de andere kant een Arduino of ESP8266, dan kun je de puls doorgeven aan je domotica systeem. Ik gebruik hiervoor een Wemos D1 mini met een aangepaste versie van ESPeasy en Domoticz op een Synology NAS.

Technische gegevens Eltako WSZ12D-32A
Technische gegevens Eltako WSZ12D-32A

S0 tussenmeter kabel maken

De S0 kabel maken is heel erg simpel! Je hebt alleen voldoende lengte kabel nodig, een ESP8266 met ESPeasy en een 10KΩ weerstandje.

S0 tussenmeter kabel aansluiten op Domoticz en ESP8266
S0 tussenmeter kabel aansluiten op Domoticz en ESP8266

De rode en groene draad in het schema sluit je aan op de klemmen van de tussenmeter. Aan de groene draad soldeer je een weerstand. De kant zonder draad steek je in de GND poort, de andere kant met het weerstandje en draad steek je in een Digital In poort (D1, D2 enz). De rode draad uit het S0 contact sluit je direct aan op de 5V poort van je Wemos D1 mini.

Werking van S0 kabel

Normaliter is het S0 contact open. De “digital in” pin is verbonden met de GND via een weerstand. Als een pin verbonden is met de GND heeft hij de status LOW. Zodra het contact sluit gaat er een stroompje lopen van de 5v naar de “digital in” en krijgt dan de status HIGH. Het contact gaat direct (na de debounce tijd, 30ms) weer open

Advertenties

Het aantal keren dat de pin HIGH is (puls) kun je tellen. Vaak geeft de meter 1 puls per Wh. Dus 1000 per kilowattuur. Sommige meters hebben een ander aantal impulsen per kWh, straks bij het instellen is dat belangrijk. Mijn tussenmeter geeft 2000 pulsen per kWh af.

S0 kabel voor een potentiaalvrij contact
S0 kabel voor een potentiaalvrij contact

Installeren van ESPeasy

Om de pulsen te tellen en door te sturen naar Domoticz maak ik gebruik van ESPeasy. Standaard heeft ESPeasy alleen een pulse counter. Ik ben erachter gekomen (zie commentaren onderaan het artikel) dat die niet helemaal juist werkt. Daarom heb ik een extra plugin geinstalleerd vanaf de PluginPlayground. Je kunt mijn blogpost volgen over het compileren en flashen van de aangepaste versie van ESPeasy. In het gelinkte voorbeeld gebruik je dan niet de extra plugin voor de RGB ledstrip maar de P112 Power plugin. Voor de rest verloopt het proces hetzelfde.

Maak je gebruik van een Wemos D1 mini? Dan heb je geluk! Ik heb een bin bestand voor je klaar staan:

Tip

Het flashen van het bin bestand lijkt ook te werken voor andere op ESP8266 4MB gebaseerde modules te werken. Je kunt het proberen, maar wel op eigen risico.

backup-WemosD1mini-4096-ESPeasy-Power-factoryreset

Flash het bovenstaande bestand met onderstaande tool op de Wemos D1 mini. Zet beide bestanden in dezelfde map.

Flashtool ESP8266

Zonnepanelen instellen Domoticz

Om de gegevens te ontvangen van de tussenmeter en de ESP moeten we een device aanmaken in Domoticz. Dit kan gewoon een dummy zijn. Heb je die nog niet, maak die dan eerst aan. Ik heb mijn Dummy ESP8266 genoemd. Maak een Dummy Device aan op het tabblad “Hardware”.

Dummy device ESP8266
Dummy device ESP8266

Vervolgens klik je op “Maak virtuele sensoren”. Kies voor Type “Elektra (Actueel + Teller)” en geef het een naam. Bijvoorbeeld Zonnepanelen.

Zonnepanelen Actueel + Teller
Zonnepanelen Actueel + Teller

Klik op OK en ga naar Instellingen -> Apparaten. Sorteer op de IDX kolom. De Zonnepanelen staat nu bovenaan. Schrijf het IDX op of onthoud het.

Instellen ESPeasy

Als de installatie van ESPeasy gelukt is, kunnen we ‘m instellen zodat hij de opwek en het actuele wattage doorgeeft aan Domoticz.

  • Zorg dat de configuratie naar wens is op de tabbladen Config en Controllers.
  • Ga naar het tabblad Devices

Devices toevoegen aan ESPeasy
Devices toevoegen aan ESPeasy
  • Klik in regel 1 op Edit
  • Kies als Device “Power Counter”
  • Geef het een naam bijvoorbeeld “Zonnepanelen”
Configuratie instellingen ESPeasy voor het tellen van pulsen en monitoren van het actuele opwek of verbruik
  • Zet een vinkje bij “Enabled”
  • Geef bij 1st GPIO de pin aan waarop je de S0 kabel aangesloten hebt.
  • Vul bij pulses per kWh het aantal pulsen in per kWh.
  • Geef bij Send to controller de IDX van je “Zonnepaneel” device in Domoticz aan.
  • Delay geeft aan hoe vaak de data naar domoticz gestuurd moet worden.

Steeds als er een puls afgegeven wordt door de meter, telt ESPeasy dit op, doet een berekening met tijd en pulsen/kWh. Het actuele verbruik/opwek zou moeten overeenkomen met wat je in het schermpje van je tussenmeter kunt aflezen. Alleen zo kun je je cijfers vertrouwen!

Zodra de zon gaat schijnen zullen de pulsen je systeem binnenkomen. Check voor de zekerheid een aantal dagen of de meters gelijk lopen! Mochten er afwijkingen inzitten check dan of de C waarde juist is. Dit is het aantal pulsen per kWh.

De volgende stap is het uploaden van je gegevens naar PVoutput om te kunnen vergelijken met anderen en andere analyses te doen. Hierover later meer.

Advertenties

Doe mee met de conversatie

21 reacties

  1. Hi Wouter,

    Ik heb jouw opstelling gemaakt, want ik dacht het ik deze ook wel kon gebruiken om het actuele en cumulatieve oplaad-verbruik van mijn hybride auto te meten via een kWh meter, maar ik kom er niet helemaal uit. Deze kWh meter zat eerst op de Energylink van mijn HomeWizard. maar die wil ik er eigenlijk uit hebben, vandaar deze oplossing.

    Hij meet wel iets als ik mode type verander, maar niet iets waar ol het actule verbruik kan aflezen.

    Kan jij mij verder helpen, want volgens mij zit ik er wel dicht bij.

    Groeten,

    Martijn

    1. Hoi Martijn,

      Dat is zeker interessant om het laadverbruik van je elektrische auto inzichtelijk te hebben! Je kunt daar inderdaad prima een tussenmeter met S0 puls uitgang voor gebruiken.

      Als je het schakelingetje goed aangesloten hebt en ESPeasy juist geïnstalleerd en geconfigureerd hebt, zul je het in Domoticz moeten zoeken.
      Je triggert mij doordat je schrijft over het mode type wijzigen. Welke opties heb je? Ik vermoed dat je uit de opties Computed en From Device kunt kiezen? Zo ja, dan heb je het verkeerde soort dummy aangemaakt, namelijk “Elektra (Actueel + Teller)”. Je moet er een hebben van het type “Counter Incremental” (Teller (Incrementele) in het Nederlands).

      Als je data naar de Actueel + Teller dummy verstuurt, verwacht Domoticz dat je het actuele verbruik + een puls doorstuurt. Dus Watt en Wattuur. Dat doe je niet, omdat je alleen pulsen doorstuurt (Wattuur). Daarom gebruik ik de incrementele teller, die verwacht alleen pulsen.

      Teller Incrementele Dummy

      Actueel + Teller dummy

      Als je een nieuwe dummy aanmaakt vergeet dan niet ook de instellingen van het IDX te wijzigen in ESPeasy.

      Mocht je toch de dummy goed gedaan hebben moet het iets anders zijn.

      Check dan even of je in je log (Tools -> Log) van ESPeasy af en toe pulsen binnen ziet komen. Zoals in onderstaand plaatje:
      Log ESPeasy

      Als dat gebeurt zit het toch in Domoticz.

      Succes! Mocht je er niet uitkomen, laat het weten!

      Wouter

    2. Beste Martijn,

      Afgelopen week heb ik even de instellingen uit mijn artikel overgenomen en gebruikt in mijn eigen opstelling. Het werkt inderdaad niet!
      Ik ben er achtergekomen dat ik blijkbaar toch een en ander anders geconfigureerd had. Ik heb het artikel hierop aangepast.

      Als je de blogpost nu volgt komen de pulsen binnen op je Incrementele teller. Ik ga me verder verdiepen in de materie om er ook actueel verbruik (of opbrengst in mijn geval) uit te kunnen halen.

      Groet,

      Wouter

  2. Hi Wouter.

    Ik ben inmiddels al een stapje verder met de instellingen om het verbruik van mijn auto te meten. Ik zal die binnenkort even delen, want deze lijken netjes de waarden te matchen van mijn EnergyLink.

    Ik ga zeker ook nog even naar jouw aangepaste blogpost kijken. Dank je wel!

    Groeten,

    Martijn

  3. Hi Wouter,

    Ik heb de volgende instellingen in ESPEasy staan:

    http://oi66.tinypic.com/2l87yj5.jpg

    Vooral de formula deed de truck logischerwijs.

    In Domoticz gebruik ik een Usage (Electric) virtual sensor.

    http://oi66.tinypic.com/feoqx1.jpg

    En dat resulteert in de volgende grafiek over een paar dagen
    (de rare curve op 25 april heeft niet met de S0 hard/software te maken, maar met mijn Domoticz die eens per 24 uur opeens stopt om de graf ieken te maken, terwijl de rest qua binnenkomende waarden en scripts gewoon blijven werken)

    http://oi63.tinypic.com/iwu64j.jpg

    1. Hoi Martijn,

      Bedankt voor je reactie, leuk! zo komen we steeds verder!

      Ik heb je instellingen ook in een test toegevoegd, als er morgen een beetje zon schijnt hoop ik ook een mooie grafiek te krijgen.

      Bij de formula in ESPeasy heb je %VALUE%*3600/20 staan. %VALUE% zal altijd 1 zijn (want 1 puls?) maal 3600 seconden denk ik, en waarom dan delen door 20? Hoe kom je aan die waarde? (2x de delay?) Zo ook bij de total formula, waarom delen door 2000?

      Graag hoor ik je antwoord!

      Groet Wouter

  4. Hi Wouter,

    Ik moet heel eerlijk zeggen dat ik de eerste berekening ergens gegapt heb. Die kwam niet helemaal overeen met welke waarde ik zou moeten zien (gelukkig is het verbruik tijdens het opladen nagenoeg constant), dus ik heb er naartoe gerekend. (Replicate the result ;-)) Die 2000 te maken met het aantal pulsen per KWh. Bij mijn meter is dat 2000.

    1. Ha Martijn,

      Inmiddels is het mij ook gelukt om de actueel + teller aan de gang te krijgen. Het viel mij op dat er iedere dag weer een andere afwijking in mijn meterstand van Domoticz zat. De metingen van het afgelopen jaar zijn dus waarschijnlijk allemaal foutief. Ik heb het nu aan de praat door een aangepaste versie van ESPeasy met de Power plugin te flashen. Ik heb het artikel hierop aangepast. Nu lopen de meterstanden exact gelijk!

      Bedankt voor je feedback!

      Wouter

  5. Op basis van deze gegevens ben ik ook bezig geweest om de koppeling met Domoticz te realiseren. Dit heb ik gedaan op basis van een Wemos D1 mini pro en een kWh meter met S0 (2000 pulsen , 30msec) en de hier boven beschreven werkwijze.

    De koppeling is gelukt en de ESPeasy genereert gegevens. Er zitten alleen een aantal dingen niet helemaal goed:
    – De pulsen worden geregistreerd, maar er zitten kleine verschillen in de waardes op mijn omvormer en ESPeasy. Dit kan mogelijk komen door ander meetmomenten, maar ook als ik Domoticz zelf de pulsen laat optellen voor de dagwaarde zit er een verschil in (tot 1 kWh).
    – De totaalwaarde komt totaal niet overeen. Het lijkt wel of hij elke puls dubbel meeneemt. Ik moet de waarde in ESPeasy delen door 2 en dan komt het in de buurt (afwijking van ,1-,3 kWh)

    1. Hoi Thomas,

      Leuk dat je reageert.
      Om eerlijk te zijn, in mijn opstelling heb ik na een aantal dagen ook een afwijking ontdekt. Het is steeds 0.3 tot 0.7kWh, naar mijn weten in ieder geval nooit meer dan een kWh. Het zal inderdaad in afronding, tellen per sec vs milisec en het meetmoment zitten. Wat mij betreft is het goed genoeg.

      Dat domoticz iedere puls dubbel telt is wel te verklaren denk ik. Domoticz ziet iedere puls aan voor een Wh. Jouw tussenmeter geeft per 0.5Wh een puls af (2000p/kWh). Dus ontvang je er twee keer zoveel, en dan is je afwijking ineens niet meer zo gek. Je kunt met behulp van de formulas in ESPeasy het aantal pulsen door 2 delen.

      Groet Wouter

  6. hier ook geprobeerd om dit te realiseren. Ik loop echter tegen een probleem aan met de P112 plugin. Met alle laatste versies van arduino ide, espeasy en de p112 plugin krijg ik onderstaande in espeasy, als ik die plugin wil toevoegen

    : Bug in PLUGIN_WEBFORM_LOAD, should not append to string, use addHtml() instead

    Ga ik terug naar de versies die jij gebruikt heb, dan vind ik de p112 plugin nergens terug

    1. Hoi Sander,

      Die melding zegt mij helaas niet zoveel. Misschien dat er het een en ander in de laatste versies niet meer compatible met elkaar is? De plugin is sinds 2 jaar niet meer bijgewerkt zie ik.

      Als je de oudere versie gebruikt, weet je dan zeker dat je het plugin bestand in de goede map geplaatst hebt?
      Heb je ook ESPEasy-Globals.h aangepast? Zie tutorial aangepaste versie espeasy flashen

      Succes

      Wouter

  7. Hoeveel S0 contacten kan je eigenlijk aansluiten op een Wemos D1 mini pro? Ik wil naast mijn zonnepanelen namelijk ook met E-meter (3 fase) per fase gaan liggen. Dan heb ik tenminste een volledig overzicht in mijn verbruik en teruglevering.

    1. Hoi Thomas,

      Je kunt op bijna iedere GPIO een S0 contact aansluiten. Iedere GPIO (D-pin) is namelijk te configureren als een in- of output. Sommige poorten hebben een extra functie zoals SCL en SDA voor I2C functies en de ingebouwde led zit ook op een GPIO. Gebruik je die niet, dan kun je die gewoon als S0 input gebruiken. Om een beeld te krijgen kun je in ESPeasy kijken welke pins je nog kunt kiezen en een functie kunt geven. Als je de Buildin_led gebruikt schakelt ESPeasy de optie om een functie toe te wijzen aan D4 automatisch uit.

      Succes!

      Wouter

  8. Hi Wouter, Als eerste wil ik je bedanken voor je werk en tijd! Ik heb met je handleiding en je firmware een wemos d1 mini ingezet om mijn EV laadpaal te meten. Dat gaat perfect. vang de gegevens op in domoticz en stuur ze naar influxdb om in grafana grafieken te maken.

    Nu wil ik een 2de wemos d1 mini gaan inzetten om mijn watermeter (een Elster v100 voorzien van een reed T probe) te gaan uitlezen. Dit deed ik succesvol in mijn Energylink, maar daar ben ik vanaf gestapt en wil nu volledig over op domoticz. De Reed gauge probe geeft per 0.5 liter water een puls af, dus ik dacht, gebruik dezelfde principe en dan geef ik als C waarde 1 of 0.5 aan, 0.5 kan sowieso niet maar ook 1 werkt niet, weet eigenlijk niet of het überhaupt zal werken. Omdat het in de Energylink wel werkte en het gewoon pulsen afgeeft had ik verwacht dat het wel zou werken, maar krijg hele waar waardes als 56989 etc.

    Anyway, het dat om deze probe:
    https://www.johnsonvalves.co.uk/Data/T110-Pulse-Unit.pdf

    Mijn kennis schiet te kort om dit verder te beoordelen, maar ik hoop dat jij er even naar wilt kijken. Mocht je denken dat het gaat werken wil ik met een beetje hulp van jouw kant het wel verder testen gezien ik zo een probe in mijn meter heb.

    Ik hoor het graag!

    Groet

    Fernando.

    1. Beste Fernando,

      Bedankt voor je complimenten, altijd leuk om dat te horen van mijn lezers, daar doe ik het immers voor!

      Ik heb even naar je vraagstuk gekeken en ik denk dat het wel mogelijk is om de data goed naar domoticz te krijgen. Zo te zien is je probe inderdaad een S0 kabel voor je watermeter, ik denk dat je ‘m op je energylink op de S1 of S2 poort aangesloten had?

      Het is mij niet helemaal duidelijk wat je geprobeerd hebt. Heb je misschien de probe hetzelfde configureerd als de kWh meter, dus in ESPeasy als Power Counter device? In dat geval snap ik dat het niet helemaal lekker werkt. Die Power counter plugin rekent namelijk de tijd tussen de pulsen uit om een huidige opbrengst in Watt aan domoticz door te geven. Dat is wat je met water niet wilt.

      Toevallig ben ik een tijdje terug al begonnen aan het toevoegen van mijn watermeter aan domoticz. (Spoiler: artikel is in de maak!) Ik heb een watermeter met een draaischijfje dus dat is net weer anders, maar voor het pulsen tellen blijft het hetzelfde. Bij mij werkt het volgende al een tijdje naar volle tevredenheid:

      1. Voeg in ESPeasy een “Generic – Pulse counter” device toe.
      2. Geef de juiste GPIO pin aan
      3. Geef een debounce time aan, bij mij staat ie op 50ms
      4. Stel de Counter type in op Delta/Total/Time
      5. Mode Type is RISING
      6. Maak in domoticz een nieuwe dummy aan van het type Counter Incremental.
      7. Onder ‘overig’ vind je nu je teller terug. Klik op aanpassen en kies voor ‘Water’
      8. Geef in ESPeasy het juiste IDX in van je zojuist gemaakte counter.
      9. Aangezien van jouw probe een puls een halve liter is, type je bij formula van Count: %VALUE%/2
      10. Zet de kraan aan en zie wat er gebeurd!

      Ik ben erg benieuwd of het werkt!! Laat het me weten!

      Groetjes Wouter

  9. Hi Wouter,
    Ja op de Energylink had ik hem op de S2 poort, de setup zoals je aangeeft had ik inderdaad al geprobeerd. Die geeft constant 0.00,0.00,0.00 aan als waarde. Ook als ik de kraan lang laat lopen.

    Kan het zijn dat ik op de hardwarepage van espeasy nog iets moet instellen?

    Dit is wat in de log voorbij komt:

    41350 : Domoticz: Sensortype: 6 idx: 888 values: 0.00;0.00;0.00
    51354 : Domoticz: Sensortype: 6 idx: 888 values: 0.00;0.00;0.00
    61299 : WD : Uptime 1 ConnectFailures 0 FreeMem 18464
    61420 : Domoticz: Sensortype: 6 idx: 888 values: 0.00;0.00;0.00
    71420 : Domoticz: Sensortype: 6 idx: 888 values: 0.00;0.00;0.00

    Laat maar weten of je nog andere tips hebt en als ik iets kan testen.

    Groet,

    Fernando.

  10. Hi Wouter, Ik heb het werkend!

    Probleem was een slechte soldeer punt.
    Na de soldeer punten nagelopen te hebben en dan weer een poging bleek het te werken.

    Ik heb wel gelijk weer 2 vragen,

    Je krijgt nu 3 waardes in ESPEASY, maar in Domoticz met de counter incremental device heb je maar een meting, welke pakt Domoticz dan? En kunnen de andere nergens voor gebruikt worden?

    2de vraag is als volgt, als ik op Wemos D1 mini zowel de s0 als de water meter wil meten, kan ik dan bv. de water sonde een draad op 5v en een op de GPIO4 (D2) en dan van de S0 een op de 5v en een op de GPIO5(D1) en dan 2 devices in ESP Easy aanmaken? En dan uiteraard met de 10K weerstand ertussen zoals in jouw voorbeeld?

    Mijn angst is dat het met de 5V gedeelte niet goed gaat als ik daar 2 draden (een van de watermeter en een van de S0) op aansluit.

    Kan dat geen kwaad voor de Wemos en ook niet voor de sondes (bv. de reed sonde van de water meter)?

    Groet,

    Fernando.

    1. Hoi Fernando,

      Goed nieuws! Super dat het werkt!

      De 3 waarden in ESPeasy komt door de DELTA/TOTAL/TIME instelling. Zolang de Wemos aan staat blijft hij de delta (verschil), het totaal en de tijd meten. Die waardes zijn niet ‘persistent’, dus zodra de wemos uit gaat zijn de waarden weer 0. Zou je die steeds doorsturen naar domoticz zal je een dip in je grafiek krijgen. Daarom laat ik domoticz het telwerk doen door alleen de pulsen door te sturen naar een incremental teller. Waarschijnlijk werkt een andere instelling ook 🙂

      Vraag 2:
      Lijkt mij dat het goed gaat! Ik heb het ook ongeveer zo aangesloten. Ik heb de S0 en de watermeter op dezelfde Wemos aangesloten en dat werkt al een half jaar prima! Trek je wel ook een draad naar de GND zoals in mijn voorbeeld? 1x data, 1x GND, 1x 5V.

      Bij twijfel niet doen, nog eens over nadenken en soms wat proberen 😉

      Wouter

  11. Hi Wouter,

    Bedoel je met voorbeeld het voorbeeld in dit artikel of die in de watermeter artikel?

    En bedoel je met extra draad naar grond dat je de weerstand tussen de D1 en de grond aansluiting zet? M.a.w. een 2de weerstand tussen de D2 (die erbij komt) en grond? Want in de voorbeeld op deze pagina zijn er 2 draden een naar de GPIO en een naar 5V plus een weerstand tussen de draad naar de GPIO en grond. Als ik die voorbeeld zou moeten volgen wordt het dus de 2 draden van de water meter, een in de nieuwe/extra GPIO + een in de 5V bijprikken en een extra weerstand tussen de nieuwe/extra GPIO en grond? Of sla ik nu klinkklare onzin uit? Ik ben namelijk geen electronica expert. 🙁

    De uitleg over de eerste punt is duidelijk, dank daarvoor, ik ga ermee aan de slag!

    Groet,

    Fernando

    1. Hoi Fernando,

      Het komt er op neer dat je gewoon 2x de S0 kabel kabel maakt. 1 heb je al van je watermeter, de tweede sluit je exact hetzelfde aan maar alleen de datapin op een andere gpio.

      Gaat het zo lukken?

      Succes

      Wouter

Laat een reactie achter

Laat weten wat je van dit artikel vindt!

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

%d bloggers liken dit: