Temperatur der Fritzbox als Plot

Begonnen von Guest, 07 Dezember 2011, 12:47:48

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo zusammen,

habe mit meinen beschränkten Möglichkeiten und viel probieren und
kopieren folgende Konfiguration erstellt. Als Ergebnis bekommt man ein
Logfile und einen Plot der FritzBox.

Und nicht schlagen: wenn ich noch mehr von Perl und fhem verstehe
mache ich es schöner. Wenn ich vorher eine Hilfe bekomme auch noch
schneller:-)



Für die fhem.cfg:

define FritzTemp dummy
define FritzTempLog FileLog ./log/FritzTemp-%Y.log FritzTemp
define FritzTemp_at at +*00:05:00 "(/bin/echo -n "`date '+%Y-%m-%d_%H:
%M:%S FritzTemp T:'` ">> ./log/FritzTemp-2011.log & /usr/bin/
ctlmgr_ctl r power status/act_temperature >> ./log/
FritzTemp-2011.log )"
attr FritzTempLog logtype jb_fritztemp:Plot,text


als jb_fritztemp.gplot
#
# Display the measured temp and the humidity.
# FileLog definition:
# define FileLog /var/log/fhem/hmsname-%Y.log
:T:.*
#
# Logfile record example:
# 2008-07-24_02:20:57 UGHygro T: 17.2  H: 77.6  Bat: ok

# Attribute 'small' is useful for gnuplot/-scroll only,
# if plotsize is less than 800,400
#set terminal png transparent small size crop

set terminal png transparent truecolor rounded medium size
enhanced

set output '.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics nomirror
set y2tics
#set ytics
set title ''
set grid xtics y2tics

set ylabel "Temperatur in C"
#FileLog 4:T\x3a:0:


plot \
  "< awk '/T*/ {print $1, $3)}' " using 1:2 axes x1y1 title
'Temperatur' with lines

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Jogi,

habe Deine Idee auf einer 7170 ausprobiert. Leider erhalte ich für T:
nur eine 0. Welche FB setzt Du ein?

Grüße Jörg

On 7 Dez., 12:47, Jogi wrote:
> Hallo zusammen,
>
> habe mit meinen beschränkten Möglichkeiten und viel probieren und
> kopieren folgende Konfiguration erstellt. Als Ergebnis bekommt man ein
> Logfile und einen Plot der FritzBox.
>
> Und nicht schlagen: wenn ich noch mehr von Perl und fhem verstehe
> mache ich es schöner. Wenn ich vorher eine Hilfe bekomme auch noch
> schneller:-)
>
> Für die fhem.cfg:
>
> define FritzTemp dummy
> define FritzTempLog FileLog ./log/FritzTemp-%Y.log FritzTemp
> define FritzTemp_at at +*00:05:00 "(/bin/echo -n "`date '+%Y-%m-%d_%H:
> %M:%S FritzTemp T:'` ">> ./log/FritzTemp-2011.log & /usr/bin/
> ctlmgr_ctl r power status/act_temperature >> ./log/
> FritzTemp-2011.log )"
> attr FritzTempLog logtype jb_fritztemp:Plot,text
>
> als jb_fritztemp.gplot
> #
> # Display the measured temp and the humidity.
> # FileLog definition:
> # define FileLog /var/log/fhem/hmsname-%Y.log
> :T:.*
> #
> # Logfile record example:
> # 2008-07-24_02:20:57 UGHygro T: 17.2  H: 77.6  Bat: ok
>
> # Attribute 'small' is useful for gnuplot/-scroll only,
> # if plotsize is less than 800,400
> #set terminal png transparent small size crop
>
> set terminal png transparent truecolor rounded medium size
> enhanced
>
> set output '.png'
> set xdata time
> set timefmt "%Y-%m-%d_%H:%M:%S"
> set xlabel " "
> set ytics nomirror
> set y2tics
> #set ytics
> set title ''
> set grid xtics y2tics
>
> set ylabel "Temperatur in C"
> #FileLog 4:T\x3a:0:
>
> plot \
>   "< awk '/T*/ {print $1, $3)}' " using 1:2 axes x1y1 title
> 'Temperatur' with lines

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Jörg,

ich habe eine FB 7390. Wird denn bei dir in das Logfile etwas
vernünftiges geschrieben bzw. bekommst du auf der Konsole der Fritzbox
für den Befehl
" /usr/bin/ctlmgr_ctl r power status/act_temperature" eine Ausgabe?

Viele Grüße

Jogi

On 11 Dez., 16:15, JoWiemann wrote:
> Hallo Jogi,
>
> habe Deine Idee auf einer 7170 ausprobiert. Leider erhalte ich für T:
> nur eine 0. Welche FB setzt Du ein?
>
> Grüße Jörg
>
> On 7 Dez., 12:47, Jogi wrote:
>
>
>
> > Hallo zusammen,
>
> > habe mit meinen beschränkten Möglichkeiten und viel probieren und
> > kopieren folgende Konfiguration erstellt. Als Ergebnis bekommt man ein
> > Logfile und einen Plot der FritzBox.
>
> > Und nicht schlagen: wenn ich noch mehr von Perl und fhem verstehe
> > mache ich es schöner. Wenn ich vorher eine Hilfe bekomme auch noch
> > schneller:-)
>
> > Für die fhem.cfg:
>
> > define FritzTemp dummy
> > define FritzTempLog FileLog ./log/FritzTemp-%Y.log FritzTemp
> > define FritzTemp_at at +*00:05:00 "(/bin/echo -n "`date '+%Y-%m-%d_%H:
> > %M:%S FritzTemp T:'` ">> ./log/FritzTemp-2011.log & /usr/bin/
> > ctlmgr_ctl r power status/act_temperature >> ./log/
> > FritzTemp-2011.log )"
> > attr FritzTempLog logtype jb_fritztemp:Plot,text
>
> > als jb_fritztemp.gplot
> > #
> > # Display the measured temp and the humidity.
> > # FileLog definition:
> > # define FileLog /var/log/fhem/hmsname-%Y.log
> > :T:.*
> > #
> > # Logfile record example:
> > # 2008-07-24_02:20:57 UGHygro T: 17.2  H: 77.6  Bat: ok
>
> > # Attribute 'small' is useful for gnuplot/-scroll only,
> > # if plotsize is less than 800,400
> > #set terminal png transparent small size crop
>
> > set terminal png transparent truecolor rounded medium size
> > enhanced
>
> > set output '.png'
> > set xdata time
> > set timefmt "%Y-%m-%d_%H:%M:%S"
> > set xlabel " "
> > set ytics nomirror
> > set y2tics
> > #set ytics
> > set title ''
> > set grid xtics y2tics
>
> > set ylabel "Temperatur in C"
> > #FileLog 4:T\x3a:0:
>
> > plot \
> >   "< awk '/T*/ {print $1, $3)}' " using 1:2 axes x1y1 title
> > 'Temperatur' with lines- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Jörg und Jogi,

ich bin grundsätzlich ein Mensch der nach Synergien sucht.
Hier eine Lösung ohne viel Aufwand.


  define FB_Temperature_sensor dummy
    attr FB_Temperature_sensor comment Fritzbox device sensor
    attr FB_Temperature_sensor room hidden

  define FB_Temperature FileLog ./log/fhem/%Y-
%m_Temperatur_Fritzbox.log FB_Temperature_sensor
    attr FB_Temperature logtype fht:Temp/Act,text
    attr FB_Temperature room System_log

  define FB_Temperature_link weblink fileplot
FB_Temperature:fht:CURRENT
    attr FB_Temperature_link label "FritzBox temperature: Min
