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

melu

Hey tupol,

danke für die Schnelle Antwort! und im Voraus für den morgigen Patch!


ZitatIst unter Heimnetz->Netzwerk->Netzwereinstellungen; Zugriff für Anwendungen zulassen angeklickt?
Alles Angechecked

Habe mal dem Benutzer mit dem ich via Telenet auf die Box gehe auch erlaubt aus dem Internet sich ein zu loggen, dann spuckt die Log dieses hier aus:
2015.06.28 22:38:15 3: FRITZBOX: set FritzBox ring 610 say:Hallo Welt
2015.06.28 22:38:15 5: FRITZBOX FritzBox: Ring_Run_Web.2573 Internal number 610 (dect1) seems to be a Fritz!Fon.
2015.06.28 22:38:15 5: FRITZBOX FritzBox: Ring_Run_Web.2657 Created Text2Speech internet link: http://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Hallo%20Welt
2015.06.28 22:38:15 4: FRITZBOX FritzBox: Ring_Run_Web.2687 Read current dect and fon port values from box
2015.06.28 22:38:15 5: FRITZBOX FritzBox: Web_Query.3827 Response: {
"dectUser" : [
{
"Id" : "0",
"Intern" : "",
"IntRingTone" : "0",
"RadioRingID" : "0"
},
{
"Id" : "1",
"Intern" : "610",
"IntRingTone" : "33",
"RadioRingID" : "39"
}
],
"fonPort" : [
{
"Name" : "FHEM",
"MSN" : "SIP0"
},
{
"Name" : "FHEM",
"MSN" : "SIP0"
},
{
"Name" : "",
"MSN" : ""
},
{
"Name" : "",
"MSN" : ""
}
]
}


2015.06.28 22:38:15 4: FRITZBOX FritzBox: Ring_Run_Web.2713 Change temporarily internal ring tone of dect1 to 33
2015.06.28 22:38:15 4: FRITZBOX FritzBox: Ring_Run_Web.2717 Change temporarily radio station of dect1 to 39 (FHEM)
2015.06.28 22:38:15 5: FRITZBOX FritzBox: Web_PostCmd.3785 Posting 4 parameters to 'http://192.168.188.1/cgi-bin/webcm'
2015.06.28 22:38:15 4: FRITZBOX FritzBox: Ring_Run_Web.2751 Ringing 610 for 5 seconds
2015.06.28 22:38:15 5: FRITZBOX FritzBox: readPassword.3890 Read FritzBox password from file
2015.06.28 22:38:15 4: FRITZBOX FritzBox: TR064_Cmd.3592 Perform TR064 call - service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialNumber', parameter1='NewX_AVM-DE_PhoneNumber' => '**610#'
2015.06.28 22:38:16 2: FRITZBOX FritzBox: TR064_Cmd.3607 TR064-Error 501:Action Failed (service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialNumber', parameter1='NewX_AVM-DE_PhoneNumber' => '**610#')
2015.06.28 22:38:21 5: FRITZBOX FritzBox: readPassword.3890 Read FritzBox password from file
2015.06.28 22:38:21 4: FRITZBOX FritzBox: TR064_Cmd.3592 Perform TR064 call - service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialHangup'
2015.06.28 22:38:22 4: FRITZBOX FritzBox: Ring_Run_Web.2776 Reset ring tone of dect1 to 33
2015.06.28 22:38:22 4: FRITZBOX FritzBox: Ring_Run_Web.2782 Reset radio station of dect1 to 39
2015.06.28 22:38:22 5: FRITZBOX FritzBox: Web_PostCmd.3785 Posting 3 parameters to 'http://192.168.188.1/cgi-bin/webcm'


Bringt das uns der Lösung näher?

Danke im Voraus, der Mel

tupol

Ich kann den Fehler leider nicht reproduzieren. Die Antwort " 501:Action Failed" kommt von der Fritzbox. Eventuell muss Du selber mal mit "get ... tr064Command" spielen.

Edit:
Noch eine Idee. Ist deine Wählhilfe vielleicht auf die 610 gesetzt?

tupol

Zitat von: Ralli am 24 Juni 2015, 08:29:17
Dann einfach mit Nachdruck als Feature-Request einreichen :) - und mit Unterstützung aus der fhem-Gemeinde rechnen  8).

Ich habe das Thema mal unter http://forum.fhem.de/index.php/topic,38586.0.html aufgehangen und zudem eine Umfrage gestartet, um zu sehen, wer die erweiterte Klingelfunktion nutzt.

melu

Ein freundliches Hallo,

Zitat von: tupol am 29 Juni 2015, 09:13:35
Edit:
Noch eine Idee. Ist deine Wählhilfe vielleicht auf die 610 gesetzt?
Die Wählhilfe ist aus, wenn ich die Frage richtig deute ist das auch korrekt so?

Mit:
set FritzBox ring 610 say:test
klingelt das MTF nicht, jedoch wird ein Radiosender "FHEM" angelegt. spiele ich diesen ab, wird mir der zuvor eingegebene Text als Sprache ausgegeben. Das kann man dem Log ja auch so entnehmen. Ich werde aber bei Zeiten mal mit den Befehlen experimentieren und auch an AVM schreiben.

Danke für den tollen Support!

Gruß, der Mel

tupol

Normalerweise ist das egal. Hol die mal die aktuelle Version (über SVN oder heute abend per update) und kontrolliere den Wert box_stdDialPort.

RoBra81

Zitat von: RoBra81 am 28 Juni 2015, 21:34:57
Hallo,

ich habe gerade mal ein Update gemacht und auf meinem Cubietruck das Perl-Modul JSON::XS installiert. Dann habe ich mal ein "ring" mit "show" und "say" ausprobiert: das Telefon hat zunächst den Text vorgelesen und dann für die eingestellte Zeit (30 Sekunden) geklingelt und den Text angezeigt - soweit so gut. Anschließend ist FHEM jedoch komplett abgestürzt. Im Log fand ich folgende Meldung:

2015.06.28 21:29:38 2: FRITZBOX FritzBox: Readout_Run_Web.1180 Error: 500 read timeout
2015.06.28 21:29:48 1: Timeout for FRITZBOX_Ring_Run_Web reached, terminated process 13484
Undefined subroutine &main:: FRITZBOX_Set_Cmd_Aborted called at FHEM/Blocking.pm line 146.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 150, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
EOFError: EOF when reading a line



Zu Beginn des Log's habe ich auch die bereits weiter oben angesprochenen Meldungen:

Prototype mismatch: sub main::to_json ($@) vs ($) at /usr/share/perl/5.14/Exporter.pm line 67.
at (eval 155) line 1
Prototype mismatch: sub main::from_json ($@) vs ($) at /usr/share/perl/5.14/Exporter.pm line 67.
at (eval 155) line 1
Prototype mismatch: sub main::from_json ($) vs ($@) at ./FHEM/70_XBMC.pm line 18
Prototype mismatch: sub main::to_json ($) vs ($@) at ./FHEM/70_XBMC.pm line 18


Woran kann der Absturz liegen?

Vielen Dank
Ronny
Hallo tupol,

hast du dazu eine Idee?

Ronny

tupol

Nein leider nicht. Funktioniert es mit "attr ... forceTelnetConnection 1" ?

melu

Hallo tupol,

ich habe mal deine aktuelle Version geladen, bin etwas verwundert warum es nicht funktioniert bei mir. Die Meldung " 501:Action Failed" taucht nun auch in der Log nicht mehr auf.

Zitatbox_stdDialPort dect1 2015-06-29 19:32:25
passt scheinbar auch. Aus Zeitgründen werde ich in 2 Wochen mal tiefer graben und parallel hier auf den Treat lauschen.

Vielen vielen Dank für deine Mühen, aber ich komme wieder :o

Gruß, der mel

tupol

Zitat von: melu am 29 Juni 2015, 19:39:52
Hallo tupol,

ich habe mal deine aktuelle Version geladen, bin etwas verwundert warum es nicht funktioniert bei mir. Die Meldung " 501:Action Failed" taucht nun auch in der Log nicht mehr auf.
passt scheinbar auch. Aus Zeitgründen werde ich in 2 Wochen mal tiefer graben und parallel hier auf den Treat lauschen.

Vielen vielen Dank für deine Mühen, aber ich komme wieder :o

Gruß, der mel
Du rufst mit dect1 das Telefon dect1 an. Entweder Du änderst das, oder Du nutzt "ringwithintern"

melu

Zitat von: tupol am 29 Juni 2015, 20:34:40
Du rufst mit dect1 das Telefon dect1 an. Entweder Du änderst das, oder Du nutzt "ringwithintern"
Da wir nur ein Telefon besitzen, lasse ich es lieber auf dect1. Aber mit dem Attribut "ringwithintern" läuft es!

Danke dir!

Elektrolurch

Hallo,

die Version, die nur über telnet arbeitet, läuft leider nicht stabil. Da bleiben die Prozesse für das Lesen oder Setzen der Werte häufig hängen. Da wird zwar ein kill laut log abgesetzt, der Restart des Kommandos erfolgt aber sofort danach und das klappt nicht.  Da wird ein fork auf den fhem-Prozess gestartet (kommt der von blockin?) und wenn die Prozesse nicht ordentlich aufgeräumt werden, läuft die Box out of memory. An der Ecke ist also noch etwas zu tun, wenn das Modul betriebssicher werden soll.

Ich habe da mal ein sleep(1) hinter der Stelle eingefügt, an der der hängende Prozess gekilled wird,das bringt etwas Besserung.
Trotzdem stürzt fhem oder sogar die ganze Fritzbox mindestens einmal am Tag ab, wenn das 72_fritzbox - Modul geladen ist (Habe das Lesen-Intervall schon auf 18000 hoch gesetzt).
Da fehlen m.M.n. auch einige Sicherheitsabfragen, ob Werte überhaupt gelesen wurden, denn es hagelt seitenweise perl-Warnungen auf undefinierte Werte.
Die neue Version geht auch nicht. Auf meiner FB7390 gibt es kein JSON::XS, bestenfalls kann man JSON::PP nachinstallieren, wie Andre weiter oben empfohlen hat. Dazu müsste dann der use-Befehl nach use JSON abgeändert werden... (soweit ich das verstanden habe).
Jedenfalls stellt sich die aktuelle Version auf meiner FB tot, liest weder Werte, noch kann sie irgendetwas setzen.

Schade drum.

Elektrolurch
configDB und Windows befreite Zone!

tupol

Hallo Elektrolurch,

ich habe an der Telnet-Version nichts geändert. Allerdings ist das Modul gewachsen und frisst mehr Speicher. Die Speicherprobleme der Fritz!Box werden dadurch verschärft, insbesondere wenn man weitere Prozesse darauf laufen lässt. Das lässt sich aber nicht ändern. Das Modul läuft ja anscheinend, solange die Fritz!Box genügend Speicher zur Verfügung stellt. Die einzige Möglichkeit ist m.E., eine alte FRITZBOX-Version beizubehalten.

Das "sleep" ist auch nur ein Work-Around um Deine Speicherproblematik, da der Fehler ja darin liegt, dass der alte Prozess abstürzt ist oder gar nicht erst gestartet wurde.

Gruß

tupol

carlos

Hallo,
Also bei mir geht weder ring noch startradio. Das C4 hat die 610.

set myFB6490 ring 610 say:Es regnet

