[HowTo] SensorAndSwitch: Pseudoscript: PseudoGeräte selbst entwickeln.

neue pseudowettervorhersage.php

PHP:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                               |
		|   ===============================================================   |
		|   Wettervorhersage RSS-Feed                                         |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	include "conf/sensorandswitchbundesland.phpconf";
	include "include/includedateien.php";
	include "include/includefunctions.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	include "include/includedefine.php";
	if ($_GET["info"]=="status") {
		$url="http://www.wetterleitstelle.de/wettervorhersage_".$bundesland.".xml";
		$Status=web($url,$post);
		$Status=trim(strip_tags($Status));
		if ($Status) {
			echo "P#"."<div style='font-size:10px;text-align:left;width:310px;height:50px;position:relative;top:-10px;overflow:auto;'>".$Status."</div>"."*HTML#";
		}
		else {
			echo "P##E##";
		}
	}
	exit;
	
?>
 
Bekomme diese Meldung:

Sehr geehrter Besucher _________________________________________________________
Sehr geehrter Besucher, leider ist ein Fehler aufgetreten: Die gew�nschte Seite wurde nicht gefunden.
Haben Sie sich vielleicht vertippt oder eine alte URL aufgerufen? Wenn nicht, informieren Sie bitte den Webmaster dieser Homepage per Email.
Um zu der vorherigen Seite zur�ck zu kehren, verwenden Sie bitte einfach die "Zur�ck" - Taste Ihres Browsers.
 
Habe das Gefühl das die URL nicht richtig übergeben wird.

bzw. das xml fehlt

Wenn ich die URL "Hartcodede" also direkt einfüge, klappt es.
 
ich tippe auf einen Tippfehler bei dir in der sensorandswitchbundesland.phpconf
 
Hallo,
Ich habe weder die Datei, den Inhalt, noch sonst etwas geändert. Es sind die urspünglichen Dateien. Nach dem Update sieht es so aus:
 
OK, stimmt die Dateicodierung? ANSI oder UTF-8 ohne BOM?

Bei mir gibts mit dem Bundesland kein Problem.
 
Sondern???
 
Dass es bei dir nicht angezeigt wird, ist mir klar. Aber jede Textdatei hat eine Codierung und die wollte ich wissen.
Was kommt denn, wenn du pseudounwetter.php oder pseudowettervorhersage.php im Browser aufrufst und du zuvor
PHP:
	if ($_GET["info"]=="status") {
		$url="http://www.wetterleitstelle.de/wettervorhersage_".$bundesland.".xml";
		$Status=web($url,$post);
echo $url;
		$Status=trim(strip_tags($Status));
den echo einfügst? Dann sieht man genau, wie er den Link baut.
 
Dass es bei dir nicht angezeigt wird, ist mir klar. Aber jede Textdatei hat eine Codierung und die wollte ich wissen.
Was kommt denn, wenn du pseudounwetter.php oder pseudowettervorhersage.php im Browser aufrufst und du zuvor
PHP:
	if ($_GET["info"]=="status") {
		$url="http://www.wetterleitstelle.de/wettervorhersage_".$bundesland.".xml";
		$Status=web($url,$post);
echo $url;
		$Status=trim(strip_tags($Status));
den echo einfügst? Dann sieht man genau, wie er den Link baut.

Eine weiße Seite ...
Also kein Link, also kann er auch nix finden ... Aber warum ist das nur so?
 
Hallo,
@JL3:
Ich bezog mich auf die Wetter-Pseudos. Ich habe sie nicht verändert, sie laufen ohne Probleme. Auch nach dem Upsate. Das wollte ich damit sagen ;)

Was ist denn mit den WLAN-Pseudos bei mir? Auf dem RaspPi habe ich noch nichts. Er kam heute an, werde mich aber erst nach Weihnachten damit beschäftigen können.

[EDIT]
Gesehen. Sie zeigen nichts an. Hier der Inhalt SAS-Version 1.25.1181:
PHP:
<?php

        /*
                +---------------------------------------------------------------------+
                |                                                                     |
                |   SensorAndSwitch Automation Pro                                    |
                |   PseudoGeräte-Script                                               |
                |   ===============================================================   |
                |   -> WLAN                                                           |
                |      Fritz!Box WLAN                                                 |
                |                                                                     |
                +---------------------------------------------------------------------+
        */

        error_reporting(0);
        include "include/includefunctions.php";
        include "include/includefritzbox.php";
        include "include/includedateien.php";
        include "include/includeconf.php";
        include "include/includeconfig.php";
        include "include/includedefine.php";

        $fehler=true;
        if ($_GET["info"]=="status") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl r wlan settings/ap_enabled");
            if ($Status) {
                $fehler=false;
                echo "S#".trim($Status)."#";
            }
            else {
                $fehler=true;
            }
        }
        if ($_GET["schalter"]=="1") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/ap_enabled 1");
            if ($Status) {
                $fehler=false;
                echo "S#1#";
            }
            else {
                $fehler=true;
            }
        }
        if ($_GET["schalter"]=="0") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/ap_enabled 0");
            if ($Status) {
                $fehler=false;
                echo "S#0#";
            }
            else {
                $fehler=true;
            }
        }

        if ($fehler) {
            $url=FB."/query.lua?sid=".SESSIONID."&wlan=wlan:status/ap_enabled";
            $ch = curl_init();
            $timeout = 5;
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
            curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $Status = curl_exec($ch);
            curl_close($ch);
            if ($Status) {
                $x=explode('"',$Status);
                if ($x[3]=="0" or $x[3]=="1") {
                    $fehler=false;
                    echo 'P#WLAN-Statusanzeige: <img src="'.PIC.'mled'.$x[3].'.png">*HTML#';
                }
                else {
                    $fehler=true;
                    echo "P##E##";
                }
            }
            else {
                $fehler=true;
                echo "P##E##";
            }
        }
        exit;
