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 jwk und Rudolf

Entschuldigt die Einsteigerfrage:
Der Perlcode in 99_myUtils.PM erschliesst sich mir als Anfänger, aber der
Rest, in jwk's Codebeispiel ab  "und dazu values_fb.gplot: "  ist mir ein
Rätsel.  
- das alles in fhem.cfg?
- Haben die auskommentierten Zeilen # und ## noch für andere Verwendung?

Gibt es eine konsolidierte Fassung der Konfig, PM und ein Bild des
resultierenden Plots und der Anzeige der Werte in Floorplan mit CSS,
möglichst im Wiki ?
Würde mir als Einsteiger unendlich helfen.

Als Anregung:
Auch andere Posts wären viel lesbarar, wenn die funktionierende Config und
Beispiel als ganzes ins Wiki wandern würde.   In den Groups sind sie später
schwer zu finden, haben unkontrollierte Zeilenumbrüche oder sind kaum von
den nicht funktionierenden Beispielen zu unterscheiden.
Wenn das Beispiel als Datei vorhanden würde ich die Arbeit das Wiki zu
schreiben erledigen.

Danke für das komplette, funktionierende Beispiel.

Gruss
Aare
Am Donnerstag, 15. März 2012 12:21:19 UTC+1 schrieb Rudolf Koenig:
>
>
> 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

                                         

Hallo Aare,

Sorry, dass das nicht deutlich wurde:

Alles in values.gplot als Datei im FHEM Verzeichnis speichern (da sind
schon andere *.gplots...)
Dann alles im fhem.cfg speichern, was mit ## in values.gplot
auskommentiert ist.

Wenn es funktioniert, fühl dich frei, dass dann ins wiki einzutragen.

Jörg

On 19 Mrz., 01:17, Aare07 wrote:
> Hallo jwk und Rudolf
>
> Entschuldigt die Einsteigerfrage:
> Der Perlcode in 99_myUtils.PM erschliesst sich mir als Anfänger, aber der
> Rest, in jwk's Codebeispiel ab  "und dazu values_fb.gplot: "  ist mir ein
> Rätsel.
> - das alles in fhem.cfg?
> - Haben die auskommentierten Zeilen # und ## noch für andere Verwendung?
>
> Gibt es eine konsolidierte Fassung der Konfig, PM und ein Bild des
> resultierenden Plots und der Anzeige der Werte in Floorplan mit CSS,
> möglichst im Wiki ?
> Würde mir als Einsteiger unendlich helfen.
>
> Als Anregung:
> Auch andere Posts wären viel lesbarar, wenn die funktionierende Config und
> Beispiel als ganzes ins Wiki wandern würde.   In den Groups sind sie später
> schwer zu finden, haben unkontrollierte Zeilenumbrüche oder sind kaum von
> den nicht funktionierenden Beispielen zu unterscheiden.
> Wenn das Beispiel als Datei vorhanden würde ich die Arbeit das Wiki zu
> schreiben erledigen.
>
> Danke für das komplette, funktionierende Beispiel.
>
> Gruss
> Aare
> Am Donnerstag, 15. März 2012 12:21:19 UTC+1 schrieb Rudolf Koenig:
>
>
>
>
>
>
>
>
>
> > 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
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

bgewehr

Was haltet Ihr von dieser Kurzfassung:
 
sub SaveFritzValuesInLogFile()
{
my $FritzValues = " W: " . int(`ctlmgr_ctl r wlan
settings/active_stations`) .
 " T: " . int(`ctlmgr_ctl r power status/act_temperature`) .
 " G: " . int(`ctlmgr_ctl r power status/rate_sumact`) .
 " E: " . int(`ctlmgr_ctl r power status/rate_ethact`) .
 " U: " . int(`ctlmgr_ctl r power status/rate_usbhostact`) . "\n";
my $LogString = substr(`date '+%Y-%m-%d_%H:%M:%S FritzBox'`,0,-1) .
$FritzValues;
my $LogFile = ">>./log/FritzBox-".substr(`date '+%Y-%m'`,0,-1).".log";
open(LOG, $LogFile);
print LOG $LogString;
close (LOG);
return ($LogString);
}

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Was haltet Ihr von dieser Kurzfassung:
 