$data{min1}, Max $data{max1}, Last $data{currval1}"
    attr FB_Temperature_link room System

  define d_FB_Temperature at +*00:10:00 "(/bin/echo -n "`date '+%Y-%m-
%d_%H:%M:%S FB_Temperature FHZ:measured-temp:'` ">> ./log/fhem/`date +
%Y-%m`_Temperatur_Fritzbox.log & /usr/bin/ctlmgr_ctl r power status/
act_temperature >> ./log/fhem/`date +%Y-%m`_Temperatur_Fritzbox.log )"
    attr d_FB_Temperature room System_timer


Ich habe übrigens eine Fritzbox 7270v2.

Gruss
Peter

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi Peter,
ich hab dein Beispiel mal in meine .cfg übernommen und nach dem Entfernen
von einigen CR/LF bekomme ich zumindest "nur" noch diese Fehlemeldung.

->> Broken definition: FB_Temperature:fht:CURRENT

Ich hab aber keine Idee was da falsch ist.

Ich hab ne FB7390

Gruß,
Thoralf

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi Peter,
ich hab wieder was gelernt und das FHEM logfile gefunden ;-)

folgender Eintrag könnte zum Thema passen

2011.12.18 21:50:35 1: define: Can't open ./log/fhem/2011-12_Temperatur_Fritzbox.log: No such file or directory
2011.12.18 21:50:35 3: Please define FB_Temperature first
2011.12.18 21:50:35 3: Please define FB_Temperature first

sh: can't create ./log/fhem/2011-12_Temperatur_Fritzbox.log: nonexistent
directory

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi, ich hab's jetzt  :-)
habe auf  http://fhem.de/fhem-5.1-fb7390.image umgestellt.
anschließend musste ich noch die Pfade anpassen: unter ./log gibt's kein
Unterverzeichnis /fhem/


define FB_Temp_Sensor dummy
attr FB_Temp_Sensor comment FritzBox Device Sensor
attr FB_Temp_Sensor room hidden

define FB_Temp FileLog ./log/%Y-%m_Temp_FB.log FB_Temp_Sensor
attr FB_Temp logtype fht:Temp/Act,text
attr FB_Temp room System_log

define FB_Temp_link weblink fileplot FB_Temp:fht:CURRENT
attr FB_Temp_link label "FritzBox Temperatur: Min $data{min1}, Max
$data{max1}, Last $data{currval1}"
attr FB_Temp_link room System

define d_FB_Temp at +*00:10:00 "(/bin/echo -n "`date '+%Y-%m-%d_%H:%M:%S
FB_Temp FHZ:measured-temp:'` ">> ./log/`date +%Y-%m`_Temp_FB.log &
/usr/bin/ctlmgr_ctl r power status/act_temperature >> ./log/`date
+%Y-%m`_Temp_FB.log )"
attr d_FB_Temp room System_timer


Gruß,
Thoralf

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Moin Thoralf,
läuft dein FHEM als root oder als boxusr80?
Bei mir ist es letzterer und ich bekomme keine Temperaturwerte :-(

Gruß
René

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

jorge

                                         

FRITZ!Box Fon WLAN 7390
Firmware: FRITZ!OS 05.20
FHEM 5.2

Nach der Umstellung auf die Neue FritzBox / FHEM Firmware kann ich
mit   "/usr/bin/ctlmgr_ctl r power status/act_temperature" die
Temperaturwerte nicht mehr auslesen. Somit wird auch keine Temepartur
ins LogFile geschrieben. Über Telnet bekomme ich die Temperatur
angezeigt.

...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM.RaspberryPi 2 (HM, 1Wire, Callmonitor.FB 7490, GPIO, I2C, MQTT-Server, MCP23018)
FHEM.RaspberryPi  (FHEM2FHEM, CUL, FS20)
FHEM.RPiZeroW (I2C, 1Wire, python.api, XiaomiBTLESens.MQTT)
FHEM.Win7 (FHEM2FHEM,DBLOG.MySql)
ESPEasy (WEMOSD1, I2C, Analog, 1Wire), Sonoff_T1_3ch, Mobotix QM25, robonect

rudolfkoenig

                                                   

> FHEM 5.2

Laeuft fhem evtl. als fhem user? Wenn letzteres, dann bitte den Abschnitt aus
startfhem auskommentieren, und mit root nochmal versuchen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

jorge

                                         

Am Dienstag, 13. März 2012 12:20:05 UTC+1 schrieb Rudolf Koenig:
>
> > FHEM 5.2
>
> Laeuft fhem evtl. als fhem user? Wenn letzteres, dann bitte den Abschnitt
> aus
> startfhem auskommentieren, und mit root nochmal versuchen.
>
Habe aus startfhem folgendes herauskommentiert:

# let FHEM run as user boxusr80 by adding user fhem with uid of boxusr80
#id fhem > /dev/null 2>&1
#if [ "$?" -ne "0" ]; then
#  echo "user fhem does not exist. Adding it."
#  echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
#fi

# set file ownership
#chown -R boxusr80 ${home}/log
#chown -R boxusr80 ${home}/FHEM

#chown root ${home}/dfu-programmer
#chmod 4755 ${home}/dfu-programmer


und fhem neu gestartet: Keine Veränderung

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM.RaspberryPi 2 (HM, 1Wire, Callmonitor.FB 7490, GPIO, I2C, MQTT-Server, MCP23018)
FHEM.RaspberryPi  (FHEM2FHEM, CUL, FS20)
FHEM.RPiZeroW (I2C, 1Wire, python.api, XiaomiBTLESens.MQTT)
FHEM.Win7 (FHEM2FHEM,DBLOG.MySql)
ESPEasy (WEMOSD1, I2C, Analog, 1Wire), Sonoff_T1_3ch, Mobotix QM25, robonect

rudolfkoenig

                                                   

> und fhem neu gestartet: Keine Veränderung

Ich meine es ist auch ein FB neustart notwendig, oder man loescht fhem aus
/etc/passwd vor startfhem.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

jorge

                                         

On 13 Mrz., 13:18, Rudolf Koenig wrote:
> > und fhem neu gestartet: Keine Ver nderung
>
> Ich meine es ist auch ein FB neustart notwendig, oder man loescht fhem aus
> /etc/passwd vor startfhem.

Danke, Rudi, Eintrag ins LogFile klappt nach Neustart wieder.

Allerdings ergibt die Eingabe von "/usr/bin/ctlmgr_ctl r power status/
act_temperature" in der fhem Kommandoszeile noch immer kein Ergebnis.
Ich würde auch gern diese Temperatur im floorplan anzeigen. Allerdings
zeigt mein dafür definierter dummy "FritzTemp" nur state ???

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM.RaspberryPi 2 (HM, 1Wire, Callmonitor.FB 7490, GPIO, I2C, MQTT-Server, MCP23018)
FHEM.RaspberryPi  (FHEM2FHEM, CUL, FS20)
FHEM.RPiZeroW (I2C, 1Wire, python.api, XiaomiBTLESens.MQTT)
FHEM.Win7 (FHEM2FHEM,DBLOG.MySql)
ESPEasy (WEMOSD1, I2C, Analog, 1Wire), Sonoff_T1_3ch, Mobotix QM25, robonect

rudolfkoenig

                                                   

> define FritzTemp_at at +*00:05:00 "(/bin/echo -n "`date '+%Y-%m-%d_%H:
> %M:%S FritzTemp T:'` ">> ./log/FritzTemp-2011.log & /usr/bin/
> ctlmgr_ctl r power status/act_temperature >> ./log/
> FritzTemp-2011.log )"
>

Evtl. kuerzer/lesbarer:

define FritzTemp_at at +*00:05 { fhem "trigger FritzTemp T:".`ctlmgr_ctl r
power status/act_temperature` }

Das loggen wird dann vom oben definierten FileLog uebernommen (dafuer ist
es ja schliesslich auch da), und man kann auch einfach notifies bauen, fuer
den Fall dass es zu kalt/warm wird.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

