Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
pomoc przy wykresach
25.03.2012, 21:41
Post: #1
pomoc przy wykresach
popelnilem sobie pomiar temp w mieszkaniu taki na poczatek, planuje rozbudowe o czujniki cisnienia wilgotnosci i temp na zewnatrz, bardzo fajna instrukcja ktora zamiesciles, mialem troche klopotow z konfiguracja routera ale juz smiga. Natomiast chcialem zapytac o wykresy. Pojawia mi sie dziwne A miedzy dana temp. a znacziem stopni celsjusza. nie wiem jak sie tego pozbyc . Nie znam sie wcale na programowaniu nie mam pojecia jak to zmienic.
link do wykresu http://postmb85.dyndns.org:81/pomiary/temp/24h.png
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
25.03.2012, 22:44
Post: #2
RE: pomoc przy wykresach
(25.03.2012 21:41)miszaa napisał(a):  Pojawia mi sie dziwne A miedzy dana temp. a znacziem stopni celsjusza. nie wiem jak sie tego pozbyc .

Wrzuć tutaj fragment skryptu którym generujesz wykres.

Automatyka domowa w oparciu o urządzenia 1-wire.
Domowa Stacja Pogody zrób to sam Shy
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
29.03.2012, 18:39
Post: #3
RE: pomoc przy wykresach
dlugo sie nie odzywalem ale juz jestem oto plik rrd_graph.sh

#!/bin/bash

# -----------------------| generujemy wykresy |-----------------------
#
# tutaj generujemy wykresy. Tutaj wiemy ze jestesmy juz po
# odczycie czujnikow - mamy czas az do nastepnego odczytu...
#
# tr '_ąćęłńóśźżĄĆĘŁŃÓŚŹŻ' ' acelnoszzACELNOSZZ'
#
home="/tmp/rrd"

home_temp="$home/temp"
home_prad="$home/prad"

# Katalogow moze nie byc jesli byl restart maszynki, sprawdzamy i
# jak cos to robimy
if [ ! -d "$home_temp" ] ;then
mkdir "$home_temp"
fi
if [ ! -d "$home_prad" ] ;then
mkdir "$home_prad"
fi

# Bedzie widoczna na wykresach u góry, można wpisać inny format np.
dat=`date '+%Y-%m-%d %H:%M'`

for i in 24h 7d 5w 1y
do
if [ "$i" == "24h" ] ;then
# to takie czary mary aby w wykresie godzinnym były gęściej godziny
# na osi X (domyślnie są tylko dwa opisy)
gr="-x HOUR:1:HOUR:6:HOUR:6:0:%a_%H:00"
else
gr=""
fi

# Temperatury zewnetrzne (i powiazane)
echo -n "Temp. zewnetrzne $i "
rrdtool graph ${home_temp}/$i.png \
-A -s -$i -e now -a PNG -z -Y \
-v "Temperatura °C" -t "$dat" -W "Pod Zegarem" $gr \
"DEF:dol=${home}/dolot_wody.rrd:dolot_wody:AVERAGE" \
"DEF:doi=${home}/dolot_wody.rrd:dolot_wody:MIN" \
"DEF:dox=${home}/dolot_wody.rrd:dolot_wody:MAX" \
"DEF:pok=${home}/pokoj_muzyczny.rrd:pokoj_muzyczny:AVERAGE" \
"DEF:poi=${home}/pokoj_muzyczny.rrd:pokoj_muzyczny:MIN" \
"DEF:pox=${home}/pokoj_muzyczny.rrd:pokoj_muzyczny:MAX" \
"DEF:kor=${home}/korytarz.rrd:korytarz:AVERAGE" \
"DEF:koi=${home}/korytarz.rrd:korytarz:MIN" \
"DEF:kox=${home}/korytarz.rrd:korytarz:MAX" \
"DEF:sal=${home}/salon.rrd:salon:AVERAGE" \
"DEF:sai=${home}/salon.rrd:salon:MIN" \
"DEF:sax=${home}/salon.rrd:salon:MAX" \
COMMENT:" " \
COMMENT:" Min Max Avg Last\n" \
LINE1:dol#0000FF:"dolot_wody " \
GPRINT:doi:MIN:" %5.2lf °C" \
GPRINT:dox:MAX:" %5.2lf °C" \
GPRINT:dol:AVERAGE:" %5.2lf °C" \
GPRINT:dol:LAST:" %5.2lf °C\n" \
LINE1:pok#00FFFF:"pokoj_muzyczny " \
GPRINT:poi:MIN:" %5.2lf °C" \
GPRINT:pox:MAX:" %5.2lf °C" \
GPRINT:pok:AVERAGE:" %5.2lf °C" \
GPRINT:pok:LAST:" %5.2lf °C\n" \
LINE1:kor#00FF00:"korytarz" \
GPRINT:koi:MIN:" %5.2lf °C" \
GPRINT:kox:MAX:" %5.2lf °C" \
GPRINT:kor:AVERAGE:" %5.2lf °C" \
GPRINT:kor:LAST:" %5.2lf °C\n" \
LINE1:sal#865F00:"salon " \
GPRINT:sai:MIN:" %5.2lf °C" \
GPRINT:sax:MAX:" %5.2lf °C" \
GPRINT:sal:AVERAGE:" %5.2lf °C" \
GPRINT:sal:LAST:" %5.2lf °C\n"

# Temperatury na parterze
echo -n "Temp. parter $i "
rrdtool graph ${home_temp}/0p.$i.png \
-A -s -$i -e now -a PNG -z -Y \
-v "Temperatura °C" -t "$dat" -W "Pod Zegarem" $gr \
"DEF:dol=${home}/dolot_wody.rrd:dolot_wody:AVERAGE" \
"DEF:doi=${home}/dolot_wody.rrd:dolot_wody:MIN" \
"DEF:dox=${home}/dolot_wody.rrd:dolot_wody:MAX" \
"DEF:pok=${home}/pokoj_muzyczny.rrd:pokoj_muzyczny:AVERAGE" \
"DEF:poi=${home}/pokoj_muzyczny.rrd:pokoj_muzyczny:MIN" \
"DEF:pox=${home}/pokoj_muzyczny.rrd:pokoj_muzyczny:MAX" \
"DEF:kor=${home}/korytarz.rrd:korytarz:AVERAGE" \
"DEF:koi=${home}/korytarz.rrd:korytarz:MIN" \
"DEF:kox=${home}/korytarz.rrd:korytarz:MAX" \
"DEF:sal=${home}/salon.rrd:salon:AVERAGE" \
"DEF:sai=${home}/salon.rrd:salon:MIN" \
"DEF:sax=${home}/salon.rrd:salon:MAX" \
COMMENT:" " \
COMMENT:" Min Max Avg Last\n" \
AREA:dol#ffff00:"dolot_wody " \
GPRINT:doi:MIN:" %5.2lf °C" \
GPRINT:dox:MAX:" %5.2lf °C" \
GPRINT:dol:AVERAGE:" %5.2lf °C" \
GPRINT:dol:LAST:" %5.2lf °C\n" \
LINE1:pok#0000FF:"pokoj_muzyczny " \
GPRINT:poi:MIN:" %5.2lf °C" \
GPRINT:pox:MAX:" %5.2lf °C" \
GPRINT:pok:AVERAGE:" %5.2lf °C" \
GPRINT:pok:LAST:" %5.2lf °C\n" \
LINE1:kor#00FF00:"korytarz" \
GPRINT:koi:MIN:" %5.2lf °C" \
GPRINT:kox:MAX:" %5.2lf °C" \
GPRINT:kor:AVERAGE:" %5.2lf °C" \
GPRINT:kor:LAST:" %5.2lf °C\n" \
LINE1:sal#865F00:"salon " \
GPRINT:sai:MIN:" %5.2lf °C" \
GPRINT:sax:MAX:" %5.2lf °C" \
GPRINT:sal:AVERAGE:" %5.2lf °C" \
GPRINT:sal:LAST:" %5.2lf °C\n"

#00a000 - ciemno zielony
#00FF00 - zielony
#a000a0 - ciemny fiolet
#FF0000 - czerwony
#FF00FF - różowy
#865F00 - brąz
#00FFFF - jasno niebieski
#33CCCC - pastelowy niebieski
#0000FF - niebieski
#9900FF - fiolet
#ffff00 - żółty
#555555 - szary
#


# Zuzycie pradu
# echo -n "Prąd $i "
#rrdtool graph ${home_prad}/$i.png \
# -A -s -$i -e now -a PNG -z -Y \
# -v "obciazenie [W]" -t "$dat" -W "Tomkii.net" $gr \
# "DEF:in=${home}/Prad.rrd:Prad:AVERAGE" \
# "DEF:ii=${home}/Prad.rrd:Prad:MIN" \
# "DEF:ix=${home}/Prad.rrd:Prad:MAX" \
#CDEF:pra=in,7,GT,UNKN,in,IF,3600,* \
# CDEF:pri=ii,7,GT,UNKN,in,IF,3600,* \
# CDEF:prx=ix,7,GT,UNKN,in,IF,3600,* \
# COMMENT:" " \
# COMMENT:" Min Max Avg Last\n" \
# LINE1:pra#0000FF:"Obciazenie " \
# GPRINT:pri:MIN:" %5.2lf W" \
# GPRINT:prx:MAX:" %5.2lf W" \
# GPRINT:pra:AVERAGE:" %5.2lf W" \
#GPRINT:pra:LAST:" %5.2lf W\n"
# Dla skoku powyzej 7 (24kW) dajemy UNKN, w przeciwnym razie ok
# mnozymy * 3600
# Przekrecanie sie licznika zalatwia nam to ze jest to typ
# COUNTER a nie DERIVE (pilnuje przekrecen 32bit i 64bit!)

done

#<EOF>
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
29.03.2012, 20:41
Post: #4
RE: pomoc przy wykresach
Plik wygląda dobrze.
Najbardziej prawdopodobne mi się wydaje że wkleił Ci się jakiś znak przy wstawianiu znaku stopnia i jest niewidoczny pod edytorem. Spróbuj skasować puste miejsce i ponownie wstawić spację.

Automatyka domowa w oparciu o urządzenia 1-wire.
Domowa Stacja Pogody zrób to sam Shy
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
31.03.2012, 12:49
Post: #5
RE: pomoc przy wykresach
probowalem na rozne sposoby , gdy calkowicie usune znak ° i wykasuje puste miejsce jest ok , tyle ze ma C a nie °C wszelkie inne kombinacje powoduje pokazanie sie dziwnego A na wykresie. Pewnie wina lezy po stronie kodowej routera . Szukam teraz jak wstawic taki znak stopni celsjusza w unicode . W windowsie bylo prosto lewy alt i symbol znaku . Obecnie uzywam maca to juz nie dziala tak prosto ale w unixie to juz wogole nie wiem , moze trzeba jakies dodatkowe biblioteki .
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 




Użytkownicy przeglądający ten wątek: 1 gości