[Info] Fritz Temperatur (kleines Tool für DECT Geräte)

Alois1

Neuer User
Mitglied seit
24 Jun 2009
Beiträge
35
Punkte für Reaktionen
4
Punkte
8

Anhänge

  • FritzTemp.png
    FritzTemp.png
    140.1 KB · Aufrufe: 855
  • FritzTemp_v1.2017.0108.2015.zip
    1.7 MB · Aufrufe: 768
Zuletzt bearbeitet:
Gibt es dazu auch einen Soucecode oder ist der auf "access denied" gesetzt ?
 
Also richtig cool wäre es, wenn das auf einem Raspberry Pi laufen würde und in eine RRDtool Datenbank schreiben würde, dann könnte man das permanent laufen lassen, beliebige Diagramme erzeugen lassen und auch online zugänglich machen, so mache ich das mit den Daten meiner Wetterstation.

Habe mir das PDF von AVM vor geraumer Zeit schon mal angeschaut, aber das mit der Authentifizierung und der Session-ID ist doch etwas aufwändige Fummelei, da habe ich gerade keine Nerven dazu...

Gruß

Kabuse
 
Wie man sieht, sieht man nix? AVAST vermutet EVOGEN-Trojaner, aber via Virustotal wohl sonst clean.
Getestet W10x64 FF aktuell, FB7490 6.80 und FB7390 aktuelle Labor. Angemeldet 2 Dect200 und 1 Comet. In der ini sowohl mit fritz.box alsauch IP getestet.
LG
 

Anhänge

  • Screen Shot 17-01-08 at 05.01 PM.JPG
    Screen Shot 17-01-08 at 05.01 PM.JPG
    173.2 KB · Aufrufe: 252
  • Screen Shot 17-01-08 at 05.15 PM.JPG
    Screen Shot 17-01-08 at 05.15 PM.JPG
    207.6 KB · Aufrufe: 273
Wie man sieht, sieht man nix? AVAST vermutet EVOGEN-Trojaner, aber via Virustotal wohl sonst clean.
Getestet W10x64 FF aktuell, FB7490 6.80 und FB7390 aktuelle Labor. Angemeldet 2 Dect200 und 1 Comet. In der ini sowohl mit fritz.box alsauch IP getestet.
LG
Ich nehme an das liegt an der Auflösung deines Bildschirms. Das Programmfenster hat eine Auflösung von 1014x774.
Normalerweise ist das Bild erstmal leer. Erst nachdem Betätigen der "Login" Schaltfläche werden die Daten geholt.

Die .exe Datei wurde mit UPX komprimiert. Kann sein das AVAST deswegen anschlägt.

Im ersten Beitrag habe ich eine neue Version angehängt die dein Problem beheben sollte.
Bei kleineren Auflösungen werden vertikale und horizontale Scrollbars eingeblendet.

Gruß Alois :)
 

Anhänge

  • 2017-01-08_18h01m30s_Scrennshot.png
    2017-01-08_18h01m30s_Scrennshot.png
    33.8 KB · Aufrufe: 184
Zuletzt bearbeitet:
Ich nehme an das liegt an der Auflösung deines Bildschirms. Das Programmfenster hat eine Auflösung von 1014x774.
Normalerweise ist das Bild erstmal leer. Erst nachdem Betätigen der "Login" Schaltfläche werden die Daten geholt.

Die .exe Datei wurde mit UPX komprimiert. Kann sein das AVAST deswegen anschlägt.

Im ersten Beitrag habe ich eine neue Version angehängt die dein Problem beheben sollte.
Bei kleineren Auflösungen werden vertikale und horizontale Scrollbars eingeblendet.

Gruß Alois :)

Vergiß es! Wie Micha0815 schon anmerkte, man sieht nix! und warten nutzt auch nichts. "Login" gibts bei mir schon gar nicht. Und wer sagt mir eigentlich, dass das kein Trojaner ist ?!
So nicht!
robw
 
Na denne ;) Es tut sich was. Display Auflösung 1280x720 (mehr geht hier nicht :D )
Wenn ich jetzt noch rausfinde, wozu die beiden horizontalen Schieberegler gut? Der unten vertikal wohl für den das Abfrageintervall.
LG
@robw Dann darfst Du Dir auch keine Android-App wie BOXtoGo o.ä. aufs Smartphone laden ;)
 

Anhänge

  • Screen Shot 17-01-08 at 11.09 PM.JPG
    Screen Shot 17-01-08 at 11.09 PM.JPG
    328.4 KB · Aufrufe: 202
  • Screen Shot 17-01-08 at 11.13 PM.JPG
    Screen Shot 17-01-08 at 11.13 PM.JPG
    24.6 KB · Aufrufe: 173
Zuletzt bearbeitet:
Wenn ich jetzt noch rausfinde, wozu die beiden horizontalen Schieberegler gut? Der unten vertikal wohl für den Abfrageintervall.
Der untere Schieberegler ist wie du schon richtig erkannt hast der Abfrageintervall. Als Beispiel nehme ich deinen Screenshot.

