SensorAndSwitch Haus-Automation auf Webserver-Basis

Ich vermute mal, dass da die crontab - Eintragungen fehlen und die system-Pfade müssen aus der Zip im root entsprechend kopiert werden.

Mit
Code:
/usr/local/bin/sas/sasstart info
kann man sehen, ob SaS auch läuft.

Es scheinen auch noch die neuen images - Dateien aus der Zip zu fehlen. Die müssen auch kopiert werden.

- - - Aktualisiert - - -

Sind bereits in den Einstellungen Slots mit Geräten bzw. PsGs belegt worden, die in der WebGUI angezeigt werden sollen?
 
so. ich denke sas läuft,
sas info.JPG
ich kann jetz auch die psg's hinzufügen das die mir angezeigt werden, allerdings funktionieren die noch nicht korrekt.


fosz.JPG
wenn ich auf den button mit dem bild und dem grünen downloadpfeil klick müßte foldendes doit___.php
ausgeführt werden :
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                 RaspberryPI   |
        |   ===============================================================   |
        |   Datensicherung Foscam Bilder                          sashelper   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */
    include __DIR__."/../include/psg.php";

    error_reporting(0);
    
    # In der folgenden Datei sind die Variablen der sashelper mit Pfadangaben
    # benannt, wie z. B.:
    # $helperurlpi='http://192.168.123.123/sensorandswitch/sensorandswitchhelper.php';

    $befehl='sudo ./fosbild.sh';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
    header("Location: ".$Conf["EURL"]);

    exit;
    
?>

die doit__.php und die fosbild.sh stecken im hauptverzeichnis von sas

jetz mein problem: wenn ich in der gui draufklick erhalt ich nen weisen browserbildschirm und das wars !???

ich glaube ich habe irgendwas zuviel da aus der doit___.php rausgelöscht beim versuch des von v3 auf v4(6) umzuwandeln !!??

grüße
 
Der weiße Browserbildschirm deutet auf einen PHP-Fehler hin. Vor "<?php" und nach "?>" darf in der Datei kein Leerzeichen sein. Bitte überprüfen, ob sich da eins eingeschlichen hat und ob die Datei UTF-8 ohne BOM codiert ist.

Hier nochmal eine Version, die funktionieren müsste:
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                 RaspberryPI   |
        |   ===============================================================   |
        |   Datensicherung Foscam Bilder                          sashelper   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include_once __DIR__."/../include/psg.php";
    include_once __DIR__."/../".PIC."design.php";
    include_once __DIR__."/../".PIC.DESIGN."design.php";

    $befehl='sudo ./fosbild.sh';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
    header("Location: ".$Conf["EURL"]);

    exit;

?>

Die doit gehört übrigens ins psg-Verzeichnis, sonst stimmen die Pfade nicht. Gleiches für die fosbild.sh, oder der Pfad muss geändert werden: ./../fosbild.sh
 
Zuletzt bearbeitet:
hm... hab jetz alles im psg-ordner, und auch noch ein paar links in den psg___.php angepasst, das will einfach nicht funktionieren..
utf-8 ohne bom passt,
meine dect200 zeigts korrekt an, lassen sich schalten
psgHimbeere vers 4.45 sieht so aus:
gerHimbeere.JPG

da stimmt doch grundsätzlich noch was nicht !!

Hab mir noch nen user "test" angelegt mit ein paar belegten slots zum testen u.a. auch die doit___.php von obigem post, wenn ich da dann draufklick
gehts schonmal weiter, allerdings direkt zum /sas/sas.php ohne ?user=test . Ist das normal ?
bei v3 gabs das mit den nutzern ja noch nicht, wie lös ich das dann in v6 ?
 
Poste bitte nochmal deine jetzige psgHimbeere.php. Vielleicht sehe ich das Problem.

Das mit den Usern muss ich mir mal ansehen...

- - - Aktualisiert - - -

Benutzt man eigene Schalter-Links, so muss man selbst dafür sorgen, dass der User mit weitergereicht wird. Beim Linkaufruf muss '...?user='.$guiuser an den Link zur Übergabe mit angehängt werden. Im doit dann das Gleiche für den Weg zurück.

- - - Aktualisiert - - -

Ich habe gerade in der user-Verwaltung auch noch einen Fehler gefunden, der wird in der nächsten Alpha korrigiert sein.
 
aha,

hier meine psgHimbeere.php

PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch                                      PSG-Script   |
        |   ===============================================================   |
        |   Status RaspberryPI                               sashelper (PI)   |
        |                                                        Web (curl)   |
        |   (C)2014/15 BlueDragon                                             !
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include __DIR__."/../include/psg.php";
    $gerarray=getGerInfo(substr(basename(__FILE__,".php"),3));

    $ver="4.45";
    $ver="V#V ".$ver."#V#PC*AIN#";
    $befehl='cat /sys/class/thermal/thermal_zone0/temp';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Statustemp=trim(web($url,$post))/1000;
    if ($Statustemp!=0) {
        $befehl='sudo /usr/bin/vcgencmd measure_clock arm';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statustakt=web($url,$post);
        $befehl='sudo /usr/bin/vcgencmd measure_volts core';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statusvolt=web($url,$post);
        $befehl='sudo /usr/bin/vcgencmd measure_clock core';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statustaktc=web($url,$post);
        $befehl='sudo free | grep "Mem"';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statusram=web($url,$post);
        $Statusram=explode(" ",preg_replace("/\s+/", " ", $Statusram));
        $Statusram=$Statusram[2]/$Statusram[1]*100;
        $befehl='sudo df | grep "rootfs"';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statusdisk=web($url,$post);
        $Statusdisk=substr($Statusdisk,strpos($Statusdisk,"%")-3,3);
        $befehl='sudo df | grep "/share"';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $nas=web($url,$post);
        $nas=100-substr($nas,strpos($nas,"%")-3,3);
        $nas="V#frei:".$nas."%%*Mode#";
        if ($Statustakt) {
            $temp=sprintf('%.1f',$Statustemp);
            $zeitl=$gerarray["zeitl"];
            $zeith=date("G")*1;
            $tempz=unserialize($gerarray["tempz"]);
            if ($zeith!=$zeitl) {
                $tempz[$zeith]=array();
                $zeitl=$zeith;
            }
            if ($zeitl>23) {$zeitl=0;}
            if ($temp<$tempz[$zeith]["min"] or !isset($tempz[$zeith]["min"])) {
                $tempz[$zeith]["min"]=$temp;
            }
            if ($temp>$tempz[$zeith]["max"] or !isset($tempz[$zeith]["max"])) {
                $tempz[$zeith]["max"]=$temp;
            }
            echo 'P#<div style="position:absolute;top:-6px;font-size:13px;text-align:left;">CPU: '.number_format(sprintf('%.0f',(substr($Statustakt,strpos($Statustakt,"=")+1)*1/1000000)),0,",",".").' MHz<br />Temp: '.number_format(($Statustemp*1),1,",",".").'°C<br />RAM used:'.number_format($Statusram,0,",",".").'%%</div><div style="position:absolute;top:-6px;font-size:13px;left:105px;text-align:left;">Core: '.number_format(sprintf('%.0f',(substr($Statustaktc,strpos($Statustaktc,"=")+1)*1/1000000)),0,",",".").' MHz<br />Core: '.number_format(sprintf('%.2f',(substr($Statusvolt,strpos($Statusvolt,"=")+1)*1/1)),2,",",".").' V<br />Disk used: '.$Statusdisk.'%%</div><div  style="position:absolute;top:-20px;font-size:14px;width:320px;"><span id="klick"><a href="'.$Conf["PSG"].'doitshutdown.php"><img src="'.picdesign("schalter3.png").'"></a></span></div><div style="position:absolute;top:-20px;font-size:14px;width:265px"><span id="klick"><a href="'.$Conf["PSG"].'doitreboot.php"><img src="'.picdesign("schalterr.png").'"></a></span></div>*HTML#V#'.serialize($tempz).'*tempz#V#'.$zeith.'*zeith#V#'.$zeitl.'*zeitl#'.$ver.$nas;
        }
    }
    exit;
    
?>

nachtrag:

Öhm, wo geb ich das : ?user='.$guiuser

in dem an ??
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                 RaspberryPI   |
        |   ===============================================================   |
        |   Datensicherung Foscam Bilder                          sashelper   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include_once __DIR__."/../include/psg.php";
    include_once __DIR__."/../".PIC."design.php";
    include_once __DIR__."/../".PIC.DESIGN."design.php";

    $befehl='sudo ./fosbild.sh';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
    header("Location: ".$Conf["EURL"]);

    exit;

?>


Aktualisierung :


Asche auf mein Haupt !! Ich trottel hab im conf ordner die sashelper.phpconf noch nicht drin gehabt !! psgHimbeere geht jetzt
 
Zuletzt bearbeitet:
Ja, die $helperurlpi hatte keinen Inhalt. Auch hier gleich die user-Korrektur:

