FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Det20 am 11 März 2018, 17:53:39

Titel: [Erledigt] Fritzbox: Telefoniert die Frau?
Beitrag von: Det20 am 11 März 2018, 17:53:39
Hallo,

meine Internetverbindung ist dank Magenta Hybrid teilweise ordentlich instabil. Ich kann das manchmal optimieren, in dem ich die Fritzbox neu starte. Das habe ich auch schon teilweise automatisiert (nur wenn nicht gestreamt wird, TV nich läuft usw), aber: telefoniert die Frau gerade während die FB neu startet, dann habe ich ein ordentliches Problem. Kann ich irgendwie prüfen, ob gerade telefoniert wird? Eingehende Anrufe abfangen ist ja möglich.
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: CoolTux am 11 März 2018, 18:10:38
FB_CALLMONITOR

Da siehst du ob gerade telefoniert wird
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: Det20 am 11 März 2018, 20:58:25
Dachte ich auch, nur leider tut sich nix, wenn ich wo anrufe. Eingehende Anrufe: OK, verarbeite ich schon lange.
Aber abgehende? Da kam nix rein. Oder habe ich was übersehen?
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: CoolTux am 11 März 2018, 21:04:40

Internals:
   CFGFN     
   DEF        192.168.240.254
   DeviceName 192.168.240.254:1012
   FD         10
   NAME       CallmonTuxNetDSL01
   NOTIFYDEV  global
   NR         175
   NTFY_ORDER 50-CallmonTuxNetDSL01
   PARTIAL   
   STATE      opened
   TYPE       FB_CALLMONITOR
   READINGS:
     2018-03-11 19:42:17   call_duration   458
     2018-03-11 21:02:44   call_id         1
     2018-03-11 21:02:44   direction       outgoing
     2018-03-11 21:02:44   event           connect
     2018-03-11 21:02:44   external_connection SIP10
     2018-03-11 21:02:44   external_name   Leon
     2018-03-11 21:02:44   external_number 0176xxxxxx
     2018-03-11 21:02:44   internal_connection DECT_1
     2018-03-11 21:02:44   internal_number 63xxxxx
     2018-03-02 08:55:34   missed_call     0176xxxxxx (Leon)
     2018-03-11 17:50:30   state           opened
   helper:


Auch dann.
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: Det20 am 11 März 2018, 21:16:25
Du meinst

- notify FritzBox.Anrufe:event:.connect
Abgenommen oder angenommen

- notify FritzBox.Anrufe:event:.ring
Klineln, aber noch nicht abgenommen

- notify FritzBox.Anrufe:event:.disconnect
Ausgehend-oder-eingehend Ende
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: CoolTux am 11 März 2018, 21:19:41
Du prüfst einfach nur event. Wenn connect dann finger weg. Wenn Du noch wissen willst ob der connect incoming oder outgoing ist dann wegen meiner noch direction
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: Det20 am 11 März 2018, 21:22:10
Event ist immer "connect", wenn der Hörer abgenommen ist und ein Telefonat läuft? Super, vielen Dank!
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: CoolTux am 11 März 2018, 21:22:36
Hier mal eine kleine Funktion. Ein Notify übergibt der Funktion das Event


sub incomingCall($) {

my ($callevt) = @_;

if( $callevt eq "call" || $callevt eq "ring" ) {
       
if( $callevt eq "ring" ) {
       
                        my $incomingCall = ReadingsVal( "CallmonTuxNetDSL01", "external_name", "unbekannt" );

indoorMessage("Es ruft $incomingCall an","HandyIsabel","8") if( Value( "Kinder" ) eq "home" && Value( "Eltern") ne "home" );

                        indoorMessage("Es ruft $incomingCall an");
}

fhem "sleep 3; set TabletWohnzimmer volume 0";
                fhem "set dummyLgTV control pause" if( Value('dummyLgTV') eq 'on' );
}

elsif( $callevt eq "disconnect" ) {

oldVolume('TabletWohnzimmer');
}
}
Titel: Antw:Fritzbox: Telefoniert die Frau?
Beitrag von: Det20 am 11 März 2018, 21:28:26
Danke!!


  my $StatusFritz = ReadingsVal("FritzBox.Anrufe","event","-");
  if(($StatusFritz ne "call")&&($StatusFritz ne "connect")&&($StatusFritz ne "ring"))


Oder


  my $StatusFritz = ReadingsVal("FritzBox.Anrufe","event","-");
  if($StatusFritz eq "disconnect")

Titel: Antw:[Erledigt] Fritzbox: Telefoniert die Frau?
Beitrag von: CoolTux am 11 März 2018, 21:36:33
Ich würde auf disconnect setzen

Und solltest Du $StatusFritz wirklich nur für die Bedingung brauchen, dann nimm das ReadingsVal einfach in die Bedingung.

if(ReadingsVal("FritzBox.Anrufe","event","-") eq "disconnect")