FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: Invers am 17 Juli 2013, 21:50:06

Titel: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 17 Juli 2013, 21:50:06
Grüße.
Ich hab leider keine Ahnung, wie ich es bewerkstelligen kann, dass eine Lampe eingeschaltet wird, wenn ein Anruf eingeht
Wäre jemand so nett, mir diesen hoffentlich kleinen Codeschnipsel einsatzbereit zur Verfügung zu stellen?

Ich bin Rootuser, weil ich über die IP m eine Anwesenheit teste.

FHEM: von hier,
Fritte: 7390
Name des Schalters: Licht

Danke im Voraus für die Mühe.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Ralph am 18 Juli 2013, 10:40:22
Wie wäre es mit diesen Fundstellen ?

http://forum.fhem.de/index.php?t=msg&goto=79817&rid=932&srch=Anruf+Licht#msg_79817 (//forum.fhem.de/index.php?t=msg&goto=79817&rid=932&srch=Anruf+Licht#msg_79817)
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 18 Juli 2013, 14:37:32
Die Fundstelle ist brillant. Obwohl ich fast 2 Stunden gesucht hatte, bin ich leider nicht drauf gestossen.
Vielen Dank.

Ich hab das auch gleich probiert, aber es tut sich nichts. Absolut keine Reaktion.
Hat das vielleicht doch etwas mit Root zu tun?
ich abe einfach den Code übernommen und leicht abgeändert. Aber daran sollte es nicht liegen:

## Jemand ruft mich an
define TelefonAN notify Fritz_Box:event:.ring { \
fhem "set LED on";;\
fhem "set STV4 PAUSE";;\
}


## anruf beendet
define TelefonAUS notify Fritz_Box:event:.disconnect { \
fhem "define Latenz at +00:00:10 set LED off";;\
fhem "define Latenz2 at +00:00:10 set STV4 PLAY";;\
}

Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: UliM am 18 Juli 2013, 16:38:18
fhem muss bei Dir als root laufen, siehe http://www.fhemwiki.de/wiki/FritzBox_Parameter_in_fhem_anzeigen#Wichtig (//www.fhemwiki.de/wiki/FritzBox_Parameter_in_fhem_anzeigen#Wichtig)
sonst kannst Du auf keine der fFB-Funktionen zugreifen.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 19 Juli 2013, 14:47:04
So, ich habe nun lange herumprobiert. Erwartungsgemäss klappt gar nichts.
Der Callmonitor liefert einfach keine Ergebnisse.
Da ich leider nur seeeehr wenig Ahnung habe, bitte ich noch einmal um Eure Hilfe in der Hoffnung, dass ihr noch nicht die Nase voll habt.

Ich wäre dankbar, wenn ihr euch mal die Config ansehen würdet, um Fehler zu entdecken. Die unwichtigen Sachen (Steckdosen und Thermometer) habe ich rausgelassen, die laufen ja auch. Die Anwesenheitsnachweise laufen nun nicht mehr, weil Root raus ist (denke ich).

Wie gesagt, es geht um die Anrufsignalisierung der Fritzbox (Callmonitor).
Falls ihr zufällig über weiter, böse Fehler stolpern solltet und mir das sagt, bin ich auch dafür dankbar.
Die Codes habe ich alle zusammengeklickt, bis auf wenige Ausnahmen und dann natürlich angepasst.



Hier also die Dateien:

