[rrdtool] grafiek met ronde lijnen?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Ik ben een linux-noob en heb ook (nog) geen verstand van rrdtool. Toch heb ik die gebruikt bij het uitlezen van een slimme meter. Nu krijg ik mooie grafiekjes, zoals deze:

Afbeeldingslocatie: http://www.ernstig.com/power_monthly.png

Ik wil alleen graag een grafiek zonder verspringen, maar een geleidelijke lijn ("ronde lijnen"). Ik heb de man-page al doorgekeken van rrdtool, maar ik kan het niet vinden. Kijk ik er strak overheen, of kan het gewoon niet wat ik wil?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • freggy
  • Registratie: Juli 2002
  • Niet online
--slope-mode al geprobeerd?

Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Ja. Dan is het resultaat dit:

Afbeeldingslocatie: http://www.ernstig.com/power_monthly2.png
Oftewel: maakt geen moer uit.

[ Voor 6% gewijzigd door spaceboy op 20-08-2014 12:01 ]

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • 0xDEADBEEF
  • Registratie: December 2003
  • Niet online
Bron: google-termen 'rrdtool sine wave': http://docs.cacti.net/manual:088:7_examples

Daarmee krijg je zoiets:
Afbeeldingslocatie: http://docs.cacti.net/_media/manual:087:default.png

[ Voor 19% gewijzigd door 0xDEADBEEF op 20-08-2014 13:14 ]

"Religion is an insult to human dignity. With or without it you would have good people doing good things and evil people doing evil things. But for good people to do evil things, that takes religion." - Steven Weinberg


Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Wat is je samplerate?
Het lijkt nu of die 1/24h is.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Juup schreef op woensdag 20 augustus 2014 @ 14:26:
Wat is je samplerate?
Het lijkt nu of die 1/24h is.
Sample rate is 1x per 5 minuten. Maar dan nog, dan zou er sowieso toch een vloeiende lijn moeten kunnen worden getrokken? Dat voorbeeld hierboven trouwens... maakt het nog uit dat daar een sinus wordt getekend (en dus overal "berekend" kan worden)?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Ik heb dus onderstaande code om die rrdtool aan te roepen:

code:
1
2
rrdtool graph $DIR/power_monthly.png --width 500 --height 125 --no-gridfit --title "AFGELOPEN 4 WEKEN" --start -1m --slope-mode DEF:powerin=$DIR/power.rrd:powerin:AVERAGE AREA:powerin$INPOWER_FILL LINE1:powerin$INPOWER_COLOR:"In$
DEF:powerout=$DIR/power.rrd:powerout:AVERAGE AREA:powerout$OTPOWER_FILL LINE1:powerout$OTPOWER_COLOR:"Uitgaande stroom [W]"

En nog steeds: geen vloeiende lijn tussen de punten. Kan ik nog iets anders proberen?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 08:43
Ik zou eens naar de input data kijken, nu rendert ie inderdaad daggemiddeldes.

"Chaos kan niet uit de hand lopen"


Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
storeman schreef op woensdag 20 augustus 2014 @ 16:36:
Ik zou eens naar de input data kijken, nu rendert ie inderdaad daggemiddeldes.
Hmm... ik snap er nog steeds weinig van. Ik heb behalve bovenstaande voorbeeld namelijk uit dezelfde database ook een grafiek "van het laatste uur":

Afbeeldingslocatie: http://www.ernstig.com/power_hourly.png

Dus... mijn idee is dat het aan de data niet kan liggen, toch?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Zou wel eens aan je AVERAGE gebruik kunnen liggen.
AVERAGE: remember the average rate of all PDPs in each CDP

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 01-10 16:13

Kees

Serveradmin / BOFH / DoC
Je post je code wel, maar wat zit er in die variablen?

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Ok, voor de beeldvorming zal ik mijn hele script hier neerzetten:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
sleep 3
# 1 keer per 5 minuten, uitlezen via seriele interface van de slimme meter
su - ernst -c "python /home/ernst/P1uitlezer.py > /var/www/P1log.txt" 2>&1

#####################################################################################
# Bijwerken stroomverbruik
#####################################################################################
powerin=`/bin/grep "afgenomen vermogen" /var/www/P1log.txt | /usr/bin/awk '{print $3}'`
powerout="-`/bin/grep "teruggeleverd vermogen" /var/www/P1log.txt | /usr/bin/awk '{print $3}'`"
/usr/bin/rrdtool update /var/www/rrdpower/power.rrd N:$powerin:$powerout

