Sida 1 av 2

Min logger

Postat: 24 sep 2008, 11:23
av sm4wdq
tänk vad man kan åstakomma med lite 1-Wire prylar


http://sjo1.mine.nu:8080/rrd/

Re: Min logger

Postat: 24 sep 2008, 12:59
av Pny
Snyggt! :D

Har du någon info om själva bygget av tekniken eller programmet som gör graferna?

Re: Min logger

Postat: 24 sep 2008, 13:10
av sm4wdq
Bilder kommer

Allt görs via 1-wire tempsensorer samt counters, elmätare med S0 2st , en 3dje är redan uppsatt för varmvatten
men saknar counter till den men den är beställd
vad gäller graferna så körs just nu allt i linux med rrdtool

vet att det finns plugwise enheter i holland men hittar inga åf i sverige samt tycker startpaketet är lite dyrt
men får se om det inte kan vara värt att investera i framtiden

har gjort ett excel ark över´ALLA mina elförbrukare o gissa om alla onödiga mobil laddare osv åkte ur eluttagen hemma

ex mina 16 hubbar/switchar osv kostar mig 2500 per år !!!!
måste fixa fler kablar o se om jag inte kan få bort en del ....
har även 3 datorer som går 24timmar om dygnet till en kostnad av 3200kr året (trots att jag kör vmware)
måste banta lite här med...

Re: Min logger

Postat: 24 sep 2008, 13:13
av sm4wdq
Här kommer lite av mina beräkningar
OBS vissa saker är fortfarande uppskattade , ex värmen
måste kolla förbrukningen på varje detalj (bara kollat vissa)

Antal Watt Tid
Dator i Drift 3 100 24 h/dygn 3 193,02 kr
Dator Övriga 2 100 5 h/dygn 443,48 kr
TV, Påslagen 1 200 4 h/dygn 354,78 kr
TV, Standby 1 20 20 h/dygn 177,39 kr
Satelitmottagare, Påslagen 1 100 4 h/dygn 177,39 kr
Satelitmottagare, Standby 1 10 20 h/dygn 88,70 kr
Mobilladdare 1 10 24 h/dygn 106,43 kr
Bredband 1 15 24 h/dygn 159,65 kr
Diskmaskin 1 1000 3 Disk / Vecka 189,54 kr
Tvättmaskin 60 Grader 1 1200 1 Tvättar / Vecka 75,82 kr
Tvättmaskin 40 Grader 1 600 4 Tvättar / Vecka 151,63 kr
Torktumlare, kondens 0 1000 0 h/Vecka 0,00 kr
Spisplatta, stor 1 2000 2 h/Vecka 252,72 kr
Spisplatta, medel 1 1500 2 h/Vecka 189,54 kr
Spisplatta, liten 2 1000 2 h/Vecka 252,72 kr
Ugn 1 1500 3 h/Vecka 284,31 kr
Kylskåp 1 30 168 h/Vecka 318,43 kr
Frysbox 1 1 30 168 h/Vecka 318,43 kr
El Element 6 1000 0 h/År 0,00 kr
El Varmvatten 1 1000 6 Dygn 2 660,85 kr
Värmepump 1 500 5000 h/År 3 037,50 kr
Motorvärmare 1 500 200 h/År 121,50 kr
Kupévärmare 1 1000 200 h/År 243,00 kr
Glödlampor, 15 Watt 8 15 1460 h/År 212,87 kr
Glödlampor, 25 Watt 3 25 1000 h/År 91,13 kr
Glödlampor, 60 Watt 1 60 h/År 0,00 kr
Lågenergilampor, 6 Watt 0 6 h/År 0,00 kr
Lågenergilampor, 11 Watt 3 11 4380 h/År 175,62 kr
Lysrör 1 72 h/År 0,00 kr
Dammsugare 1 750 1 ggr/Vecka 47,39 kr
Takfläkt 1 75 24 h/dygn 798,26 kr
Spisfläkt 1 500 1 h/dygn 221,74 kr
Datarouters m.m. 16 15 24 h/dygn 2 554,42 kr
Trådlösa Telefoner 2 10 24 h/dygn 212,87 kr

Re: Min logger

Postat: 24 sep 2008, 18:46
av elf98
Snyggt!

Dela gärna med dig av scripten för att generera graferna!

Re: Min logger

Postat: 25 sep 2008, 08:12
av sm4wdq
Här kommer perlscriptet för att i detta fallet generera elmätaren
databasen skapas automatiskt under /var/lib/rrd om den inte redan finns
input från filen /DIGITEMP/elmatare.txt
om man vill ha flera grafer kopierar man scriptet o byter
infilen samt
sensor nummret 9 till nåt annat
obs mitt elpris är nu 1.22

