[Gelöst] SensorAndSwitch: Pseudoscript für schaltbare Steckdosenleiste: Kookaam Netio 230B

oha0815

Neuer User
Mitglied seit
28 Jan 2015
Beiträge
84
Punkte für Reaktionen
0
Punkte
6
Hi an alle,

bin verdammt neu hier eingetroffen und würd mich heftigst über hilfe freuen...
eins vorneweg, ich habe absolut keine ahnung von php, cron ...
was ich aber habe ist eine neue 6360, ne dect 200, eine 4fach IP-Steckdosenleiste, nen webserver mit SensorAndSwitch(->geiles teil) am laufen, und ein wenig html-kenntnisse

Das wars dann auch schon ! ;-)

Es wäre super toll wenn mir, oder der Allgemeinheit, einer ders kann ein Pseudoscript für die Netio 230b erstellen würde.
(Ich würd wohl jahre dazu brauchen ;-) )

Was ich hab : links und befehle.JPG


Das ganze scheint mir so ähnlich zu funktionieren wie bei der ALLNET3075 nur ohne die xml ausgabe der zustände !

cu Uli


Edit:

und so funktionierts:

PHP:
 <?php 

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   Pseudo-Schalter-Script                                            |
        |   ===============================================================   |
        |   -> Schalter                                                       |
        |      Kookaam Schaltsteckdosen können mit diesem Script eingebunden  |
        |      werden.                                                        |
        |                                                                     |
        +---------------------------------------------------------------------+
    */
 
    error_reporting(0);
    # ----------------------------------------------------------------------- #
    # Diese Variablen müssen gegebenenfalls angepasst werden:                 #
    # *******************************************************                 #
    $user="benutzer";                   # Benutzer                            #
    $password="1234567";                # Kennwort                            #
    $ipport="192.168.123.123:12345";    # IP-Adresse:Port                     #
    $dosennummer=1;                     # Nummer der Dose 1-4                 #
    # ----------------------------------------------------------------------- #
    
    $dose=$dosennummer-1;
    $on=substr("uuuu1uuuu",4-$dose,4);
    $off=substr("uuuu0uuuu",4-$dose,4);
    
    $urllogin='http://'.$ipport.'/tgi/control.tgi?login=p:'.$user.':'.$password;
    $urllogout='http://'.$ipport.'/tgi/control.tgi?quit=quit';
    $urlstatus='http://'.$ipport.'/tgi/control.tgi?port=list';
    $urlon='http://'.$ipport.'/tgi/control.tgi?p='.$on;
    $urloff='http://'.$ipport.'/tgi/control.tgi?p='.$off;
    
    $crl = curl_init();
    $timeout = 5;
    curl_setopt ($crl, CURLOPT_URL,$urllogin);
    curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
    $ret = curl_exec($crl);
    curl_close($crl);
    
    $Status="S#2#";
    if ($_GET["info"]=="status") {
        $crl = curl_init();
        $timeout = 5;
        curl_setopt ($crl, CURLOPT_URL,$urlstatus);
        curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
        $Status = curl_exec($crl);
        curl_close($crl);
        $Status = str_replace("<html>", "", $Status);
        $Status = str_replace("</html>", "", $Status);
        $Status="S#".substr($Status,2*$dose,1)."#";
    }
    if ($_GET["schalter"]=="1") {
        $crl = curl_init();
        $timeout = 5;
        curl_setopt ($crl, CURLOPT_URL,$urlon);
        curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
        $Status = curl_exec($crl);
        curl_close($crl);
        $Status="S#1#";
    }
    if ($_GET["schalter"]=="0") {
        $crl = curl_init();
        $timeout = 5;
        curl_setopt ($crl, CURLOPT_URL,$urloff);
        curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
        $Status = curl_exec($crl);
        curl_close($crl);
        $Status="S#0#";
    }

    $crl = curl_init();
    $timeout = 5;
    curl_setopt ($crl, CURLOPT_URL,$urllogout);
    curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
    $ret = curl_exec($crl);
    curl_close($crl);

    echo $Status;

?>



Werte für $ipport, $user und $password müssen ersetzt werden
$dosennummer ist die Steckdose die es betrifft 1 für die 1. Dose, 4 für die letzte Dose.

Aufruf zum Test mit

pseudo.....php?info=status

zum Schalten:

....php?schalter=1 für an
....php?schalter=0 für aus


grüßle
 
Zuletzt bearbeitet:
Nachdem ich mir das gerade angeschaut habe, scheint es nicht allzu kompliziert zu sein. Ich empfehle 4 Scripts für jede Dose eines. Das ist am flexibelsten. Natürlich kann ichs nicht testen, aber ich versuche mal mein Glück mit der 1. Dose. Dauert ein paar Minuten. :)
 
Boh das wär echt genial ;-)
 
Hat ein bisschen gedauert, da ich mir erst die Bedienungsanleitung aus dem Netz gesucht habe

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                          #
	# ----------------------------------------------------------------------- #
	$Scriptname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_FILENAME);
	# url
	$urlstatus='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=l';
	$urlon1='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=1uuu';
	$urloff1='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=0uuu';
	
	$Status="S#2#";
	if ($_GET["info"]=="status") {
		$Status=web($urlstatus,$post);
		$Status="S#".substr($Status,0,1)."#";
	}
	if ($_GET["schalter"]=="1") {
		$Status=web($urlon1,$post);
		$Status="S#1#";
	}
	if ($_GET["schalter"]=="0") {
		$Status=web($urloff1,$post);
		$Status="S#0#";
	}
	echo $Status;

?>

Das ist jetzt für die erste Steckdose der Leiste. Bitte testen :)
 
Zuletzt bearbeitet:
für die 2. Dose wäre es wie folgt:

pseudokookaam2.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                          #
	# ----------------------------------------------------------------------- #
	$Scriptname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_FILENAME);
	# url
	$urlstatus='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=l';
	$urlon2='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=u1uu';
	$urloff2='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=u0uu';
	
	$Status="S#2#";
	if ($_GET["info"]=="status") {
		$Status=web($urlstatus,$post);
		$Status="S#".substr($Status,2,1)."#";
	}
	if ($_GET["schalter"]=="1") {
		$Status=web($urlon2,$post);
		$Status="S#1#";
	}
	if ($_GET["schalter"]=="0") {
		$Status=web($urloff2,$post);
		$Status="S#0#";
	}
	echo $Status;

?>

die 3.

pseudokookaam3.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                          #
	# ----------------------------------------------------------------------- #
	$Scriptname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_FILENAME);
	# url
	$urlstatus='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=l';
	$urlon3='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=uu1u';
	$urloff3='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=uu0u';
	
	$Status="S#2#";
	if ($_GET["info"]=="status") {
		$Status=web($urlstatus,$post);
		$Status="S#".substr($Status,4,1)."#";
	}
	if ($_GET["schalter"]=="1") {
		$Status=web($urlon3,$post);
		$Status="S#1#";
	}
	if ($_GET["schalter"]=="0") {
		$Status=web($urloff3,$post);
		$Status="S#0#";
	}
	echo $Status;

?>

4.

pseudokookaam4.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                          #
	# ----------------------------------------------------------------------- #
	$Scriptname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_FILENAME);
	# url
	$urlstatus='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=l';
	$urlon4='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=uuu1';
	$urloff4='http://'.$ip.'/cgi/control.cgi?login=p:'.$user.':'.$password.'&p=uuu0';
	
	$Status="S#2#";
	if ($_GET["info"]=="status") {
		$Status=web($urlstatus,$post);
		$Status="S#".substr($Status,6,1)."#";
	}
	if ($_GET["schalter"]=="1") {
		$Status=web($urlon4,$post);
		$Status="S#1#";
	}
	if ($_GET["schalter"]=="0") {
		$Status=web($urloff4,$post);
		$Status="S#0#";
	}
	echo $Status;

?>
 
Zuletzt bearbeitet:
stop langsam, soooo schnell bin ich nicht !!!!


Irgendwas scheint da noch zu klemmen, könnt aber an meinem webspace liegen
hatte aufm sas ordner ne art .htaccess schutz, mir hats den pseudoschalter angezeigt allerdings ohne schaltersymbol
hab den schutz dann aufgehoben pseudoschalter wurde richtig angezeigt allerdings ließ sich nix schalten(meine ip war falsch)
ip dann korrekt im php geändert, jetz komm ich weder aus den sas einstellungen raus noch öffnet sich sensorandswitch.php sobald die
pseudokookaam.php im hauptordner liegt !! seltsam ( sensorandswitch.conf attr. 777)
bin noch auf 1.50.1581

ich werd noch weiter testen...
 
Eigentlich müsste es auch damit laufen. Problem ist, dass ich hier nicht selbst testen kann. Kann es was mit dem zu tun haben, dass man sich auch wieder ausloggen muss? Habe gerade den Befehl in der Bedienungsanleitung gefunden.
 
stop langsam, soooo schnell bin ich nicht !!!!


Irgendwas scheint da noch zu klemmen, könnt aber an meinem webspace liegen
hatte aufm sas ordner ne art .htaccess schutz, mir hats den pseudoschalter angezeigt allerdings ohne schaltersymbol
hab den schutz dann aufgehoben pseudoschalter wurde richtig angezeigt allerdings ließ sich nix schalten(meine ip war falsch)
ip dann korrekt im php geändert, jetz komm ich weder aus den sas einstellungen raus noch öffnet sich sensorandswitch.php sobald die
pseudokookaam.php im hauptordner liegt !! seltsam ( sensorandswitch.conf attr. 777)
bin noch auf 1.50.1581

ich werd noch weiter testen...

Das ist etwas vage. Welche IP von was wo und in welcher Datei. Die IP deines Webservers? Die der Steckdose? Mit dem Einstellungen-Dialog von sas und der sas.conf hat das ja soweit nichts zu tun.

Die Einstellungen der Steckdose befinden sich allein im Pseudoscript.
 
Zuletzt bearbeitet:
also von ausloggen weiß ich nix, mir klemmt das sas komplett sobald ich die pseudokookaam.php im hauptordner drin hab ! ip adresse:port passt 100%ig
hab die dose auch schon neu gestartet, mit meinem popel html interface läßt sie sich korrekt bedienen !

im pseudokookaam.php hab ich passwort, user und die dyndns adresse von der steckdose eingetragen..ohne http:// vorne dran
oder kommt da die interne heimnetzwerkadresse rein ?? nee oder
 
Zuletzt bearbeitet:
Kannst du für die Dose durch Aufruf von sas-pfad/pseudokookaam.php?info=status den Status ansehen?

Was kommt da im Browserfenster für eine Antwort oder bleibt alles weiß?
 
Zuletzt bearbeitet:
da steht : S## drinne
 
Ok, da fehlt also was, nämlich zwischen den beiden ## der Status.
 
aha, also ich bin jetz soweit das es mir die erste dose mal wieder anzeigt und das sas mal läuft
 
Was hast du geändert?

Formatiere übrigens das Script als UTF-8 ohne BOM oder als ANSI.
 
Zuletzt bearbeitet:
nix, pseudokookaam.php raus ausm hauptordner, und wieder rein, schalten kann ich aber noch nix !
 
Zeigt er korrekt an oder aus an?
 
status : S##
Dose ist aus
schalter zeigt aus an
 
Der Status ist falsch. Da müsste S#0# kommen.

Hast du das Script mal auf UTF-8 ohne BOM umgewandelt? Ich vermute dass die drei Anfangsbyte des UTF-8-BOM stören.

(Sowas geht mit Notepad++)
 
Ich hab notepad++, und es wurde als utf-8 ohne BOM gespeichert, habs jetz mal mit ansi versucht , gleiches ergebnis,
schalter wird angezeigt, status is S##
hm...
 
Ändere mal Zeile 38 des Pseudoscripts in:

$Status="S#".substr($Status,0,1)."#";
auf
$Status="S#".$Status."#";

Was kommt jetzt als Ausgabe des Scripts?

Nachtrag: Da sieht man, ob der Befehl überhaupt was zurückliefert.
 
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.