sub SaveFritzValuesInLogFile()
{
my $FritzValues = " W: " . int(`ctlmgr_ctl r wlan
settings/active_stations`) .
 " T: " . int(`ctlmgr_ctl r power status/act_temperature`) .
 " G: " . int(`ctlmgr_ctl r power status/rate_sumact`) .
 " E: " . int(`ctlmgr_ctl r power status/rate_ethact`) .
 " U: " . int(`ctlmgr_ctl r power status/rate_usbhostact`) . "\n";
my $LogString = substr(`date '+%Y-%m-%d_%H:%M:%S FritzBox'`,0,-1) .
$FritzValues;
my $LogFile = ">>./log/FritzBox-".substr(`date '+%Y-%m'`,0,-1).".log";
open(LOG, $LogFile);
print LOG $LogString;
close (LOG);
return ($LogString);
}

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Dazu die kurze values_fb.gplot:
 
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 ylabel "WLAN"
set y2label "Temp / %"
#FileLog 4:::
#FileLog 6:::
#FileLog 8:::
#FileLog 10:::
#FileLog 12:::
plot      "" using 1:4 axes x1y1 title 'WLAN active' with lines lw 1,
          "" using 1:6 axes x1y2 title 'Temperatur Grd' with lines lw
1,
          "" using 1:8 axes x1y2 title 'CPU %' with lines lw 1,
          "" using 1:10 axes x1y2 title 'Ethernet %' with lines lw 1,
          "" using 1:12 axes x1y2 title 'USB %' with lines lw 1

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Aber jetzt der Knaller:
 
Meine Fritzbox HAT KEINEN ENERGIEVERBRAUCH MEHR! 0% wird angezeigt... was
habe ich denn jetzt angestellt?
 

<https://lh6.googleusercontent.com/-vfFoTy_kIsU/UNrdYHkfJ7I/AAAAAAADTkM/T0N4RBteVts/s1600/Fritz_box_Energiemonitor.jpg>
Weiß jemand Rat? Neustart bringt nichts...
 

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

rudolfkoenig

> my $LogString = substr(`date '+%Y-%m-%d_%H:%M:%S FritzBox'`,0,-1) .
> $FritzValues;
> my $LogFile = ">>./log/FritzBox-".substr(`date '+%Y-%m'`,0,-1).".log";
> open(LOG, $LogFile);
> print LOG $LogString;
> close (LOG);

Stattdessen haette ich lieber
  DoTrigger("global", "FritzBox $FritzValues");
verwendet, dann koennte man das einfach auch in FileLog/notify/watchdog/etc
auswerten.  Weiss es jemand, ob diese ctlmgr_ctl Funktionen sich verklemnmen
koennen? Das waere naemlich schlecht.

Btw. husch-husch ins forum.fhem.de, fhem-users wird in 5 Tagen auf read-only
gesetzt.

Gruss,
  Rudi

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

bgewehr

Hallo!

Habe ich so umgesetzt. Nun erscheinen die Einträge zwar im Event log, aber nicht mehr im Filelog FritzboxTemplog.

Wie mache ich dann meinen Plot davon?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

OK, nun habe ich nach und nach etwas mehr kapiert:

## fhem.cfg
## FritzBox Device definieren und als Callmonitor verwenden (nehmt EURE IP der Fritzbox, natürlich ohne XXX!)
define FritzBox FB_CALLMONITOR 192.168.XXX.1
attr FritzBox group Telefonie
attr FritzBox local-area-code 0201
attr FritzBox reverse-search all
attr FritzBox reverse-search-cache 1
attr FritzBox reverse-search-cache-file ./cachefile
attr FritzBox room System

## Fritzbox Filelog definieren
define FileLog_FritzBox FileLog ./log/FritzBox-%Y-%m.log FritzBox
attr FileLog_FritzBox logtype text
attr FileLog_FritzBox room Z_Log

## FritzBox Temperaturverlauf und angemeldete WLAN-Geräte als Plot darstellen
define fileplot_FritzBox weblink fileplot FileLog_FritzBox:values_fb:CURRENT
attr fileplot_FritzBox room System

## Timer für Datenabfrage der Fritzbox
define FritzBox_at at +*00:05:0 {CallFritzValues()}
attr FritzBox_at room Z_Timer

## Anwesenheit von Bernds-iPhone im WLAN checken
## Ich habe Portraits mit dem Namen Bernd_at_home.anwesend.png und Bernd_at_home.abwesend.png erzeugt und in www/images/default gelegt,
## das abwesend-Portrait ist rot durchgestrichen, dann rereadicons auf Web & Co. anwenden, damit die icons verwendet werden.
define Bernd_at_home dummy
attr Bernd_at_home fp_Grundriss 15,190,0,
attr Bernd_at_home group Anwesenheitsstatus:
attr Bernd_at_home room Anwesenheit
## Anwesenheit abfragen
define WLAN1 notify WLAN1 {FBWLanDevActive("Bernds-iPhone", "Bernd_at_home")}
attr WLAN1 room Z_Notify
define search_for_Bernd_at_home at +*00:05:00 trigger WLAN1
attr search_for_Bernd_at_home room Z_Timer