Kod: Markera allt

#!/usr/bin/perl
#
# copyright Martin Pot 2006
# http://martybugs.net/electronics/tempsensor/
#
# thanks to Petr for suggestions relating to better handling of failed data reads
#
# rrd_tempsensor.pl

use lib qw(/usr/local/rrdtool-1.2.12/lib/perl);
use RRDs;

# define location of rrdtool databases
my $rrd = '/var/lib/rrd';
# define location of images
my $img = '/var/www/localhost/htdocs/rrd/';

# process data for each interface (add/delete as required)
&ProcessSensor(9, "kWh EL Luftvärmepump ");

sub ProcessSensor
{
# process sensor
# inputs: $_[0]: sensor number (ie, 0/1/2/etc)
#         $_[1]: sensor description

        # get temperature from sensor
        my $temp = `cat /DIGITEMP/elmatare.txt`;

        # remove eol chars
        chomp($temp);

        print "sensor $_[0]: $temp Luftvärmepump kWh\n";

        # if rrdtool database doesn't exist, create it
        if (! -e "$rrd/temp$_[0].rrd")
        {
                print "creating rrd database for temp sensor $_[0]...\n";
                RRDs::create "$rrd/temp$_[0].rrd",
                        "-s 300",
                      "DS:temp:COUNTER:600:0:U",
                        "RRA:AVERAGE:0.5:1:2016",
                        "RRA:MIN:0.5:1:2016",
                        "RRA:MAX:0.5:1:2016",
                        "RRA:AVERAGE:0.5:6:1344",
                        "RRA:MIN:0.5:6:1344",
                        "RRA:MAX:0.5:6:1344",
                        "RRA:AVERAGE:0.5:24:2190",
                        "RRA:MIN:0.5:24:2190",
                        "RRA:MAX:0.5:24:2190",
                        "RRA:AVERAGE:0.5:144:3650",
                        "RRA:MIN:0.5:144:3650",
                       "RRA:MAX:0.5:144:3650";

        }
        if ($ERROR = RRDs::error) { print "$0: failed to create $_[0] database file: $ERROR\n"; }

        # check for error code from temp sensor
        if (int $temp eq 85)
        {
                print "failed to read value from sensor $_[0]\n";
                $temp = "U";
        }

        # insert values into rrd
        RRDs::update "$rrd/temp$_[0].rrd",
                "-t", "temp",
                "N:$temp";
        if ($ERROR = RRDs::error) { print "$0: failed to insert $_[0] data into rrd: $ERROR\n"; }


        # create graphs for current sensor
        &CreateGraph($_[0], "hour", $_[1]);
        &CreateGraph($_[0], "-3h", $_[1]);
        &CreateGraph($_[0], "-6h", $_[1]);
        &CreateGraph($_[0], "-12h", $_[1]);
        &CreateGraph($_[0], "day", $_[1]);
        &CreateGraph($_[0], "week", $_[1]);
        &CreateGraph($_[0], "month", $_[1]);
        &CreateGraph($_[0], "year", $_[1]);
}

