Guide: Bygg en egen läsare till elmätaren

En läsare till Automatiserar.se (Daniel Nilsson) ville dela med sig av sitt elmätarprojekt, Daniel berättar hur du själv kan bygga en egen läsare med hjälp av öppna programvaror. Det här projektet var riktig genomtänkt, mycket snyggare än det gamla projektet jag gjorde för några år sedan med en Arduino på usb porten för elavläsning. Projektet använder sig även av MySensors som vi tidigare byggde en RFID läsare med till Vera.

Med hjälp av läsaren kan du presentera din elförbrukning riktigt snyggt.
Med hjälp av läsaren kan du presentera din elförbrukning riktigt snyggt.

Detta kan vara extra intressant för alla som använder vattenfalls elmätare, i slutet av förra året meddelade Vattenfall att dom har för avsikt att sluta med sina smarta tjänster för smarta hem. Produkterna dom slutar supporta är Smart Plug, Smart Temp och EnergyWatch. Vilket nu innebär att det finns en del som funderar på vad man ska välja istället. Detta kanske kan vara är ett alternativ?

Bakgrunden till projektet

Tänkte skriva om hur man med ett par enkla steg sätter upp en mätning för sin elförbrukning. Det krävs en dator med Domoticz, InfluxDB och Grafana (Hur man installerar detta finns inte med i projektet) Fördelen med att man bygger sitt eget är att man inte är beroende av någon firma, som får för sig att lägga ner. Som det nämns ovan så har Vattenfall annonserat att dom lägger ner sin tjänst, energy watch. https://www.vattenfall.se/kundservice/smarta-hem/

Vad behövs?

För att bygga en egen läsare med hjälp av guiden behöver du följande komponenter.

Hårdvara

  • 2st – Arduino Nano
  • 2st – NRF24L01+
  • 2st – USB kablar, USB-A till USB-B-Mini
  • 2st – USB laddare
  • Dupont kablar
  • 1st fototransistor
  • 1st LM393

Mjukvara

Till min Domoticz har jag kopplat MySensors, Z-Wave och Tellstick. Jag har valt Arduino Nano eftersom det finns en USB-port direkt på kortet, så slipper man hålla på med seriell konverter. Du behöver inte löda något, bara att koppla in kablar på rätt stift. Jag valde MySensors som bibliotek eftersom det är väldigt enkelt att komma igång. Man behöver en Gateway som tar emot all data från sensorerna.

Arduino IDE

Installera Arduino IDE på en dator, behöver inte vara den dator som har Domoticz. https://www.arduino.cc/en/Main/Software
Starta Arduino IDE
Ladda ner MySensors bibliotek, Skiss->Inkludera bibliotek

Börja med att ladda hem biblioteket för Mysensors
Börja med att ladda hem biblioteket för Mysensors

Gateway

Koppla in en Arduino med USB till datorn.
Välj så det ser ut enligt bilden nedan, Port kan skilja

Välj rätt port och korttyp
Välj rätt port och korttyp

Välj Fil->Exempel->MySensors->GatewaySerial
Ladda upp skiss till Arduino, Skiss->Ladda upp eller genom att trycka på ”Ladda upp”, se bild nedan

Välj att ladda upp koden till din Arduino
Ladda upp

Kontrollera så du inte får något felmeddelande
Koppla ur Arduino, märk den så du vet att det är ”Gateway”
Koppla in nRF24L01+ till Arduino enligt denna sida https://www.mysensors.org/build/connect_radio
Koppla in USB från Gateway till din dator med Domoticz, starta datorn och gå till webbsidan för Domoticz. I Domoticz gå till Setup-Hardware. Skriv ett lämpligt namn t.ex. MySensors och välj Type: MySensors Gateway USB, Serial Port: porten där Gateway är kopplad, Baudrate ska vara 115200.
Tryck ADD för att lägga till den. Låt det gå någon sekund och tryck sedan F5. Då ska det se ut enligt bilden nedan, om det kommer upp Version 2.3.1 så betyder att Domoticz har kontakt med Gateway.

Domoticz
Domoticz

Elmätar-Node

Koppla in nästa Arduino, kontrollera så att Port stämmer
Välj Fil->Exempel->MySensors->EnergyMeterPulseSensor

Från biblioteket MySensors väljer du EnergyMeterPulseSensor
Från biblioteket MySensors väljer du EnergyMeterPulseSensor

Ändra PULSE_FACTOR, MAX_WATT i koden om det inte stämmer med dina uppgifter.

Ladda upp skiss
Koppla ur Arduino, märk den så du vet att det är ”Elmätaren”
Koppla in LM393(diod) till Arduino enligt denna sida https://www.mysensors.org/build/pulse_power
Koppla in nRF24L01+ till Arduino enligt denna sida https://www.mysensors.org/build/connect_radio


Montera dioden framför lampan som blinkar på din elmätare. Strömsätt Arduino. Skruva på potentiometern på LM393-kortet så att det blinkar på LM393 samtidigt som det blinkar på din elmätare. Har du problem så testa när det är mörkt ute, så inte ströljus kommer in och stör dioden.

För den händige: Jag har tagit loss dioden från LM393 och lött dit en 2-trådskabel men inget måste, så är det lättare att montera dioden.


Vänta någon minut och kontrollera sedan att Domoticz har fått in Elmätaren genom att gå till Setup-Hardware, på MySensors tryck på Setup(knappen intill version 2.3.1). Bilden nedan visar att Noden med namn Energy Double har registrerats. Min Node för elmätning mäter både för mitt hus och för min värmepanna, jag har alltså 2 dioder till en Arduino Nano. Ni bör se Sketch Name ”Energy Meter” Version ”1.0”. Motion sensor som finns under Energy Double är en annan typ av MySensors Node som känner av rörelser. Children nederst i bilden visar data som Elmätaren skickat till Gateway. Child ID 1 är för mitt hus och längst bort till höger(Last Seen) kan man se att den har rapporterat in som förväntat.

Nu har vi startat upp Gateway och Noden för elmätning så allt fungerar som vi vill.


Vi ska nu kunna se data i Domoticz men först måste vi lägga till varje ChildID, så vi kan se vår data under respektive Tabb. Detta måste man göra eftersom det finns kanske ChildID’s som vi inte vill se under Tabbarna. Lägg till genom att gå till Hardware-Devices leta upp den du vill lägga till, tryck på den gröna pilen som finns på höger sida i bilden. Välj ett namn som passar och tryck på Add Device.

Tryck på Utility för att se hur det ser ut när datan kommit in.

För att se historisk data tryck på ”Log”.

Här kan man se historisk data och även en rapport, månad och dygn.

Vad jag har förstått av Domoticz så när datan är 1 år gammal så sparar den bara Min, Mean, Max per dygn vilket jag inte gillar. Jag vill ha all min data även när det gått flera år. Så det jag har gjort är att installerat InfluxDB, som Domoticz skickar data till och som presentation har jag Grafana, som läser data från InfluxDB.


Så här kan det se ut i Grafana.

Jag har delat med mig av 24 timmar från mitt hus https://snapshot.raintank.io/dashboard/snapshot/9nziJ4GpD5QnZa7oM0DtrL929hwfu63Y

Stort tack till Daniel Nilsson för en mycket väl skriven guide! Daniel är medlem i Automatiserars Facebook grupp Hemautomation, Daniel säger det är helt ok att kontakta honom i gruppen via PM om du är intresserad av att köpa en helt färdig lösning.

Stort tack för bra och givande guide.

// Markus

6 reaktioner på ”Guide: Bygg en egen läsare till elmätaren”

    1. Tack. Kan bara hålla med dig. Som jag skrev så har jag Domoticz som samlar in allt.
      Jag har blivit lite ”tokig” och har nu 23 noder som kör med MySensors, så totalt hamnar jag på över 100 sensorer, det är temp, fukt, vattenförbrukning, elförbrukning, lux, rörelse.

  1. Hej!
    Under rubriken gateway står det vad det ska vara för mjukvara till noden.
    På gatewayen ska man väl installera nån av koderna för gateway?
    Lite längre ner står samma text 2 gånger hur man ansluter gatewayen till Domoticz.
    Det blir lite förvirrande.
    Bra guide i övrigt och jag hoppas på en fortsättning hur du fått domoticz att rapportera till influxDB och även Grafana.

  2. Jag verkar ha ett plugins som spökar när jag editerar inlägget. Håller på att se om det är något jag måste korrigera (Får du problem, testa att köra CTRL+F5)

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *