[Frage] Brauche Hilfe bei ALLNET ALL4075 / Netzwerk Relais 4-fach

Autifon

Neuer User
Mitglied seit
11 Aug 2015
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo,

als Linux Newbie habe ich auf einem Rapberry gemäss der step by step Anleitung SAS implementiert.

Kann mir bitte jemand bei der Erstellung einer psgxxx.php helfen?

Der ALL4075 hat 4 Schalter, diese können so abgefragt werden:

http://user:p[email protected]/xml/jsonswitch.php?id=1
http://user:p[email protected]/xml/jsonswitch.php?id=2
http://user:p[email protected]/xml/jsonswitch.php?id=3
http://user:p[email protected]/xml/jsonswitch.php?id=4


Im Browser wird zurückgeliefert (exemplarisch für Schalter 4);

{"result":{"id":"4","error":0,"status":0}}

Die Zustände bedeuten: 0 AUS, und 1 EIN

Setzen kann man per http://user:password@192.168.2.8/xml/jsonswitch.php?id=2&set=1
(hierdurch wird z.B. Schalter 2 auf EIN gesetzt)

Als Rückgabe bekommt man:

{"result":{"id":"2","error":0,"status":0,"set":"1"}}

Kann mir jemand helfen und sagen, wie hier das Pseudo PHP aussehen muss?Ich denke das einfachste wäre es, 4 Stück zu machen (für jeden Schalter eines), damit ich die dann als Gerät unterschiedlich benennen kann.

Vielen Dank, Gracias, Merci, Thanx, Toda Raba, Shorkan ... für Hilfe Autifon


PS: Optional kann man auch Werte als JSONP-Objekt zurückgeliefert bekommen (braucht man das?): per „callback={objekt}“

Beispiel: http://user:p[email protected]/xml?id=2&set=0&callback=demo

Antwort
demo({
"result": {
"id": "2",
"status": 1,
"set": "0"
}
})
 
@Autifon: Hier das psg für die 1. Dose. Entsprechend für die anderen kopieren und angleichen:

psgALLNET1.php
PHP:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch                                      PSG-Script   |
		|   ===============================================================   |
		|   ALLNET                                                            |
		|                                                                     |
		|   (C)2015 BlueDragon                                                !
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

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

	$user="Test"; # Benutzer eintragen
	$password="123"; #Password eintragen
	$ip="192.168.2.8"; # IP eintragen
	$dose="1"; # Dosennummer 1-4
	
	$ver="V#V 1.00#";
	$fehler=false;
	if ($_GET["info"]=="status") {
		$url='http://'.$user.':'.$password.'@'.$ip.'/xml/jsonswitch.php?id='.$dose;
		$Status=web($url,$post);
		$back=" ".$Status;
		$err=substr($back,strpos($back,'"error":')+8,1);
		if ($err=="1") {$fehler=true;}
		if (!$fehler) {
			$sta=substr($back,strpos($back,'"status":')+9,1);
			echo "S#".trim($sta)."#".$ver;
		}
	}
	if ($_GET["schalter"]=="1") {
		$url='http://'.$user.':'.$password.'@'.$ip.'/xml/jsonswitch.php?id='.$dose.'&set=1';
		$Status=web($url,$post);
		echo "S#1#".$ver;
	}
	if ($_GET["schalter"]=="0") {
		$url='http://'.$user.':'.$password.'@'.$ip.'/xml/jsonswitch.php?id='.$dose.'&set=0';
		$Status=web($url,$post);
		echo "S#0#".$ver;
	}

	if ($fehler) {
		echo "S##E#".$Status."#".$ver;
	}
	exit;
	
?>

Ich hoffe, ich habe nichts übersehen, da ich es bei mir nicht testen kann, da ich keine ALLNET habe. ;)
 
Zuletzt bearbeitet:
Ja, danke, habe es oben gleich korrigiert. :)
 
Uff, 45 Minuten Fehlersuche eines Laien :)

so hatte es nicht funktioniert. Der sprang dauernd in die Error Routine.

if ($err="1") {$fehler=true;}
muss heissen
if ($err=="1") {$fehler=true;}

Richtig?

Vielen Dank für eure Hilfe
 
Ja, verflixt, sorry, das hatte ich übersehen. Ich hoffe, ansonsten läuft es?
 
Ja, danke

soweit ich das um Urlaub aus der Ferne beurteilen kann klappt alles :)
 
Prima, danke für die Rückantwort. :)
 
Kostenlos!

Statistik des Forums

Themen
248,899
Beiträge
2,304,433
Mitglieder
378,592
Neuestes Mitglied
Iris07