FRITZBOX - Fritz!Box und Fritz!Fon sprechen - Jetzt auch ohne Telnet

Begonnen von tupol, 28 November 2014, 23:46:54

Vorheriges Thema - Nächstes Thema

tupol

Error: Perl modul Net::Telnet is missing on this system
Also besorgen und installieren.

Dangermouse

Zitat von: tupol am 28 Dezember 2014, 21:47:02
Error: Perl modul Net::Telnet is missing on this system
Also besorgen und installieren.

Manchmal hilft die Boardsuche doch ;) :

sudo apt-get install libnet-telnet-perl auf dem Pi (Telnet o. Console), attr telnetUser und set FritzBox createPwdFile gesetzt, und den FHEM rebootet, und schon klappte alles.
Danke für den Anstoß in die richtige Denkrichtung  :) ;)
FHEM auf Synology-NAS via Docker
piVCCU
HM-LAN & SCC 868 (MAX!) als Funkschnittstelle

fiedel

Bei dir braucht man ja nicht all zu viel zu schubsen. Dreambox Forum sind doch gute Linux- Grundlagen und ggf. Programmierwissen. Die kannst du hier gut gebrauchen und auffrischen. :)
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

Otti

Moin!
Super Sache.
Bin totaler Neuling!
Wie bekomme ich das FHEM auf die Fritzbox 7390?
Hatte bereits versucht über Update der Fritzbox FHEM aufzuspielen, das wurde jedoch immer vom System abgebrochen.
Kann man die entsprechenden Verzeichnisse und Dateien auch manuell über Telnet aufspielen?
Wenn ja wohin und was?
Auf dem PC (Windows 7) läuft mein FHEM bereits.

fiedel

Hi Otti,

das ist hier leider OT, also bei weiteren Fragen besser neuen Thread eröffnen, oder vorh. weiterführen.
Eigentlich solltest du alles für dein Projekt hier finden.

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

Haecksler

Hallo,
bei läuft das Modul jetzt so weit ganz gut nur bekommen ich immer nach ca. 2 Tagen ohne Neustart von FHEM folgende Meldungen in den Log.

2014.12.29 10:07:31 1: FRITZBOX fritzbox: Readout_Start.471 Old readout process still running. Killing old process HASH(0x2268b78)
2014.12.29 10:07:31 1: PERL WARNING: Use of uninitialized value $result in substitution (s///) at ./FHEM/72_FRITZBOX.pm line 1591.
2014.12.29 10:07:31 1: PERL WARNING: Use of uninitialized value $result in split at ./FHEM/72_FRITZBOX.pm line 1592.
2014.12.29 10:07:31 1: PERL WARNING: Use of uninitialized value $radioCount in numeric lt (<) at ./FHEM/72_FRITZBOX.pm line 552.


Und die Readings werden nicht mehr aktualisiert.
Fhem läuft auf einer FB 7390.

Gruß,
Stefan

vbs

Klasse, konnte das Modul problemlos einrichten, danke dafür! Benutze es jetzt als Remote-Variante per telnet.

Zwei Sachen sind mir aufgefallen:
-zum einen scheint das Setzen eines Wertes recht lange zu dauern. Könnte man das im Hintergrund machen, so dass fhem nicht blockiert wird?

2014.12.29 01:42:09 3: FRITZBOX: set env_fritzbox wlan on
2014.12.29 01:42:12 1: Perfmon: possible freeze starting at 01:42:09, delay is 3.425

(für jeden set-Befehl wird eine neue telnet-Session geöffnet, richtig? Evtl. Könnte man ja eine telnet-Verbindung dauerhaft bestehen lassen)

Bei einem anderen Fall gab es eine Fehlermeldung als ich zwei Befehl gesetzt habe:
2014.12.29 01:41:41 3: FRITZBOX: set env_fritzbox wlan off
2014.12.29 01:41:43 3: FRITZBOX: set env_fritzbox wlan on
2014.12.29 01:41:49 1: FRITZBOX env_fritzbox: Readout_Start.471 Old readout process still running. Killing old process HASH(0xb6d3838)
2014.12.29 01:41:49 1: Timeout for FRITZBOX_Readout_Run reached, terminated process 5548
2014.12.29 01:41:49 1: FRITZBOX env_fritzbox: Readout_Aborted.835 Timeout when reading Fritz!Box data.
2014.12.29 01:41:49 1: Perfmon: possible freeze starting at 01:41:42, delay is 7.426

tupol

Zitat von: Dangermouse am 28 Dezember 2014, 22:01:40
Manchmal hilft die Boardsuche doch ;) :

sudo apt-get install libnet-telnet-perl auf dem Pi (Telnet o. Console), attr telnetUser und set FritzBox createPwdFile gesetzt, und den FHEM rebootet, und schon klappte alles.
Danke für den Anstoß in die richtige Denkrichtung  :) ;)
Mach doch mal ein Wiki-Eintrag dafür auf. :)

tupol

Zitat von: Haecksler am 29 Dezember 2014, 10:20:48
Hallo,
bei läuft das Modul jetzt so weit ganz gut nur bekommen ich immer nach ca. 2 Tagen ohne Neustart von FHEM folgende Meldungen in den Log.

2014.12.29 10:07:31 1: FRITZBOX fritzbox: Readout_Start.471 Old readout process still running. Killing old process HASH(0x2268b78)
2014.12.29 10:07:31 1: PERL WARNING: Use of uninitialized value $result in substitution (s///) at ./FHEM/72_FRITZBOX.pm line 1591.
2014.12.29 10:07:31 1: PERL WARNING: Use of uninitialized value $result in split at ./FHEM/72_FRITZBOX.pm line 1592.
2014.12.29 10:07:31 1: PERL WARNING: Use of uninitialized value $radioCount in numeric lt (<) at ./FHEM/72_FRITZBOX.pm line 552.


Und die Readings werden nicht mehr aktualisiert.
Fhem läuft auf einer FB 7390.

Anscheint hängt sich da was auf. Bitte modul verbose 5 setzen und hier den log für diesen Zeitpunkt posten.
Ist es immer $radioCount? Muss die Box irgendwas tun zu diesem Zeitpunkt?

ph1959de

Zitat von: tupol am 29 Dezember 2014, 14:22:08
Mach doch mal ein Wiki-Eintrag dafür auf. :)

Bin zwar nicht Dangermouse, habe aber mal den Wiki-Artikel (rudimentär) angelegt.

@Topos: die MAINTAINER.txt verweist (noch?) auf den Forenbereich "Sonstiges", während dieser Thread (eigentlich nicht überraschend) im Bereich Fritz!Box steht.
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

tupol

Danke, verlinke ich in der commandref. :-) maintainer ist auch geändert.
Am besten wäre auch einen Wiki-Artikel über diesen ganzen "Perl-Modulkram" zu starten, da die Frage auch bei anderen Modulen auftritt.

ph1959de

Noch eine Frage zu pwdFile: habe ich über die Modulfunktion createPwdFile angelegt. Die Datei hatte anschließend folgende Attribute:
6970 4.0K -rw-r--r--  1 fhem dialout   24 Dec 29 15:32 myPwdFile
konnte aber offensichtlich nicht gelesen werden. Erst nach Änderung auf
6970 4.0K -rw-rw-rw-  1 fhem root   24 Dec 29 15:32 myPwdFile
funktionierte das Modul.

FritzBox ist remote, Fhem läuft auf BBB mit folgenden Attributen:
fhem     20608     1  5 Dec23 ?        07:36:32 /usr/bin/perl fhem.pl fhem.cfg

Diesen Effekt hätte ich so nicht erwartet (wenn die Datei von Fhem erzeugt wurde, sollte Fhem sie doch auch lesen können - oder)?

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Haecksler

Zitat von: tupol am 29 Dezember 2014, 14:28:10
Anscheint hängt sich da was auf. Bitte modul verbose 5 setzen und hier den log für diesen Zeitpunkt posten.
Ist es immer $radioCount? Muss die Box irgendwas tun zu diesem Zeitpunkt?

Nicht direkt 30 min. zuvor wurde das WLAN zeitgesteuert mittels WeekdayTimer eingeschalteten.
Verbose 5 ist gesetzt mal schauen ...

ph1959de

Zitat von: ph1959de am 29 Dezember 2014, 15:39:57
Noch eine Frage zu pwdFile: habe ich über die Modulfunktion createPwdFile angelegt. Die Datei hatte anschließend folgende Attribute:
6970 4.0K -rw-r--r--  1 fhem dialout   24 Dec 29 15:32 myPwdFile
konnte aber offensichtlich nicht gelesen werden. Erst nach Änderung auf
6970 4.0K -rw-rw-rw-  1 fhem root   24 Dec 29 15:32 myPwdFile
funktionierte das Modul.

FritzBox ist remote, Fhem läuft auf BBB mit folgenden Attributen:
fhem     20608     1  5 Dec23 ?        07:36:32 /usr/bin/perl fhem.pl fhem.cfg

Diesen Effekt hätte ich so nicht erwartet (wenn die Datei von Fhem erzeugt wurde, sollte Fhem sie doch auch lesen können - oder)?

Das war's wohl doch nicht. Sieht so aus, als ob das Telnet-Login auf der FritzBox genau einmal funktioniert hat. Jetzt laufe ich wieder permanent in diese Meldungen (update mit verbose 5):

2014.12.29 19:24:25 5: FRITZBOX myFB: Readout_Done.769 Processing 1 readouts.
2014.12.29 19:25:01 3: FRITZBOX: set myFB update
2014.12.29 19:25:01 4: FRITZBOX myFB: Readout_Run.504 Start update of slow changing device readings.
2014.12.29 19:25:01 5: FRITZBOX myFB: Open_Connection.1385 Open password file 'fb_pwd.txt' to extract password
2014.12.29 19:25:01 5: FRITZBOX myFB: Open_Connection.1389 Close password file
2014.12.29 19:25:01 4: FRITZBOX myFB: Open_Connection.1398 Open Telnet Connection to fritz.box
2014.12.29 19:25:01 5: FRITZBOX myFB: Open_Connection.1407 Wait for user or password prompt.
2014.12.29 19:25:02 5: FRITZBOX myFB: Open_Connection.1444 Entering password
2014.12.29 19:25:02 5: FRITZBOX myFB: Open_Connection.1447 Wait for command prompt
2014.12.29 19:25:13 2: FRITZBOX myFB: Open_Connection.1451 Telnet error while waiting for command prompt (perhaps wrong password): pattern match timed-out
2014.12.29 19:25:13 5: FRITZBOX myFB: Readout_Done.769 Processing 1 readouts.


List des Device:
Internals:
   CFGFN
   INTERVAL   300
   NAME       myFB
   NR         1676
   REMOTE     1
   STATE      Telnet error while waiting for command prompt (perhaps wrong password): pattern match timed-out
   TYPE       FRITZBOX
   Readings:
     2014-12-29 19:25:13   lastReadout     Telnet error while waiting for command prompt (perhaps wrong password): pattern match timed-out
     2014-12-29 19:25:13   state           Telnet error while waiting for command prompt (perhaps wrong password): pattern match timed-out
   Fhem:
     LOCAL      0
     lastHour   0
     modulVersion $Date: 2014-12-25 20:10:01 +0100 (Thu, 25 Dec 2014) $
   Helper:
Attributes:
   pwdFile    fb_pwd.txt
   room       Spielplatz
   verbose    5


Wäre es möglich, zwischen falschem Passwort und Timeout zu unterscheiden (in einer Putty-Session bekomme ich "Logon failed", wenn ich ein falsches Passwort eingebe)? Ich bin mir zwar ziemlich sicher, dass das eingegebene Passwort stimmt (hab's x-mal neu eingegeben - und wie gesagt, mindestens einmal hats ja auch funktioniert).

Oder ist diese Situation nach erfolgreichem Telnet-Login ungewöhnlich (es dauert eine Weile, bis das "#" erscheint, nach dem soweit ich das sehe gesucht wird):

password:


BusyBox v1.19.3 (2012-08-07 18:33:02 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

ermittle die aktuelle TTY
tty is "/dev/pts/0"
Console Ausgaben auf dieses Terminal umgelenkt
#


Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

tupol

#209
Jetzt gibt es den Fehler "Login failed."
und das Attribute telnetTimeOut