Q & A zum FritzBox-Project

Ahaj, danke für die Infos

Grüße

Thomas

Seit meinem Symcon-Umzug von Ubuntu auf einen Raspberry PI-4 habe ich ebenfalls Probleme mit dem SOAP-Abruf von der Fritz-Box (7490, 07.12), was sich im Symcon-Log mit folgenden Fehlermeldungen manifestiert:

CUSTOM | FritzBox | Error READ of http://192.168.x.x:49000/upnp/control/x_contact->GetPhonebookList

Ich habe die SOAP-Zugriffe mittels Wireshark analysiert und festgestellt:

a) Symcon versucht einen ersten Abruf mit HTTP Basic Auth (Username und Passwort sind korrekt)
b) FritzBox lehnt ab (401) und wünscht sich Digest Auth
c) Symcon sendet den gleichen Abruf nochmals mit Digest Auth
d) FritzBox terminiert die Verbindung kommentarlos

Frage: Gibt es auf dem Raspberry Probleme mit dem PHP SOAP Modul in Symcon?

Eine Reihe von Abrufen, die offenbar auch ohne Authentisierung funktionieren, werden problemlos bedient (z.B. POST /igdupnp/control/WANIPConn1), lediglich Abrufe wie z.B. POST /upnp/control/time oder POST /upnp/control/x_contact scheitern.

Hallo,

ich möchte gerne (ohne Skript, mangels Kenntnis) mit einem Ereignis, welches durch den Call-Array ausgelöst wird, meinen Verstärker Stumm- und wieder aktiv schalten. Ich sehe auch, dass sich dieser Wert „Call-Array“ ändert. Allerdings handelt es sich hier ja um eine String-Variable.
Geht das überhaupt, und wenn ja ,wie.
Gruß
Marc

Hi,
kannst Du deinen Verstärker schon mit IPS steuern? Wenn ja sollte es da vielleicht schon ein Script geben das ihn Stumm schaltet. Diesem Script kannst Du ein Ereignis zuordnen das bei Änderung von „Aktive Gespräche“ im Anrufmonitor stumm geschaltet wird. Ohne spezielles, eigenes Script kann man aber glaube ich nicht wieder Laut schalten.

Das mit dem Script ist aber nicht so tragisch. Ein kleines Script könnte so aussehen:


<?php
switch($_IPS["CALL_Status"]) {  // Auf Index CALL_Status prüfen -> mit [" "]

    case "Incoming": // Auf Wert RING prüfen -> ohne [ ] und hinter den Wer kommt kein ; sondern ein :
        IPS_RunScript(12665 /* Ton aus */);
        break;
    case "Disconnect": // nach Auflegen wieder Ton
        IPS_RunScript(33685 /* Ton an */);
        break;
}
?>

wobei Du dir die IDs der Scripte zur Steuerung deines Verstärkers eintragen musst und die ID dieses Scriptes musst Du im Script ANRUFMONITOR-CONFIG (ca. Zeile 56) eintragen.

Ralf

Super. Danke. Werde ich nachher mal testen. Und genau das war auch mein Problem. Stummschalten ging, aber eben nicht wieder laut.

Das Skript von dir scheint noch einen für mich nicht erkennbaren Fehler zu haben.
Beim Ausführen erhalte ich folgende Meldung:

Undefined index: CALL_Status in /var/lib/symcon/scripts/15325.ips.php on line 2

Hi,
eigentlich nicht. Bei mir gibt es keinen Fehler. Es kann nicht alleine gestartet werden sondern muss vom CallMonitor-Script gestartet werden. Hast Du das User-Config-Script nochmal durchlaufen lassen nachdem Du deine Script-ID eingetragen hattest?

Ralf

Ich habe es doch tatsächlich selbst herausgefunden.
Der Fehler war, dass wohl Großschreibung erwartet wurde. Also für RING, INCOMMING und DISCONNECT.

<?php

switch($_IPS["CALL_Status"]) { // Auf Index CALL_Status prüfen -> mit [" "]

    case "RING": // Auf Wert RING prüfen -> ohne [ ] und hinter den Wer kommt kein ; sondern ein :
        IPS_RunScript(25097 /* Ton aus */);
        break;
    case "INCOMMING": // Auf Wert INCOMMING prüfen -> ohne [ ] und hinter den Wer kommt kein ; sondern ein :
        IPS_RunScript(25097 /* Ton aus */);
        break;
    case "DISCONNECT": // nach Auflegen wieder Ton
        IPS_RunScript(51452 /* Ton an */);
        break;
}
?>

Mein erstes Skript. (natürlich mit Hilfe und etwas abkupfern). :smiley:

Danke für die Hilfe.

Hi,
ich habe auch nur abgekupfert:-)

Ralf

Hi,
unter „WLAN 2,4 GHz - Status“ und „WLAN 5 GHz - Status“ bekommt man den Status von WLan-Geräten mit deren Geschwindigkeit angezeigt. Leider sind es nur die Geräte die direkt an der Fritzbox angemeldet sind.

Gibt es eine Möglichkeit diese Informationen für alle WLan-Geräte im Netz aus der Mesh-Übersicht zu bekommen so das man auch die Infos von Geräten an Access-Points bekommt?

Es könnte gehen mit GetSpecificHostEntryByIp aber wenn ich GetHosts so:


        $result = $client->GetGenericHostEntry(new SoapParam($i,'NewIndex')); 
//        var_dump($result);
        $mist = $client->GetSpecificHostEntryByIp(new SoapParam($result["NewIPAddress"],'NewIPAddress'));
        var_dump($mist);

ändere bekomme ich den Soap-Fehler :


Fatal error:  Uncaught SoapFault exception: [s:Client] UPnPError in /var/lib/symcon/scripts/33260.ips.php:97
Stack trace:
#0 /var/lib/symcon/scripts/33260.ips.php(97): SoapClient->__call('GetSpecificHost...', Array)
#1 /var/lib/symcon/scripts/33260.ips.php(230): FB_GetHosts()
#2 {main}
  thrown in /var/lib/symcon/scripts/33260.ips.php on line 97

Hat einer eine Idee?

Ralf

Hallo Zusammen,

ich brauche mal eure Hilfe, bei folgendem Problem. Bei der neu Installation auf meinem Pi wird die Anrufliste nicht erzeugt. Wenn ich das Script auf meinem Windows Notebook im Symcon Installiere. läuft alles ohne Probleme (gleiche Box, gleiche Einstellungen).

Hat jemand eine Idee was beim Pi falsch eingestellt ist bzw. wo das Problem ist ?

Viele Grüße und Danke

Benny

Servus,

ein top Modul, vielleicht kommt es ja bald in den Mudulstore dann wär es noch einfacher :slight_smile:

Mfg Klaus

Hallo,

ich finde das Modul auch gut, aber mir ist das viel zu groß, da ich nicht alles benötige und es jede Menge Variablen frisst. Eigentlich reicht mir nur der Anrufmonitor. Gibt es für mich da Möglichkeiten das abzuspecken?

Gruß
Marc

Hi,
prinzipiell, theoretisch recht einfach. Im Script-Verzeichnis stehen die Scripte zum Auslesen mit einem Timer-Ereignis. Script löschen oder einfach nur das Event deaktivieren und dann die dazugehörende Instanz mit den Variablen löschen.

Ralf

Genau das hatte ich versucht. Dabei habe ich mir wohl einiges zerschossen. Daraufhin habe ich alles herausgelöscht.
Jetzt weiß ich nicht mehr, wie ich das Modul geladen bekommen habe. Ich würde es ja sonst nochmal versuchen. Aber finde wieder das Packende nicht.
Was muss ich da noch machen, um über die Verwaltungskonsole das Skript zu Importieren. Den Button „Importieren“ finde ich nicht.
Wenn ich so etwas nicht jeden Tag mache, vergesse ich das wieder. Liegt an meinem fortgeschrittenen Alter.

Hi,
das geht nur mit der Legacy Console nicht mit der Web-Console.

Ralf

Doch, auch mit der WebConsole geht das inzwischen.
Version wie immer im ersten Beitrag zum Projekt.
Viele Funktionen können auch im Config File deaktiviert werden.
Michael

Ich habe das jetzt mit Legacy hinbekommen, immerhin.
Die Beschreibung für WebConsole finde ich hingegen nicht auf Anhieb, oder bin ich da wieder zu ungeduldig?

Dafür habe ich aber noch einen ganz einfachen Weg gefunden, wie man den Anrufmonitor ohne Skripte, also Ereignis zu bestimmten Aktionen nutzen kann. Falls es jemanden interessiert.

Beschreibung nicht, aber das ZIP mit dem Installer für die WebConsole.
Da es mir (wie immer) an Zeit mangelt, dauert auch eine Umsetzung für ein schönes neues PHP-Modul noch etwas (schätze Mal so 2-5 Wochen bis zum Betatest).
Michael

Hallo miteinander.
Lässt sich das Modul eigentlich auch 3x installieren?
Ich würde gerne drei Boxen überwachen und Visualisieren.
Ich hab das noch nicht hinbekommen.
Danke fürs unterstützen!