2015.07.01 00:17:17 3: FRITZBOX: set myFB6490 ring 610 say:Es regnet
2015.07.01 00:17:17 5: FRITZBOX myFB6490: Ring_Run_Web.2400 Internal number 610 (dect1) seems to be a Fritz!Fon.
2015.07.01 00:17:17 5: FRITZBOX myFB6490: Ring_Run_Web.2484 Created Text2Speech internet link: http://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Es%20regnet
2015.07.01 00:17:17 4: FRITZBOX myFB6490: Ring_Run_Web.2516 Read current dect and fon port values from box
2015.07.01 00:17:18 5: FRITZBOX myFB6490: Web_Query.3882 Response: {
"dectUser" : [
{
"Id" : "0",
"Intern" : "",
"IntRingTone" : "0",
"RadioRingID" : "0"
},
{
"Id" : "1",
"Intern" : "610",
"IntRingTone" : "0",
"RadioRingID" : "0"
},
{
"Id" : "2",
"Intern" : "611",
"IntRingTone" : "0",
"RadioRingID" : "0"
},
{
"Id" : "3",
"Intern" : "612",
"IntRingTone" : "0",
"RadioRingID" : "0"
},
{
"Id" : "4",
"Intern" : "613",
"IntRingTone" : "0",
"RadioRingID" : "0"
}
],
"fonPort" : [
{
"Name" : "Telefon",
"MSN" : "SIP0"
},
{
{
"Name" : "Telefon",
"MSN" : "SIP0"
},
{
"Name" : "",
"MSN" : ""
},
{
"Name" : "",
"MSN" : ""
}
],
"dialPort": "50",
"useClickToDial": "0"
}


2015.07.01 00:17:18 4: FRITZBOX myFB6490: Ring_Run_Web.2548 Change temporarily internal ring tone of dect1 to 33
2015.07.01 00:17:18 4: FRITZBOX myFB6490: Ring_Run_Web.2552 Change temporarily radio station of dect1 to 39 (FHEM)
2015.07.01 00:17:18 5: FRITZBOX myFB6490: Ring_Run_Web.2577 Use standard dial port 'allFons'.
2015.07.01 00:17:18 5: FRITZBOX myFB6490: Web_PostCmd.3840 Posting 4 parameters to 'http://fritz.box/cgi-bin/webcm'
2015.07.01 00:17:19 4: FRITZBOX myFB6490: Ring_Run_Web.2591 Ringing 610 for 5 seconds
2015.07.01 00:17:19 5: FRITZBOX myFB6490: readPassword.3954 Read FritzBox password from file
2015.07.01 00:17:19 4: FRITZBOX myFB6490: TR064_Cmd.3578 Perform TR-064 call - service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialNumber', parameter1='NewX_AVM-DE_PhoneNumber' => '**610#'
2015.07.01 00:17:20 2: FRITZBOX myFB6490: TR064_Cmd.3593 TR064-Error 501:Action Failed (service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialNumber', parameter1='NewX_AVM-DE_PhoneNumber' => '**610#')
2015.07.01 00:17:25 5: FRITZBOX myFB6490: readPassword.3954 Read FritzBox password from file
2015.07.01 00:17:25 4: FRITZBOX myFB6490: TR064_Cmd.3578 Perform TR-064 call - service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialHangup'
2015.07.01 00:17:27 4: FRITZBOX myFB6490: Ring_Run_Web.2610 Reset dial port to 'allFons'.
2015.07.01 00:17:27 4: FRITZBOX myFB6490: Ring_Run_Web.2616 Reset ring tone of dect1 to 0
2015.07.01 00:17:27 4: FRITZBOX myFB6490: Ring_Run_Web.2622 Reset radio station of dect1 to 0
2015.07.01 00:17:27 5: FRITZBOX myFB6490: Web_PostCmd.3840 Posting 3 parameters to 'http://fritz.box/cgi-bin/webcm'
2015.07.01 00:17:28 5: FRITZBOX myFB6490: Readout_Add_Reading.1421 fhem->sid: 04d55d5bb085abaa
2015.07.01 00:17:28 5: FRITZBOX myFB6490: Readout_Add_Reading.1421 fhem->sidTime: 1435702648
2015.07.01 00:17:28 5: FRITZBOX myFB6490: Readout_Add_Reading.1421 readoutTime: 11.00
2015.07.01 00:17:28 5: FRITZBOX myFB6490: Ring_Run_Web.2651 Handover: fhem->sid|04d55d5bb085abaa|fhem->sidTime|1435702648|readoutTime|11.00
2015.07.01 00:17:28 4: FRITZBOX myFB6490: Set_Cmd_Done.1530 Back at main process
2015.07.01 00:17:28 4: FRITZBOX myFB6490: Readout_Process.1209 Processing 3 readouts.
2015.07.01 00:17:28 4: FRITZBOX myFB6490: Readout_Process.1304 3 values captured in 11.00 s


set myFB6490 startRadio 610 1

2015.07.01 00:29:40 3: FRITZBOX: set myFB6490 startRadio 610 1
2015.07.01 00:29:40 5: FRITZBOX myFB6490: Web_Query.3882 Response: {
"curRingTone": "0",
"curRadioStation": "0"
}


2015.07.01 00:29:40 5: FRITZBOX myFB6490: StartRadio_Web.3198 Set ring tone of 610 to radio 1
2015.07.01 00:29:40 5: FRITZBOX myFB6490: Web_PostCmd.3840 Posting 3 parameters to 'http://fritz.box/cgi-bin/webcm'
2015.07.01 00:29:41 5: FRITZBOX myFB6490: StartRadio_Web.3204 Call 610
2015.07.01 00:29:41 5: FRITZBOX myFB6490: readPassword.3954 Read FritzBox password from file
2015.07.01 00:29:41 4: FRITZBOX myFB6490: TR064_Cmd.3578 Perform TR-064 call - service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialNumber', parameter1='NewX_AVM-DE_PhoneNumber' => '**610#'
2015.07.01 00:29:42 2: FRITZBOX myFB6490: TR064_Cmd.3593 TR064-Error 501:Action Failed (service='X_VoIP:1', control='x_voip', action='X_AVM-DE_DialNumber', parameter1='NewX_AVM-DE_PhoneNumber' => '**610#')
2015.07.01 00:29:42 5: FRITZBOX myFB6490: StartRadio_Web.3215 Reset ring tones.
2015.07.01 00:29:42 5: FRITZBOX myFB6490: Web_PostCmd.3840 Posting 3 parameters to 'http://fritz.box/cgi-bin/webcm'


Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox, 3 Raspberry Pi, signalduino, nanoCUL,  toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

tupol

Bitte schalte mal an der Fritz!Box die Wählhilfe an (Telefonie->Anrufe->Wählhilfe) und schau ob es dann geht .

StefanD

Zitat von: tupol am 01 Juli 2015, 17:38:18
Bitte schalte mal an der Fritz!Box die Wählhilfe an (Telefonie->Anrufe->Wählhilfe) und schau ob es dann geht .

War bei mir der Schlüssel, dass das Klingeln funktioniert.

Dazu gleich noch eine weitere Frage:
Ich habe über einen HM-Sen-DB-PCB die Türlingel in FHEM eingebunden, um auch im Arbeitszimmer einen Besucher mitzubekommen, da man dort das Türklingel nicht hört, sofern die Tür zu ist und ggf. auch noch das Radio leise läuft. Mittels eines Notify und set FritzBox ring 610,611 4 Ring habe ich beide Fritz!Fons bei jedem Türklingeln 1x klingeln lassen. Lässt sich das noch über die TR64 Schnittstelle realisieren? Gerne auch als Multiliner in der myFhem.pl und notfalls auch nur für das Fritz!Fon im AZ...

VG Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer