FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: bsl02 am 16 November 2013, 19:12:50

Titel: Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 16 November 2013, 19:12:50
Hallo,

meine Türklingel (FS20KSE) lief einmal mit FHEM, will aber nicht mehr. Nach langem lesen und testen brummt mir jetzt der Schädel.

Vermutlich hängt das mit dem Umzug auf einen RPi zusammen: Mein Haupt-FHEM ist umgezogen von Fritz!Box7390 auf RPi.

Am RPi hängen jetzt auch alle Sender/Empfänger (CUL868, RFXTRX).
Das Fritz-FHEM läuft fast in der alten Konfig parallel, das  könnte noch massiv verschlankt werden.

Fragen:
- Hat diese Kombination jemand umgesetzt? Für Tips wäre ich dankbar.
- Bei meinen Versuchen wurden beide FHEM´s teilweise recht langsam, vermutlich Denkfehler bei mir.
- Wo muss mindestens FHEM2FHEM installiert sein? Benötigt wird nur die Türklingel der Fritz!Box, der Rest läuft vom RPi.

Gruß & Dank,
Stefan




Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: rudolfkoenig am 16 November 2013, 23:17:20
> - Wo muss mindestens FHEM2FHEM installiert sein?

- da, wo man die Events des anderen FHEMs braucht (gilt fuer FHEM2FHEM in RAW und in LOG Modus)
- da, wo man den Schalter, den man schalten will, nicht direkt angeschlossen hat (nur RAW Modus)
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 17 November 2013, 08:30:17
Was soll denn wie funktionieren? Beschreib mal was du machen möchtest!
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 17 November 2013, 12:13:52
>Was soll denn wie funktionieren? Beschreib mal was du machen möchtest!

Aber gern:
Taster an Türklingel -> FS20KSE (sendet) -> CUL868/FHEM auf RPi -> FHEM2FHEM -> FHEM auf FritzBox7390 -> Klingeln aller Telefone an FB

Klingeln funktionierte, als ich FHEM nur auf der Fritz!Box hatte.
Derzeit läuft es zumindest bis zum RPi, ein FS20-Signalgeber meldet sich.
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 17 November 2013, 16:45:20
Aha.  ;)