psgHimbeere.php
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch                                      PSG-Script   |
        |   ===============================================================   |
        |   Status RaspberryPI                               sashelper (PI)   |
        |                                                        Web (curl)   |
        |   (C)2014/15 BlueDragon                                             !
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include __DIR__."/../include/psg.php";
    $gerarray=getGerInfo(substr(basename(__FILE__,".php"),3));

    $ver="4.45";
    $ver="V#V ".$ver."#V#PC*AIN#";
    $befehl='cat /sys/class/thermal/thermal_zone0/temp';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Statustemp=trim(web($url,$post))/1000;
    if ($Statustemp!=0) {
        $befehl='sudo /usr/bin/vcgencmd measure_clock arm';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statustakt=web($url,$post);
        $befehl='sudo /usr/bin/vcgencmd measure_volts core';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statusvolt=web($url,$post);
        $befehl='sudo /usr/bin/vcgencmd measure_clock core';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statustaktc=web($url,$post);
        $befehl='sudo free | grep "Mem"';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statusram=web($url,$post);
        $Statusram=explode(" ",preg_replace("/\s+/", " ", $Statusram));
        $Statusram=$Statusram[2]/$Statusram[1]*100;
        $befehl='sudo df | grep "rootfs"';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $Statusdisk=web($url,$post);
        $Statusdisk=substr($Statusdisk,strpos($Statusdisk,"%")-3,3);
        $befehl='sudo df | grep "/share"';
        $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
        $nas=web($url,$post);
        $nas=100-substr($nas,strpos($nas,"%")-3,3);
        $nas="V#frei:".$nas."%%*Mode#";
        if ($Statustakt) {
            $temp=sprintf('%.1f',$Statustemp);
            $zeitl=$gerarray["zeitl"];
            $zeith=date("G")*1;
            $tempz=unserialize($gerarray["tempz"]);
            if ($zeith!=$zeitl) {
                $tempz[$zeith]=array();
                $zeitl=$zeith;
            }
            if ($zeitl>23) {$zeitl=0;}
            if ($temp<$tempz[$zeith]["min"] or !isset($tempz[$zeith]["min"])) {
                $tempz[$zeith]["min"]=$temp;
            }
            if ($temp>$tempz[$zeith]["max"] or !isset($tempz[$zeith]["max"])) {
                $tempz[$zeith]["max"]=$temp;
            }
            echo 'P#<div style="position:absolute;top:-6px;font-size:13px;text-align:left;">CPU: '.number_format(sprintf('%.0f',(substr($Statustakt,strpos($Statustakt,"=")+1)*1/1000000)),0,",",".").' MHz<br />Temp: '.number_format(($Statustemp*1),1,",",".").'°C<br />RAM used:'.number_format($Statusram,0,",",".").'%%</div><div style="position:absolute;top:-6px;font-size:13px;left:105px;text-align:left;">Core: '.number_format(sprintf('%.0f',(substr($Statustaktc,strpos($Statustaktc,"=")+1)*1/1000000)),0,",",".").' MHz<br />Core: '.number_format(sprintf('%.2f',(substr($Statusvolt,strpos($Statusvolt,"=")+1)*1/1)),2,",",".").' V<br />Disk used: '.$Statusdisk.'%%</div><div  style="position:absolute;top:-20px;font-size:14px;width:320px;"><span id="klick"><a href="'.$Conf["PSG"].'doitshutdown.php?user='.$guiuser.'"><img src="'.picdesign("schalter3.png").'"></a></span></div><div style="position:absolute;top:-20px;font-size:14px;width:265px"><span id="klick"><a href="'.$Conf["PSG"].'doitreboot.php?user='.$guiuser.'"><img src="'.picdesign("schalterr.png").'"></a></span></div>*HTML#V#'.serialize($tempz).'*tempz#V#'.$zeith.'*zeith#V#'.$zeitl.'*zeitl#'.$ver.$nas;
        }
    }
    exit;
    
?>

der 2. Datei:
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                 RaspberryPI   |
        |   ===============================================================   |
        |   Datensicherung Foscam Bilder                          sashelper   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include_once __DIR__."/../include/psg.php";
    include_once __DIR__."/../".PIC."design.php";
    include_once __DIR__."/../".PIC.DESIGN."design.php";

    $befehl='sudo ./fosbild.sh';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
    header("Location: ".$Conf["EURL"].'?user='.$guiuser);

    exit;

?>

- - - Aktualisiert - - -

Update Download: SAS V6.00.5533 alpha auf Post #1
u. a. Bugfix user
 
Hilfe!
mein Pi 2 begeht so langsam Selbstmord! oder hab ich ihn umgebracht?

erste Symptome, vor 2 Tagen war auf einmal mein Config Verzeichnis von Sas durcheinander, einige Dateien fehlten, andere waren zum Teil auf einmal mit Großbuchstaben geschrieben.

dachte zuerst, da hast du wohl mal wieder was falsch gemacht.
wieder repariert und gut wars.

aber heute dann das große Chaos, hab ihn runter gefahren, weil ich ein anderes Netzteil versuchen wollte.
und nun komme ich mit Putty, WinSCP oder Samba auf den Pi.
FTP geht noch, aber nur ab WWW Verzeichnis.
auch scheinen alle Programme zu laufen, Sas baut er die Seite nicht fertig auf, aber Pillight, Homematic usw. funktionieren.
also Tastatur, Maus und Bildschirm angeschlossen.
komme aber auch nicht weiter.
es erscheint die graphische Anmeldeseite, gebe ich mein Passwort vom PI ein, sagt er falsches Passwort.
gebe ich Pi und Raspberry als Passwort, dann will er starten, springt aber weider zur Anmeldeseite!
auch mit root und meinem Passwort.
hab den Bildschirm mal umgeschaltet, da finde ich dan eine Meldung: Feler in Service Mudul!

kann ich den noch retten? oder neu machen?

Sicherung ist von vor 14 Tagen vorhanden, nur meine Spielereien mit Asterisk sind dann weg!!
 
Hast du in letzter Zeit apt-get update, apt-get upgrade gemacht? Wenn ja, dann hat es dir dadurch deinen Pi zerschossen. Splashscreen, Raspberry-Tools und PHP wurden neulich upgedated. Da wurden zum Teil eine Menge configs einfach ungefragt überschrieben. Deswegen mache ich den Update immer erst an meinem Versuchs-Pi, bevor ich das an meinen anderen durchführe.

Was auch noch sein kann ist, dass deine SD-Karte den Geist aufgibt. Da hilft nur eine Neue.

- - - Aktualisiert - - -

Nachtrag: Der Pi ist jedenfalls deswegen nicht kaputt. Die kleinen Himbeeren sind sehr robust, ;)
 
erst mal Danke für den Hinweis,

apt-get update hatte ich glaube ich vor der Asterisk installation gemacht.

Sd-Karte glaube ich nicht, hatte zumindest bisher keine Probleme damit.

werde nacher mal mit einem Ubuntu Rechner versuchen, ab da was zu reparieren ist.

ansonsten muss halt die Sicherung drauf, und die Arbeit der letzten 14 Tage wiederholt werden!
 
Lieber einmal Datensicherung zu oft als einmal zu wenig. ;)

Das ist meine leidvolle Erfahrung. :)

Lass trotzdem mal vom Ubuntu-Rechner das Dateisystem der SD-Karte checken.
 
Ubuntu konnte die Karte auch nicht reparieren.
aber kein Problem, hab bei Windows noch einen Linuxreader installiert, damit konnte ich noch alles wichtige sichern.
läuft schon fast alles wieder!
 
Das mit einem korrupten Dateisystm ist mir neulich bei einem Shutdown und Neustart meines SaS-Pi auch passiert. Daher war dies mein Verdacht. Aber gut, wenns wieder läuft. :)
 
Dafür gibt es eine /conf/sasfb.conf
 
Aufbau pro weitere Fritzbox eine Zeile, Werte getrennt durch Tabulator:

FritzboxnameOderIP [TAB] Benutzer [TAB] KennwortInKlartext

Das Kennwort wird dann beim nächsten SaS-Aufruf verschlüsselt und dahinter steht dann "crypted".
 
Freut mich, dass es läuft. :)

Ich musste auch erst in den Programmcode schauen, wie ich das damals mit dem Einbinden mehrerer Fritzboxen gelöst hatte. Ich muss das später mal in die Beschreibung auf der Webseite mit aufnehmen. ;)

PS: Bei dir würden sich dafür später die breiten Info-Slots anbieten (psginfoNAME.php mit IB#). Da ist mehr Platz für die Anzeige.
 
Zuletzt bearbeitet:
Funktioniert auch in V4.60 ;)
 
Poste einfach mal ein psg von dir, ich kann dieses dann so umändern, dass es in der breiten Info-Slot-Version angezeigt wird. Ist nicht so kompliziert, wie es klingt. ;)
 
Sorry, komme erst jetzt dazu, hier reinzuschauen.