Auszug aus dem Logfile:
(Fehler Can't connect to 192.168.0.1:1012: Connection timed out)


2013.07.19 08:27:21 3: telnetPort: port 7072 opened
2013.07.19 08:27:21 3: WEB: port 8083 opened
2013.07.19 08:27:21 3: WEBphone: port 8084 opened
2013.07.19 08:27:21 3: WEBtablet: port 8085 opened
2013.07.19 08:27:22 3: Opening CUL_0 device /dev/ttyACM0
2013.07.19 08:27:22 3: Setting CUL_0 baudrate to 9600
2013.07.19 08:27:22 3: CUL_0 device opened
2013.07.19 08:27:22 3: CUL_0: Possible commands: BCFiAZEGMRTVWXefmltux
2013.07.19 08:27:22 3: Opening fbaha device localhost:2002
2013.07.19 08:27:22 3: fbaha device opened
2013.07.19 08:27:22 1: FBAHA fbaha registered with handle: 00000006
2013.07.19 08:27:23 3: [STV] defined with host: 192.168.178.22 port: 55000 MAC: 9C:C7:A6:9A:C7:DF
2013.07.19 08:27:23 3: Opening FB7390 device 192.168.0.1:1012
2013.07.19 08:27:26 3: Can't connect to 192.168.0.1:1012: Connection timed out
2013.07.19 08:27:26 3: [STV] defined with host: 192.168.178.22 port: 52235 MAC:
2013.07.19 08:27:26 3: Opening MyCallMonitor device 192.168.0.1:1012
2013.07.19 08:27:29 3: Can't connect to 192.168.0.1:1012: Connection timed out
2013.07.19 08:27:29 1: Including ./log/fhem.save
2013.07.19 08:37:29 3: Watchdog watchdog_Abwesenheit triggered





fhem.cfg:

attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\\\\\
\\\\\
WEB,WEBphone,WEBtablet has no basicAuth attribute.\\\\\
telnetPort has no password/globalpassword attribute.\\\\\
\\\\\
Restart fhem for a new check if the problem is fixed,\\\\\
or set the global attribute motd to none to supress this message.\\\\\

attr global sendStatistics manually
attr global statefile ./log/fhem.save
attr global userattr devStateIcon devStateStyle icon sortby webCmd
attr global verbose 3

# attr global motd .

define telnetPort telnet 7072 global
define WEB FHEMWEB 8083 global
attr WEB stylesheetPrefix dark

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix dark

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave 1
attr autocreate device_room %TYPE
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate weblink 1
attr autocreate weblink_room Plots

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


# If the above notify did not helped, then you probably have to enable some of
# the following lines.  Verify first that /dev/xxx ist correct.

#define FHZ FHZ /dev/USB0
#define CUL CUL /dev/ttyACM0@9600 1234
#attr CUL rfmode HomeMatic

#define EUL TCM 310 /dev/ttyACM0@57600
#define BscBor TCM 120 /dev/ttyUSB0@9600
#define BscSmartConnect TCM 310 /dev/ttyUSB0@57600
#FB_checkPw does not for FB-OS > 5.22
#attr WEB basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
#attr WEBphone basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
#attr WEBtablet basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
#attr telnetPort globalpassword {use FritzBoxUtils;;FB_checkPw("localhost","$password") }

#---------------------------------------------------------

define CUL_0 CUL /dev/ttyACM0@9600 1034
define fbaha FBAHA localhost:2002


#=========================================================

# ------------- Anwesenheitskontrolle ------------------
define Handy PRESENCE lan-ping 192.168.178.21 60

define watchdog_Abwesenheit watchdog Handy:absent 00:10 Handy:present setstate watchdog_Anwesenheit defined;;\
set Uhr off
attr watchdog_Abwesenheit regexp1WontReactivate 1

define watchdog_Anwesenheit watchdog Handy:present 00:01 Handy:absent setstate watchdog_Abwesenheit defined;;\
set Uhr on
attr watchdog_Anwesenheit regexp1WontReactivate 1


# ------------- Twilieght für LED und Stehlampe ------------------
define myTwilight Twilight 52.53264390 13.60628510 1 638242

define LED_sunset_an at *{sunset("civil","-1200")} set LED on
attr LED_sunset_an room WZ
#define FileLog_LED FileLog ./log/LED-%Y.log LED
#attr FileLog_LED logtype text
#attr FileLog_LED room Logs

define Stehlampe_sunset_an at *{sunset("REAL","900")} set Stehlampe on
attr Stehlampe_sunset_an room WZ
#define FileLog_Stehlampe FileLog ./log/Stehlampe-%Y.log Stehlampe
#attr FileLog_Stehlampe logtype text
#attr FileLog_Stehlampe room Logs


# -------- Wetterdaten erfassen ---------
define MeinWetter Weather 638242 3600 de
attr MeinWetter room Wettervorhersage

# -- Logfile alle Wetter Daten --
define FileLog_MeinWetter FileLog ./log/meinwetter-%Y-%m.log MeinWetter
attr FileLog_MeinWetter logtype text
attr FileLog_MeinWetter room Logs

# attr MeinWetter localicons 1

# -- Wetter Icons hinzufügen --
define weblink_meinwetter weblink htmlCode {WeatherAsHtml("MeinWetter")}
attr weblink_meinwetter room Wettervorhersage



# IGNORE ---------------------------------------------------------
define CUL_TX_21 CUL_TX 21
attr CUL_TX_21 ignore 1
define CUL_TX_73 CUL_TX 73
attr CUL_TX_73 ignore 1

# Samsung TV -----------------------------------------------------

define STV1 dummy
attr STV1 group TV
attr STV1 webCmd HDMI:TV:CHUP:CHDOWN:POWEROFF

define STV2 dummy
attr STV2 group TV
attr STV2 webCmd MENU:UP:ENTER:VOLUP:VOLDOWN

define STV3 dummy
attr STV3 group TV
attr STV3 webCmd LEFT:DOWN:RIGHT:EXIT:VOLUME=20

define n_STV notify STV.* { samsungtv($EVENT);; fhem("setstate $NAME .");; -1;;}


define TV STV 192.168.178.22 55000
define rc1 remotecontrol
attr rc1 rc_iconpath icons/remotecontrol
attr rc1 rc_iconprefix black_btn_
attr rc1 room TestRemote
attr rc1 row00 POWEROFF,TV,HDMI
attr rc1 row01 :blank,:blank,:blank
attr rc1 row02 1,2,3
attr rc1 row03 4,5,6
attr rc1 row04 7,8,9
attr rc1 row05 :blank,0,PRECH
attr rc1 row06 :blank,:blank,:blank
attr rc1 row07 VOLUP:UP,MUTE,CHUP
attr rc1 row08 :VOL,:blank,:PROG
attr rc1 row09 VOLDOWN:DOWN,CH_LIST,CHDOWN
attr rc1 row10 MENU,:blank,GUIDE
attr rc1 row11 :blank,:blank,:blank
attr rc1 row12 TOOLS,UP,INFO
attr rc1 row13 LEFT,ENTER,RIGHT
attr rc1 row14 RETURN,DOWN,EXIT
define weblink_rc1 weblink htmlCode {fhem("get rc1 htmlcode", 1)}
attr weblink_rc1 group rc
attr weblink_rc1 room TestRemote


define FB7390 FB_CALLMONITOR 192.168.0.1:1012

#define CallMonitor_notify notify FB7390:event.*ring #{if(ReadingsVal("FB7390","internal_number","") eq "12345") { #FHTnominal("AZO_FHT80B") } }

## Jemand ruft mich an
define TelefonAN notify Fritz_Box:event:.ring { \
fhem "set LED on";;\
fhem "set STV4 PAUSE";;\
}

## anruf beendet
define TelefonAUS notify Fritz_Box:event:.disconnect { \
fhem "define Latenz at +00:00:10 set LED off";;\
fhem "define Latenz2 at +00:00:10 set STV4 PLAY";;\
}


define SamsungTV STV 192.168.178.22

#
# Test FB_CALLMONITOR....
#

define MyCallMonitor FB_CALLMONITOR 192.168.0.1:1012
attr MyCallMonitor event-on-change-reading event
attr MyCallMonitor group Wohnzimmer
attr MyCallMonitor room Haus


define n_MyCallMonitor notify MyCallMonitor {\
my $extNr = ReadingsVal("MyCallMonitor", "external_number", "none");;\
my $intNr = ReadingsVal("MyCallMonitor", "internal_number", "none");;\
my $conNr = ReadingsVal("MyCallMonitor", "used_connection", "none");;\
my $event = ReadingsVal("MyCallMonitor", "event", "none");;\
my $MSN = "" ;;\
SELECT:{\
if ($intNr eq "99902526"){$MSN = "MSN 1";; last SELECT;; }\
if ($intNr eq "99902528"){$MSN = "MSN 2";; last SELECT;; }\
if ($intNr eq "99499001"){$MSN = "MSN 3";; last SELECT;; }\
if ($intNr eq "99287621"){$MSN = "MSN 4";; last SELECT;; }\
}\
if($event eq "ring"){\
fhem "set SamsungTV mute on";;\
fhem "set SamsungTV call 'von:_'.$extNr.' '.$extNr.' '.$intNr";;\
} elsif($event eq "call"){\
;;\
} elsif($event eq "disconnect"){\
fhem "set SamsungTV mute off";;\
} else {\
;;\
}\
}


und die myUtils

##############################################
# $Id: 99_Utils.pm 3417 2013-07-14 09:15:15Z rudolfkoenig $
package main;

use strict;
use warnings;
use POSIX;

sub
Utils_Initialize($$)
{
  my ($hash) = @_;
}

sub
time_str2num($)
{
  my ($str) = @_;
  my @a = split("[- :]", $str);
  return mktime($a[5],$a[4],$a[3],$a[2],$a[1]-1,$a[0]-1900,0,0,-1);
}

sub
min($@)
{
  my ($min, @vars) = @_;
  for (@vars) {
    $min = $_ if $_ lt $min;
  }          
  return $min;
}

sub
max($@)
{
  my ($max, @vars) = @_;
  for (@vars) {
    $max = $_ if $_ gt $max;
  }          
  return $max;
}

sub
minNum($@)
{            
  my ($min, @vars) = @_;
  for (@vars) {
    $min = $_ if $_ < $min;
  }          
  return $min;
}

sub
maxNum($@)
{            
  my ($max, @vars) = @_;
  for (@vars) {
    $max = $_ if $_ > $max;
  }          
  return $max;
}


sub
abstime2rel($)
{
  my ($h,$m,$s) = split(":", shift);
  $m = 0 if(!$m);
  $s = 0 if(!$s);
  my $t1 = 3600*$h+60*$m+$s;

  my @now = localtime;
  my $t2 = 3600*$now[2]+60*$now[1]+$now[0];
  my $diff = $t1-$t2;
  $diff += 86400 if($diff <= 0);

  return sprintf("%02d:%02d:%02d", $diff/3600, ($diff/60)%60, $diff%60);
}


#99_myUtils.pm

#am Anfang hinzugefügt:
use CGI qw(:standard);
use IO::Socket;
use MIME::Base64;

sub samsungtv($);


#### Samsung-TV steuern ########################################################################################################
# called by n_STV
sub
samsungtv($) {
my $cmd = shift;
my @ARGV = split(" ",$cmd);
#### Configuration
#Debug "samsungtv ARGV 0:".$ARGV[0]. ($ARGV[1] ? " 1:".$ARGV[1] : "");
my $tv = "UE55ES8090"; # Might need changing to match your TV type
my $port = "55000";    #TCP port of Samsung TV
my $tvip = "192.168.178.22"; # IP Address of TV
my $myip = "192.168.178.20"; # Doesn't seem to be really used
my $mymac = "1C:6F:65:C5:AD:FC"; # Used for the access control/validation

    my $appstring = "iphone..iapp.samsung"; # What the iPhone app reports
    my $tvappstring = "iphone.".$tv.".iapp.samsung"; # TV type
    my $remotename = "Perl Samsung Remote"; # What gets reported when it asks for permission/also shows in General->Wireless Remote Control menu

    # command-line help

    if ($ARGV[0] eq "--help") {
       print "Usage: samsungremote KEY [KEYS]\n";
       print "Normal remote keys: 0 1 2 3 4 5 6 7 8 9 UP DOWN LEFT RIGHT ENTER MENU PRECH GUIDE INFO RETURN CH_LIST EXIT SOURCE AD PICTURE_SIZE VOLUP VOLDOWN MUTE TOOLS POWEROFF CHUP CHDOWN CONTENTS W_LINK RSS MTS SRS CAPTION TOPMENU SLEEP ESAVING PLAY PAUSE REWIND FF REC STOP TV HDMI PIP_ONOFF ASPECT \n";
       exit;
    }


    my $sock = new IO::Socket::INET (
    PeerAddr => $tvip,
    PeerPort => '55000',
    Proto => 'tcp',
    );
    die "Could not create socket: $!\n" unless $sock;

    my $messagepart1 = chr(0x64) . chr(0x00) . chr(length(encode_base64($myip, ""))) . chr(0x00) . encode_base64($myip, "") . chr(length(encode_base64($mymac, ""))) . chr(0x00) . encode_base64($mymac, "") . chr(length(encode_base64($remotename, ""))) . chr(0x00) . encode_base64($remotename, "");
    my $part1 = chr(0x00) . chr(length($appstring)) . chr(0x00) . $appstring . chr(length($messagepart1)) . chr(0x00) . $messagepart1;
    print $sock $part1;

    my $messagepart2 = chr(0xc8) . chr(0x00);
    my $part2 = chr(0x00) . chr(length($appstring)) . chr(0x00) . $appstring . chr(length($messagepart2)) . chr(0x00) . $messagepart2;
    print $sock $part2;

    # Preceding sections all first time only

    if (defined(param("text"))) {
       # Send text, e.g. in YouTube app's search, N.B. NOT BBC iPlayer app.
       my $text = param("text");
       my $messagepart3 = chr(0x01) . chr(0x00) . chr(length(encode_base64($text, ""))) . chr(0x00) . encode_base64($text, "");
       my $part3 = chr(0x01) . chr(length($appstring)) . chr(0x00) . $appstring . chr(length($messagepart3)) . chr(0x00) . $messagepart3;
       print $sock $part3;
    }
    else {
      foreach my $argnum (0 .. $#ARGV) {
        # Send remote key(s)
# Debug "samsungtv.pl sending ".uc($ARGV[$argnum]);
        my $key = "KEY_" . uc($ARGV[$argnum]);
        my $messagepart3 = chr(0x00) . chr(0x00) . chr(0x00) . chr(length(encode_base64($key, ""))) . chr(0x00) . encode_base64($key, "");
        my $part3 = chr(0x00) . chr(length($tvappstring)) . chr(0x00) . $tvappstring . chr(length($messagepart3)) . chr(0x00) . $messagepart3;
        print $sock $part3;
#        sleep(1);
        select(undef, undef, undef, 0.5);
       }
    }

    close($sock);

}


#### Samsung-TV remote frontend ########################################################################################################
# called by weblink htmlCode {samsungremote("<remotedevice>")}
sub
samsungremote_init() {
  my @row;
  $row[0]="POWEROFF,TV,HDMI";
  $row[1]="---";
  $row[2]="1,2,3";
  $row[3]="4,5,6";
  $row[4]="7,8,9";
  $row[5]=",0,PRECH";
  $row[6]="---";
  $row[7]="VOLUP,MUTE,CHUP";
  $row[8]="VOLDOWN,CH_LIST,CHDOWN";
  $row[9]="MENU,,GUIDE";
  $row[10]="---";
  $row[11]="TOOLS,UP,INFO";
  $row[12]="LEFT,ENTER,RIGHT";
  $row[13]="RETURN,DOWN,EXIT";
  # unused available commands
  # AD PICTURE_SIZE  SOURCE
  # CONTENTS W_LINK
  # RSS MTS SRS CAPTION TOPMENU SLEEP ESAVING
  # PLAY PAUSE REWIND FF REC STOP
  # PIP_ONOFF ASPECT
  return @row;
}
sub
samsungremote($) {
  my $stvdev = shift;
  my $stvhtml;
  my @row = samsungremote_init();
  $stvhtml='<table border="2" rules="none">';
  foreach my $rownr (0..$#row) {
    if ( ($row[$rownr] eq "---") && !$FW_tp ) {
  $stvhtml .= "<tr><td colspan=\"3\" style=\"height:6px\"></td></tr>\n";
  next;
}
    $stvhtml .= "<tr>\n";
    my @btn = split (",",$row[$rownr]);
 foreach my $btnnr (0..$#btn) {
   $stvhtml .= "<td>";
if ($btn[$btnnr] ne "") {
#  $stvhtml .=  "<a href=\"$FW_ME$FW_subdir?cmd.$stvdev=set $stvdev $btn[$btnnr]\"><img src=\"$FW_ME/icons/black_btn_".$btn[$btnnr]."\"></a>";
 my $cmd   = "cmd.$stvdev=set $stvdev $btn[$btnnr]";
 my $img   = "<img src=\"$FW_ME/icons/black_btn_$btn[$btnnr]\">";
   $stvhtml .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmd')\">$img</a>";
}
   $stvhtml .= "</td>\n";
 }
    $stvhtml .= "</tr>\n";
  }
  $stvhtml .= "</table>\n";
  return $stvhtml;
}
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 19 Juli 2013, 15:01:09
Hi Invers,

in diese Zeile: define MyCallMonitor FB_CALLMONITOR 192.168.0.1:1012 sollte die IP von deiner 7390 stehen, vermute ich mal: 192.168.178.1

Gerhard
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 19 Juli 2013, 15:07:52
Danke, Gerhard, für die schnelle Antwort.
Das hatte ich auch zuerst vermutet, aber das hat dann bewirkt, dass ich fhem nicht mehr aufrufen konnte. Ich musste die Box neu starten, dann ging es wieder und ich habe daraufhin die IP wieder geändert. Vielleicht war das ja ein Zufall. Man soll vielleicht nachts um 1 nicht mehr so viel probieren. Wenn du sicher bist, dass du richtig liegst, versuche ich es noch einmal damit.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 19 Juli 2013, 15:51:40
So, Update:

@ Gerhard: Niemals wieder werde ich deine Worte anzweifeln. LOL Danke.

Der Callmonitor funktioniert nun. Es war gestern tatsächlich ein Zufall, dass sich die Fritte verabschiedet hatte.
Problem "Schalten bei Anruf" also gelöst.

Eine Sache musste ich umstellen:
Alles, was sich auf samsungTV bezog, musste ich in STV3 ändern, wo ich den Befehl MUTE über attr hinzugefügt habe. MUTE on oder off geht nicht.

Nun erhebt sich natürlich die Frage, warum alles mit samsungTV nicht geht, sondern nur mit STV1, STV2, STV3.
Da muss noch was sein.

Gibt es dazu noch Ideen?
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 19 Juli 2013, 15:52:47
Hi Invers,

also, es ist sicher daß da die ip deiner FB mit dem Port 1012 stehen nuß!

übrigens nicht vergessen:

In order to use this module with fhem you must enable the CallMonitor feature via telephone shortcode.

#96*5* - for activating
#96*4* - for deactivating

Just dial the shortcode for activating on one of your phones, after 3 seconds just hang up. The feature is now activated.
After activating the CallMonitor-Support in your FritzBox, this module is able to generate an event for each call.


Gruß, Gerhard
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 19 Juli 2013, 16:27:57
OK, Gerhard, der Callmonitor der Box ist an.
Port 1012 hab ich ja gesetzt und es geht ja nun auch. Es war die Korrektur der IP, die ich machen musste.
nur die Steuerung über
define SamsungTV STV 192.168.178.22
und zugehörige Routinen laufen gar nicht.

Auch die beiden Codeschnipsel

## Jemand ruft mich an
define TelefonAN notify Fritz_Box:event:.ring { \
fhem "set LED on";;\
fhem "set STV4 PAUSE";;\
}

und
## anruf beendet
define TelefonAUS notify Fritz_Box:event:.disconnect { \
fhem "define Latenz at +00:00:10 set LED off";;\
fhem "define Latenz2 at +00:00:10 set STV4 PLAY";;\
}


laufen nicht.

Ich hab dann statt samsungTV halt auf STV3 umgebastelt. Das läuft.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 19 Juli 2013, 17:12:23
Invers,

wie ich in deinen fhem.cfg sehe ist STV zwei mal definiert:
 1. define TV STV 192.168.178.22 55000
 2. define SamsungTV STV 192.168.178.22

bitte nur einmal benutzen, und zwar mit 55000

;)

Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 19 Juli 2013, 17:22:07
Danke Gerhard, wird sofort erledigt.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 19 Juli 2013, 18:04:35
Hi Invers,

habe ich richtig verstanden, bei dir funktioniert die MsgBox? d.h. bei Anruf erscheint ein popup call?

Gerhard
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 19 Juli 2013, 18:14:17
Mensch, das wäre ja toll. Nö, hast du leider nicht richtig verstanden. Ich habe es probiert und nicht wieder gelöscht, weil ich ja nicht wusste, ob es falsch ist. Nun hau ich es aber raus, bis jemand eine Lösung hat. Sieht ja schlecht aus. Aber vielleicht hat Samsung mal erbarmen, was ich allerdings nicht glaube.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 20 Juli 2013, 22:24:51
Hallo Invers,

morgen mochte ich an dem STV Modul ein paar Änderungen vornrhmen.
Wärst du bereit für mich ein paar tests zu machen?, da ich mur einen D-Serie Fehrnseher habe.

Wenn ja, berichte mir konkret, was mit dem STV Modul funktionierte und was nicht.

bis Morgen, Gerhard

Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 20 Juli 2013, 22:36:45
Klar helfe ich gerne.
Aber was willst du genau wissen? Was bisher funktionierte, oder was nach deinem Update funktioniert.
den bisher funkionierenden Code kann ich dir geben, was geht kann ich erklären. Also was genau interessiert dich?
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 20 Juli 2013, 22:45:23
also define tv STV ip 55000
kontest du Kanäle schalten?, Lautstärke einstellen?, etc.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Invers am 20 Juli 2013, 22:58:36
Ja, kann ich. Eigentlich komme ich an alle Funktionen, die so bekannt sind. Aber wie gesagt, nicht mit der wunderschönen Fernbedienung, sondern mit einer anderen Routine. Und Mute On und Mute Off funktionieren so nicht, sundern MUTE alleine triggert.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 20 Juli 2013, 23:04:57
o.k. danke, dann Morgen über PM weiter.

Gerhard
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: mediastudio am 23 Juli 2013, 16:34:52
Hallo, ich habe einen SAMSUNG UE55D6200, hier funktionieren bis auf HDMI1,HDMI2,HDMI3 so gut wie alle Befehle, leider auch nicht die MSBOX, ich kann keinen Text senden.
Ich habe es auch schon mit  http://samsung.rainerullrich.de (//samsung.rainerullrich.de) getestet, leider keine Mesetsch. Würde mich auch interessieren wenn das für den UE55D6200 funktioniert.
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Ralph am 23 Juli 2013, 17:10:33
Zitat von: mediastudio schrieb am Di, 23 Juli 2013 16:34keine Mesetsch. Würde mich auch interessieren ....
was die Bedeutung dieses Wortes sein könnte ?
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Gerhard am 25 Juli 2013, 19:36:11
Hi Ralph,

das soll MessageBox heißen.

@mediastudio: ich habe ein UE46D6200 und bei mir funktioniert call, sms, date also alles was mit service messages zu tun hat auch nicht.

bei der D-Serie wäre das möglich wenn man upgratet! wie das funktioniert steht irgendwo bei samygo

http://forum.samygo.tv/ (//forum.samygo.tv/)

ich habe momentan keine Zeit mich damit zu beschäftigen, aber solltest du lust und Zeit haben, könntest du hier posten ob du neue Erkenntnisse findest.

Gruß, gerhard
Titel: Aw: Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: mediastudio am 26 Juli 2013, 09:20:29
Hallo, sollte ich Erfolg haben, dann werde ich es posten.
Danke für die Antwort.
Gruß
Wilfried
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 05 Dezember 2014, 08:04:19
Hallo,
Ich wollte das gerne nun so haben das ein Licht blinkt wenn ein Anruf eingeht.
Das ist auch nicht das Problem, doch wie schaffe ich es, dass das Licht wieder in die "Ausgangsposition geht/leuchtet?

Also wenn das Licht AN ist soll es nach dem Blinken wieder AN sein, bis jetzt geht es aus.
An bei mein Code aus der Config.
## Jemand ruft mich an
define TelefonAN notify fritzbox:event:.ring set Weihnachts_Beleuchtung3 blink 4 1

## anruf beendet
define TelefonAUS notify fritzbox:event:.disconnect { \
fhem "define Latenz at +00:00:10 set Weihnachts_Beleuchtung3 blink 1 1";;\
}


Vielen Dank
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 21 Dezember 2014, 20:33:33
Oh oh,
ich glaube ich muss den Wiki Eintrag grundlegend überarbeiten :(

Am einfachsten würde sich das Problem imho mit dem Lightscene Modul lösen lassen:

Grob umrissen geht das so:
1. Du definierst eine Lightscene die die Lichter enthält, die davon betroffen sein sollen.
2. Du erstellst dafür zwei Szenarien
2a eines nennst du temp
2b eines nennst du Anruf
Bei Anruf stellst du es so ein, wie es sich beim klingeln eben verhalten soll. Das speicherst du in der Lightscene
3. Das notify beim ring änderst du so, dass der aktuelle Zustand deiner Lightscene in temp gespeichert wird
4. Dann lightsceene Anruf aktivieren
5. Das disconnect notify soll die temp Lightscene wieder laden


Das hat den Vorteil, dass alle states etc. gespeichert werden. Also auch Dimmer etc. Weiterhin ist die Lightscene nicht an 1 Lampe gebunden. Du kannst beliebig viele einbinden. Und, das Modul ist nicht auf Lampen beschränkt! Da geht so gut wie alles mit :)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 24 Dezember 2014, 12:21:51
Vielen Dank für die Antwort.

Ich habe, glaube ich, das LightScene erstellt. Ich weiß nun aber nicht wie ich das "einstellen" kann, in der Wiki
http://www.fhemwiki.de/wiki/LightScene
steht leider nicht viel.

Anbei ein Auszug meiner FHEM.cfg
Vielleicht kannst Du mir da etwas weiterhelfen.
define Tel_temp LightScene [<Weihnachts_Beleuchtung3>]
define Tel_Anruf LightScene [<Weihnachts_Beleuchtung3>]

## Jemand ruft mich an
define TelefonAN notify fritzbox:event:.ring set Weihnachts_Beleuchtung3 blink 4 1

## anruf beendet
define TelefonAUS notify fritzbox:event:.disconnect { \
fhem "define Latenz at +00:00:10 set Weihnachts_Beleuchtung3 blink 1 1";;\
}


Ich habe auch was anderes Probiert, doch damit klappt das irgendwie gar nicht. Ich mache aber auch viel mit Copy & Paste. Vielleicht schleicht sich so der ein oder andere Fehler ein.

define Licht_Alt dummy
define Licht_Neu dummy
define TelefonAN notify Fritz_Box:event:.ring { \my $number (ReadingsVal("Fritz_Box","internal_number",99));;\my $Licht_An=Value("Weihnachts_Beleuchtung3");;\if ($number == 3999572) {\ { \fhem ("set Licht_Alt on") if (($Licht_An) eq "on");;\       fhem ("set Weihnachts_Beleuchtung3 on") if (($Licht_An) ne "on");;\     } \   } \ }
define TelefonAUS notify Fritz_Box:event:.disconnect { \   my $number=(ReadingsVal("Fritz_Box","internal_number",99));;\   my $Licht_Neu=Value("Weihnachts_Beleuchtung3");;\   my $Licht_Alt=Value("Licht_Alt");;\   if ($number == 412100) { \     fhem "define Latenz2 at +00:00:10 set STV4 PLAY";;\     if ($Licht_Alt ne $Licht_Neu) { \       fhem "define Latenz at +00:00:10 set Weihnachts_Beleuchtung3 off";;\     }\   }\ }


Vielen Dank schon mal  für Eure Hilfe
Frohe Weihnachten und ein Guten Rutsch

Thoffi
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 31 Dezember 2014, 19:02:50
Sry,
hab es grade erst gesehen. Ich schau es mir nächstes Jahr gerne an :)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 04 Januar 2015, 22:17:19
Das ist sehr nett von Dir.

Danke
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 02 Februar 2015, 22:03:02
Hallo,

ich wollte einmal nachfragen ob mir vielleicht einer bei der Telefonschaltung weiterhelfen kann.

Vielen Dank
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Ekksen am 05 Februar 2016, 19:17:50
Also ich habe die FritzBox durch den Callmonitor ersetzt. Funktioniert!
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 22 Februar 2016, 10:38:47
Wärst du so lieb  und machst ein "list" von deinen Notifies
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 22 Februar 2016, 12:12:55
Hallo.
hier die List:
TelefonAN
Internals:
   DEF        Callmonitor:.ring {
  my $number=(ReadingsVal("Callmonitor","internal_number",99));
    my $Licht_An=Value("Schalter3");
  if ($number == 412100) {
    fhem "set STV4 PAUSE";
    if ($Helligkeit <= 100) {
      fhem ("set Licht_Alt on") if (($Licht_An) eq "on");
      fhem ("set Schalter on") if (($Licht_An) ne "on");
    }
  }
}
   NAME       TelefonAN
   NOTIFYDEV  Callmonitor
   NR         170
   NTFY_ORDER 50-TelefonAN
   REGEXP     Callmonitor:.ring
   STATE      active
   TYPE       notify
   Readings:
     2016-02-22 12:03:22   state           active
Attributes:

TelefonAUS:
Internals:
   DEF        Callmonitor:event:.disconnect {
  my $number=(ReadingsVal("Callmonitor","internal_number",99));
  my $Licht_Neu=Value("OG_wz_WS_LICHT");
  my $Licht_Alt=Value("Licht_Alt");
  if ($number == 1234567) {
    fhem "define Latenz2 at +00:00:10 set STV4 PLAY";
    if ($Licht_Alt ne $Licht_Neu) {
      fhem "define Latenz at +00:00:10 set OG_wz_WS_LICHT off";
    }
  }
}
   NAME       TelefonAUS
   NOTIFYDEV  Callmonitor
   NR         173
   NTFY_ORDER 50-TelefonAUS
   REGEXP     Callmonitor:event:.disconnect
   STATE      2016-02-22 12:09:04
   TYPE       notify
   Readings:
     2016-02-22 12:03:59   state           active
Attributes:


Vielen Dank
Hoffi
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 22 Februar 2016, 19:16:10
Ok.
Ich denke der Ansatz über eine LightScene ist schlauer.
Wie heißt dein Lichtschalter?
Oben schreibst du Schalter3 unten steht was von OG_wz_WS_LICHT (das sieht schwer nach meinem ersten Notify aus ;) )
Mit welchem Befehl machst du das Licht an?
set Schalter3 on ?
Wenn ja, ersetze die <Name....> durch Schalter3


Los gehts:
define Telefon_Info_Beleuchtung LightScene <NameVonDeinemLichtaktor>

Bitte folgende Fragen beantworten: (am besten gleich ein list von den Geräten :) )
Benutzt du das fhem eigene Samsung Modul?
Soll dein Licht nur bei Anruf auf einer Nummer angehen, oder ist es egal?
Hast du ein Gerät, welches dir die Helligkeit im Raum angibt? (So einen HM Bewegungsmelder z.B.)

Weiter geht es wenn die Fragen beantwortet sind :)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 23 Februar 2016, 08:00:17
Hallo Rince,
der Name des Gerätes ist Schalter3
List:
Internals:
   DEF        F1FFFF10FF FF 00
   IODev      CUL
   NAME       Schalter3
   NR         125
   STATE      off
   TYPE       IT
   XMIT       f1ffff10ff
   XMITdimdown 00
   XMITdimup  00
   XMIToff    00
   XMITon     ff
   Code:
     1          f1ffff10ff
   Readings:
     2016-01-14 10:10:15   protocol        V1
     2016-02-23 06:54:44   state           off
Attributes:
   IODev      CUL
   alias      Beleuchtung WZ
   model      itswitch
   room       Steckdosen
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0


- mit Set Schalter3 on geht das Licht an.
- Das Samsungmodul kann raus"geschmissen" werden, da ich mittlerweile ein anderen TV habe.
- Das Licht soll im Prinzip bei allen anrufen angehen die auf external_connection     SIP0,SIP1,Sip2 angenommen werden. Oder alternativ; 412100, 412111, 414315263 (internal_number)
- Ich greife die Helligkeit mittels HTTP von meiner Aussenkamera ab.
Internals:
   BUSY       0
   DEF        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR) 120
   GetSeq     0
   HTTPHEADER
   Interval   120
   LASTSEND   1456210099.85394
   MainURL    http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   NAME       Helligkeit
   NR         178
   STATE      100.2
   TRIGGERTIME 1456210219.85264
   TRIGGERTIME_FMT 2016-02-23 07:50:19
   TYPE       HTTPMOD
   addr       http://192.168.2.12:80
   auth       Fhem:fhem1234
   buf        HTTP/1.0 200 OK

Content-type: text/plain

100.2
   code       200
   conn
   data
   displayurl http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   header
   host       192.168.2.12
   httpheader HTTP/1.0 200 OK

Content-type: text/plain
   hu_blocking 0
   hu_filecount 427
   ignoreredirects 0
   loglevel   4
   path       /control/rcontrol?action=gettext&message=$(SEN.LXR)
   protocol   http
   redirects  0
   timeout    10
   url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   QUEUE:
   Readings:
     2016-02-23 07:48:20   state           100.2
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   Sslargs:
Attributes:
   reading01Name state
   reading01Regex \n([\d\.]+)
   room       Haus
   timeout    10
   userattr   reading01Name reading01Regex timeout


Vielen Dank
Hoffi
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 23 Februar 2016, 09:25:30
Gut.
Die Lightscene ist angelegt?

Dann schalte mall dein Licht an (set Schalter3 on) und speichere dies als Lichtszenario:
set Telefon_Info_Beleuchtung save AN

Dann mach das Licht aus (set Schalter3 off) und speichere dieses Szenario ebenfalls.
set Telefon_Info_Beleuchtung save AUS

(Zur Lightscene:
Das schöne daran ist, dass wir später ein weiteres Szenario anlegen lassen werden, welches den Lichtstatus beim Klingeln speichert)


Als nächstes bauen wir uns einen Dummy für den Schwellwert der Beleuchtung. Wenn du später den Schwellwert ändern willst, schreibst einfach in den Dummy die neue Zahl. Ist imho später einfacher zu warten denke ich.

define du_Licht_Schwellwert  dummy
set du_Licht_Schwellwert 60



Frage:
Bezügl. der SIP Nummern: sind das alle? Oder andersrum gefragt: gibt es Anrufe auf die du NICHT reagieren willst? Weil in dem Fall brauchen wir nur einen Trigger auf das Klingeln, ohne jede weitere Filterung :)


Edit:
Zur Sicherheit:
Machst du ein list Callmonitor?
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 23 Februar 2016, 10:18:58
Mal ein Schnellschuss:


define di_Anruf_Licht DOIF ([Callmonitor:event] eq "ring" and [Helligkeit] < [[du_Licht_Schwellwert]])
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)


(Vorausgesetzt dein Callmonitor heißt Callmonitor und du hast den Dummy du_Licht_Schwellwert mit einer Zahl gefüttert sowie die LightScene von oben angelegt)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 23 Februar 2016, 10:48:52
Alles soweit angelegt wie oben beschrieben.

Ich teile mir den Anschluss mit meinem Nachbarn, von daher wären die auszuschließenden Nummern noch mehrere.

List Callmonitor:
Internals:
   DEF        192.168.2.1:1012
   DeviceName 192.168.2.1:1012
   FD         13
   NAME       Callmonitor
   NR         43
   NTFY_ORDER 50-Callmonitor
   PARTIAL
   STATE      opened
   TYPE       FB_CALLMONITOR
   Readings:
     2016-02-23 10:40:04   call_duration   14
     2016-02-23 10:40:04   call_id         0
     2016-02-23 10:40:04   direction       incoming
     2016-02-23 10:40:04   event           disconnect
     2016-02-23 10:40:04   external_connection SIP1
     2016-02-23 10:40:04   external_name   unknown
     2016-02-23 10:40:04   external_number unknown
     2016-02-23 10:40:04   internal_connection DECT_1
     2016-02-23 10:40:04   internal_number 412100
     2016-02-23 07:56:36   missed_call     unknown
     2016-02-22 17:36:04   state           opened
   Helper:
     Temp:
Attributes:
   room       Telefon

Schalten tut Schalter3 jetzt aber noch nicht. Auch wenn ich den Schwellwert ändere.
Es wird nur der Anruf im Event Monitor angezeigt:
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor event: ring
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor event: connect
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor event: disconnect
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor call_duration: 5
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 23 Februar 2016, 11:22:43
Ich sagte ja, Schnellschuss :)

Gut. Wir gehen nochmal einige Schritte zurück:

define du_Test dummy

Dann ändere bitte das DOIF folgendermaßen ab:
([Callmonitor:event] eq "ring")
(set du_Test es läutet)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set du_Test aufgelegt)


Dann schaue dir den Dummy du_Test an, rufe dich an, hebe ab, und lege auf :)
Er sollte beim läuten auf "es läutet" stehen, beim abheben bleibt er auf "es läutet", beim auflegen sollte "aufgelegt" da stehen...
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 23 Februar 2016, 12:45:04
JA :)
soweit funktioniert das mit dem Dummy.
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 23 Februar 2016, 13:12:13
DOIF ändern:


([Callmonitor:event] eq "ring" and [Helligkeit] < [[du_Licht_Schwellwert]])
(set du_Test es läutet)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set du_Test aufgelegt)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 24 Februar 2016, 09:33:14
Hallo Rince,
ich habe den Helligkeitswert mal direkt über die STATE Abfrage eingebunden:
([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000)
(set du_Test es läutet)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set du_Test aufgelegt)

Der Dummy funktioniert :D
Sofern der Schwellwert nicht für was anderes gebraucht wird, kann dieser sonst auch gern entfallen.

Hoffi
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 24 Februar 2016, 10:22:16
Hm. Na ja, gut.
Hast mal versucht die 1000 in dem Dummy zu lassen?
([Callmonitor:event] eq "ring" and [Helligkeit:state] < [[du_Licht_Schwellwert]])

Zitat von: DOIF_commandref
Anwendungsbeispiel: Lampe soll zu einer bestimmten Zeit eingeschaltet werden. Die Zeit soll über den Dummy time einstellbar sein:

define time dummy
set time 08:00
define di_time DOIF ([[time]])(set lamp on)

Wenn du das mal testen würdest?


Aber weiter:
Dann schaun wir als nächstes, ob der Schnellschuss mit der LightScene klappt ;)


([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000)
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)


Die Abfragen bezügl. den Zielnummern basteln wir dann im Anschluss dazu.
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 24 Februar 2016, 13:29:27
Das mit dem Schwellwert funktioniert nicht.
mit Helligkeit:State schon.


2016-02-24 13:22:58 LightScene Telefon_Info_Beleuchtung save TEMP
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_nr: 1
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_seqnr: 1
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_event: Callmonitor
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_1_1
2016-02-24 13:22:58 LightScene Telefon_Info_Beleuchtung AN
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_nr: 1
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_seqnr: 2
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_event: Callmonitor
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_1
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor event: ring
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor event: connect
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-24 13:23:06 LightScene Telefon_Info_Beleuchtung Schalter3.state:
2016-02-24 13:23:06 IT Schalter3 off
2016-02-24 13:23:06 LightScene Telefon_Info_Beleuchtung TEMP
2016-02-24 13:23:06 DOIF di_Anruf_Licht cmd_nr: 2
2016-02-24 13:23:06 DOIF di_Anruf_Licht cmd_event: Callmonitor
2016-02-24 13:23:06 DOIF di_Anruf_Licht cmd_2
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor event: disconnect
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor call_duration: 3
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 24 Februar 2016, 19:24:23
Sorry, viel Spielzeug heute bekommen ;)

Also Lightscene wird richtig geschaltet bei Anruf?
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 24 Februar 2016, 21:11:14
Ja, lightscene funktioniert.
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 24 Februar 2016, 21:47:05
Callmonitor external_connection: SIP1

Dann versuchen wir mal die Nummernerkennung:

([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP1")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 25 Februar 2016, 09:56:19
Danke.

Auf SIP1 wird geschaltet, auf den anderen nicht.
Jetzt wäre das noch gut wenn auf SIP0 und SIP2 auch reagiert wird.

Hoffi
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 25 Februar 2016, 11:23:39
Dann basteln wir die mal dazu :)

Zitat
([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0" or [Callmonitor:external_connection] eq "SIP1" or [Callmonitor:external_connection] eq "SIP2"  )
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)

Geht das?




Alternativ:
Ist SIP3 dein Nachbar?

Dann könnten man kürzer schreiben:

([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] ne "SIP3")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 25 Februar 2016, 19:10:08
Hallo.
Ich bin heute zu nicht viel gekommen.

Nun ist aber folgendes passiert.

Ich habe jemanden angerufen, ja das passiert mal :D. Als ich aufgelegt habe, ging die Lampe aus.
([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
Vorher wurde ja kein TEMP gesetzt, der letzte Status war wohl off.
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 25 Februar 2016, 20:00:09
Ja, das habe ich befürchtet.
Das wäre wohl auch Passiert, wenn dich wer angerufen hätte, ohne das du rangegangen wärst  ???
Darum kümmern wir uns später.


Schaust trotzdem mal ob das mit den or beim angerufen werden klappt? Also SIP0, SIP1 und SIP2?


Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 26 Februar 2016, 08:04:02
Guten Morgen,
das klappt nicht ganz. Wenn ich auf SIP0 anrufe wird TEMP gesetzt und nach disconnect wieder abgerufen.
List von "SIP0":
Internals:
   DEF        ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0" or [Callmonitor:external_connection] eq "SIP1" or [Callmonitor:external_connection] eq "SIP2"  )(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF
([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
   NAME       di_Anruf_Licht
   NR         276
   NTFY_ORDER 50-di_Anruf_Licht
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2016-02-26 07:51:16   Device          Callmonitor
     2016-02-26 07:51:16   cmd_event       Callmonitor
    [color=red] 2016-02-26 07:51:16   cmd_nr          1
     2016-02-26 07:51:16   cmd_seqnr       2 [/color]
     2016-02-26 07:51:16   e_Callmonitor_event ring
     2016-02-26 07:51:16   e_Callmonitor_external_connection SIP0
     2016-02-26 07:49:50   e_Helligkeit_state 83.3
     2016-02-26 07:51:16   state           cmd_1
   Condition:
     0          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "ring" and ReadingValDoIf($hash,'Helligkeit','state','','',AttrVal($hash->{NAME},'notexist',undef)) < 1000 and ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP0" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP1" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP2"
     1          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "disconnect"
   Devices:
     0           Callmonitor Helligkeit
     1           Callmonitor
     all         Callmonitor Helligkeit
   Do:
     0:
       0          set Telefon_Info_Beleuchtung save TEMP
       1          set Telefon_Info_Beleuchtung scene AN
     1:
       0          set Telefon_Info_Beleuchtung scene TEMP
     2:
   Helper:
     event      event: ring,external_name: unknown,internal_number: 414315262,direction: incoming,call_id: 0,external_number: unknown,external_connection: SIP0
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Callmonitor
     timerevent event: ring,external_name: unknown,internal_number: 414315262,direction: incoming,call_id: 0,external_number: unknown,external_connection: SIP0
     triggerDev Callmonitor
     timerevents:
       event: ring
       external_name: unknown
       internal_number: 414315262
       direction: incoming
       call_id: 0
       external_number: unknown
       external_connection: SIP0
     triggerEvents:
       event: ring
       external_name: unknown
       internal_number: 414315262
       direction: incoming
       call_id: 0
       external_number: unknown
       external_connection: SIP0
   Internals:
   Itimer:
   Readings:
     0           Callmonitor:event Helligkeit:state Callmonitor:external_connection
     1           Callmonitor:event
     all         Callmonitor:event Helligkeit:state Callmonitor:external_connection
   Regexp:
     0:
     1:
     All:
   State:
   Trigger:
Attributes:
   room       Telefon


Nach dem Auflegen:
Readings:
     2016-02-26 07:51:50   Device          Helligkeit
     2016-02-26 07:51:48   cmd_event       Callmonitor
     2016-02-26 07:51:48   cmd_nr     2
     2016-02-26 07:51:48   e_Callmonitor_event disconnect
     2016-02-26 07:51:48   e_Callmonitor_external_connection SIP0
     2016-02-26 07:51:50   e_Helligkeit_state 95.7
     2016-02-26 07:51:48   state           cmd_2


Bei den Anderen wird TEMP nicht gesezt bzw. abgerufen:
Beim Klingeln:
nternals:
   DEF        ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0" or [Callmonitor:external_connection] eq "SIP1" or [Callmonitor:external_connection] eq "SIP2"  )(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF
([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
   NAME       di_Anruf_Licht
   NR         276
   NTFY_ORDER 50-di_Anruf_Licht
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2016-02-26 07:59:50   Device          Helligkeit
     2016-02-26 07:57:28   cmd_event       Callmonitor
     2016-02-26 07:57:28   cmd_nr          1
     2016-02-26 07:57:28   cmd_seqnr       2
     2016-02-26 07:59:44   e_Callmonitor_event ring
     2016-02-26 07:59:44   e_Callmonitor_external_connection SIP2
     2016-02-26 07:59:50   e_Helligkeit_state 116.4
     2016-02-26 07:57:28   state           cmd_1
   Condition:
     0          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "ring" and ReadingValDoIf($hash,'Helligkeit','state','','',AttrVal($hash->{NAME},'notexist',undef)) < 1000 and ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP0" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP1" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP2"
     1          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "disconnect"
   Devices:
     0           Callmonitor Helligkeit
     1           Callmonitor
     all         Callmonitor Helligkeit
   Do:
     0:
       0          set Telefon_Info_Beleuchtung save TEMP
       1          set Telefon_Info_Beleuchtung scene AN
     1:
       0          set Telefon_Info_Beleuchtung scene TEMP
     2:
   Helper:
     event      116.4
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Helligkeit
     timerevent 116.4
     triggerDev Helligkeit
     timerevents:
       116.4
     triggerEvents:
       116.4
   Internals:
   Itimer:
   Readings:
     0           Callmonitor:event Helligkeit:state Callmonitor:external_connection
     1           Callmonitor:event
     all         Callmonitor:event Helligkeit:state Callmonitor:external_connection
   Regexp:
     0:
     1:
     All:
   State:
   Trigger:
Attributes:
   room       Telefon

nach dem Auflegen:
Readings:
     2016-02-26 08:00:28   Device          Callmonitor
     2016-02-26 07:57:28   cmd_event       Callmonitor
     2016-02-26 07:57:28   cmd_nr          1
     2016-02-26 07:57:28   cmd_seqnr       2
     2016-02-26 08:00:28   e_Callmonitor_event disconnect
     2016-02-26 08:00:28   e_Callmonitor_external_connection SIP2
     2016-02-26 07:59:50   e_Helligkeit_state 116.4
     2016-02-26 07:57:28   state           cmd_1 

Hoffi
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 26 Februar 2016, 09:55:45
Dann eben so :)

([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP1")
(set Telefon_Info_Beleuchtung save TEMP)
DOELSEIF ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP2")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)


Löst noch nicht das selber anrufen, aber jetzt müsste auf SIP, SIP1 und SIP2 ein save ausgelöst werden :)
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 26 Februar 2016, 15:18:49
Ich habe da ein
(set Telefon_Info_Beleuchtung scene AN)
weiter nach oben verschoben.

Nun läuft es wenn jemand anruft.
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 26 Februar 2016, 15:46:26
Gut. Ist eine Dummy Lösung für das angerufen werden vs anrufen ok?
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 26 Februar 2016, 19:16:05
Ja, warum nicht.?
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Rince am 28 Februar 2016, 16:22:53
Bau doch mal eine Abfrage von:

and [Callmonitor:direction] ne "outgoing"

Ein.
Bei allen 4 Fällen.
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 01 März 2016, 15:40:51
Hallo Rince.
tut mir leid das ich jetzt erst Antworte. Durch Schichtdienst klappt das nicht immer so.

Das Funktioniert. Lampe schaltet nicht wenn ich raustelefoniere.

Jetzt schaltet aber die Lampe erst wieder wenn aufgelegt wurde. Wenn ich nun auch im Hellen Telefonieren möchte kann ich dann
([Callmonitor:event] eq "disconnect" and [Callmonitor:direction] ne "outgoing") (set Telefon_Info_Beleuchtung scene TEMP)
gegen
([Callmonitor:event] ne "ring" and [Callmonitor:direction] ne "outgoing") (set Telefon_Info_Beleuchtung scene TEMP)
austauschen?

Edit:
Ja das geht.

Nun aber eine weitere Frage. Ich habe Schalter3 als IT Steckdose. Wenn ich nun on gegen set blink 4 1 austausche,
dann bleibt die Lampe zum Schluß immer Dunkel.
Kann man das so machen, das die Lampe trotz blink 4 1 den TEMP Status wieder zugewiesen wird?
Wenn ich innerhalb der 4 Blinks das telefonat annehme, dann kommt der TEMP Befehl "dazwischen" und der Status wird nicht richtig gesetzt.

Vielen Dank für die Hilfe
Hoffi
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Ekksen am 03 März 2016, 19:18:07
Zitat von: Rince am 22 Februar 2016, 10:38:47
Wärst du so lieb  und machst ein "list" von deinen Notifies

Ich habe den hier:
Recht einfach. Die Leute ist allerdings eine Philips Hue und blinkt immer ca. 5 Sekunden, ob ich abnehme oder nicht. Dert alte Zustand der Lampe wird danach aber wieder angenommen:

define CM_HUE_Signal_Flur notify Callmonitor:event:.ring set HUEDevice2 alert lselect
Titel: Antw:Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten
Beitrag von: Thoffi1978 am 07 März 2016, 16:54:04
Hallo,
ich habe nun selbst etwas "gebastelt" so wie es aussieht funktioniert das.
Wenn Dir noch etwas auffällt sag bitte bescheid.
DOIF:
([Callmonitor:event] eq "ring" and [?Helligkeit:state] < 1000 and [Callmonitor:direction] ne "outgoing" and [Callmonitor:external_connection] eq "SIP0")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF ([Callmonitor:event] eq "ring" and [?Helligkeit:state] < 1000 and [Callmonitor:direction] ne "outgoing" and [Callmonitor:external_connection] eq "SIP1")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF ([Callmonitor:event] eq "ring" and [?Helligkeit:state] < 1000 and [Callmonitor:direction] ne "outgoing" and [Callmonitor:external_connection] eq "SIP2")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] ne "ring" and [Callmonitor:direction] ne "outgoing")
(set Telefon_Info_Beleuchtung scene Aus)
(set Telefon_Info_Beleuchtung scene TEMP)

Damit die Lampe mit "blink" geschaltet werden kann und auch wieder in die entsprechende Ausgansstatus
mit folgendem Attribut:
wait      0,1:0,1:0,1:0,1

Lieben Gruß
Hoffi