Dann kannst du wirklich fhem2fhem nehmen, oder dich mit dieser API hier (http://www.ip-phone-forum.de/showthread.php?t=196309) beschäftigen. Mit der kannst du es über die Fritzbox klingeln lassen, ohne darauf FHEM oder den Callmon. zu installieren. Wenn du die Scripte "fritzbox_call_phone" oder "fritzbox_ring_phone" verwendest, solltest du es hinkriegen.

Beispiel:

Notify auf die KSE erstellen und darin der Klingelaufruf:
system("/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php **790");;\

Viel Erfolg

Frank
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 18 November 2013, 23:45:07
Hallo Frank,

> Fritzbox klingeln lassen, ohne darauf FHEM oder den Callmon. zu installieren.
das hört sich richtig gut an.

>system("/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php **790");;\

Erste Versuche habe ich gestartet, bisher erfolglos.

FHEM liegt auf meinem RPi unter /opt/fhem/
Das API-Verzeichnis liegt jetzt darunter /opt/fhem/fritzbox_api,
darin die ganzen *.php´s

Auf meinem RPi läuft FHEM auf einer -vermutlich- Wheezy-Installation. Für mich als Linux-Kopierer (keine Belastung durch Kenntnisse) stellen sich folgende Fragen:

- muss ich auf dem RPi evtl. etwas zusätzlich installieren (PHP z.B.) / ggfs. wie?
- gilt dann der obige Pfad noch?

Dank für Hilfe und Verständnis,
Stefan


Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 19 November 2013, 09:27:33
Zitatmuss ich auf dem RPi evtl. etwas zusätzlich installieren (PHP z.B.) / ggfs. wie?

Hi Stefan,

genau, PHP muss installiert sein und in der Configdatei der API muss der Zugang zur Box eingereichtet sein (Passwort, LUA).
Beschrieben ist das alles in der Readme zur API. Ich gebe dir mal meine Installationsschritte:

Einrichtung:
############

- in Fritzbox-Api-Ordner Datei: "fritzbox_user.conf.php" Editieren (FB- Passwort eintragen
  und das LUA Login verfahren auf false oder true setzen)
  -> mit neuester FW. ab Jan 2013 muss LUA LOgin auf "true", sonst keine Funktion und
     viele Fehlermeldungen zum API- Script

- Ordner "fritzbox_api" kopieren nach: /opt/fhem/fritzbox_api

- PHP installieren -> unter Linux als root: apt-get install php5-cli php5-curl

- Anzeige der Ver.: php -v -> bringt: PHP 5.3.3-7+squeeze14 with Suhosin-Patch (cli) (built: Aug  6 2012 22:32:49)

- Anzeige Pfad zu PHP: which php  -> /usr/bin/php

- Datei ausführen (Prinzip): "/usr/bin/php irgendeine.php" oder: "php irgendeine.php"

Beispiel: AB ein/aus

root@guiplug:~# /usr/bin/php /opt/fhem/fritzbox_api/fritzbox_tam_on_off.php 1
root@guiplug:~# /usr/bin/php /opt/fhem/fritzbox_api/fritzbox_tam_on_off.php 0   


Wenn du zum Ausführen nicht die komplette Pfadangabe eingeben willst, musst du die Scripte erst "ausführbar machen".

Dann reicht der Aufruf:
root@guiplug:~# fritzbox_tam_on_off.php 1

Das wird hier erklärt:

http://blog.johan-mares.be/ict/php/running-php-shell-scripts/ (http://blog.johan-mares.be/ict/php/running-php-shell-scripts/)

Gruß

Frank
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 19 November 2013, 10:54:54
Hallo Frank,

Danke für die nachvollziehbare Antwort. Die php-Installation hat hier geklappt, es scheitert wohl noch an der FB-Anmeldung.

Zunächst habe ich in der fritzbox_user.conf.php nur mein FB-Passwort eingegeben, ging nicht. Auch weitere Versuche (IP der FB konkret eingeben etc.) liefen nicht.
Über die Weboberfläche kann ich mich an der FB7390 anmelden "allein mit Passwort", kein User erforderlich. Auf der Box ist FRITZ!OS 06.00 installiert.

Ich versuche es nachher weiter ;-)

Gruß, Stefan

pi@(none) ~ $ php -v
PHP 5.4.4-14+deb7u5 (cli) (built: Oct 13 2013 04:49:27)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
pi@(none) ~ $ which php
/usr/bin/php
pi@(none) ~ $ /usr/bin/php /opt/fhem/fritzbox_api/fritzbox_ring_phone.php
2013-11-19 10:41 ERROR: Login failed with an unknown response.pi@(none) ~ $ sudo /usr/bin/php /opt/fhem/fritzbox_api/fritzbox_ring_phone.php
sudo: unable to resolve host (none)
2013-11-19 10:42 ERROR: Login failed with an unknown response.pi@(none) ~ $
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 19 November 2013, 19:16:09
Hi Stefan,

hier mal die wichtigsten Zeilen aus der user.conf:



# use the new .lua login method in current (end 2012) labor and newer firmwares
# set to "true" for use .lua
$this->config->setItem('use_lua_login_method', true);


# set to your Fritz!Box IP address or DNS name (defaults to fritz.box), for remote config mode, use the dyndns-name like example.dyndns.org
$this->config->setItem('fritzbox_ip', 'fritz.box');


# set to your Fritz!Box password (defaults to no password)
$this->config->setItem('password','hierdeinpassworteinsetzen');




Eigentlich solle es keine Rolle spielen, aber richte mal einen Benutzeraccount auf der FB ein. Ich glaube dass musste ich auch machen. Dieser (Benutzername) wird zwar nicht von der API verwendet, ist aber möglicherweise wichtig, damit das LUA- Login klappt.

Ich habe noch die Version 5.50, daher weiß ich nicht, ob es mit der 6.0 Probleme gibt. Sollte es aber nicht, da das LUA- Verfahren noch aktuell ist.

Gruß

Frank
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 20 November 2013, 13:02:43
Hallo Frank,

es läuft ;-).

Dank Deiner Beispiel-Konfig konnte ich den Fehler erkennen: Bisher hatte ich ´password´ in der fritzbox_user.conf.php mit dem Passwort überschrieben.
Jetzt also:
# set to your Fritz!Box password (defaults to no password, will be ignored, when remote config is enabled)
# $this->config->setItem('password', false);
$this->config->setItem('password', <meinPasswort>);


Sammelruf der Fritz!Box (die Möglichkeit kannte ich vor einer Woche noch gar nicht):
Wird mit Kurzwahl **701 in der "fritzbox_ring_phone.php" noch nicht ausgeführt, es passiert gar nichts (**701 ist in FB definiert).

Stattdessen habe ich in der php erst einmal gezielt interne RufNrn hinterlegt, das läuft.
Auszug dazu (fritzbox_ring_phone.php):
<?php
$dial 
'**610#611#612#613#614#622'// set to the number to dial

# Klappt noch nicht mit SammelrufNr **701
# Aufruf über Putty oder notify auf RPi-FHEM mit:
# /usr/bin/php /opt/fhem/fritzbox_api/fritzbox_ring_phone.php


Bin mir gerade nicht sicher, ob FHEM die anzuwählende Nummer (**701) im Notify auch mitgeben kann. Dann bräuchte kein Eintrag in der php zu erfolgen.

Mein Notify bisher auf RPi-FHEM:
## Auswertung Klingel Seitentür Carport
define n.Tuerkl.Carp.neu notify fs20tk.Tuerkl.Carp:on {\
        system("/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_ring_phone.php");;\
}
attr n.Tuerkl.Carp.neu verbose 5
# RufNrn werden bisher in der obigen php-Datei hinterlegt! Sh. Sammelruf auf Fritz!Box


Gruß und Dank soweit,
Stefan
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 20 November 2013, 13:19:39
Machst du per Dummy:



# Dummy, der auf die zu wählende Nummer gesetzt wird ; Beispiel: set Dum_Telnum_D **790
define Dum_Telnum_D dummy

# Notify springt an wenn Dummy gesetzt wird und wählt die Nummer
define Func_Waehle_N notify Dum_Telnum_D  { \
\
  my $TelNum = (Value("Dum_Telnum_D"));;\
\
if ($TelNum ne "000") { \
     Log 1, "Waehle: $TelNum";; \
     system("/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php $TelNum");;\
      }\
}



Dafür musst du natürlich "call phone" verwenden, den "ring phone" kann keine Argumente. Das habe ich mal aus "ring phone" umgestrickt und du müsstest es direkt aus dem Thread runterladen.
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 20 November 2013, 16:22:49
Hi Frank,

Dank für den Hinweis auf "CallPhone".
Eine Version "fritzbox_call_phone.php" habe ich im Internet gefunden mit Dateidatum
* @version  0.1 2013-01-30
* @package  Fritz!Box PHP tools

Ist die noch aktuell?

Läuft damit: Anwahl einzelner Telefone von Putty aus, z.B. **610
Läuft nicht: Anwahl der **701 von Putty aus

Auf der FritzBox hat meine GruppenRufNr **701 den Inhalt:
**610#51#1#611#612#613#614#615#1
und funktioniert von Telefonen aus.

Die Anwahl der 701 sieht dann unter Putty so aus:
pi@(none) ~ $ /usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php **701
2013-11-20 15:57 Phone **701 is called. Pick up your current clicktodial- phone!


Wird zwar ausgeführt, klingelt aber nicht.

Es bleibt interessant ;-)
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 20 November 2013, 19:56:36
Hi Stefan,

das Script nutzt die Wählhilfe der FB. Vielleicht lässt sich da was tricksen. Gucke mal, ob du in der Wählhilfefunktion deine Sammelnummer auswählen kannst. Das Script ruft immer die angegebene Nummer an und lässt gleichzeitig das in der Wählhilfe ausgewählte Gerät klingeln. Habe das auch noch nicht so ausgereizt. Ich nutze es als Türsprechfunktion.

Gruß

Frank
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 20 November 2013, 21:38:57
Hallo Frank,

heute die Korrektur:
Nach meiner Freude gestern habe ich anschließend FHEM geupdated. Irgendwas lief falsch, das System startete nicht mehr, kein Eintrag in Logdateien etc. Daraufhin habe ich ein Backup zurückgespielt und das System läuft wie gewohnt.