Zunächst mal den Anzeigebereich:
PHP:
.
.
.
    /*
    Anzeige
    */
    $info='';
    $info.='<div style="font-size:20px;left:-135px;top:0px;position:absolute;"><img src="'.picdesign("psensor.png").'" border="0"></div>';
    $info.='<div style="font-size:12px;text-align:right;width:250px;position:absolute;top:5px;"><div>WLAN: <img src="'.PIC.'mled'.$wl1.'.png" height="15px"><img src="'.PIC.'mled'.$wl2.'.png" height="15px"><img src="'.PIC.'mled'.$wl3.'.png" height="15px"> Media/DAV: <img src="'.PIC.'mled'.$mm1.'.png" height="15px"><img src="'.PIC.'mled'.$mm2.'.png" height="15px"></div>';
    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#';
    exit;

?>

Hier wird das P#Text*HTML# nur durch IB#Text# ersetzt. Dadurch steht dir ein sehr viel größerer Anzeigebereich zur Verfügung. Genauer gesagt 790x110 Pixel, die du individuell nutzen kannst.

Du kannst auch die weiteren Fritzboxen hier anzeigen lassen. Du musst nur die oberen curl-Blöcke noch zweimal kopieren und mit den Variablennamen aufpassen.

- - - Aktualisiert - - -

Noch etwas: der Name des PsGs sollte psginfoFB.php sein. (rot ist Pflichtsyntax, schwarz beliebig)

- - - Aktualisiert - - -

So, hier das zusammengefasste Script...

psginfoFB.php
PHP:
<?php

    /*

        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                               |
        |   ===============================================================   |
        |   ->  WLAN / Mediapl.-WebDAV                                        |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include __DIR__."/../include/psg.php";

    # Box 0
    # WLAN
    $Login=$Conf["FB"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled";
    $Status1=webget($url);
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled_scnd";
    $Status2=webget($url);
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/guest_ap_enabled";
    $Status3=webget($url);
    $b0wl1="2";
    $b0wl2="2";
    $b0wl3="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b0wl1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b0wl2=$x2[3];
    }
    $x3=explode('"',$Status3);
    if ($x3[3]=="0" or $x3[3]=="1") {
        $b0wl3=$x3[3];
    }
    
    # Media
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=mediasrv:settings/enabled";
    $Status1=webget($url);
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=webdavclient:status/connection_state";
    $Status2=webget($url);
    $b0mm1="2";
    $b0mm2="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b0mm1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b0mm2=$x2[3];
    }

    # Box 1
    # WLAN
    $Login=$Conf["FB1"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled";
    $Status1=webget($url);
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled_scnd";
    $Status2=webget($url);
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/guest_ap_enabled";
    $Status3=webget($url);
    $b1wl1="2";
    $b1wl2="2";
    $b1wl3="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b1wl1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b1wl2=$x2[3];
    }
    $x3=explode('"',$Status3);
    if ($x3[3]=="0" or $x3[3]=="1") {
        $b1wl3=$x3[3];
    }
    
    # Media
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=mediasrv:settings/enabled";
    $Status1=webget($url);
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=webdavclient:status/connection_state";
    $Status2=webget($url);
    $b1mm1="2";
    $b1mm2="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b1mm1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b1mm2=$x2[3];
    }

    # Box 2
    # WLAN
    $Login=$Conf["FB2"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled";
    $Status1=webget($url);
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled_scnd";
    $Status2=webget($url);
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/guest_ap_enabled";
    $Status3=webget($url);
    $b2wl1="2";
    $b2wl2="2";
    $b2wl3="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b2wl1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b2wl2=$x2[3];
    }
    $x3=explode('"',$Status3);
    if ($x3[3]=="0" or $x3[3]=="1") {
        $b2wl3=$x3[3];
    }
    
    # Media
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=mediasrv:settings/enabled";
    $Status1=webget($url);
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=webdavclient:status/connection_state";
    $Status2=webget($url);
    $b2mm1="2";
    $b2mm2="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b2mm1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b2mm2=$x2[3];
    }

    # Anzeige
    $info='';
    $info.='<div style="font-size:20px;left:-135px;top:0px;position:absolute;"><img src="'.picdesign("psensor.png").'" border="0"></div>';
    $info.='<div style="font-size:16px;text-align:left;width:300px;position:absolute;top:5px;">FB0 WLAN: <img src="'.PIC.'mled'.$b0wl1.'.png" height="15px"><img src="'.PIC.'mled'.$b0wl2.'.png" height="15px"><img src="'.PIC.'mled'.$b0wl3.'.png" height="15px"> Media/DAV: <img src="'.PIC.'mled'.$b0mm1.'.png" height="15px"><img src="'.PIC.'mled'.$b0mm2.'.png" height="15px"></div>';
    $info.='<div style="font-size:16px;text-align:left;width:300px;position:absolute;top:25px;">FB1 WLAN: <img src="'.PIC.'mled'.$b1wl1.'.png" height="15px"><img src="'.PIC.'mled'.$b1wl2.'.png" height="15px"><img src="'.PIC.'mled'.$b1wl3.'.png" height="15px"> Media/DAV: <img src="'.PIC.'mled'.$b1mm1.'.png" height="15px"><img src="'.PIC.'mled'.$b1mm2.'.png" height="15px"></div>';
    $info.='<div style="font-size:16px;text-align:left;width:300px;position:absolute;top:45px;">FB2 WLAN: <img src="'.PIC.'mled'.$b2wl1.'.png" height="15px"><img src="'.PIC.'mled'.$b2wl2.'.png" height="15px"><img src="'.PIC.'mled'.$b2wl3.'.png" height="15px"> Media/DAV: <img src="'.PIC.'mled'.$b2mm1.'.png" height="15px"><img src="'.PIC.'mled'.$b2mm2.'.png" height="15px"></div>';
    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.'</div>#';
    exit;
    
?>

- - - Aktualisiert - - -

Die Anzeigeposition und Schriftgröße usw. kannst du dir ja noch entsprechend anpassen. Das habe ich jetzt nicht mehr gemacht.
 
Erstmal die Fage, ob das PsG psginfoFB.php bei dir lief, was ich oben als Zusammenfassung eingestellt hatte?

- - - Aktualisiert - - -

Wenn das lief, schau ich weiter, lief es nicht, muss erstmal das funktionieren. ;) Daher warte ich mal auf ein Ja oder Nein. (Hab jetzt mal Ja angenommen und es zusammengebastelt; siehe unten)

- - - Aktualisiert - - -

psginfoFB.php
PHP:
<?php

    /*

        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                               |
        |   ===============================================================   |
        |   ->  WLAN / Mediapl.-WebDAV                                        |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    include __DIR__."/../include/psg.php";

    # Box 0
    # WLAN
    $Login=$Conf["FB"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled";
    $Status1=webget($url);
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled_scnd";
    $Status2=webget($url);
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/guest_ap_enabled";
    $Status3=webget($url);
    $b0wl1="2";
    $b0wl2="2";
    $b0wl3="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b0wl1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b0wl2=$x2[3];
    }
    $x3=explode('"',$Status3);
    if ($x3[3]=="0" or $x3[3]=="1") {
        $b0wl3=$x3[3];
    }
    
    # Media
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=mediasrv:settings/enabled";
    $Status1=webget($url);
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=webdavclient:status/connection_state";
    $Status2=webget($url);
    $b0mm1="2";
    $b0mm2="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b0mm1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b0mm2=$x2[3];
    }

    # Box 1
    # WLAN
    $Login=$Conf["FB1"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled";
    $Status1=webget($url);
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled_scnd";
    $Status2=webget($url);
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/guest_ap_enabled";
    $Status3=webget($url);
    $b1wl1="2";
    $b1wl2="2";
    $b1wl3="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b1wl1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b1wl2=$x2[3];
    }
    $x3=explode('"',$Status3);
    if ($x3[3]=="0" or $x3[3]=="1") {
        $b1wl3=$x3[3];
    }
    
    # Media
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=mediasrv:settings/enabled";
    $Status1=webget($url);
    $url=$Conf["FB1"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=webdavclient:status/connection_state";
    $Status2=webget($url);
    $b1mm1="2";
    $b1mm2="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b1mm1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b1mm2=$x2[3];
    }

    # Box 2
    # WLAN
    $Login=$Conf["FB2"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled";
    $Status1=webget($url);
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled_scnd";
    $Status2=webget($url);
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/guest_ap_enabled";
    $Status3=webget($url);
    $b2wl1="2";
    $b2wl2="2";
    $b2wl3="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b2wl1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b2wl2=$x2[3];
    }
    $x3=explode('"',$Status3);
    if ($x3[3]=="0" or $x3[3]=="1") {
        $b2wl3=$x3[3];
    }
    
    # Media
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=mediasrv:settings/enabled";
    $Status1=webget($url);
    $url=$Conf["FB2"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=webdavclient:status/connection_state";
    $Status2=webget($url);
    $b2mm1="2";
    $b2mm2="2";
    $x1=explode('"',$Status1);
    if ($x1[3]=="0" or $x1[3]=="1") {
        $b2mm1=$x1[3];
    }
    $x2=explode('"',$Status2);
    if ($x2[3]=="0" or $x2[3]=="1") {
        $b2mm2=$x2[3];
    }

    
    # AB1
    $Login=$Conf["FB"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&TAM=tam:settings/TAM/list(Active,MSNBitmap,Mode,UserAnsVP,UserAnsRecVP,UserEndVP,RecordLength,RingCount,PIN,PlayTimestamp,CompressionLevel,Display,PushmailActive,MailAddress,PushmailServer,PushmailUser,PushmailPass,PushmailFrom,Name,NumNewMessages,NumOldMessages)";
    $dat=json_decode(file_get_contents($url),true);
    $ab=0; #0,1,2,3,4 sind die 5 ABs
    $Status=" ".$dat["TAM"][$ab]["NumNewMessages"];
    $old=$dat["TAM"][$ab]["NumOldMessages"];
    $abaktiv=$dat["TAM"][$ab]["Active"];
    if ($abaktiv==0) {$abaktiv="nein";} else {$abaktiv="ja";}
    $abname=$dat["TAM"][$ab]["Name"];
    if ($Status) {
        if (trim($Status)=="0") {
            $anrufeneu="0";
            $anrufe="0";
            $fcss="f1";
            $abneu='<span id="'.$fcss.'" style="font-weight:bold;font-size:32px;">'.$anrufeneu.'</span> Nachrichten';
        }
        if (trim($Status)>="1") {
            $anrufeneu=trim($Status);
            $anrufe="1";
            $fcss="f2";
            $abneu='<span id="'.$fcss.'" style="font-weight:bold;font-size:32px;">'.$anrufeneu.'</span> Nachricht';
            if (trim($Status)>"1") {
                $abneu='<span id="'.$fcss.'" style="font-weight:bold;font-size:32px;">'.$anrufeneu.'</span> Nachrichten';
            }
        }
        if (trim($old)=="0") {
            $anrufealt="0";
            $fcss="f1";
            $abalt=$anrufealt.' alte Nachrichten';
        }
        if (trim($old)>="1") {
            $anrufealt=trim($old);
            $fcss="f2";
            $abalt=$anrufeneu.' alte Nachricht';
            if (trim($old)>"1") {
                $abalt=$anrufealt.' alte Nachrichten';
            }
        }
        $echo1='<div style="width:310px;position:absolute;text-align:right;top:10px;left:310px">';
        $echo1.='<div style="font-size:12px;text-align:right;width:310px;position:absolute;top:-20px;"><img src="'.picdesign("telab".$anrufe.".png").'" border="0"></div>';
        $echo1.='<div style="font-size:16px;text-align:left;width:250px;position:absolute;top:22px;">'.$abname.'</div>';
        $echo1.='<div style="font-size:22px;text-align:right;width:250px;position:absolute;top:-8px;">'.$abneu.'</div>';
        $echo1.='<div style="font-size:12px;text-align:right;width:250px;position:absolute;top:26px;">'.$abalt.'</div>';
        $echo1.='<div style="font-size:12px;text-align:left;width:250px;position:absolute;top:-1px;"><img src="'.picdesign($abaktiv.".png").'" border="0"></div>';
        $echo1.='</div>';
    }

    # AB2
    $Login=$Conf["FB"]."/login_sid.lua";
    $user=$Conf["USER"];
    $password=$Conf["PASSWORD"];
    $url=$Conf["FB"]."/query.lua?sid=".GetSessionID($Login,$user,$password)."&TAM=tam:settings/TAM/list(Active,MSNBitmap,Mode,UserAnsVP,UserAnsRecVP,UserEndVP,RecordLength,RingCount,PIN,PlayTimestamp,CompressionLevel,Display,PushmailActive,MailAddress,PushmailServer,PushmailUser,PushmailPass,PushmailFrom,Name,NumNewMessages,NumOldMessages)";
    $dat=json_decode(file_get_contents($url),true);
    $ab=2; #0,1,2,3,4 sind die 5 ABs
    $Status=" ".$dat["TAM"][$ab]["NumNewMessages"];
    $old=$dat["TAM"][$ab]["NumOldMessages"];
    $abaktiv=$dat["TAM"][$ab]["Active"];
    if ($abaktiv==0) {$abaktiv="nein";} else {$abaktiv="ja";}
    $abname=$dat["TAM"][$ab]["Name"];
    if ($Status) {
        if (trim($Status)=="0") {
            $anrufeneu="0";
            $anrufe="0";
            $fcss="f1";
            $abneu='<span id="'.$fcss.'" style="font-weight:bold;font-size:32px;">'.$anrufeneu.'</span> Nachrichten';
        }
        if (trim($Status)>="1") {
            $anrufeneu=trim($Status);
            $anrufe="1";
            $fcss="f2";
            $abneu='<span id="'.$fcss.'" style="font-weight:bold;font-size:32px;">'.$anrufeneu.'</span> Nachricht';
            if (trim($Status)>"1") {
                $abneu='<span id="'.$fcss.'" style="font-weight:bold;font-size:32px;">'.$anrufeneu.'</span> Nachrichten';
            }
        }
        if (trim($old)=="0") {
            $anrufealt="0";
            $fcss="f1";
            $abalt=$anrufealt.' alte Nachrichten';
        }
        if (trim($old)>="1") {
            $anrufealt=trim($old);
            $fcss="f2";
            $abalt=$anrufeneu.' alte Nachricht';
            if (trim($old)>"1") {
                $abalt=$anrufealt.' alte Nachrichten';
            }
        }
        $echo2='<div style="width:310px;position:absolute;text-align:right;top:65px;left:310px">';
        $echo2.='<div style="font-size:12px;text-align:right;width:310px;position:absolute;top:-20px;"><img src="'.picdesign("telab".$anrufe.".png").'" border="0"></div>';
        $echo2.='<div style="font-size:16px;text-align:left;width:250px;position:absolute;top:22px;">'.$abname.'</div>';
        $echo2.='<div style="font-size:22px;text-align:right;width:250px;position:absolute;top:-8px;">'.$abneu.'</div>';
        $echo2.='<div style="font-size:12px;text-align:right;width:250px;position:absolute;top:26px;">'.$abalt.'</div>';
        $echo2.='<div style="font-size:12px;text-align:left;width:250px;position:absolute;top:-1px;"><img src="'.picdesign($abaktiv.".png").'" border="0"></div>';
        $echo2.='</div>';
    }
    
    # Anzeige
    $info='';
    $info.='<div style="font-size:20px;left:-135px;top:0px;position:absolute;"><img src="'.picdesign("psensor.png").'" border="0"></div>';
    $info.='<div style="font-size:16px;text-align:left;width:300px;position:absolute;top:10px;">7490 WLAN: <img src="'.PIC.'mled'.$b0wl1.'.png" height="15px"><img src="'.PIC.'mled'.$b0wl2.'.png" height="15px"><img src="'.PIC.'mled'.$b0wl3.'.png" height="15px"> Media/DAV: <img src="'.PIC.'mled'.$b0mm1.'.png" height="15px"><img src="'.PIC.'mled'.$b0mm2.'.png" height="15px"></div>';
    $info.='<div style="font-size:16px;text-align:left;width:300px;position:absolute;top:40px;">7490 WLAN: <img src="'.PIC.'mled'.$b1wl1.'.png" height="15px"><img src="'.PIC.'mled'.$b1wl2.'.png" height="15px"><img src="'.PIC.'mled'.$b1wl3.'.png" height="15px"> Media/DAV: <img src="'.PIC.'mled'.$b1mm1.'.png" height="15px"><img src="'.PIC.'mled'.$b1mm2.'.png" height="15px"></div>';
    $info.='<div style="font-size:16px;text-align:left;width:300px;position:absolute;top:70px;">4040 WLAN: <img src="'.PIC.'mled'.$b2wl1.'.png" height="15px"><img src="'.PIC.'mled'.$b2wl2.'.png" height="15px"><img src="'.PIC.'mled'.$b2wl3.'.png" height="15px"> Media/DAV: <img src="'.PIC.'mled'.$b2mm1.'.png" height="15px"><img src="'.PIC.'mled'.$b2mm2.'.png" height="15px"></div>';

    echo 'IB#<div style="position:absolute;left:85px;top:0px;">'.$info.$echo1.$echo2.'</div>#';
    exit;
    
?>

sieht dann so aus:
fbinfo.jpg

- - - Aktualisiert - - -

Bei psgSIP-Konten.php läuft das PsG zu lange, sodass es wohl abgebrochen wird. Da müsste man mehrere PsGs machen und im psginfo dann die Daten der PsGs aus der Datenbank lesen.

Aber schaun wir erst einmal, ob oben das bei dir läuft. Aus Ermangelung mehrer angeschlossener Fritzboxen kann ich das nur bedingt bei mir testen. ;)

- - - Aktualisiert - - -

...
Wäre echt klasse. (Bezahlter Support möglich?)
...
Bezahlten Support gibt es nicht, aber ich schau gern, was sich machen lässt, wenn was nicht so läuft, wie es soll. Meist sind es eh nur ein paar Zeilen Code und dann läuft das schon, wie es soll. :mrgreen:
 
Zuletzt bearbeitet:
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.