FRITZBOX - Fritz!Box und Fritz!Fon sprechen

Begonnen von tupol, 04 April 2017, 08:59:23

Vorheriges Thema - Nächstes Thema

loescher

Hi!

Erst mal Danke für das super FRITZBOX Modul!
Ich nutze es mit einer 3270 - problemlos.

Nur meine ältere 3170 will nicht.
Ich hab mal gleich einen verbose 5 gemacht:

2018.04.27 11:36:16 4: FRITZBOX FritzBox3: Readout_Start.708 Fork process FRITZBOX_Readout_Run_Web
2018.04.27 11:36:16 4: Connection accepted from telnetPort_127.0.0.1_49767
2018.04.27 11:36:16 5: Cmd: >{BlockingRegisterTelnet($cl,187)}<
2018.04.27 11:36:16 4: FRITZBOX FritzBox3: Readout_Run_Web.1292 Prepare query string for luaQuery.
2018.04.27 11:36:16 5: FRITZBOX FritzBox3: readPassword.4709 Read FritzBox password from file
2018.04.27 11:36:16 4: FRITZBOX FritzBox3: Web_OpenCon.4501 Open Web connection to 192.168.178.3
2018.04.27 11:36:16 5: HttpUtils url=http://192.168.178.3/login_sid.lua
2018.04.27 11:36:16 5: HttpUtils request header:
GET /login_sid.lua HTTP/1.0
Host: 192.168.178.3
User-Agent: fhem
Accept-Encoding: gzip,deflate

2018.04.27 11:36:16 4: http://192.168.178.3/login_sid.lua: HTTP response code 404
2018.04.27 11:36:16 5: HttpUtils http://192.168.178.3/login_sid.lua: Got data, length: 174
2018.04.27 11:36:16 5: HttpUtils response header:
HTTP/1.0 404 Not Found
Content-Length: 174
Content-Type: text/html
2018.04.27 11:36:16 5: HttpUtils url=http://192.168.178.3/login_sid.lua
2018.04.27 11:36:16 5: HttpUtils request header:
POST /login_sid.lua HTTP/1.0
Host: 192.168.178.3
User-Agent: fhem
Accept-Encoding: gzip,deflate
Content-Length: 70
Content-Type: application/x-www-form-urlencoded