Mit der gebotenen Ruhe aus heutiger Sicht betrachtet:
Mein gestriger Post war in Hektik verfasst und - wie man sieht - unvollständig. Er klappte denn heute auch nach Ergänzung doch nicht.

Back to the roots: Meine jetzigen Einstellungen auf RPi-FHEM klingeln auf der FB7390:
###### Auswertung Klingel Seitentür Carport
define n.Tuerkl.Carp.CallGRP notify fs20tk.Tuerkl.Carp:on {\
        system("/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php **9 ");; }
attr n.Tuerkl.Carp.CallGRP verbose 5   #zunächst für Testzwecke
# 2x Semikolon nur in der Konfig-Datei, bei Weboberfläche nur 1x
#####


Es wird also der "normale" Sammelruf der FB genutzt, alle Telefone klingeln. Auch mein Standalone-Faxgerät wird somit abheben. Das sollte aber kein Problem sein, denn auf dem Gerät ist eine Wartezeit eingestellt - vorrangig nimmt die Fritz!Box intern Faxe an.

Es gilt weiterhin: Der Tip mit php war Klasse!

Immer schön geschmeidig bleiben,
Stefan

------------------------------
war Blödsinn, daher gestrichen:
ich habe es jetzt wie folgt, scheint zu laufen, alles wird gut:
## Auswertung Klingel Seitentür Carport
define n.Tuerkl.Carp.CallGRP notify fs20tk.Tuerkl.Carp:on {\
        system("/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php **610#611#612#613#614#615#622#51#1


Vorteil bei Einzelnennung interner Rufnummern: Das Klingeln hört nach kurzer Zeit von allein auf.
Die Lösung gefällt mir, denn über FHEM kann ich jederzeit die aktiven Telefone ändern.

Weitere getestete Lösung: Anwahl nach "draußen" mit freier externer RufNr. -> und wieder hinein auf Haupt-TelNr.
Es läuft über Putty:
/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php *122#<eigene Haupt-RufNr>

Nachteil: Telefone hören nicht auf zu klingeln.
Vermutlich weiterer Nachteil: Busy on Busy - bei besetzt hört man kein Türklingeln.

Wenn in den nächsten Tagen wieder Zeit ist, teste ich ausführlicher und wende mich bei Problemen an das geneigte Publikum ;-)
Bei Problemen wird mir die Familie bis dahin auch ihr Statement nahegebracht haben.

Dein Tip mit den php-Lösungen war übrigens Klasse.   ;D

Grüße und schönen Abend noch,
Stefan[/s]
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: Harald am 21 November 2013, 12:09:51
Hallo zusammen,

wie man in meinem Profil sieht, habe ich FHEM auf dem RasPi laufen und als Internetzugang eine 6360 mit dahinter gehängter 7170.

Ich würde auch gerne mittels php meine Telefone klingeln lassen in der Hoffnung, dass das eleganter zu lösen ist und schneller reagiert.
Derzeit funktioniert es über Telnet. Da sende ich von FHEM über den RasPi den Befehl zur 7170 und von dort über sip zur 6360. Das klappt auch so weit, ist aber ziemlich umständlich und dauert auch relativ lange bis die Telefone klingeln.

Nun zu meinen Fragen: PHP 5.4.4-14 ist auf dem RasPi unter /usr/bin/php installiert. Wo finde ich das Verzeichnis Fritzbox-Api, damit ich es nach (opt/fhem/ kopieren kann? Was ist das LUA Loginverfahren?

Wäre toll, wenn mir jemand weiterhelfen würde. Vielen Dank schonmal im Voraus und viele Grüße

Harald
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 21 November 2013, 18:02:34
Hallo Harald,

ich habe hier noch eine 7170, allerdings nur als WLan-Sender genutzt.

Zu Deinen Fragen:

> Wo finde ich das Verzeichnis Fritzbox-Api, damit ich es nach opt/fhem/ kopieren kann?
Siehe Post von Frank weiter oben: http://forum.fhem.de/index.php/topic,16570.msg108061.html#msg108061

Ich habe es auf Seite 4 dort gefunden:
http://www.ip-phone-forum.de/showthread.php?t=196309&page=4&s=3642fcdc9b684bd317d3e7d2ad700404

(für download muss man angemeldet sein - oder darf ich das hier einstellen?)
Datei: fritzbox_api_php_v0.5.0b7.zip
http://www.ip-phone-forum.de/attachment.php?attachmentid=67328&d=1357117024
Darin enthalten ist u.a. die fritzbox_ring_phone.php - dort könnten anzurufende TelNrn hinterlegt werden

Oder besser, aber nicht in obigem Download enthalten: fritzbox_call_phone.php - kann Argumente z.B. aus FHEM entgegennehmen (TelNrn)
@Frank: Darf man die hier einstellen?
http://www.ip-phone-forum.de/showthread.php?t=196309&page=4&highlight=fritzbox_call_phone.php
(Seite 4, weit unten)

Nachdem die benötigten Dateien vorhanden sind, ist auf dem RPi noch PHP zu installieren (hat Frank oben beschrieben).
http://forum.fhem.de/index.php/topic,16570.msg108458.html#msg108458

Wenn PHP auf RPi installiert, Datei fritzbox_api_php_v0.5.0b7.zip extrahieren und den Ordner auf den RPi kopieren.
Standort auf RPi: /opt/fhem/fritzbox_api

In diesen Ordner kommt auch die fritzbox_call_phone.php.

Im Ordner befindet sich bereits die jetzt anzupassende
fritzbox_user_conf.php
Hilfe von Frank dazu: http://forum.fhem.de/index.php/topic,16570.msg108617.html#msg108617
Eintragung u.a.: $this->config->setItem('password', <meinPasswort>);

Sowie Einstellung, ob die FritzBox-Anmeldung mit LUA- oder Altverfahren erfolgt:
# use the new .lua login method in current (end 2012) labor and newer firmwares (Fritz!OS 5.50 and up)
$this->config->setItem('use_lua_login_method', true);

->Auf der FB7170 vermutlich noch kein LUA, s.u.


> Was ist das LUA Loginverfahren?
Keine Ahnung, wohl "neuer Login-Mechanismus". Wenn ich bei der FB7390 die Webobefläche öffne, steht dort
http://192.168.115.1/home/home.lua?sid=......
-> ist wohl ein Hinweis auf das Lua-Verfahren

Vergleich: Aufruf der FB7170:
Im Browser steht nur
http://192.168.115.11/    -> wohl kein LUA-Verfahren.


Hoffentlich habe ich nichts vergessen - viel Erfolg!

Gruß,
Stefan

/Edit 12.12.2013: Habe die benötigten Dateien (1+2) angehängt, erspart das Suchen. Weitere Dateien als Info.
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 21 November 2013, 18:41:38
Zitat von: Harald am 21 November 2013, 12:09:51
Wäre toll, wenn mir jemand weiterhelfen würde.

Hi Harald,

mein erster Post in diesem Thread - da ist der Link zur API und dort musst du die Readme- Datei der Api und den Thread durcharbeiten (ggf. mehrmals wie ich), dann weißt du alles was du möchtest.

Gruß

Frank
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: Harald am 22 November 2013, 11:54:07
Hallo bsl02,

herzlichen Dank für die ausfühliche Beschreibung. Da ich auch User im IP-Phone-Forum bin, konnte ich mir die erforderlichen Dateien herunter laden. PHP 5.4.4 ist auf dem RasPi bereits vorhanden, /fhem/fritzbox_api mit call_phone und ring_phone nun ebenfalls. Die user.conf ist auch angepasst (ich hoffe richtig).
Dann werde ich am WE mal sehen, ob ich das zum Laufen bringe.

Nochmals herzlichen Dank für Deine tolle Beschreibung und viele Grüße

Harald
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: Harald am 22 November 2013, 13:55:37
Hallo zusammen,

ich habe diese API samt php auf meinem RasPi, auf dem FHEM läuft, installiert. Ich möchte mittels der API meine Telefone klingeln lassen. Meine user.conf sieht so aus<?php
if ( !isset($this->config) )
{
  die(
__FILE__ ' must not be called directly');
}

####################### central API config ########################
# notice: you only have to set values differing from the defaults #
###################################################################

# use the new .lua login method in current (end 2012) labor and newer firmwares (Fritz!OS 5.50 and up)
$this->config->setItem('use_lua_login_method'true);
#$this->config->setItem('use_lua_login_method', false);
# set to your Fritz!Box IP address or DNS name (defaults to fritz.box), for remote config mode, use the dyndns-name like example.dyndns.org
$this->config->setItem('fritzbox_ip''192.168.0.1');

# if needed, enable remote config here
#$this->config->setItem('enable_remote_config', true);
#$this->config->setItem('remote_config_user', 'test');
#$this->config->setItem('remote_config_password', 'test123');

# set to your Fritz!Box username, if login with username is enabled (will be ignored, when remote config is enabled)
$this->config->setItem('username''name');

# set to your Fritz!Box password (defaults to no password, will be ignored, when remote config is enabled)
#$this->config->setItem('password', false);
$this->config->setItem('password''xxxxxx');

# set the logging mechanism (defaults to console logging)
$this->config->setItem('logging''console'); // output to the console
#$this->config->setItem('logging', 'silent');  // do not output anything, be careful with this logging mode
#$this->config->setItem('logging', 'tam.log'); // the path to a writeable logfile

# the newline character for the logfile (does not need to be changed in most cases)
$this->config->setItem('newline', (PHP_OS == 'WINNT') ? "\r\n" "\n");


############## module specific config ###############

# set the path for the call list for the foncalls module
$this->config->setItem('foncallslist_path'__DIR__ '\foncallsdaten.csv');

und so sieht meine fhem.cfg aus############################################################################
#
# Klingel1
#
define Klingel1 FS20 7e7e 01
attr Klingel1 icon Wecker.Immer
attr Klingel1 room MAX
define FileLog_Klingel1 FileLog ./log/Klingel1-%m-%U.log Klingel1:.*
attr FileLog_Klingel1 alias Klingel1
attr FileLog_Klingel1 logtype text
attr FileLog_Klingel1 room Diagramm.log
#
###### Auswertung Klingel1
#
define Klingel1_on notify Klingel1:on {system("/usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php **9 ");; }
attr Klingel1 verbose 1
#
####################################################################

Leider klappt das nicht. Ich erhalte auf der RasPi-Konsole die Fehlermeldung
PHP Fatal error: Call to undefined funktion curl_init() in /opt/fhem/fritzbox_api/fritzbox_api.class.php on line 180

Ich habe schon Login, user und password variiert, aber ohne Erfolg. kann mir jemand sagen, was ich da falsch mache?

Vielen Dank im Voraus und viele Grüße

Harald
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 22 November 2013, 17:54:44
Hi Harald,

was bringt denn php -v ?

Wenn du direkt auf der Konsole /usr/bin/php /opt/fhem/fritzbox_api/fritzbox_call_phone.php **9 ausführst, erscheint dann auch dieser Fehler?

Ist die Datei "fritzbox_call_phone.php" überhaupt in dem API- Ordner vorhanden? Das ist sie standartmäßig nicht.

@Stefan: Du kannst das ruhig hier posten, hat ja eine "jedermann" - Lizenz.  ;)
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: Harald am 22 November 2013, 18:17:45
Hallo fiedel, erstmal danke für's Antworten.

php -v bringt PHP 5.4.4-14+deb7u4 (cli) (built: Aug 27 2013 01:01:43) Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

Eingabe der Zeile in der Konsole erzeugt die gleiche Fehlermeldung.

fritzbox_call_phone.php und fritzbox_ring_phone.php sind vorhanden und bringen beide o.g. Fehlermeldung

Im IP-Phone-Forum hat mir gerade spackmat geantwortet und schreibt, dass mir php5-curl fehlt. Ich habe soeben versucht, das mit apt-get install php5-curl zu installieren. Ich erhalte die Fehlermeldung: http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5-curl_5.4.4-14+deb7u4_armhf.deb 404 Not found

Ich habe dort gerade mal nachgesehen. Dort gibt es nur  php5-curl_5.4.4-14+deb7u5_armhf.deb

Hast Du eine Idee, wie ich php5-curl installiert bekomme? Hab's geschafft! Nach einem Update hat's geklappt.

Und ich kann meine 6360 ansprechen und die Telefone klingeln  ;D . Jetzt kann ich daran gehen, die 7170 zu deaktivieren.

Nochmals besten Dank für die Hilfe und schönen Abend noch

Harald
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: fiedel am 23 November 2013, 08:59:57
Na siehste, geht doch!  ;)

