[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. :)
 
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.