DIR="/var/www/rrdpower"
#INPOWER_COLOR="#B5B690"
INPOWER_COLOR="#FF0000"
INPOWER_FILL="#F8D4D4"
#OTPOWER_COLOR="#3B3131"
OTPOWER_COLOR="#0012FF"
OTPOWER_FILL="#E6E9FC"
rrdtool graph $DIR/power_hourly.png --width 500 --height 125 --no-gridfit --title "AFGELOPEN UUR"  --start -1h DEF:powerin=$DIR/power.rrd:powerin:AVERAGE AREA:powerin$INPOWER_FILL LINE1:powerin$INPOWER_COLOR:"Ingaande stroo$
DEF:powerout=$DIR/power.rrd:powerout:AVERAGE AREA:powerout$OTPOWER_FILL LINE1:powerout$OTPOWER_COLOR:"Uitgaande stroom [W]"
rrdtool graph $DIR/power_daily.png --width 500 --height 125 --no-gridfit --title "AFGELOPEN 24 UUR" --start -1d DEF:powerin=$DIR/power.rrd:powerin:AVERAGE AREA:powerin$INPOWER_FILL LINE1:powerin$INPOWER_COLOR:"Ingaande stro$
DEF:powerout=$DIR/power.rrd:powerout:AVERAGE AREA:powerout$OTPOWER_FILL LINE1:powerout$OTPOWER_COLOR:"Uitgaande stroom [W]"
rrdtool graph $DIR/power_weekly.png --width 500 --height 125 --no-gridfit --title "AFGELOPEN 7 DAGEN" --start -1w DEF:powerin=$DIR/power.rrd:powerin:AVERAGE AREA:powerin$INPOWER_FILL LINE1:powerin$INPOWER_COLOR:"Ingaande st$
DEF:powerout=$DIR/power.rrd:powerout:AVERAGE AREA:powerout$OTPOWER_FILL LINE1:powerout$OTPOWER_COLOR:"Uitgaande stroom [W]"
rrdtool graph $DIR/power_monthly.png --width 500 --height 125 --no-gridfit --title "AFGELOPEN 4 WEKEN" --start -1m --slope-mode DEF:powerin=$DIR/power.rrd:powerin:AVERAGE AREA:powerin$INPOWER_FILL LINE1:powerin$INPOWER_COLO$
DEF:powerout=$DIR/power.rrd:powerout:AVERAGE AREA:powerout$OTPOWER_FILL LINE1:powerout$OTPOWER_COLOR:"Uitgaande stroom [W]"
rrdtool graph $DIR/power_yearly.png --width 500 --height 125 --no-gridfit --title "AFGELOPEN JAAR" --start -1y DEF:powerin=$DIR/power.rrd:powerin:AVERAGE AREA:powerin$INPOWER_FILL LINE1:powerin$INPOWER_COLOR:"Ingaande stroo$
DEF:powerout=$DIR/power.rrd:powerout:AVERAGE AREA:powerout$OTPOWER_FILL LINE1:powerout$OTPOWER_COLOR:"Uitgaande stroom [W]"


Deze script gaat uit van een "log-file" (P1log.txt) die elke 5 minuten gemaakt wordt. Op regel 4 van bovenstaande file zie je dat (gebeurt via P1uitlezer.py). Deze log-file ziet er zo uit:

code:
1
2
3
4
5
6
7
8
9
10
11
Meting van                          2014-08-10  11:12

geleverd laag tarief (+T1)          000106.594  kWh
geleverd hoog tarief (+T2)          000127.802  kWh
teruggeleverd laag tarief (-T1)     000004.547  kWh
teruggeleverd hoog tarief (-T2)     000001.006  kWh

afgenomen vermogen                           0  W
teruggeleverd vermogen                    1120  W

gas                                      15212  dm3

Dit script maakt dus elke keer 5 plaatjes (laatste uur, laatste 24 uur, laatste 7 dagen, laatste 30 dagen en laatste 365 dagen) zoals hierboven twee varianten in de thread staan...

Is hieraan te zien wat er nu fout is?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 08:43
Wat doen de dag en week grafieken? De interval waarop het gemiddelde berekend wordt lijkt niet goed te gaan toch? Je data is wel goed, het commando nog niet.