Alle 1,5 Minuten werden neue Daten geholt. Horizontal hat 1 x DIV (oder anders gesagt ein Kästchen) eine Auflösung von 30 Minuten.
Bei jedem Graph werden horizontal insgesamt 24 Kästchen angezeigt; ergo ist die maximal anzeigbare Aufzeichnung 12 Stunden lang.
Alle diese Informationen (1,5min. / 30min. pro div / max. 12h) werden neben dem Schieberegler angezeigt.

Mit den Vertikalen Schiebereglern kannst du festlegen wie die Y-Achse aufgelöst wird. In deinem Beispiel steht der unten auf 0 und der obere auf 40.
Gleichbedeutend mit 0°C - 40°C. Die Grafik hat in vertikaler Richtung fünf Kästchen, somit entspricht jedes Kästchen 8°C.
Du kannst es aber individuell einstellen. Ich benutze die Einstellung 5°C - 30°C. Das sind dann 5°C pro Kästchen.

Gruß Alois ;)
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
"Login" gibts bei mir schon gar nicht. Und wer sagt mir eigentlich, dass das kein Trojaner ist ?!
So nicht!
robw
Au weia... Mit Upx gepackte Dateien werden sehr wohl von einigen Virenscannern als verdächtig eingestuft...
 
Datei startet Werte werden ausgelesen , ABER
Exception EInvalidPointer in module FritzTemp.exe at 0000895E. Invalid pointer operation.
oder Access violatien at adress 007E3D41 in module FritzTemp.exe . Read of adress 00000000.
 
Läuft einwandfrei hier unter WIN7 und dem MS Security Essentials Virusscanner. Danke für die Arbeit und Zurverfügungstellung.

Zwei Fragen:
1. Das Feldstärkesymbol "5 Balken, grün" heißt nur "verbunden" oder wird eine Feldstärke gemessen?
2. Batterie: Ich habe laut Box noch 40% Batterie. FritzTemparatur zeigt 4 Balken an = voll. Wird der Batteriestand ausgewertet?
 
Läuft einwandfrei hier unter WIN7 und dem MS Security Essentials Virusscanner. Danke für die Arbeit und Zurverfügungstellung.

Zwei Fragen:
1. Das Feldstärkesymbol "5 Balken, grün" heißt nur "verbunden" oder wird eine Feldstärke gemessen?
2. Batterie: Ich habe laut Box noch 40% Batterie. FritzTemparatur zeigt 4 Balken an = voll. Wird der Batteriestand ausgewertet?
Hallo toffi,

Du liegst mit deiner Vermutung schon richtig. Die Schnittstelle gibt leider keine Werte sondern nur 0/1 Informationen dazu her.

So sieht ein empfanger Datensatz von einen COMET-DECT Heizungsregler aus.
Code:
<device identifier="045565 02354450" id="21" functionbitmask="320" fwversion="03.66" manufacturer="AVM" productname="Comet DECT"
   <present>1</present>
   <name>Heizkörper Büro</name>
  <temperature>
    <celsius>210</celsius>
    <offset>0</offset>
  </temperature>
  <hkr>
     <tist>40</tist>
     <tsoll>42</tsoll>
     <absenk>32</absenk>
     <komfort>42</komfort>
     <lock>0</lock>
     <devicelock>0</devicelock>
     <errorcode>0</errorcode>
     <batterylow>0</batterylow>
  </hkr>
</device>

Das Symbol 0 oder 1 wird dargestellt bei Gerät nicht verbunden / verbunden (im obigen Datensatz der Parameter <present> )
Das Symbol 7 oder 8 wird dargestellt bei Batterie ok / Batterie schwach (im obigen Datensatz der Parameter <batterylow> )

Ein Prozentwert wie er in der Box angezeigt wird, wäre auch meiner Meinung nach natürlich besser gewesen.
Das gibt die AVM Api-Schnitstelle leider nicht her.
 

Anhänge

  • 2017-01-11_17h01m42s_Scrennshot.png
    2017-01-11_17h01m42s_Scrennshot.png
    4.4 KB · Aufrufe: 125
Zuletzt bearbeitet:
Schönes Toolchen. Frage: Ist die Anzahl Diagramme fix? Ich hab 7 Geräte, werden rechts auch gelistet - aber vom letzten fehlt das Diagramm.
Diese Exception beim beenden habe ich auch (Win10)
 
Ich nutze W10x64 Prof und habe kein Problem über das x im Fenster oben rechts oder oben links das Aufklappmenue Schliessen Alt F4. Das Prog startet aus eigenem Verzeichnis ausserhalb Programme.
LG
 
Exception - Na ja, solange das nur beim Beenden passiert, geht's ja noch. Evtl. hängt es auch mit der Anzahl Regler, Fenstergröße oder sonstwas zusammen.
 
hier ein kleines bash-script zum Auslesen der Temperatur (schickt eine E-Mail wenn Temperatur unter Schwellwert, Schwellwert in Zehntelgrad):

Code:
#!/bin/bash
# ----------------------------------------------------------------------
# refs:
# [URL]http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AVM_Technical_Note_-_Session_ID.pdf[/URL] 
# [URL]https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf[/URL]
# ----------------------------------------------------------------------
# defs:
# ----------------------------------------------------------------------
FBF="http://<ip_of _your_fbf>"    
USER=""     
PASS="pw"
AIN="ain_of_your_actor"
THRES="180"
RECV="email@address"
# ----------------------------------------------------------------------
# fetch challenge
# ----------------------------------------------------------------------
CHALLENGE=$(curl -s "${FBF}/login_sid.lua" | grep -Po '(?<=<Challenge>).*(?=</Challenge>)')          
# ----------------------------------------------------------------------
# login
# ----------------------------------------------------------------------
MD5=$(echo -n ${CHALLENGE}"-"${PASS} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}')       
RESPONSE="${CHALLENGE}-${MD5}"   
SID=$(curl -i -s -k -d "response=${RESPONSE}&username=${USER}" "${FBF}" | grep -Po -m 1 '(?<=sid=)[a-f\d]+')
# ----------------------------------------------------------------------
# fetch temp
# ----------------------------------------------------------------------
TEMPINT=$(curl -s ${FBF}'/webservices/homeautoswitch.lua?ain='${AIN}'&switchcmd=gettemperature&sid='${SID})    
TEMPFLOAT=$(echo $TEMPINT | sed 's/\B[0-9]\{1\}\>/,&/')
# ----------------------------------------------------------------------
# push mail if temperature below threshold (degrees/10)
# ----------------------------------------------------------------------
OUT=$(echo "Temperatur Rappi:" $TEMPFLOAT" Grad")
if [ "$TEMPINT" -lt "$THRES" ];   then echo $OUT | mail $RECV -s "$OUT"; fi
 
Zuletzt bearbeitet:
  • Like
Reaktionen: m.ramsch
@targa:

DANKE! DAS habe ich gesucht!

Werde ich heute Abend mal testen. Wenn das funktioniert kann ich endlich RRDtool-Diagramme für die Temperaturen meiner FritzDects generieren... :rock:

Gruß

Kabuse

- - - Aktualisiert - - -

Sooo, habe das Skript mal getestet. Im Prinzip funktioniert es einwandfrei. :cool:

NUR, leider liefert es ab und zu "</html>nter>nginx</center>anently</h1></center>d>" zurück.

Hmm, 20x tut es, dann kommt wieder die fehlerhafte Antwort. Kann natürlich auch an der Fritzbox liegen.

Wieder was, was nicht 100%ig zuverläßig funktioniert... :noidea:

Gruß

Kabuse
 
Ist bei mir nicht vorgekommen ....
Du kannst Dir die Variable $TEMPINT mit einem echo Kommando ausgeben lassen, dann siehst Du ob es so von der Box zurueckkommt oder durch das String modifizieren passiert.
"nginx" deutet allerdings daraufhin, dass das Problem durch einen nginx-Proxy hervorgerufen wird. Sieht so aus wie ein Stueck einer Proxy welcome page, welches durch das sed-Kommando verhacktueckt wurde. In dem Falle wuerde es nicht am Skript liegen.
Du kannst ja eine Abfrage machen, falls diese html tags kommen erneut abzufragen. Die Zeile die mit SID= beginnt ersetzt Du durch:
Code:
 [COLOR=#000000][B][/B][/COLOR]
  SID=FALSE; $SID; while [[ ${#SID}  > 4 ]]; do [COLOR=#333333]SID=$(curl -i -s -k -d "response=${RESPONSE}&username=${USER}" "${FBF}" | grep -Po -m 1 '(?<=sid=)[a-f\d]+') [/COLOR]; done[COLOR=#333333]
[/COLOR]
 
Ja, das steht so in TEMPINT drin, kommt so von der Box.

Meiner Meinung nach ist das ein "HTTP/1.1 301 Moved Permanently" vom Webserver in der Fritzbox.

Eine Fehlerabfrage mit eventueller Neuabfrage hatte ich auch angedacht. Bin jetzt nicht so der bash-script Profi
und Dein Vorschlag hat leider auch nicht funktioniert.

Habe es jetzt mal in Python so gemacht:

Code:
#!/usr/bin/python
import sys
import os


# read the temperature from the fritz device
str ='</html>nter>nginx</center>anently</h1></center>d>'
while "nginx" in str:
    process = os.popen('sudo ./fritztemp.sh')
    str = process.read()
    process.close()

str = str.replace(',','.')
str = str.replace('\n','')
print str

Trotzdem seltsam, warum es hier nicht immer zuverlässig funktioniert. Meine Box ist eine 7490 mit 6.80. :noidea:
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.