2018.04.27 11:36:16 4: http://192.168.178.3/login_sid.lua: HTTP response code 404
2018.04.27 11:36:16 5: HttpUtils http://192.168.178.3/login_sid.lua: Got data, length: 174
2018.04.27 11:36:16 5: HttpUtils response header:
HTTP/1.0 404 Not Found
Content-Length: 174
Content-Type: text/html
2018.04.27 11:36:16 1: PERL WARNING: Use of uninitialized value $sid in pattern match (m//) at FHEM/FritzBoxUtils.pm line 51.
2018.04.27 11:36:16 2: FRITZBOX FritzBox3: Web_OpenCon.4509 Web connection could not be established. Please check your credentials (password, user).
2018.04.27 11:36:16 2: FRITZBOX FritzBox3: Readout_Run_Web.1365 Error: Didn't get a session ID
2018.04.27 11:36:16 5: Cmd: >{BlockingStart('187')}<
2018.04.27 11:36:16 5: Cmd: >{FRITZBOX_Readout_Done('FritzBox3|RXJyb3J8RGlkbid0IGdldCBhIHNlc3Npb24gSUR8ZmhlbS0+c2lkVGltZXww')}<
2018.04.27 11:36:16 4: FRITZBOX FritzBox3: Readout_Done.1750 Back at main process
2018.04.27 11:36:16 4: FRITZBOX FritzBox3: Readout_Process.1772 Processing 2 readouts.
2018.04.27 11:36:16 4: FRITZBOX FritzBox3: Readout_Process.1781 Reset SID
2018.04.27 11:36:16 5: Starting notify loop for FritzBox3, 2 event(s), first is lastReadout: Didn't get a session ID
2018.04.27 11:36:16 5: rg_Activity: not on any display, ignoring notify
2018.04.27 11:36:16 5: rg_Firmware: not on any display, ignoring notify
2018.04.27 11:36:16 5: rg_RSSI: not on any display, ignoring notify
2018.04.27 11:36:16 5: End notify loop for FritzBox3


Und hier der list:

Internals:
   APICHECKED 1
   DEF        192.168.178.3
   HOST       192.168.178.3
   INTERVAL   300
   LUAQUERY   0
   M3U_LOCAL  ./www/images/FritzBox3.m3u
   M3U_URL    http://192.168.178.250:8084/fhem/images/FritzBox3.m3u
   MODEL      FRITZ!Box WLAN 3170
   NAME       FritzBox3
   NR         113
   REMOTE     1
   STATE      Didn't get a session ID
   TELNET     0
   TR064      0
   TYPE       FRITZBOX
   WEBCM      1
   READINGS:
     2018-04-27 20:59:31   box_fwVersion   490458
     2018-04-27 20:59:31   box_model       FRITZ!Box WLAN 3170 [avm]
     2018-04-27 21:04:34   lastReadout     Didn't get a session ID
     2018-04-27 21:04:34   state           Didn't get a session ID
   fhem:
     LOCAL      0
     definedHost 192.168.178.3
     is_double_wlan -1
     lastHour   0
     modulVersion $Date: 2018-03-21 19:26:03 +0100 (Wed, 21 Mar 2018) $
     sidTime    0
   helper:
     TimerCmd   FritzBox3.Cmd
     TimerReadout FritzBox3.Readout
Attributes:
   room       FritzBox


Woran kann das liegen?
Das Kennwort habe ich sicher richtig eingegeben.
Nicht (mehr) unterstützte Firmware?

Ich wäre um jede Hilfe sehr dankbar!

LG,
Stephan.

tupol

Es muss am Kennwort und Benutzer liegen. Hast Du die Wiki gelesen?
FHEM 5.5 auf RPi B Rev.2 (mit LCD4Linux, BMP180 und CUL v3 868.35 MHz), FB7490, Fritz!DECT 200, FS20, FHT80TF-2, S300TH, KS300, Homematic, PRESENCE
Modul-Entwickler von: FRITZBOX, statistics, PROPLANTA, OPENWEATHER, JSONMETER, LUXTRONIK2

loescher

Wiki habe ich gelesen.
Ich habe inzwischen meine dritte FB ins FHEM aufgenommen, auch problemlos.
Ich habe auf allen 3 FritzBoxen keinen Benutzer, sondern nur ein Kennwort gesetzt und zwar auf allen das gleiche.
Das hab ich grad nochmal überprüft und auch nochmal im FHEM gesetzt mit
set FritzBox3 password xxxxxxxxx
Oder muss ich bei der 3170 einen Benutzer anlegen?
Oder kann es noch eine andere Ursache haben?
LG,
Stephan.

loescher

Hi!

Ich habe inzwischen mal etwas nachgeforscht und mir die FritzBoxUtils.pm angeschaut.
Interessant ist auch dieser Thread:
https://forum.fhem.de/index.php/topic,69408.15.html
Meine FB hat die Firmware 49.04.58, welche zumindest nach meinen Tests auf den URL mit login_sid.lua nur ein HTTP 404 zurückliefert.
Und das cgi-bin/webcm liefert anscheinend auch keine SID.
Das wurde laut AVm erst mit Firmware xx.04.74 eingeführt.

Ich habe nun zumindest mit diesem Patch den Login bzw. Kennwort-Check hinbekommen:


--- FritzBoxUtils.pm.ORIG 2018-04-30 21:59:47.464743250 +0200
+++ FritzBoxUtils.pm 2018-05-01 22:21:24.591936322 +0200
@@ -26,6 +26,17 @@
   my $data = GetFileFromURL(FB_host2URL($host)."login_sid.lua",undef,undef,1);
   return undef if(!$data);

+  if($data =~ m/404 Not Found/) { # Old version e.g. FritzBox 3170 with 49.04.58
+    my @d = ( "login:command/password=$pw",
+              "getpage=../html/de/menus/menu2.html" );
+    $data = join("&", map {join("=", map {urlEncode($_)} split("=",$_,2))} @d);
+    Log3 undef,3,"GetFileFromURL(".FB_host2URL($host)."cgi-bin/webcm, undef, $data, 1):\n";
+    $data = GetFileFromURL(FB_host2URL($host)."cgi-bin/webcm", undef, $data, 1);
+    Log3 undef,3,"$data";
+    my $isOk = ($data =~ m/uiPostPageName/);
+    return $isOk;
+  }
+
   my $chl="";
   $chl = $1 if($data =~ /<Challenge>(\w+)<\/Challenge>/i);
   my $chlAnsw .= "$chl-$pw";


Allerdings endet das dann mit diesen Log-Einträgen:


2018.05.01 22:22:41 4: FRITZBOX FritzBox3: Web_OpenCon.4515 Web session opened with sid 1
2018.05.01 22:22:41 5: FRITZBOX FritzBox3: Web_Query.4634 Request data via API luaQuery.
2018.05.01 22:22:41 5: FRITZBOX FritzBox3: Web_Query.4642 Response: 404 Not Found
<HTML><HEAD><TITLE>404 Not Found (ERR_NOT_FOUND)</TITLE></HEAD><BODY><H1>404 Not Found</H1><BR>ERR_NOT_FOUND<HR><B>Webserver</B> Sat, 01 Jan 2000 02:01:34 GMT</BODY></HTML>
2018.05.01 22:22:41 3: FRITZBOX FritzBox3: Web_Query.4646 Error: 404 Not Found
2018.05.01 22:22:41 2: FRITZBOX FritzBox3: Readout_Run_Web.1375 Error: 404 Not Found


Macht es dann überhaupt weiter Sinn, das Thema weiterzuverfolgen, oder muss ich mich damit abfinden, dass diese alte FB mit FHEM nicht funktioniert?
Auch ohne Kennwortschutz kommt nur "Didn't get a session ID".
Ich werds die nächsten Tage mal per telnet versuchen...

LG,
Stephan.

loescher

Hi!

Ergebnis:
Es geht auch per telnet nicht, da in der FB Firmware 49.04.58 kein ctlmgr_ctl existiert.
Zusammenfassend kann man sagen: Die FritzBox 3170 ist einfach zu alt, da über keines der möglichen APIs (telnet, tr064, webcm) etwas nützliches ausgelesen werden kann.
Evtl. wäre ein Hinweis im Wiki oder in der Status-Ausgabe des 72_FRITZBOX.pm ganz nützlich, falls da außer mir auch jemand auf die Idee kommt eine so alte Box wieder in Betrieb zu nehmen.  ;)