######### Ende fhem.cfg

######### Datei für eigene Subroutinen: 99_util_private.pm
## Anwesenheitscheck
sub FBWLanDevActive($$) {
 my $net_device1=@_[0];
 my $myLength=length($net_device1);
 my $number=0;
 my $status=0;
 my $net_device="";
 my $net_device2="";
 my $attendance="";
 while($number <= 25){
   $net_device=qx(/usr/bin/ctlmgr_ctl r landevice settings/landevice$number/name);
   $net_device2=substr($net_device, 0, $myLength);
 if($net_device2 eq $net_device1){
    $status=qx(/usr/bin/ctlmgr_ctl r landevice settings/landevice$number/active);
     if ($status == 1) {last;}
   }
   $number++;
 }
 if ($status == 1) {$attendance="Anwesend";}else{$attendance="Abwesend";}
 if(Value("@_[1]") ne $attendance){fhem "set @_[1] $attendance"}
}

## Fritzvalues abfragen
sub CallFritzValues()
{
my $FritzValues = "W: " . int(`ctlmgr_ctl r wlan settings/active_stations`) .
 " T: " . int(`ctlmgr_ctl r power status/act_temperature`) .
 " G: " . int(`ctlmgr_ctl r power status/rate_sumact`) .
 " E: " . int(`ctlmgr_ctl r power status/rate_ethact`) .
 " U: " . int(`ctlmgr_ctl r power status/rate_usbhostact`);

  DoTrigger("FritzBox", "$FritzValues");
}

## Ende 99_util_private.pm

Das Ergebnis sieht dann so aus, wie auf dem Bild.

(//index.php?t=getfile&id=1131&private=0)

In diesem Beispiel wären wir alle nicht zuhause...

Über Eure Rückmeldungen und Verbesserungsvorschläge würde ich mich freuen!

Vielleicht kann ja der Teil mit Anwesenheitsprüfung mit in die FritzBoxUtils.pm?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Es fehlt natürlich noch die Plot-Definitionsdatei

## als values_fb.gplot speichern
set terminal png transparent size <SIZE> crop

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

#FileLog 4:::
#FileLog 6:::
#FileLog 8:::
#FileLog 10:::
#FileLog 12:::

plot      "<IN>" using 1:4 axes x1y1 title 'WLAN active' with lines lw 1,
          "<IN>" using 1:6 axes x1y2 title 'Temperatur Grd' with lines lw 1,
          "<IN>" using 1:8 axes x1y2 title 'CPU %' with lines lw 1,
          "<IN>" using 1:10 axes x1y2 title 'Ethernet %' with lines lw 1,
          "<IN>" using 1:12 axes x1y2 title 'USB %' with lines lw 1
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

OK, war keine gute Idee, das Device FritzBox für CallMonitor und das Temperaturplot gleichzeitig zu verwenden und dann nicht im gplot die Filterung auf die Zeilen mit T: Variablen usw vorzunehmen. Jedesmal, wenn jetzt ein Telefonat geführt wird, wird das Plot unterbrochen, das korrigiere ich noch...
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

So, hier die korrigierte values_fb.gplot:


set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics nomirror
set y2tics
#set ytics
set title '<TL>'
set grid xtics y2tics
set multiplot
set ylabel "WLAN"
set y2label "Temp / %"

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

plot      "<IN>" using 1:4 axes x1y1 title 'WLAN active' with lines lw 1,
          "<IN>" using 1:6 axes x1y2 title 'Temperatur Grd' with lines lw 1,
          "<IN>" using 1:8 axes x1y2 title 'CPU %' with lines lw 1,
          "<IN>" using 1:10 axes x1y2 title 'Ethernet %' with lines lw 1,
          "<IN>" using 1:12 axes x1y2 title 'USB %' with lines lw 1
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Asuries

Hallo zusammen,

ich muß aare07 Recht geben. Gerade für mich als Anfänger ist hier leider nicht mehr
ersichtlich was genau wo hingehört und was schlußendlich die letzte "lauffähige" Variante
ist. Also wenn sich jemand erbarmen könnte und die Posts nochmal zusammenfassen könnte
wäre mir sehr geholfen. Vielen Dank euch!

Gruß
Stefan
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.