JL3
Aktives Mitglied
- Mitglied seit
- 4 Dez 2010
- Beiträge
- 1,995
- Punkte für Reaktionen
- 8
- Punkte
- 38
So, habs auch gleich "modernisiert":
pseudokookaam1.php
Nachtrag: Zur Erklärung: Die Datenholung und der Aufruf erfolgen nun nicht mehr über curl sondern über file_get_contents(). Dabei versucht php, eine Webseitenadresse zum Senden ihres Inhalts zu bringen. Es kann sein, dass dabei mehr Daten (also auch html-Tags) mitgesendet werden. Daher nicht enttäuscht sein, wenn nichts Gescheites rauskommt. Wichtig ist, dass zwischen den S## was steht. Wenn das der Fall ist, bekommen wir es schon hin.
Nachtrag2: Habe gerade nochmal den Code ergänzt!
Nachtrag: Fehler korrigiert.
pseudokookaam1.php
PHP:
<?php
/*
+---------------------------------------------------------------------+
| |
| SensorAndSwitch Automation Pro |
| Pseudo-Schalter-Script |
| =============================================================== |
| -> Schalter |
| Kookaam Schaltsteckdosen können mit diesem Script eingebunden |
| werden. |
| |
+---------------------------------------------------------------------+
*/
error_reporting(0);
include "include/includedateien.php";
include "include/includefunctions.php";
include "include/includeconf.php";
include "include/includeconfig.php";
include "include/includedefine.php";
# ----------------------------------------------------------------------- #
# Diese Variablen müssen gegebenenfalls angepasst werden: #
# ******************************************************* #
$user="benutzer"; # Benutzer #
$password="1234567"; # Kennwort #
$ip="192.168.123.123"; # IP-Adresse #
$dosennummer=1; # Nummer der Dose 1-4 #
# ----------------------------------------------------------------------- #
$Scriptname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_FILENAME);
$dose=$dosennummer-1;
$on=substr("uuuu1uuuu",4-$dose,1);
$off=substr("uuuu0uuuu",4-$dose,1);
$urlstatus='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=l';
$urlon='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p='.$on;
$urloff='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p='.$off;
$Status="S#2#";
if ($_GET["info"]=="status") {
# $Status=web($urlstatus,$post);
$Status=file_get_contents($urlstatus);
$Status="S#".$Status."#";
# $Status="S#".substr($Status,2*$dose,1)."#";
}
if ($_GET["schalter"]=="1") {
# $Status=web($urlon,$post);
$Status=file_get_contents($urlon);
$Status="S#1#";
}
if ($_GET["schalter"]=="0") {
# $Status=web($urloff,$post);
$Status=file_get_contents($urloff);
$Status="S#0#";
}
echo $Status;
?>
Nachtrag: Zur Erklärung: Die Datenholung und der Aufruf erfolgen nun nicht mehr über curl sondern über file_get_contents(). Dabei versucht php, eine Webseitenadresse zum Senden ihres Inhalts zu bringen. Es kann sein, dass dabei mehr Daten (also auch html-Tags) mitgesendet werden. Daher nicht enttäuscht sein, wenn nichts Gescheites rauskommt. Wichtig ist, dass zwischen den S## was steht. Wenn das der Fall ist, bekommen wir es schon hin.
Nachtrag2: Habe gerade nochmal den Code ergänzt!
Nachtrag: Fehler korrigiert.
Zuletzt bearbeitet: