Mäta elförbrukning via 1wire och rrdtool.

Hur gör man för att ... ? Hur fungerar ... ? Steg för steg-guider och förklarande artiklar finns i detta forum.
Många guider finner också på vår blogg: https://blog.m.nu/
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av elf98 »

Hur loggar du datat?

Kod: Markera allt

rrdtool fetch energi.rrd AVERAGE -s -20min  
Skall ge output i stil med:

Kod: Markera allt

                         energi

1289673960: 8,8910915187e-01
1289674020: 6,9721466225e-01
1289674080: 4,4480624745e-01
1289674140: 4,0351116792e-01
1289674200: 4,1220722856e-01
1289674260: 3,8663956067e-01
1289674320: 4,0213675128e-01
1289674380: 7,5212285680e-01
1289674440: 8,6897709039e-01
1289674500: 8,9033902202e-01
1289674560: 4,6740064952e-01
1289674620: 4,0380276073e-01
1289674680: 3,9599609384e-01
1289674740: 3,8616644108e-01
1289674800: 3,9569691457e-01
1289674860: 7,9105189668e-01
1289674920: 8,8664217021e-01
1289674980: 6,8099215491e-01
1289675040: 4,2757926938e-01
1289675100: 4,0291553924e-01
1289675160: -nan
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

jag får nan värden rakt av
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av elf98 »

Samma fråga igen:
Hur loggar du datat?
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

Hmm jag hade tydligen tappat värderna på tempsensorerna också... men det löste sig efter att jag drog ur strömmen i min dockstar och staratde om den
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

Japp du har rätt det blir något fel när jag försöker att uppdatera energi.rrd

Kod: Markera allt

root@OpenWrt:/mnt/1wire# ls
10.B27484010800  81.AFDF2D000000  settings         structure
10.CC8184010800  alarm            simultaneous     system
1D.90C50D000000  bus.0            statistics       uncached
root@OpenWrt:/mnt/1wire#

Kod: Markera allt

root@OpenWrt:~/martin/rrddata# ls
create_energi_rrd.sh   dump.xml               outdoor_temp.rrd
create_indoor_rrd.sh   energi.rrd             outside_temp.rrd
create_outdoor_rrd.sh  indoor_temp.rrd        update_energi.sh
root@OpenWrt:~/martin/rrddata# ./update_energi.sh
./update_energi.sh: line 7: unexpected EOF while looking for matching `''
./update_energi.sh: line 10: syntax error: unexpected end of file
root@OpenWrt:~/martin/rrddata#
update_energi.sh

Kod: Markera allt

#!/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/uncached/1D.90C50D000000/counters.A|sed -e s/" "//g`
#Lite magi för att räkna med flyttal i BASH
VALUE=`echo "$OMRAKNINGSFAKTOR $COUNT" |awk '{printf "%.2f", ($1 * $2)}'`
/usr/bin/rrdtool update energi.rrd N:$VALUE'
EDIT:

Jag tog bort ` från sista raden så att resultatet blev:

Kod: Markera allt

/usr/bin/rrdtool update energi.rrd N:$VALUE
Då får jag ett annat fel istället när jag kör update_energi.sh

Kod: Markera allt

[root@OpenWrt:~/martin/rrddata# ./update_energi.sh
ERROR: not a simple integer: '2384.10'
root@OpenWrt:~/martin/rrddata# ./update_energi.sh
ERROR: not a simple integer: '2394.20'
root@OpenWrt:~/martin/rrddata# rrdtool fetch energi.rrd AVERAGE -s -20min
timestamp    energi

1289728560:  nan
1289728620:  nan
1289728680:  nan
1289728740:  nan
1289728800:  nan
1289728860:  nan
1289728920:  nan
1289728980:  nan
1289729040:  nan
1289729100:  nan
1289729160:  nan
1289729220:  nan
1289729280:  nan
1289729340:  nan
1289729400:  nan
1289729460:  nan
1289729520:  nan
1289729580:  nan
1289729640:  nan
1289729700:  nan
1289729760:  nan
1289729820:  nan


Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av elf98 »

Ops igen!

Ändra raden

Kod: Markera allt

VALUE=`echo "$OMRAKNINGSFAKTOR $COUNT" |awk '{printf "%.2f", ($1 * $2)}'`
till

Kod: Markera allt

VALUE=`echo "$OMRAKNINGSFAKTOR $COUNT" |awk '{printf "%.0f", ($1 * $2)}'`
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

Nu fungerar det ju! Ja eller iallafall betydligt bättre än förut grafen visar 139,25W just nu vilket verkar lite lågt...

EDIT: Ursäkta mig jag trodde att "Exempel för en elmätare med 10000" var en felskrivning och stod för 1000 blink. Eftersom jag har 1000 blink/sekund antar jag att jag ska ändra till omräkningsfaktorn till 1

Tror du att det finns någon lösning att komma förbi problemet som jag har med VDEF?
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av elf98 »

Helt korrekt, omräkningsfaktorn är 1 för 1000 blink.

Gällande VDEF, den här: http://www.temperatur.nu/forum/post11506.html#p11506 lösningen fungerar inte ?
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

Problemet som jag hade när jag körde rrdtool 1.2.30 är den att jag får felet "rrdtool: can't resolve symbol 'posix_fadvise'" genom att nergradera till en tidigare version så "löste" det sig. Jag vet inte riktigt vad det beror på, om det är openwrt eller det faktum att jag kör på en dockstar som ställer till det.

Jag är lite sugen på att skaffa en till dockstar och prova installera debian på den och se om det hjälper.
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

hmm min uppdatering via crontab verkar strula. Om jag uppdaterar och skapar grafen via scriptet så fungerar det

Kod: Markera allt

root@OpenWrt:~/martin/bin# ls /root/martin/rrddata
create_energi_rrd.sh   dump.xml               outdoor_temp.rrd
create_indoor_rrd.sh   energi.rrd             outside_temp.rrd
create_outdoor_rrd.sh  indoor_temp.rrd        update_energi.sh

root@OpenWrt:~/martin/bin# ls /root/martin/bin
create_energi_graph.sh   create_outdoor_graph.sh  get_outdoor_temp.sh
create_indoor_graph.sh   get_indoor_temp.sh       run_shell.sh
root@OpenWrt:~/martin/bin#
crontab

Kod: Markera allt

0 * * * *       /etc/init.d/luci_fixtime > /dev/null 2> /dev/null
 0 * * * *       /bin/sh /etc/hotplug.d/iface/20-ntpclient  > /dev/null 2> /dev/
 */5 * * * *   /root/martin/bin/get_outdoor_temp.sh
 */5 * * * *   /root/martin/bin/get_indoor_temp.sh
 */5 * * * *   /root/martin/rrddata/update_energi.sh
 */5 * * * *   /root/martin/bin/create_energi_graph.sh
 */5 * * * *   /root/martin/bin/create_outdoor_graph.sh
 */5 * * * *   /root/martin/bin/create_indoor_graph.sh
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av elf98 »

Sökvägarna i scripten stämmer antagligen inte.
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

Det knepiga är att scripten fungerar var för sig.
Om jag kör fetch så har jag bara nan värden men om jag kör update_energi.sh så får jag in värden och om jag sedan kör create_energi_graph.sh så kommer det en graf. Men det fungerar inte per automatik.

Kod: Markera allt

 0 * * * *       /etc/init.d/luci_fixtime > /dev/null 2> /dev/null
 0 * * * *       /bin/sh /etc/hotplug.d/iface/20-ntpclient  > /dev/null 2> /dev/
 */5 * * * *   /mnt/usb/get_outdoor_temp.sh
 */5 * * * *   /mnt/usb/get_indoor_temp.sh
 */5 * * * *   /mnt/usb/update_energi.sh
 */5 * * * *   /mnt/usb/create_energi_graph.sh
 */5 * * * *   /mnt/usb/create_outdoor_graph.sh
 */5 * * * *   /mnt/usb/create_indoor_graph.sh
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av daromer »

Hur har du kört dem?

Om du kollar din mail på burken så borde du få ett mail vad som ev säger är fel. Alternativt kolla i loggarna på burken. Gissar också på sökvägar som är fel. Crontab har inte samma sökvägar som när du kör som t ex root användaren så se till att alla binärer du exekverar i dina script har fullständiga sökvägar!
Användarvisningsbild
Loranga
Tar hemautomation på allvar
Inlägg: 119
Blev medlem: 06 sep 2010, 15:35
Ort: Östersund

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av Loranga »

daromer skrev:Hur har du kört dem?

Om du kollar din mail på burken så borde du få ett mail vad som ev säger är fel. Alternativt kolla i loggarna på burken. Gissar också på sökvägar som är fel. Crontab har inte samma sökvägar som när du kör som t ex root användaren så se till att alla binärer du exekverar i dina script har fullständiga sökvägar!
Jag har kört dem genom att skriva ./update_energi.sh och ./create_energi_graph.sh
Mail har jag inte och den enda felloggen som jag känner till är logread

Kod: Markera allt

Nov 15 19:15:01 OpenWrt cron.info crond[1558]: crond: USER root pid 11595 cmd /mnt/usb/get_outdoor_temp.sh
Nov 15 19:15:01 OpenWrt cron.info crond[1558]: crond: USER root pid 11601 cmd /mnt/usb/get_indoor_temp.sh
Nov 15 19:15:01 OpenWrt cron.info crond[1558]: crond: USER root pid 11603 cmd /mnt/usb/update_energi.sh
Nov 15 19:15:01 OpenWrt cron.info crond[1558]: crond: USER root pid 11605 cmd /mnt/usb/create_energi_graph.sh
Nov 15 19:15:01 OpenWrt cron.info crond[1558]: crond: USER root pid 11608 cmd /mnt/usb/create_outdoor_graph.sh
Nov 15 19:15:01 OpenWrt cron.info crond[1558]: crond: USER root pid 11613 cmd /mnt/usb/create_indoor_graph.sh
Crontab har inte samma sökvägar som när du kör som t ex root användaren så se till att alla binärer du exekverar i dina script har fullständiga sökvägar!

Ok det förklarar en del, kan det vara att sista raden i update_energi.sh som ställer till det? (rrdtool ligger i /usr/bin det har jag kollat)

Kod: Markera allt

#!/bin/bash
#Exempel för en elmätare med 1000 blink per kWh. OBS . i stället för ,
OMRAKNINGSFAKTOR=1
COUNT=`cat /mnt/1wire/uncached/1D.90C50D000000/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 energi.rrd N:$VALUE
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Mäta elförbrukning via 1wire och rrdtool.

Inlägg av daromer »

Testa även den raden du har i crontab. Dvs stå i t ec / och kör sedan hela raden från crontab (Utan alla *or)
Skriv svar