Moet je niet '--step 5' toevoegen als parameter?

[ Voor 14% gewijzigd door storeman op 20-08-2014 23:08 . Reden: Arg ]

"Chaos kan niet uit de hand lopen"


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 08:44
Wil je perse vasthouden aan rrdtool? Met Highcharts of Flot heb je dit zo voor elkaar. Zitten ook nog aantal andere leuke gimmicks in (live view, inzoomen etc)

Ben zelf ook bezig met uitlezen van slimme meter, maar dan met Arduino. Zie m'n blogpost: ThinkPad's TweakBlog: Slimme meter P1 poort uitlezen met Arduino en waarden opslaan in MySQL database onderaan staat plaatje van de Highcharts grafiek. Supersimpele code zit daar achter :)

Een supervloeiende lijn krijg je er sowieso niet uit trouwens, dat zie je ook wel in mijn plaatje. Volgens mij gebruikt Highcharts daar ook wel truukjes voor om het er niet zo 'getrapt' uit te laten zien. Soort interpoleren van data die tussen twee meetpunten ligt en adhdv een lijn plot.

[ Voor 17% gewijzigd door ThinkPad op 20-08-2014 23:12 ]


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 29-09 19:12
Heb je ook nog ergens het commando waarmee je de rrd db hebt aangemaakt ?
Ik gok dat de resolutie waarmee je datapoints kunnen worden opgeslagen (voordat ze gemiddeld gaan worden) te laag is.
En verder is rrdtool nogal erg basic en no-nonsense in z'n grafieken .. er is weinig aan "op te leuken", grote voordeel is dat de database size fixed is :)

[ Voor 8% gewijzigd door gekkie op 20-08-2014 23:13 ]


  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
@ThinkPad: ah, interessant! Hier ga ik de komende weken mee verder. Was ook al van plan om een andere database in te gaan zetten en jouw opzet gaat daar zeker bij helpen. Voorlopig had ik door tijdgebrek gewoon een zo-snel-mogelijk-als-het-maar-werkt dingetje in elkaar gevrot. Zijn er nog meer alternatieven behalve Highcharts en Flot? Die grafieken zijn al een stuk beter dan die rommel van mij, maar ik vind ze nog niet mind-blowing gaaf.
Edit: alhoewel, na een second look is die Highcharts toch wel heel tof. Ga ik 's mee klooien. Thanks! ;)

@gekkie: jawel, die code heb ik:
code:
1
2
3
4
5
6
7
8
9
#!/bin/bash
rrdtool create power.rrd --start N --step 300 \
DS:powerin:GAUGE:600:U:U \
DS:powerout:GAUGE:600:U:U \
RRA:AVERAGE:0.5:1:12 \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:12:720 \
RRA:AVERAGE:0.5:288:365

Heb me er nog niet echt heel erg in verdiept, had al wel gezien dat die database fixed size is. Dat is best knap, maar ik snap dat je dan inderdaad nogal een concessie doet op precisie. Ook daarom: ik houd niet vast aan rrdtool, ik was alleen benieuwd of ik met mijn huidige rrdtool redelijk simpel vloeiende lijnen kon maken.

[ Voor 4% gewijzigd door spaceboy op 21-08-2014 08:18 ]

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • gekkie
  • Registratie: April 2000
  • Laatst online: 29-09 19:12
spaceboy schreef op donderdag 21 augustus 2014 @ 08:03:
@ThinkPad: ah, interessant! Hier ga ik de komende weken mee verder. Was ook al van plan om een andere database in te gaan zetten en jouw opzet gaat daar zeker bij helpen. Voorlopig had ik door tijdgebrek gewoon een zo-snel-mogelijk-als-het-maar-werkt dingetje in elkaar gevrot. Zijn er nog meer alternatieven behalve Highcharts en Flot? Die grafieken zijn al een stuk beter dan die rommel van mij, maar ik vind ze nog niet mind-blowing gaaf.
Edit: alhoewel, na een second look is die Highcharts toch wel heel tof. Ga ik 's mee klooien. Thanks! ;)

@gekkie: jawel, die code heb ik:
code:
1
2
3
4
5
6
7
8
9
#!/bin/bash
rrdtool create power.rrd --start N --step 300 \
DS:powerin:GAUGE:600:U:U \
DS:powerout:GAUGE:600:U:U \
RRA:AVERAGE:0.5:1:12 \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:12:720 \
RRA:AVERAGE:0.5:288:365