sub CreateGraph
{
# creates graph
# inputs: $_[0]: sensor number (ie, 0/1/2/etc)
#         $_[1]: interval (ie, day, week, month, year)
#         $_[2]: sensor description

        RRDs::graph "$img/temp$_[0]-$_[1].png",
                "-s -1$_[1]",
                "-t $_[2] (Sensor $_[0]) :: Senaste $_[1]",
                "--lazy",
                "-h", "160", "-w", "600",
                "-a", "PNG",
                "-v Watt",
#               "--watermark=Sjövägen 10 - HAGFORS",
#               "--zoom=1.5",
                "--color=BACK#000000",
                "--color=SHADEA#000000",
                "--color=SHADEB#000000",
                "--color=FONT#DDDDDD",
                "--color=CANVAS#202020",
                "--color=GRID#000000",
                "--color=MGRID#AAAAAA",
                "--color=FRAME#202020",
                "--color=ARROW#FFFFFF",
                "--units-exponent=0",
                "DEF:temp=$rrd/temp$_[0].rrd:temp:AVERAGE",
                "DEF:min=$rrd/temp$_[0].rrd:temp:MIN",
                "DEF:max=$rrd/temp$_[0].rrd:temp:MAX",

                #"CDEF:temp2=temp,0.510204082,*",
                "CDEF:temp2=temp,2,*",

                "CDEF:W=temp2,3600,*",
                "CDEF:Wtotal=temp2,1000,/",
                "VDEF:valuesum=Wtotal,TOTAL",

               "CDEF:Wtotal2=Wtotal,1.22,*",
                "VDEF:valuesum2=Wtotal2,TOTAL",


                "LINE1:min#FF3333",
                "LINE1:max#FF3333",

                "CDEF:X01=W,1.00,*", "AREA:X01#FF0000",
                "CDEF:X10=W,0.90,*", "AREA:X10#E10000",
                "CDEF:X15=W,0.85,*", "AREA:X15#D20000",
                "CDEF:X20=W,0.80,*", "AREA:X20#C30000",
                "CDEF:X25=W,0.75,*", "AREA:X25#B40000",
                "CDEF:X30=W,0.70,*", "AREA:X30#A50000",
                "CDEF:X35=W,0.65,*", "AREA:X35#960000",
                "CDEF:X40=W,0.60,*", "AREA:X40#870000",
                "CDEF:X45=W,0.55,*", "AREA:X45#780000",
                "CDEF:X50=W,0.50,*", "AREA:X50#690000",
                "CDEF:X55=W,0.45,*", "AREA:X55#5A0000",
                "CDEF:X60=W,0.40,*", "AREA:X60#4B0000",
                "CDEF:X65=W,0.35,*", "AREA:X65#3C0000",
                "CDEF:X70=W,0.30,*", "AREA:X70#2D0000",
                "CDEF:X75=W,0.25,*", "AREA:X75#180000",
                "CDEF:X80=W,0.20,*", "AREA:X80#0F0000",
                "CDEF:X85=W,0.15,*", "AREA:X85#000000",

                "GPRINT:valuesum: Momentan Förbrukning\\: %6.3lf kWh",
                "GPRINT:valuesum2:           Momentan Kostnad\\: %6.2lf kr\\n",
                "GPRINT:W:MIN:Min\\: %6.1lf Watt",
                "GPRINT:W:MAX:    Max\\: %6.1lf Watt",
                "GPRINT:W:AVERAGE:    Medel\\: %6.3lf Watt",
                "GPRINT:W:LAST:     Just Nu\\: %6.3lf Watt\\n",
                "COMMENT:(c) Jörgen Jönsson, Sjövägen 10, Hagfors";



        if ($ERROR = RRDs::error) { print "$0: unable to generate sensor $_[0] $_[1] graph: $ERROR\n"; }
}

Re: Min logger

Postat: 25 sep 2008, 13:50
av sm4wdq

Re: Min logger

Postat: 30 sep 2008, 10:53
av Dowser
Värdet med 1w/kvm känns som det mest kritiska för att få kalkylen korrekt, hur har du räknat fram det?

Re: Min logger

Postat: 30 sep 2008, 12:39
av sm4wdq
det är ett ungefärligt värde med ett hus som är byggt 1980

sen solen är ex inte inräknat osv osv

Re: Min logger

Postat: 30 sep 2008, 12:59
av Dowser
Okej, om jag ändrar frågan till: Var har du fått tag på den informationen?
Själv har jag ett souterräng-hus från -74 på 200kvm och är rätt sugen på att hitta motsvarande siffra. Mätarna har jag redan.

Re: Min logger

Postat: 30 sep 2008, 13:24
av sm4wdq
kolla denna tråd

Gano var det som kunde ca värdet

http://www.varmepumpsforum.com/vpforum/ ... 1130.0;all

Re: Min logger

Postat: 30 sep 2008, 13:27
av sm4wdq
Borde ju gå att "kolla sitt eget hus"

om man

kollar tempdiffen under ex 2 timmar o kontrollerar sitt värmesystems elförbrukning
utan att solen värmer speciellt mycket och delar värdet på antalet kvmeter man har
samt antalet grader i temp som diffar
sen räknade jag bort 3 grader på tempdiffen eftersom mina datorer o annan utrustning värme ju en del

Re: Min logger

Postat: 30 sep 2008, 15:47
av Dowser
Ja, det är en lösning, Får se till att skicka iväg frugan och barnen vid tillfälle, så att jag kan stänga ner alla förbrukare förutom mät-burken och värmen hemma så att man får korrekta värden. :)

Re: Min logger

Postat: 10 okt 2008, 09:27
av sm4wdq
Massor av nya saker
titta gärna in

http://sjo1.mine.nu:8080/rrd/

Re: Min logger

Postat: 12 okt 2008, 02:43
av Plutonium
Jättesnyggt skript, lånade det till mitt projekt och är väldigt nöjd!
Ser att du betalar 1.22, vadå? öre eller kr för W eller kWh?

Har inte stor koll vad som är billigt eller dyrt. Men tog en bild på min senast EL faktura och tänkte dela med mig, och få fram vad jag betalar med hjälp av er, så mina grafer räknar rätt ;)

http://plutonium.homelinux.com/elrakning.jpg

Tusen tack för hjälpen!
Bra jobbat med perl skriptet sm4wdq!