Hallo,
ich habe ja hier bereits einen Versuch gestartet:
https://knx-user-forum.de/eibpc/1396...-fritzbox.html
Ich möchte bei Anruf auf eine bestimmte Nummer eine Aktion auf dem Bus ausführen. Und wenn es geht auch die Telefonnummer auf einer GA senden.
Bodo hat hier ein Perl-Script ausgegraben:
Ist es möglich das Script zu einem Plugin umzubauen?
@Makki: Du hattest ja schon Hilfe angeboten, deswegen hier der Post.
Grüße
Jens
ich habe ja hier bereits einen Versuch gestartet:
https://knx-user-forum.de/eibpc/1396...-fritzbox.html
Ich möchte bei Anruf auf eine bestimmte Nummer eine Aktion auf dem Bus ausführen. Und wenn es geht auch die Telefonnummer auf einer GA senden.
Bodo hat hier ein Perl-Script ausgegraben:
Code:
#!/usr/bin/perl -w # # read_calls.pl # # [URL="http://hickerspace.org/wiki/Fritz!Box"]Fritz!Box[/URL] # # Synopsis: # Script is run as a service daemon. It connects to the Fritz!Box Fon Ata # (port 1012) and receives the calling string (number of the party calling # in). # # Requirements: # - must be able to reach tcp port 1012 on your FB # - activate call monitor on FB by dialing #96*5* # - required perl package # # Licence: GPL2 # # History: # ver. 0.1 - 20060401 - Lars G. Sander, Zuerich # First public release. use IO::Socket; use strict; # your fritz box (ip or hostname) my $FRITZBOX="fritz.box"; #-------- NO USER SERVICABLE PARTS BELOW ausser der GA !!! und dem "/usr/bin/groupwrite" -------# my $sock = new IO::Socket::INET ( PeerAddr => $FRITZBOX, PeerPort => '1012', Proto => 'tcp' ); die "Could not create socket: $!\n" unless $sock; while(<$sock>) { if ($_ =~ /RING/){ # 24.04.11 15:08:54;RING;0;<Anrufer>;<Angerufene Nr.>;ISDN oder SIP0; my @C = split(/;/); my $rt=""; # rt = ringtime (Anrufzeit) my $nr=""; # nr = caller nr (Anrufer) $rt=$C[0]." "; # das erste Teilstück, Separator=";" $nr=$C[3]; # das vierte Teilstück my @hex=""; @hex= split(//,$nr); foreach my $c(@hex){ $c = "0x".sprintf "%x",ord($c); } my @hex2=""; @hex2= split(//,$rt); foreach my $c2(@hex2){ $c2 = "0x".sprintf "%x",ord($c2); } my @args=''; @args = ("/usr/bin/groupwrite", "ip:127.0.0.1", "9/0/0", @hex2, @hex); system(@args) == 0 or die "system @args failed: $?"; } }
@Makki: Du hattest ja schon Hilfe angeboten, deswegen hier der Post.
Grüße
Jens
Kommentar