Heb me er nog niet echt heel erg in verdiept, had al wel gezien dat die database fixed size is. Dat is best knap, maar ik snap dat je dan inderdaad nogal een concessie doet op precisie. Ook daarom: ik houd niet vast aan rrdtool, ik was alleen benieuwd of ik met mijn huidige rrdtool redelijk simpel vloeiende lijnen kon maken.
--step|-s step (default: 300 seconds)
Specifies the base interval in seconds with which data will be fed into the RRD.

Je hebt nu een stepsize van 300 seconden, dus de basis eenheid in de DB (zonder aggregatie) is 1 value per 5 minuten. Dus als jij een grafiekje maakt van zeg het laatste uur .. en dat is zeg 600 pixels breed (10 pixels per minuut dus) dan is elke value al (300/60)*10 = 50 pixels breed.

Aan gezien je data max eens de 10 seconden binnenkomt .. zou je een stepsize moeten hebben van 10 om alle meetpunten op te slaan .. en het meest "vloeiende" resultaat te krijgen (nooit echt vloeiend aangezien rrd van zich zelf niet afrond).

Opzich hoef je niet naar mysql .. uit rrd zou je ook de ruwe data moeten kunnen krijgen en in bijvb highcharts of een andere lib duwen. Die hebben meestal smooth functies waarmee je dan smooth kunt interpoleren. Mishandeling van de werkelijkheid .. maar voor het oog wel mooier :)

edit:
En voor die 4 weken grafiek zou je ook moeten uitrekenen hoeveel datapunten je nodig hebt als je bijvb 1 pixel == 1 datapunt wilt hebben. En vervolgens je aggregatie functie daar op aanpassen.

[ Voor 4% gewijzigd door gekkie op 21-08-2014 10:31 ]


  • schermer
  • Registratie: Mei 2014
  • Laatst online: 30-09 16:29
Ik heb dit ook gemaakt. Gebruik rrdtool voor het opslaan van de slimmemeter gegevens en dump dan wat json die je vrijwel direct kan gebruiken met highchart.

Afbeeldingslocatie: http://i60.tinypic.com/119lzx4.jpg

[ Voor 15% gewijzigd door schermer op 21-08-2014 10:37 ]


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 01-10 16:13

Kees

Serveradmin / BOFH / DoC
spaceboy schreef op donderdag 21 augustus 2014 @ 08:03:

#!/bin/bash
rrdtool create power.rrd --start N --step 300 \
Je slaat elke 300s 1 waarde op
DS:powerin:GAUGE:600:U:U \
DS:powerout:GAUGE:600:U:U \
Je hebt twee dataseries, in en uit.
RRA:AVERAGE:0.5:1:12 \
Van de 300s meetpunten worden er 12 opgeslagen (1 uur)
RRA:AVERAGE:0.5:1:288 \
Daarnaast sla je van diezelfde meetpunten er nog eens 288 op (1 dag)
RRA:AVERAGE:0.5:12:168 \
Vervolgens sla je 168 meetpunten van 1 uur op (7 dagen)
RRA:AVERAGE:0.5:12:720 \
En nog eens dezelfde 1 uurs meetpunten, maar dan sla je het 30 dagen op
RRA:AVERAGE:0.5:288:365
En uiteindelijk sla je 288*300=86400= meetpunt van 1 dag op voor een jaar.

Als je nu een grafiek gaat maken die je '4 weken' noemt maar waar je de start op -1maand zet dan vraag je aan de rrd om data van de laatste 31 dagen (zie je eigen grafiek, 4 volledige weken = 28 dagen + 3 extra meetpunten). Er is maar een RRA waar je 31 dagen aan data in hebt zitten, namelijk de laatste met meetpunten van 1 dag. Rrdtool zal dan ook die meetpunten pakken. en dan krijg je een blokkerige grafiek.

De grafiek met het afgelopen uur heeft hetzelfde euvel. Aangezien je elke 300s 1 meetpunt hebt als resolutie krijg je maar 12 waardes in die grafiek.

Je kan dus meerdere dingen doen, maar ik zou gewoon je database aanpassen naar een wat logischer formaat met veel meer data. Ik las ergens dat je elke 10s data binnen krijgt, dan zou ik gewoon elke 30s de data opslaan. En vervolgens kiezen hoeveel datapunten je in de grafieken wil. Aangezien je grafieken van 500 pixels breed maakt dan wil je minimaal 500 punten opslaan. Maar ik zou minimaal 1000 punten opslaan zodat je de grafieken later ook nog groter kan maken.

Vervolgens gaan we bedenken welke grafieken je wil laten zien. Dan zou ik voor de hoogste resolutie gaan (30s) en dan 500 of 1000 waardes. Dan krijg je een grafiek van de laatste 250 of 500 minuten of 4-8 uur. Je kan er ook 1 of 2 uur van maken zonder dat het al te lelijk wordt: RRA:AVERAGE:0.5:1:1000

Dan wil je een grafiek van de afgelopen dag. 86400 seconden, 1000px breed => meetpunt van 86,4 seconden => maken we 60s van en dan iets meer opslaan zodat hij altijd die step pakt: RRA:AVERAGE:0.5:2:1500

Weekgrafiek van 7 dagen, 604800s, 1000 px, 604,8s per meetpunten, afronden => step van 600s/30s =20 nemen, en dan 1100 punten -> 660k seconden: RRA:AVERAGE:0.5:20:1100

Maandgrafiek: 31 dagen, 2678400s, 40m/30s = 80 step, 1200 values: RRA:AVERAGE:0.5:80:1200

Jaargrafiek: 365 dagen, 31536000s, 8u/30s = 960 step, 1100 punten: RRA:AVERAGE:0.5:960:1100

25 jaar grafiek: RRA:AVERAGE:0.5:24000:1100

code:
1
2
3
4
5
6
7
8
9
rrdtool create power.rrd --start N --step 30 \
DS:powerin:GAUGE:60:U:U \
DS:powerout:GAUGE:60:U:U \
RRA:AVERAGE:0.5:1:1000 \
RRA:AVERAGE:0.5:2:1500 \
RRA:AVERAGE:0.5:20:1100 \
RRA:AVERAGE:0.5:80:1200 \
RRA:AVERAGE:0.5:960:1100 \
RRA:AVERAGE:0.5:24000:1100 \

Het lijkt heel veel data, maar dat is het niet. Je slaat maar 60k waardes op. Maar op deze manier kun je wel de bovenstande grafieken maken waarbij 1 pixel 1 step is in plaats van ~50 pixels = 1 step zoals in je andere grafieken.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • schermer
  • Registratie: Mei 2014
  • Laatst online: 30-09 16:29
Hoge resolutie lange termijn kan je ook dumpen om zo later nog eens in detail terug te kijken. Dus een rrd db met redelijke resolutie voor 2h, 1d en 1w en dan met minder detail lange termijn samples voor 1m en 1y.

Daarnaast sla je gewoon aan het einde van de week/maand de json data of png op en die knoop je handig in een html pagina.

Json dumpje is 3KB, dus van iedere dag + de weken kom je dan uit op 1,3Mb per jaar.

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Wow, bedankt voor de uitleg en het verhaal! Ik snap het ook nog volgens mij! 8)

Ik heb met jouw script-voorbeeld een nieuwe database (...v2) aangemaakt. Met dezelfde input-data (die overigens elke 5 minuten wordt ververst, niet elke 10 seconden, maar dat kan ik best wel aanpassen naar elke 30 sec) vul ik die database v2. Die lijkt alleen niets te doen. Ik het de rrdtool update dus gelijk gelaten. Maakt het uit als je zo'n database aanmaakt die je vertelt dat je hem elke 30 seconden gaat vullen, maar dat slechts 1x per 5 minuten doet? Of heb ik iets anders fout gedaan? Hmmm...

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • gekkie
  • Registratie: April 2000
  • Laatst online: 29-09 19:12