Ich hätte bei dem PHP- Problem auch nicht viel helfen können, da ich kein Raspi hab. Mir wäre nur eingefallen die Sources vom standart- Debian einzubinden. Aber Drops ist ja gelutscht...   ;)

Gruß

Frank
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: Harald am 25 November 2013, 15:20:59
So, ich hab's geschafft. Ich habe das Skript fritzbox_ring_phone.php zu fritzbox_ring+hangon_phone.php umgebaut. Damit kann man das (die) Telefon(e) für eine bestimmte Zeit klingeln lassen. Nach dieser Zeit wird der Befehl ATH0 = HangOn gesendet.<?php
$dial 
'**9'// set to the number to dial
// init the output message
$message date('Y-m-d H:i') . ' ';
try

  
// load the fritzbox_api class
  
require_once(__DIR__ '/fritzbox_api.class.php');
  
$fritz = new fritzbox_api();
  
  
// update the setting Tel-Nr
  
$formfields = array(
    
'telcfg:command/Dial'      => $dial,
  );
  
$fritz->doPostForm($formfields);
  
$message .= 'Phone Nr ' $dial ' ringed ';
  
   
// 10 Sek. warten
  
sleep (10);

 
$dial 'ATH0'// set to HangOn to dial
  
  // update the setting HangOn
  