jorge

                                         

Bin etwas schlauer geworden, was das Auslesen von FB Werten macht,
auch dank Uli, dessen Sub in 99_myFoorplanList.pm  die Werte sehr
schön im Floorplan anzeigt.

Ich hab nun eine sub (in 99_myUtile.pm) gebastelt, mit der die FB
Werte komfortabel in ein Logfile geschrieben werden, und dann als
gplot angezeigt werden:

sub
SaveFritzValuesInLogFile()
{
my %FritzValues =
(
"T" => int(`ctlmgr_ctl r power status/act_temperature`),
"G" => int(`/usr/bin/ctlmgr_ctl r power status/rate_sumact`),
"E" => int(`/usr/bin/ctlmgr_ctl r power status/rate_ethact`),
"U" => `/usr/bin/ctlmgr_ctl r power status/rate_usbhostact`
****add more values...
);

my $LogString = substr(`date '+%Y-%m-%d_%H:%M:%S FritzBox'`,0,-1);

my $tag ='';
my $value = '';

while (($tag, $value) = each(%FritzValues))
{
 $LogString.=" ".$tag.": ".$value;
}

my $LogFile = ">>./log/FritzBox-".substr(`date '+%Y-%m'`,0,-1).".log";

open(LOG, $LogFile);
print LOG $LogString;
close (LOG);
return ($LogString);
}


und dazu values_fb.gplot:

#
# Display FritzBox Values
# FileLog definition:
## define FritzBoxTempLog FileLog ./log/FritzBox-%Y-%m.log
FritzBoxTemp
## attr FritzBoxTempLog room FritzBox7390

##define FritzBoxTemp_at at +*00:30:00 {SaveFritzValuesInLogFile()}

##attr FritzBoxTemp_at room FritzBox7390

##attr FritzBoxTempLog logtype text
##attr FritzBoxTempLog room FritzBox7390

##define fileplot_FritzBoxTemp weblink fileplot
FritzBoxTempLog:values_fb:CURRENT
##attr fileplot_FritzBoxTemp room FritzBox7390
# Logfile record example:
# 2012-03-18_10:43:11 FritzBox T: 35 G: 63 E: 53 U: 60

# Attribute 'small' is useful for gnuplot/-scroll only,
# if plotsize is less than 800,400
# set terminal png transparent small size crop

set terminal png transparent size crop

set output '.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics nomirror
set y2tics
#set ytics
set title ''
set grid xtics y2tics
set multiplot
set y2label "Temp / %"


#FileLog 4:T\x3a:0:
#FileLog 6:G\x3a:0:
#FileLog 8:E\x3a:0:
#FileLog 10:U\x3a:0:

plot \
     "< awk '/T:/ {print $1, $4}' "\
     using 1:2 axes x1y2 title 'Temperatur Grd' with lines lw 1
     "< awk '/C:/ {print $2, $4}' "\
     using 1:2 axes x1y2 title 'CPU %' with lines lw 1
     "< awk '/P:/ {print $3, $4}' "\
     using 1:2 axes x1y2 title 'Ethernet %' with lines lw 1
     "< awk '/P:/ {print $3, $4}' "\
     using 1:2 axes x1y2 title 'USB %' with lines lw 1


---
Dabei hatte ich so meine Mühe, die Parameter in .gplot zu setzen...

Jörg (JWK)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM.RaspberryPi 2 (HM, 1Wire, Callmonitor.FB 7490, GPIO, I2C, MQTT-Server, MCP23018)
FHEM.RaspberryPi  (FHEM2FHEM, CUL, FS20)
FHEM.RPiZeroW (I2C, 1Wire, python.api, XiaomiBTLESens.MQTT)
FHEM.Win7 (FHEM2FHEM,DBLOG.MySql)
ESPEasy (WEMOSD1, I2C, Analog, 1Wire), Sonoff_T1_3ch, Mobotix QM25, robonect