Als je er elke 5 minuten maar 1 waarde in opslaat helpt het natuurlijk niet, dus ik zou vooral eens proberen er wat vaker wat in te schrijven (in een interval die overeenkomt met het aantal datapunten wat je hebt aangemaakt. De truc met RRD is om van te voren af te stemmen welke data op welke interval en met welke gedetaillerdheid je enerzijds nodig hebt (je wilt niet minder datapunten hebben) en anderzijds in welke interval je data uberhaupt kunt aanbieden (heeft geen zin om slots in je rrd database aan te maken die je vervolgens toch niet gaat vullen).

Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Na een boel geklooi ben ik er nu wel klaar mee voorlopig. @Kees: nogmaals dank voor je uitleg, heeft me veel geholpen. Uiteindelijk heb ik ervoor moeten kiezen om met een interval van 1 minuut waarden uit te lezen, omdat de slimme meter te onregelmatig output geeft, waardoor ik bij een interval van elke 30 seconden soms met "gaten in de grafiek" kwam te zitten. Sowieso vind ik elke minuut een meetmoment eigenlijk wel prima. De grafiek is niet heel vloeiend, maar al veel beter dan het was:

Afbeeldingslocatie: http://www.ernstig.com/power_hourly3.png

@schermer: heb jij ergens dat JSON verhaal gevonden met een how-to ofzo? Ik ben geen JSON kenner (zover ik weet is het een soort XML-variant, maar daar houdt mijn kennis op), maar het klinkt wel als een interessante optie om te bekijken als ik weer zin heb om verder te tweaken... ;)

[ Voor 20% gewijzigd door spaceboy op 23-08-2014 11:58 ]

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 08:44
Waarom geeft de meter een onregelmatige output? Ik lees hem (voor nu, ga het aanpassen naar 1 minuut) nog om de 10sec uit (dat is de interval waarop de meter het uitspuugt) en dat gaat opzich prima.

Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 08:50

spaceboy

Op grote hoogte

Topicstarter
Ik ben geen kenner, dus misschien ligt het wel aan mij hoor... 😁
Maar ik heb een Kaifa 305 meter en als ik die uitlees op een willekeurig tijdstip dan weet je nooit of het direct is, of dat het pakweg 5 a 10 seconden duurt voordat hij de gegevens uitspuugt. Ik had hiervoor dus elke 30 seconden een jobje klaargezet, maar dan liep ik per uur 1 a 3 meetmomten mis omdat (vermoed ik) de vorige meting nog niet klaar was. Weet de details niet, maar vind het geen ramp: elke minuut vind ik prima. Wat is jouw reden om terug te gaan naar de minuut? En wat meet jij allemaal? Heb jij nog todo wensen? En wat is jouw ervaring met de stabiliteit van jouw systeem?

[ Voor 6% gewijzigd door spaceboy op 23-08-2014 14:19 ]

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 08:44
Ik heb het nu gewoon andersom, als de meter iets uitspuugt, dan ga ik wegschrijven.

Maar dat gebeurt nu dus om de 10sec, en op die manier raakt m'n database wel erg snel vol. Tevens is de 10sec alleen interessant voor als ik _NU_ wil weten wat ik gebruik. Achteraf grafiekje bekijken kan ook prima met een resolutie van 1 min.

Ik lees alles wat de meter uitspuugt: laagtarief-meterstand, hoogtarief-meterstand, huidig verbruik, gasmeterstand.

Huidig verbruik plot ik met een grafiek (zie blog), en op een aparte pagina (die ik op een iPad aan de muur toon) doe ik nog wat dingen als huidig verbruik (daar wil ik dus wel die 10s resolutie behouden, moet nog even uitzoeken hoe ik telegram om de minuut uitlees, maar actueel verbruik wel om de 10s). Ook toon ik op die pagina het dagverbruik, maandverbruik ( MAX(meterstand) - MIN(meterstand) ), gemiddelde elektriciteitsverbruik afgelopen uur etc.

Acties:
  • 0 Henk 'm!

  • schermer
  • Registratie: Mei 2014
  • Laatst online: 30-09 16:29
Is allemaal vrij simpel, zal kijken of ik het later deze week eens kan uploaden naar m'n github account, zet ik wel een linkje hier.

Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 29-09 19:12
Ik heb inderdaad ook een scriptje wat wacht op nieuwe input van de meter .. en als die eens in de 10 seconden z'n data dumpt .. dan wordt dat geparsed en weggeschreven, heb je ook geen last dat je soms halve berichten krijgt omdat je uitsync aan het uitlezen bent.

(in mijn geval in een tekst bestandje .. wat dan weer geparsed wordt door een zabbix agent .. grafiekjes worden dus ook door zabbix gemaakt. Opzich geen hele wauwie grafiekjes .. maar ach .. staat het bij de rest van de monitoring er tussen)
Pagina: 1