[Erledigt] Fritzbox: Telefoniert die Frau?

Begonnen von Det20, 11 März 2018, 17:53:39

Vorheriges Thema - Nächstes Thema

Det20

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.

CoolTux

FB_CALLMONITOR

Da siehst du ob gerade telefoniert wird
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Det20

#2
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?

CoolTux


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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Det20

#4
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

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Det20

Event ist immer "connect", wenn der Hörer abgenommen ist und ein Telefonat läuft? Super, vielen Dank!

CoolTux

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');
}
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Det20

#8
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")


CoolTux

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")
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net