P.S.: Falls jemand auf der 3170 telnet aktivieren will, hier die Anleitung:
http://wehavemorefun.de/fritzbox/Starten_von_telnetd#Workaround_Fritz.21Box_7050_-_Firmware_14.04.30

LG,
Stephan.

Chris8888

Hallo,

erst einmal vielen Dank für das coole Modul. Läuft bei mir seit geraumer Zeit völlig geräuschlos!
Ich habe eine 7590 mit der letzten Beta 6.98 im Einsatz.

Soweit läuft auch alles, einzig die WLN-Zähler sind immer auf Null.
box_guestWlanCount & box_WlanCount

Muss ich da noch etwas weiter konfigurieren?

Danke!

VG
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

tupol

Das Modul berücksichtigt nur die offiziellen Versionen. Vermutlich hat AVM etwas in der Beta-Version geändert.
FHEM 5.5 auf RPi B Rev.2 (mit LCD4Linux, BMP180 und CUL v3 868.35 MHz), FB7490, Fritz!DECT 200, FS20, FHT80TF-2, S300TH, KS300, Homematic, PRESENCE
Modul-Entwickler von: FRITZBOX, statistics, PROPLANTA, OPENWEATHER, JSONMETER, LUXTRONIK2

sprudelverduenner

Hallo Zusammen,

Ich betreibe an Fon1 eine Türsprecheinrichtung.
Wenn die Klingel gedrückt wird dann klingeln bei mir auch alle internen Telefone.

Jetzt würde ich gerne haben wollen, dass bei Abwesendheit ich per FHEM in der FRITZBox die Klingel auf meine Handynummer leiten lasse und bei Anwesendheit wieder auf die internen Telefone umgestellt wird.

Ist das mit dem FRITZBOX Modul oder sonst irgendwie möglich?
Wenn ich im Webinterface der FRITZBox die Umstellung manuell vornehme sehe ich bei den ganzen Readings auch keine Änderungen ...

Lieben Gruß,
Sprudelverduenner
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

loescher

Hi

Wie und was stellst du denn in der FB manuell um?

LG,
Stephan.

sprudelverduenner

Hallo
Habe ich doch geschrieben:
Bei der Einstellung der Türsprechanlage an Fon1 kann ich bestimmen ob interne Telefone oder externe Rufnummer gewählt werden soll ...

LG, Sprudelverduenner
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

fiedel

Zitat von: sprudelverduenner am 01 Juli 2018, 21:53:56
Jetzt würde ich gerne haben wollen, dass bei Abwesendheit ich per FHEM in der FRITZBox die Klingel auf meine Handynummer leiten lasse und bei Anwesendheit wieder auf die internen Telefone umgestellt wird.

Ist das mit dem FRITZBOX Modul oder sonst irgendwie möglich?

Mache ich auch so: Du erstellst ein Notify in dem ausgewertet wird: "Es klingelt" und "Status der Anwesenheit".
Klingelt es und du bist Anwesend gibst du z.B. aus: "set FritzBox call 12345".
Klingelt es und du bist nicht Anwesend gibst du z.B. aus: "set FritzBox call 6789".

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

sprudelverduenner

Hmmmmm.....

An diese Möglichkeit habe ich nich gar nicht gedacht.
Kommt bei mir wahrscheinlich auch nicht oder nur teilweise in Betracht.

Ich habe die Klingel innerhalb der FRITZBox als Tursprechanlage konfiguriert. Somit habe ich auf den FRITZFons auch die Türcam und die Möglichkeit den E-Öffner der Haustür zu bedienen.

Wenn ich die fritzbox meine Handynummer anrufen lasse.... habe ich dann auch die Gegensprechanlage dran?
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

fiedel

Zitat von: sprudelverduenner am 13 August 2018, 14:18:10
Wenn ich die fritzbox meine Handynummer anrufen lasse.... habe ich dann auch die Gegensprechanlage dran?
Das stellst du in der Rubrik "Wählhilfe" der Box ein: Das Tel., welches dort eingestellt ist (bei mir Fon2 = Türsprechstelle) wird durch den call- Befehl mit der gewählten Nummer verbunden.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

FHEMAN

Zitat von: grappa24 am 06 September 2017, 14:14:08
Ich möchte den Status des Gäste-WLAN der Box auslesen und nur diesen.
Mit dem Reading "box_guestWlan"?

Ich habe auch eine Frage:
Und zwar bekomme ich sehr viele Events durch Änderungen bspw. der Signalstärken der WLAN Geräte. Für meinen Presence Fall würde es genügen, nur active/inactive Änderungen der Macs zu bekommen.
Kann ich das irgendwie einschränken? Kann ich mir event-on-change-reading irgendwie passend basteln, so dass auch neue Macs (Gästehandys) Beachtung finden? Stehe bisschen auf dem Schlauch bzw. fällt mir irgendwie keine richtige Lösung ein.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

enno

Zitat von: Homalix99 am 12 Dezember 2017, 12:11:08
Dies soweit als Anregung, oder gibt es schon eine bestehende Möglichkeit?

Moin,

ich nutze dafür zur Zeit das Atribut das ich mit einem Notify setze:

attr Fritzbox disable 1
oder wieder aktivieren
attr Fritzbox disable 0

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC