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

awel

#210
Hallo tupol,
zunächst vielen Dank für das Modul und die viele Arbeit! Klasse!
Ich habe aber 2 Probleme (FB 7390, Raspberry, Gigaset-Dect-Telefone):

  • ring zeigt mit Show keine Meldung an (mit Lösung)
    Ursache scheint ein zu schnelles Zurückschalten auf die Standardwerte von MSN/Portx/Name zu sein.
    Die Reihenfolge war Name holen, Name setzen, Port setzen, wählen, Port zurücksetzen, Namen zurücksetzen, Zeit warten, auflegen.
    Die Wartepause und das Auflegen habe ich hinter das wählen geschoben, also den sleep und den Hangup-Befehl aus Zeile 1110 direkt hinter das Dial in Zeile 1093 gesetzt.
    Damit wird jetzt auch bei meinen Dect-Telefonen der Text dargestellt. Wie gesagt: keine AVM-Telefone, sondern alte Gigasets! (F1: Wie kann ich hier Code-Vergleiche darstellen?)
# uses name of port 0-3 (dial port 1-4) to show messages on ringing phone
   my $ringWithIntern = AttrVal( $name, "ringWithIntern", 0 );
   if ($ringWithIntern =~ /^([1-3])$/ )
   {
      push @cmdArray, "ctlmgr_ctl r telcfg settings/MSN/Port".($ringWithIntern-1)."/Name";
      push @cmdArray, "ctlmgr_ctl w telcfg settings/MSN/Port".($ringWithIntern-1)."/Name '".$msg."'";
      FRITZBOX_Log $hash, 4, "Change temporarily name of calling number $ringWithIntern to '$msg'";
      push @cmdArray, "ctlmgr_ctl w telcfg settings/DialPort $ringWithIntern"
   }

#Execute command array
   $result = FRITZBOX_Exec( $hash, \@cmdArray )
      if int( @cmdArray ) > 0;

   $intNo =~ s/,/#/g;
   
#Preparing 2nd command array to ring and reset everything
   FRITZBOX_Log $hash, 3, "Ringing $intNo for $duration seconds";
   push @cmdArray, "ctlmgr_ctl w telcfg command/Dial **".$intNo;

# ++++ jetzt warten, dann erst zurücksetzen +++++++++++++++

   push @cmdArray, "sleep ".$duration;
   push @cmdArray, "ctlmgr_ctl w telcfg command/Hangup **".$intNo;

# +++++++++++++++++++++++++++++++++++++++++++ 

   push @cmdArray, "ctlmgr_ctl w telcfg settings/DialPort 50"
      if $ringWithIntern != 0 ;
# Reset internal ring tones for the Fritz!Fons
   foreach (keys @FritzFons)
   {
      push @cmdArray, "ctlmgr_ctl w telcfg settings/Foncontrol/User".$FritzFons[$_]."/IntRingTone ".$result->[2*$_];
   }
# Reset name of calling number
   push @cmdArray, "ctlmgr_ctl w telcfg settings/MSN/Port".($ringWithIntern-1)."/Name '".$result->[2*int(@FritzFons)]."'"
      if $ringWithIntern =~ /^([1-4])$/;

# +++++ hier ist schon alles gelaufen, nach wählen warten, dann auflegen +++++++++++++++++++++++

   #push @cmdArray, "sleep ".$duration;
   #push @cmdArray, "ctlmgr_ctl w telcfg command/Hangup **".$intNo;

  • moh customer liefert keinen Ansagetext
    Ich erhalte die Fehlermeldung
    Could not convert 'say:Die Wanne ist voll'
    Das wurde zwar schon mal von anderen gemeldet, ist aber irgendwie untergegangen.
Nochmals vielen Dank,
Achim

ph1959de

Zitat von: tupol am 29 Dezember 2014, 20:18:02
Jetzt gibt es den Fehler "Login failed."
und das Attribute telnetTimeOut

Super. Danke dafür.

... und ich habe auch den (meinen!  :-[) Fehler gefunden und behoben  :-[

Ich hatte mich wohl zu sehr vom Namen der Set-Funktion createPwdFile verleiten lassen ... ihr nicht nur das <password> mitzugeben, sondern auch den Namen der pwdFile  :-\. Daher stand in der pwdFile natürlich der Name der Datei gefolgt von meinem Passwort drin. Ich hab's zwar gesehen, aber zur Kenntnis genommen und gedacht, dass das so sein muss.

Danke für Deine Geduld

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

cornhoulio

Hi,
nach dem heutigen Update gibt es jede menge Fehler in meinem fhem.log:

2014.12.30 16:46:42.587 1: PERL WARNING: Argument "2\n root@fritz:/var/mod/root" isn't numeric in foreach loop entry at ./FHEM/72_FRITZBOX.pm line 596.
2014.12.30 16:46:43.207 3: CUL_HM set WZ_RL_FENSTER statusRequest
2014.12.30 16:46:43.670 1: PERL WARNING: Argument "2\n root@fritz:/var/mod/root" isn't numeric in foreach loop entry at ./FHEM/72_FRITZBOX.pm line 636.
2014.12.30 16:46:43.776 1: PERL WARNING: Argument "10\n root@fritz:/var/mod/root" isn't numeric in subtraction (-) at ./FHEM/72_FRITZBOX.pm line 651.
2014.12.30 16:46:43.778 1: PERL WARNING: Argument "root@fritz:/var/mod/root" isn't numeric in subtraction (-) at ./FHEM/72_FRITZBOX.pm line 656.
2014.12.30 16:46:44.236 3: CUL_HM set WZ_RL_STRASSE statusRequest
2014.12.30 16:46:44.246 1: PERL WARNING: Argument "1\n root@fritz:/var/mod/root" isn't numeric in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 669.
2014.12.30 16:46:44.247 1: PERL WARNING: Argument "0\n root@fritz:/var/mod/root" isn't numeric in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 669.
2014.12.30 16:46:44.262 1: PERL WARNING: Argument "0\n root@fritz:/var/mod/root" isn't numeric in numeric lt (<) at ./FHEM/72_FRITZBOX.pm line 699.
2014.12.30 16:46:45.272 3: CUL_HM set WZ_RL_TUER statusRequest
2014.12.30 16:46:45.453 1: PERL WARNING: Argument "0\n root@fritz:/var/mod/root" isn't numeric in array element at ./FHEM/72_FRITZBOX.pm line 933.
2014.12.30 16:46:45.458 1: PERL WARNING: Argument "1\n root@fritz:/var/mod/root" isn't numeric in numeric le (<=) at ./FHEM/72_FRITZBOX.pm line 909.
2014.12.30 16:46:45.472 1: PERL WARNING: Argument "255\n root@fritz:/var/mod/root" isn't numeric in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 893.
2014.12.30 16:51:36.283 1: PERL WARNING: Argument "40\n root@fritz:/var/mod/root" isn't numeric in numeric lt (<) at ./FHEM/72_FRITZBOX.pm line 553.
2014.12.30 16:51:38.142 1: PERL WARNING: Argument "41\n root@fritz:/var/mod/root" isn't numeric in numeric gt (>) at ./FHEM/72_FRITZBOX.pm line 573.
2014.12.30 16:51:42.147 1: PERL WARNING: Argument "2\n root@fritz:/var/mod/root" isn't numeric in foreach loop entry at ./FHEM/72_FRITZBOX.pm line 596.
2014.12.30 16:51:43.213 1: PERL WARNING: Argument "2\n root@fritz:/var/mod/root" isn't numeric in foreach loop entry at ./FHEM/72_FRITZBOX.pm line 636.
2014.12.30 16:51:43.314 1: PERL WARNING: Argument "10\n root@fritz:/var/mod/root" isn't numeric in subtraction (-) at ./FHEM/72_FRITZBOX.pm line 651.
2014.12.30 16:51:43.316 1: PERL WARNING: Argument "root@fritz:/var/mod/root" isn't numeric in subtraction (-) at ./FHEM/72_FRITZBOX.pm line 656.
2014.12.30 16:51:43.796 1: PERL WARNING: Argument "1\n root@fritz:/var/mod/root" isn't numeric in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 669.
2014.12.30 16:51:43.798 1: PERL WARNING: Argument "0\n root@fritz:/var/mod/root" isn't numeric in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 669.
2014.12.30 16:51:43.803 1: PERL WARNING: Argument "0\n root@fritz:/var/mod/root" isn't numeric in numeric lt (<) at ./FHEM/72_FRITZBOX.pm line 699.
2014.12.30 16:51:44.950 1: PERL WARNING: Argument "0\n root@fritz:/var/mod/root" isn't numeric in array element at ./FHEM/72_FRITZBOX.pm line 933.
2014.12.30 16:51:44.955 1: PERL WARNING: Argument "1\n root@fritz:/var/mod/root" isn't numeric in numeric le (<=) at ./FHEM/72_FRITZBOX.pm line 909.
2014.12.30 16:51:44.958 1: PERL WARNING: Argument "255\n root@fritz:/var/mod/root" isn't numeric in numeric eq (==) at ./FHEM/72_FRITZBOX.pm line 893.



tupol

    Zitat von: awel am 30 Dezember 2014, 00:21:33
    • moh customer liefert keinen Ansagetext
      Ich erhalte die Fehlermeldung
      Could not convert 'say:Die Wanne ist voll'
      Das wurde zwar schon mal von anderen gemeldet, ist aber irgendwie untergegangen.

    wie schon oben erwähnt, brauche ich bitte einen Logauszug bei verbose 5 und ein list device.

    tupol

    Zitat von: cornhoulio am 30 Dezember 2014, 18:11:40
    Hi,
    nach dem heutigen Update gibt es jede menge Fehler in meinem fhem.log:

    Bitte auch hier mit verbose 5 nachschauen, wo es klemmt.

    awel

    Zitat von: tupol am 30 Dezember 2014, 19:14:10

    wie schon oben erwähnt, brauche ich bitte einen Logauszug bei verbose 5 und ein list device.

    ...hängen als Datei an.
    Vielen Dank und einen guten Rutsch!

    Achim

    yawp

    Hi,

    Das Versenden von Emails klappt bei mir nicht, wenn eine Email-Adresse angegeben wird:

    set Fritzbox sendMail to:test@test.de subject:Test body:Hallo

    Nach dem Ändern von Zeile 1628:

    $field{$lastField} .= $_." "

    durch das Löschen des hinteren Leerzeichens:

    $field{$lastField} .= $_.""

    hat es geklappt.


    Viele Grüße

    Marko
    FHEM 5.8 auf Raspberry Pi 2, CUL_HM

    tupol

    Zitat von: awel am 30 Dezember 2014, 22:51:48
    ...hängen als Datei an.
    Gibt es bei Dir eine Datei "/var/tmp/fx_moh"?
    Was passiert, wenn Du diesen Befehl unter Telnet ausführst

    wget -U Mozilla -O "/var/tmp/moh_upload" "http://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Die%20Wanne%20ist%20voll"
    ffmpegconv -i "/var/tmp/moh_upload" -o "/var/tmp/fx_moh" --limit 32 --type 7


    Welches Modell hat eigentlich Dein Telefon 610?
         610:
           brand      Siemens
           model      0xfa
           name       Arbeitszimmer

    awel

    Zitat von: tupol am 31 Dezember 2014, 10:07:18
    Gibt es bei Dir eine Datei "/var/tmp/fx_moh"?
    ja

    Zitat
    Was passiert, wenn Du diesen Befehl unter Telnet ausführst
    putty zeigt:

    #
    # wget -U Mozilla -O "/var/tmp/moh_upload" "http://translate.google.com/translat
    e_tts?ie=UTF-8&tl=de&q=Die%20Wanne%20ist%20voll"
    Connecting to translate.google.com (173.194.113.70:80)
    moh_upload           100% |*******************************|  7776   0:00:00 ETA
    #
    # ffmpegconv -i "/var/tmp/moh_upload" -o "/var/tmp/fx_moh" --limit 32 --type 7
    wavheader_fileparse: invalid  riff-signature

    ffmpeg_conv: could not open codec
    ffmpeg_conv: maybe corrupt/unsupported mp3-file: 0/0
    ffmpeg_conv: can't decode /var/tmp/moh_upload to /var/tmp/fx_moh
    #

    Aha, da liegt der Hase im Pfeffer...

    ZitatWelches Modell hat eigentlich Dein Telefon 610?
    Das ist ein uraltes Gigaset 3000micro

    tupol

    Versuch das ganze bitte nochmal mit
    ffmpegconv -i "/var/tmp/moh_upload" -o "/var/tmp/fx_moh" --limit 32 --type 6

    awel


    #
    # wget -U Mozilla -O "/var/tmp/moh_upload" "http://translate.google.com/translat
    e_tts?ie=UTF-8&tl=de&q=Die%20Wanne%20ist%20voll"
    Connecting to translate.google.com (173.194.113.64:80)
    moh_upload           100% |*******************************|  7776   0:00:00 ETA
    # ffmpegconv -i "/var/tmp/moh_upload" -o "/var/tmp/fx_moh" --limit 32 --type 6
    wavheader_fileparse: invalid  riff-signature
    ffmpeg_conv: could not open codec
    ffmpeg_conv: maybe corrupt/unsupported mp3-file: 0/0
    ffmpeg_conv: can't decode /var/tmp/moh_upload to /var/tmp/fx_moh
    #


    Dasselbe Problem, Type 6 ist es nicht ;-)
    anliegend mal die gelieferte fx_moh - habe als Ziel mal /var/InternerSpeicher angegeben

    awel

    Ups, ein Gedankenfehler.
    Nach  ffmpegconv --help müsste der Type die Ausgabedatei betreffen; ffmpegconv kann aber doch die von Google gelieferte Datei nicht lesen - oder sehe ich das falsch?

    LG Achim

    tupol

    Bitte mal die Datei übers FritzOS hochladen und testen.

    tupol

    Die bug in "sendmail" is gefixt und die Reihefolge bei Ring geändert.

    awel

    Zitat von: tupol am 31 Dezember 2014, 11:06:12
    Bitte mal die Datei übers FritzOS hochladen und testen.
    War das wie folgt gedacht?
    Ich habe über die Fritzbox-Oberfläche im Browser unter "Eigene Rufnummern" die von Google gelieferte moh_upload.mp3 als eigene Wartemusik eingespielt (nur umbenannt in mp3).
    Danach habe ich in fhem die Anweisung "set FritzBox ring 610 15 Budapest show:It is raining" ausgeführt.
    Ergebnis:
    Die Google-Tante sagt ganz artig ihren Text.