Skillnad mellan versioner av "Mäta elförbrukning med rrdtool"

Från Temperatur.nu
Hoppa till navigeringHoppa till sök
Rad 1: Rad 1:
==Bakgrund==
+
== Bakgrund ==
 
 
 
Du vill ha koll på din elförbrukning och få det presenterat som en graf. Börja då med att läsa om hur du får igång [[OWFS HowTo|OWFS]] och hur man loggar med hjälp av [[RRDtool HowTo|RRDtool]].
 
Du vill ha koll på din elförbrukning och få det presenterat som en graf. Börja då med att läsa om hur du får igång [[OWFS HowTo|OWFS]] och hur man loggar med hjälp av [[RRDtool HowTo|RRDtool]].
  
==Hårdvara==
+
== Hårdvara ==
 
+
* [https://www.m.nu/adapter-usb-1wire-ds9490r-p-49.html 1st 1wireadapter (DS9490R är att föredra då du får +5v på "köpet")]
*[https://www.m.nu/adapter-usb-1wire-ds9490r-p-49.html 1st 1wireadapter (DS9490R är att föredra då du får +5v på "köpet")]
+
* [https://www.m.nu/raknare-for-anslutning-till-1wirenat-version-2-p-160.html 1st räknare för 1wire]
*[https://www.m.nu/raknare-for-anslutning-till-1wirenat-version-2-p-160.html 1st räknare för 1wire]
+
* [https://www.m.nu/ledpuls-detektor-p-57.html 1st LED-puls detektor]
*[https://www.m.nu/ledpuls-detektor-p-57.html 1st LED-puls detektor]
+
* [https://www.m.nu/elovervakningspaket-1wire-p-494.html Alltihop i ett paket]
*[https://www.m.nu/elovervakningspaket-1wire-p-494.html Alltihop i ett paket]
 
  
 
Installationen av detektorn kan kräva lite intrimmning;
 
Installationen av detektorn kan kräva lite intrimmning;
  
*Om du köpt delarna var för sig så kopplar du ihop allt enligt [[Inkoppling 1wire-räknare|denna guid]] och se till att detektorn är spänningsmatad. Lyser den röda lysdioden när sensorn får ljus på sig är spänningsmatningen ok.
+
* Om du köpt delarna var för sig så kopplar du ihop allt enligt [[Inkoppling 1wire-räknare|denna guid]] och se till att detektorn är spänningsmatad. Lyser den röda lysdioden när sensorn får ljus på sig är spänningsmatningen ok.
*LED-detektorn skall placeras framför den blinkande lysdioden.
+
* LED-detektorn skall placeras framför den blinkande lysdioden.
  
==Skapa databas==
+
== Skapa databas ==
rrdtool create /home/energi/db/energi.rrd -s 60 DS:energi:COUNTER:1200:0:U RRA:AVERAGE:0.5:1:43200 RRA:AVERAGE:0.5:30:175200
+
<pre>
 +
rrdtool create /home/energi/db/energi.rrd -s 60 DS:energi:COUNTER:1200:0:U RRA:AVERAGE:0.5:1:43200 RRA:AVERAGE:0.5:30:175200
 
Det lämnas som övning åt läsaren att räkna ut för hur lång tid data sparas.
 
Det lämnas som övning åt läsaren att räkna ut för hur lång tid data sparas.
 +
</pre>
  
==Skapa skript==
+
== Skapa skript ==
 
 
 
 
 
Pulsvärdena skall kompenseras så det är "riktiga" Wh som loggas i databasen för att förenkla grafgenereringen.
 
Pulsvärdena skall kompenseras så det är "riktiga" Wh som loggas i databasen för att förenkla grafgenereringen.
 
Räkna ut vilken omräkningsfaktor för Wh dina pulser har genom att ta 1kWh, dvs 1000Wh, delat på antalet pulser/kWh.
 
Räkna ut vilken omräkningsfaktor för Wh dina pulser har genom att ta 1kWh, dvs 1000Wh, delat på antalet pulser/kWh.
Rad 30: Rad 28:
 
Scriptet för att läsa in och korrigera pulsvärdet ser ut så här:
 
Scriptet för att läsa in och korrigera pulsvärdet ser ut så här:
  
 +
<pre>
 
  #!/bin/bash
 
  #!/bin/bash
 
  #Exempel för en elmätare med 10000 blink per kWh. OBS . i stället för ,
 
  #Exempel för en elmätare med 10000 blink per kWh. OBS . i stället för ,
Rad 37: Rad 36:
 
  VALUE=`echo "$OMRAKNINGSFAKTOR $COUNT" |awk '{printf "%.0f", ($1 * $2)}'`
 
  VALUE=`echo "$OMRAKNINGSFAKTOR $COUNT" |awk '{printf "%.0f", ($1 * $2)}'`
 
  /usr/bin/rrdtool update /home/energi/db/energi.rrd N:$VALUE
 
  /usr/bin/rrdtool update /home/energi/db/energi.rrd N:$VALUE
+
</pre>
 +
 
 
Inga ändringar eller korrigeringar behöver göras i grafscriptet då konverteringen pulser/kWh är gjord vid insamlandet av data.
 
Inga ändringar eller korrigeringar behöver göras i grafscriptet då konverteringen pulser/kWh är gjord vid insamlandet av data.
 
För att skapa en graf kan man sedan lägga till följande i skriptet:
 
För att skapa en graf kan man sedan lägga till följande i skriptet:
  
 +
<pre>
 
  /usr/bin/rrdtool graph /var/www/energi-24h.png \
 
  /usr/bin/rrdtool graph /var/www/energi-24h.png \
 
   -E \
 
   -E \
Rad 63: Rad 64:
 
   GPRINT:W:LAST:"Just nu\: %0.2lf%sW\n" \
 
   GPRINT:W:LAST:"Just nu\: %0.2lf%sW\n" \
 
   COMMENT:"Copyright Freiholtz Consulting 2010"
 
   COMMENT:"Copyright Freiholtz Consulting 2010"
 
+
</pre>
  
 
[[Fil:Energi-24h.png‎]]
 
[[Fil:Energi-24h.png‎]]
  
 
Observera att du måste ange fullständiga sökvägar till databas och bildfiler om du vill köra skripten från crontab.
 
Observera att du måste ange fullständiga sökvägar till databas och bildfiler om du vill köra skripten från crontab.
 
 
  
 
== Övrigt ==
 
== Övrigt ==
[http://www.temperatur.nu/forum/guider-artiklar-how-to/mata-elforbrukning-via-1wire-och-rrdtool-t287.html Diskussionstråd för att mäta elförbrukning via RRDtool]
+
* [http://www.temperatur.nu/forum/guider-artiklar-how-to/mata-elforbrukning-via-1wire-och-rrdtool-t287.html Diskussionstråd för att mäta elförbrukning via RRDtool]
  
 
[http://www.temperatur.nu/forum/post8375.html#p8375 Info om när räknaren slår över]
 
[http://www.temperatur.nu/forum/post8375.html#p8375 Info om när räknaren slår över]
  
 
[[Kategori:HowTo]]
 
[[Kategori:HowTo]]

Versionen från 11 augusti 2012 kl. 10.08

Bakgrund

Du vill ha koll på din elförbrukning och få det presenterat som en graf. Börja då med att läsa om hur du får igång OWFS och hur man loggar med hjälp av RRDtool.

Hårdvara

Installationen av detektorn kan kräva lite intrimmning;

  • Om du köpt delarna var för sig så kopplar du ihop allt enligt denna guid och se till att detektorn är spänningsmatad. Lyser den röda lysdioden när sensorn får ljus på sig är spänningsmatningen ok.
  • LED-detektorn skall placeras framför den blinkande lysdioden.

Skapa databas

rrdtool create /home/energi/db/energi.rrd -s 60 DS:energi:COUNTER:1200:0:U RRA:AVERAGE:0.5:1:43200 RRA:AVERAGE:0.5:30:175200
Det lämnas som övning åt läsaren att räkna ut för hur lång tid data sparas.

Skapa skript

Pulsvärdena skall kompenseras så det är "riktiga" Wh som loggas i databasen för att förenkla grafgenereringen. Räkna ut vilken omräkningsfaktor för Wh dina pulser har genom att ta 1kWh, dvs 1000Wh, delat på antalet pulser/kWh. En elmätare som har 1000blink per kWh får en faktor på 1. En elmätare som har 10000blink per kWh får en faktor på 0.1. En elmätare som har 800blink per kWh får en faktor på 1.25.

Scriptet för att läsa in och korrigera pulsvärdet ser ut så här:

 #!/bin/bash
 #Exempel för en elmätare med 10000 blink per kWh. OBS . i stället för ,
 OMRAKNINGSFAKTOR=0.1
 COUNT=`cat /mnt/1wire/1D.94EC09000000/counters.A|sed -e s/" "//g`
 #Lite magi för att räkna med flyttal i BASH
 VALUE=`echo "$OMRAKNINGSFAKTOR $COUNT" |awk '{printf "%.0f", ($1 * $2)}'`
 /usr/bin/rrdtool update /home/energi/db/energi.rrd N:$VALUE

Inga ändringar eller korrigeringar behöver göras i grafscriptet då konverteringen pulser/kWh är gjord vid insamlandet av data. För att skapa en graf kan man sedan lägga till följande i skriptet:

 /usr/bin/rrdtool graph /var/www/energi-24h.png \
   -E \
   --imgformat PNG \
   --start -24h \
   --end now \
   --width 600 \
   --height 400 \
   --title Exempelgraf \
   --vertical-label 'Watt' \
   -l 0 \
   DEF:energi=/home/energi/db/energi.rrd:energi:AVERAGE \
   CDEF:W=energi,3600,* \
   AREA:W#AAAAee \
   LINE3:W#000000 \
   CDEF:energiK=energi,1000,/ \
   VDEF:value_sum=energiK,TOTAL \
   GPRINT:value_sum:"Förbrukad mängd\: %0.2lfkWh\n" \
   GPRINT:W:MIN:"Momentanförbrukning\: Min\: %0.2lf%sW" \
   GPRINT:W:AVERAGE:"Medel\: %0.2lf%sW" \
   GPRINT:W:MAX:"Max\: %0.2lf%sW" \
   GPRINT:W:LAST:"Just nu\: %0.2lf%sW\n" \
   COMMENT:"Copyright Freiholtz Consulting 2010"

Energi-24h.png

Observera att du måste ange fullständiga sökvägar till databas och bildfiler om du vill köra skripten från crontab.

Övrigt

Info om när räknaren slår över