Fritz!Box API für PHP (inkl. Login-Sessions)

Klasse!!! Herzlichen Dank. So hatte ich das gemeint. Einfach eine Nummer konfigurieren und bei Feueralarm einen Anruf bekommen;-))

Ne weitere Idee wäre jetzt, dass in diesem Fall eine Ansage vom integrierten AB kommen müsste (Feueralarm), aber das ist nun sicher nach den Sternen gegriffen. Soweit erst mal spitze, denn wenn über FHEM nun meine Rauchmelder Feuer melden bekomme ich einen Anruf. Perfekt!!!
 
Zuletzt bearbeitet:
Frage zum Webinterface des Fritz!Repeaters

Guten Morgen,

ich hätte da nochmal eine kurze Frage zum Repeater, der ein ähnliche Web-Interface wie die FB hat:

Hier würde ich gerne die Internet Radiostreams ein bzw. ausschalten auch per API. Somit könnte ich dies dann in mein eigenes Portal integrieren und müsste nicht auf die Fritz Web-GUI verlinken. Wie machst Du das denn, um die Daten herauszufinden, die dann wirklich für eine Aktion genutzt werden?

Gruss,
alochter

(habe mal ein Bild der GUI mit angefügt. Ich denke, dass die Funktionsweise in dieser GUI ähnlich zur Fritzbox GUI sein wird)
 

Anhänge

  • repeatergui.JPG
    repeatergui.JPG
    82.8 KB · Aufrufe: 118
Weiss jemand ob die im ersten beitrag verlinke version 0.3 auch mit aktuellen Firmware versionen funktioniert? Habe ein 7390 mit FRITZ!OS-Version 05.20 (84.05.20) und würde mich ungern in dieses ganze php theman einarbeiten wenn das eh nicht mehr geht:)
 
Also ich habe eine 7270 V3 mit Labor-FW BETA 05.09-21603 und da geht das. Ich denke, die Chancen stehen gut, dass es auch bei Dir funktioniert.

Gruss,
alochter
 
Danke, dann leg ich mal mit php los:) Werde berichten:)

Nein, geht leider nicht...ich werde mich mal an den Autor wenden....

Es gibt keine fehlermeldung, aber das beispiel script fritzbox_tam_on_off.php macht schlciht nix, laut webIf ist der AB weiterhin an...
 
Zuletzt bearbeitet:
Nachtrag: es geht doch, aber komischer weise erst nachdem ich den Rechner neu gebootet hatte...:)

Das guestwaln script funktioniert aber leider nicht...ich versuch das mal zu fixen...mal schauen...
 
Moin,

AVM überarbeitet sukzessive die Weboberfläche und geht dabei Funktion für Funktion weg vom alten System hin zum neuen System mit den .lua-Scripten. Meine API kann grundsätzlich mit beidem umgehen, aber je nach gewünschter Funktion muss man möglicherweise das betreffende Script anpassen, wenn genau die benutzte Funktion umgestellt wurde.

Ich habe mal das Script für den Gastzugang mit FRITZ!OS 05.20 auf meiner 7390 ausprobiert und es funktioniert wie immer. Wundert mich auch nicht, weil der Gastzugang bereits zuvor mit dem .lua-System abgewickelt wurde.

Auch fritzbox_get_foncallslist.php funktioniert noch, fritzbox_ring_phone.php ebenfalls und auch fritzbox_diversity0on.php, sowie fritzbox_tam_on_off.php. Also funktionieren alle mitgelieferten Skripte. Das ist eine gute Nachricht, denn zur Zeit hätte ich keine Zeit, das zu reparieren. :)

Liebe Grüße
 
Es gab Irritation wegen des neuen FRITZ!OS 05.20, die meine Schuld sind: Im ersten Post habe ich erst jetzt die schon lange aktuelle Version 0.4 der API hochgeladen, die auch mit den neuen .lua-Scripten umgehen kann. Damit klappt dann auch der Gastzugang. Bei der Gelegenheit habe ich auch mal PHP 5.4 getestet, was ebenfalls funktioniert (wundert mich nicht, ist aber beruhigend). Also an alle mit Problemen: Version 0.4 laden und die Sache sollte wieder laufen.
 
Zuletzt bearbeitet:
mr.smiley wollte ein Script haben, das den neuen LAN4-Gastzugang schalten kann. Ich habe ihm das WLAN-Gastzugangs-Script mal angepasst und möchte es Euch nicht vorenthalten. Ich werde es auch in die nächste Version der Distribution aufnehmen, kann man immer mal gebrauchen.

Ich habe auch die Anrufbeantworter-Rufnummernzuordnung reverse-engineert, das war seltsam und kompliziert. mr.smilie hat sich aus meinem proof-of-concept zwei Scripte gebaut, die die ersten beiden Anrufbeantworter auf einer bestimmten Nummer tauscht. Leider lässt sich das nicht sinnvoll gerneralisieren, deswegen nehme ich das nicht in die Distribution auf. Gleichwohl funktionieren die Skripte und tun das, was sie sollen. Also wenn man sowas braucht, einfach mal reingucken, wenn er das postet.

In Post 1 und anbei gibt es die Version 0.4.1 der API mit dem neuen fritzbox_guestlan_on_off.php Script.
 

Anhänge

  • fritzbox_api_php_v0.4.1.zip
    12.5 KB · Aufrufe: 85
Falls noch jemand einen reboot braucht.

Code:
<?php
// load the config
require_once('fritzbox.conf.php');
 
// load the fritzbox_api class
require_once('fritzbox_api.class.php');

// do the job
try
{
  $fritz = new fritzbox_api($password, $fritzbox_ip);
  $formfields = array(
    'getpage' => '/system/reboot.lua',
  );
  $output = $fritz->doGetRequest($formfields);
  $formfields['reboot'] = '';
  $output = $fritz->doPostForm($formfields);
  $fritz = null; // destroy the object to log out
}
catch (Exception $e)
{
  echo $e->getMessage();
}
?>
 
Hab das ganze mal um Telefonbuch Import sowie Export erweitert und auf github gestellt:
https://github.com/carlos22/fritzbox_api_php

Bastle gerade an einem CardDAV to Fritzbox automatisierten export - ist auch bald fertig.

@spackmat: Ist CC-by-sa nichte eine etwas seltsame lizenz für source code? Was spricht gegen AGPL oder MIT/BSD?
 
Cool, freue mich immer, wenn jemand die API benutzt und weiterentwickelt. Danke an godghost und loeppel!

cc-by-sa ist für Code ungewöhnlich, aber da weiß ich ziemlich genau, was drin steht :) Ne im Ernst, ich hatte keine Lust, mich haargenau mit den Open-Source-Lizenzen auseinanderzusetzen. Und die meisten User hier können, wenn überhaupt, auch eher mit einer cc-Lizenz etwas anfangen, denke ich. Ist die cc-by-sa-Lizenz denn irgendwo inkompatibel zu den liberalen freien-Software-Lizenzen? Zur GPL ist das bestimmt inkompatibel, aber LGPL oder MIT/BSD weiß ich ehrlich gesagt gar nicht. Ich könnte das auch umstellen, wenn es jemandem hilft. Mir ist das im Grunde egal. Hauptsache ist für mich, dass das jeder nutzen kann, auch in kommerziellem Umfeld und als Teil anderer Tools, auch wenn die nicht frei sind. Ich sehe in meinem Code keine so wahnsinnige Schöpfungshöhe, dass ich Leute zwingen möchte, das selber neu zu implementieren. :) Insofern klingt MIT eigentlich gar nicht so dumm.
 
Hallo.
Ich habe gerade die zip 0.4 runtergeladen und will das ganze in meinem selbstgeschriebenen Telefon-Korrospondenz-App intigrieren. Ich wollte vorweg fragen, ob es möglich ist, mit der API den aktuellen Gesprächspartner (Tel-Nummer) abzufragen.

Die ganze WebApp würde ich dann gern hier auch bereitstellen.
 
Laufende Gespräche werden in der Oberfläche ja angezeigt, mindestens auf dem Dashboard. Insofern sollten sie sich auch mit der API auslesen lassen. Da da möglicherweise, habe es gerade nicht vor mir, mit JavaScript realisiert ist, muss man ggf. etwas suchen, woran man laufende Gespräche eindeutig erkennt.

Wichtig ist: Die API kann nur Informationen abholen, also pullen. Für eine Benachrichtigung über laufender Gespräche müsste man alle paar Sekunden bei der Box nachfragen, das halte ich für nicht so wahnsinnig elegant.
 
Danke für die schnelle Antwort und für die PHP Klassen.

Das mit dem Pullen ist mir klar. Ich füge hierfür einen Button in meine App ("Fetch Current Call"), die dann per Ajax den Script auslöst um die Daten reinzuholen.

PS: Ich habe dir ne PM geschickt
 
WoW klingt ja immer wüst. :) Coole Anwendung jedenfalls! Auch was code11 da vor hat. Schön, dass noch andere die API gebrauchen können.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.