?>
PHP:
<?php

        /*
                +---------------------------------------------------------------------+
                |                                                                     |
                |   SensorAndSwitch Automation Pro                                    |
                |   PseudoGeräte-Script                                               |
                |   ===============================================================   |
                |   -> GastWLAN                                                       |
                |      Fritz!Box GastWLAN                                             |
                |                                                                     |
                +---------------------------------------------------------------------+
        */

        error_reporting(0);
        include "include/includefunctions.php";
        include "include/includefritzbox.php";
        include "include/includedateien.php";
        include "include/includeconf.php";
        include "include/includeconfig.php";
        include "include/includedefine.php";

        $fehler=true;
        if ($_GET["info"]=="status") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled");
            if ($Status) {
                $fehler=false;
                echo "S#".trim($Status)."#";
            }
            else {
                $fehler=true;
            }
        }
        if ($_GET["schalter"]=="1") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1");
            if ($Status) {
                $fehler=false;
                echo "S#1#";
            }
            else {
                $fehler=true;
            }
        }
        if ($_GET["schalter"]=="0") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0");
            if ($Status) {
                $fehler=false;
                echo "S#0#";
            }
            else {
                $fehler=true;
            }
        }

        if ($fehler) {
            $url=FB."/query.lua?sid=".SESSIONID."&wlan=wlan:status/guest_ap_enabled";
            $ch = curl_init();
            $timeout = 5;
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
            curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $Status = curl_exec($ch);
            curl_close($ch);
            if ($Status) {
                $x=explode('"',$Status);
                if ($x[3]=="0" or $x[3]=="1") {
                    $fehler=false;
                    echo 'P#Gast-WLAN-Statusanzeige: <img src="'.PIC.'mled'.$x[3].'.png">*HTML#';
                }
                else {
                    $fehler=true;
                    echo "P##E##";
                }
            }
            else {
                $fehler=true;
                echo "P##E##";
            }
        }
        exit;
?>
 
Zuletzt bearbeitet von einem Moderator:
also, bei mir läuft pseudounwetter.php problemlos, auch mit nordrhein-westfalen.

schon mal den Dateinamen von sensorandswitchbundesland.phpconf überprüft?

hatte beim ersten mal auch das php vergessen.
 
Hallo,
@JL3:
Ich bezog mich auf die Wetter-Pseudos. Ich habe sie nicht verändert, sie laufen ohne Probleme. Auch nach dem Upsate. Das wollte ich damit sagen ;)

Was ist denn mit den WLAN-Pseudos bei mir? Auf dem RaspPi habe ich noch nichts. Er kam heute an, werde mich aber erst nach Weihnachten damit beschäftigen können.

Durch das Einführen der Möglichkeit mehrere Fritzboxen einzubinden, sind Konstanten weggefallen. Die werden aber in dem Script verwendet. Hier eine neue Fassung:

PHP:
 <?php

        /*
                +---------------------------------------------------------------------+
                |                                                                     |
                |   SensorAndSwitch Automation Pro                                    |
                |   PseudoGeräte-Script                                               |
                |   ===============================================================   |
                |   -> WLAN                                                           |
                |      Fritz!Box WLAN                                                 |
                |                                                                     |
                +---------------------------------------------------------------------+
        */

        error_reporting(0);
        include "include/includefunctions.php";
        include "include/includefritzbox.php";
        include "include/includedateien.php";
        include "include/includeconf.php";
        include "include/includeconfig.php";
        include "include/includedefine.php";

        $fehler=true;
        if ($_GET["info"]=="status") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl r wlan settings/ap_enabled");
            if ($Status) {
                $fehler=false;
                echo "S#".trim($Status)."#";
            }
            else {
                $fehler=true;
            }
        }
        if ($_GET["schalter"]=="1") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/ap_enabled 1");
            if ($Status) {
                $fehler=false;
                echo "S#1#";
            }
            else {
                $fehler=true;
            }
        }
        if ($_GET["schalter"]=="0") {
            $Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/ap_enabled 0");
            if ($Status) {
                $fehler=false;
                echo "S#0#";
            }
            else {
                $fehler=true;
            }
        }

        if ($fehler) {
			$Login=$Conf["FB"]."/login_sid.lua";
			$user=$Conf["USER"];
			$password=$Conf["PASSWORD"];
            $url=FB."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/ap_enabled";
            $ch = curl_init();
            $timeout = 5;
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
            curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $Status = curl_exec($ch);
            curl_close($ch);
            if ($Status) {
                $x=explode('"',$Status);
                if ($x[3]=="0" or $x[3]=="1") {
                    $fehler=false;
                    echo 'P#WLAN-Statusanzeige: <img src="'.PIC.'mled'.$x[3].'.png">*HTML#';
                }
                else {
                    $fehler=true;
                    echo "P##E##";
                }
            }
            else {
                $fehler=true;
                echo "P##E##";
            }
        }
        exit;
?>

pseudogastwlan.php
PHP:
<?php

        /*
                +---------------------------------------------------------------------+
                |                                                                     |
                |   SensorAndSwitch Automation Pro                                    |
                |   PseudoGeräte-Script                                               |
                |   ===============================================================   |
                |   -> GastWLAN                                                       |
                |      Fritz!Box GastWLAN                                             |
                |                                                                     |
                +---------------------------------------------------------------------+
        */

        error_reporting(0);
		include "include/includefunctions.php";
		include "include/includefritzbox.php";
		include "include/includedateien.php";
		include "include/includeconf.php";
		include "include/includeconfig.php";
		include "include/includedefine.php";

		$fehler=true;
		if ($_GET["info"]=="status") {
			$Status = shell_exec("/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled");
			if ($Status) {
				$fehler=false;
				echo "S#".trim($Status)."#";
			}
			else {
				$fehler=true;
			}
		}
		if ($_GET["schalter"]=="1") {
			$Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1");
			if ($Status) {
				$fehler=false;
				echo "S#1#";
			}
			else {
				$fehler=true;
			}
		}
		if ($_GET["schalter"]=="0") {
			$Status = shell_exec("/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0");
			if ($Status) {
				$fehler=false;
				echo "S#0#";
			}
			else {
				$fehler=true;
			}
		}

		if ($fehler) {
			$Login=$Conf["FB"]."/login_sid.lua";
			$user=$Conf["USER"];
			$password=$Conf["PASSWORD"];
            $url=FB."/query.lua?sid=".GetSessionID($Login,$user,$password)."&wlan=wlan:status/guest_ap_enabled";
			$ch = curl_init();
			$timeout = 5;
			curl_setopt($ch, CURLOPT_URL, $url);
			curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
			curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
			curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
			$Status = curl_exec($ch);
			curl_close($ch);
			if ($Status) {
				$x=explode('"',$Status);
				if ($x[3]=="0" or $x[3]=="1") {
					$fehler=false;
					echo 'P#GastWLAN-Statusanzeige: <img src="'.PIC.'mled'.$x[3].'.png">*HTML#';
				}
				else {
					$fehler=true;
					echo "P##E##";
				}
			}
			else {
				$fehler=true;
				echo "P##E##";
			}
		}
		exit;
?>
 
Zuletzt bearbeitet:
Eine weiße Seite ...
Also kein Link, also kann er auch nix finden ... Aber warum ist das nur so?

Habe jetzt aus dem Update deine pseudounwetter.php und pseudowettervorhersage.php kopiert und es klappt immer noch nicht.
 
aufgerufen mit
Code:
pseudounwetter.php?info=status
 
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.