Lösung für FHEM 72_FRITZBOX.pm: ctlmgr_ctl: not found

Heute habe ich mal kurz mein Log ansehen wollen und hatte mich gewundert, warum mein Browser eeeewig geladen hatte. Grund waren zigtausende Einträge die so aussahen:

2015.10.25 12:15:28 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 3878.
2015.10.25 12:15:28 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 3759.
2015.10.25 12:15:28 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 3629.
sh: 1: ctlmgr_ctl: not found
sh: 1: ctlmgr_ctl: not found
sh: 3: ctlmgr_ctl: not found
sh: 5: ctlmgr_ctl: not found
sh: 7: ctlmgr_ctl: not found
sh: 9: ctlmgr_ctl: not found

Werbung


Diese hatte mein Log innerhalb von 24 Stunden auf grob 32MB aufgeblasen. Die Lösung ist relativ einfach: Mein FHEM läuft nicht auf einer FRITZ!Box und meine Fritzbox ist in Version 06.30 wo es kein Telnet mehr gibt. Dadurch findet sich auch das Programm ctrlmgr_ctl nicht und via Telnet geht auch nichts. Daher muss man in der Moduldefinition folgende Attribute setzen:

attr [GERAETENAME] forceTelnetConnection 0
attr [GERAETENAME] allowShellCommand 0 
attr [GERAETENAME] allowTR064Command 1

Und schon war wieder Ruhe.

Veröffentlicht von

Uli

IT-Nerd und Admin

3 Gedanken zu „Lösung für FHEM 72_FRITZBOX.pm: ctlmgr_ctl: not found“

  1. Hallo Uli, auf der Suche nach dem Problem der Meldungen im Logfile habe ich hier Deinen Ratschlag gefunden. Diesen habe ich in meine fhem.cfg eingebaut. Leider habe ich immer noch diese Meldungen wenn ich z.B. in der FHEM-Eingabezeile ’set FritzBox call 614′ eingebe.

    2015.10.28 20:06:16 3: FRITZBOX: set FritzBox call 614
    2015.10.28 20:06:16 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 3759.
    2015.10.28 20:06:16 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 3629.
    sh: 1: ctlmgr_ctl: not found
    sh: 1: ctlmgr_ctl: not found

    Mein Configeintrag ist der Folgende:

    define FritzBox FRITZBOX
    attr FritzBox forceTelnetConnection 0
    attr FritzBox allowShellCommand 0 
    attr FritzBox allowTR064Command 1
    attr FritzBox boxUser XXXXXXXXX
    attr FritzBox fritzBoxIP 192.168.178.1
    attr FritzBox userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4 F0 F1 F2 F3 F4

    Kannst Du nachvollziehen was bei mir schief läuft?
    Ach ja noch etwas: Das Telefon 614 (und auch andere) klingelt (klingeln) nicht!
    Über eine Lösung wäre ich dankbar!
    Liebe Grüße
    Jürgen

    1. Hi Jürgen,

      ich bin mir nicht sicher ob man via TR064 überhaupt das Telefon klingeln lassen kann. Wenn dann müsstest du das hier in der Entwickler-Dokumentation finden können. Sowas wie X_AVM-DE_DialNumber aus der X_VoIP-Sektion könnte deinem Wünsch entsprechen. Das ist nun deutlich komplizierter, kannst du aber dann, sobald du es zusammengestellt hast, wie bei meinem WLAN-Beitrag über cmdalias wieder vereinfachen.

      Viele Grüße,
      Uli

    2. Hi Jürgen,

      ich würde es so machen (Fritzbox heisst FRITZBOXDEVICE):

      get FRITZBOXDEVICE tr064Command X_VoIP:1 x_voip X_AVM-DE_DialNumber NewX_AVM-DE_PhoneNumber 614

      In meinem Test hatte ich eine externe Nummer statt 614 angegeben wodurch diese geklingelt hat. Mit internen habe ich es noch nicht getestet.

      Das Kommando kannst du dann wieder normal in der Fritzbox hinterlegen via cmdalias:

      define CMDALIAS_FRITZBOXDEVICE_CALL cmdalias set FRITZBOXDEVICE call .* AS get FRITZBOXDEVICE tr064Command X_VoIP:1 x_voip X_AVM-DE_DialNumber NewX_AVM-DE_PhoneNumber $EVENT

      Cheers,
      Uli

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.