$formfields = array(
    
'telcfg:command/Dial'      => $dial,
  );
  
$fritz->doPostForm($formfields);
  
$message .= 'and HangOn';
}

catch (
Exception $e)
{
  
$message .= $e->getMessage();
}

// log the result
if ( isset($fritz) && is_object($fritz) && get_class($fritz) == 'fritzbox_api' )
{
  
$fritz->logMessage($message);
}
else
{
  echo(
$message);
}
$fritz null// destroy the object to log out
?>

Die gerufene Telefon-Nr. und die Klingelzeit können nicht als Parameter übergeben, sondern nur innerhalb des Skripts eingetragen werden.

Falls jemand Verbesserungsvorschläge hat, immer her damit oder selbst einfügen.
Bitte nicht verhauen, das ist mein erstes und auch nur geändertes php-Skript.

Viele Grüße

DK9JH
Titel: Antw:Türklingel an Fritz!Box OHNE CUL, der steckt am RPi mit FHEM2FHEM
Beitrag von: bsl02 am 06 Dezember 2013, 04:40:34
Hallo,
meine Türklingel läuft mittlerweile prima auf dem Weg FS20-KSE --> RPi (CUL868) --> PHP-Script, siehe oben --> Fritz!Box7390.

Heute eine Frage leicht OffTopic, aber vll. auch für andere von Interesse:

Auch bei meinen Eltern (Einfamilienhaus) soll eine alte Auerswald-Telefonanlage zukünftig entfallen, alle Telefone hängen dann direkt an einer kleinen Fritz!Box (vorhanden: 7320, 7312 oder 7170).

Problem: Die Auerswald signalisiert bisher an Telefonen die Türklingel, dafür liegt ein Kabel vom Klingeltaster zur Tel-Anlage. Weiterhin hängt an der Auerswald eine laute externe Zusatz-Telefonklingel. Fritz!Box und Auerswald Tel-Anlage stehen nebeneinander.

Idee 1 (FHEM auf RPi kabelgebunden, kein CUL o.ä.):

Idee 2 (FHEM direkt auf "kleiner" Fritz!Box):
FHEM direkt auf FB7320 oder 7312 installieren - wenn möglich. Weiter mit PHP wie oben.
Allerdings fehlt mir an der FB die Anschlussmöglichkeit für das Klingelkabel.
Nicht zusätzlich kaufen möchte ich eine FS20-KSE nebst CUL, das wäre überdimensioniert.

Tjaa, daher die Frage:
Hat jemand ähnliches bereits umgesetzt?

Für Erfahrungen einmal wieder dankbar,
Stefan