Antworten
Feb 19, 2016 - 19:32
.http://192.168.1.150/command?XC_FNC=GetStates
Gibt Dir alles aus dann must Du per Script JSON auslesen. Einen einzelnen Wert bekommst Du nicht zurückgeliefert.
Gibt Dir alles aus dann must Du per Script JSON auslesen. Einen einzelnen Wert bekommst Du nicht zurückgeliefert.
Feb 19, 2016 - 19:44
danke Fonzo
da bin ich etwas überfordert bei Script JSON, wie geht das?
ich mach es im Moment mit Apple Script so:
dann werden alle Status angezeigt, wie bekomme ich aber jetzt nur den Status von EVENT 03 raus?
kannst Du mir da weiterhelfen
Herzlichen Dank und Gruss
Peter
da bin ich etwas überfordert bei Script JSON, wie geht das?
ich mach es im Moment mit Apple Script so:
set theURL to "192.168.1.150/command?XC_FNC=GetStates"
do shell script "curl " & quoted form of theURL
set Status to do shell script "curl " & quoted form of theURL
display dialogStatus
dann werden alle Status angezeigt, wie bekomme ich aber jetzt nur den Status von EVENT 03 raus?
kannst Du mir da weiterhelfen
Herzlichen Dank und Gruss
Peter
Quelle: GetStates
Feb 19, 2016 - 22:34
hallo wen du es mit php machen kannst
dann leg dir eine datei z.b. getstate.php an
mit folgendem inhalt:
<?php
if( $_GET["type"] || $_GET["position"] ) {
$type = $_GET['type'];
$position = $_GET['position'];
}
$json = file_get_contents("http://192.168.1.56/command?XC_FNC=GetStates");
if ($json === false) {
echo "FEHLER - keine verbindung";
return;
}
$jsonlaenge = strlen($json);
$jsonstring = substr($json, 8, $jsonlaenge-8);
$jsonObject = json_decode($jsonstring);
foreach($jsonObject as $key => $value) {
if ($value->type == $type && $value->adr == $position) {
echo " Typ: " .$value->type . ", adresse: " . $value->adr .", wert: " . $value->state . "
";
}
}
?>
die ipadresse des gateways in dieser zeile anpassen:
$json = file_get_contents("http://192.168.1.56/command?XC_FNC=GetStates");
dann ruffst du die so ab:
.http://serverip/getstate.php?type=EVENT&position=03
diese url kannst du auch im webseitenelement in neo anzeigen...
musst aber beachten dass die anzahl der events nicht gezählt wird
dazu musste man das script erweitern
dann leg dir eine datei z.b. getstate.php an
mit folgendem inhalt:
<?php
if( $_GET["type"] || $_GET["position"] ) {
$type = $_GET['type'];
$position = $_GET['position'];
}
$json = file_get_contents("http://192.168.1.56/command?XC_FNC=GetStates");
if ($json === false) {
echo "FEHLER - keine verbindung";
return;
}
$jsonlaenge = strlen($json);
$jsonstring = substr($json, 8, $jsonlaenge-8);
$jsonObject = json_decode($jsonstring);
foreach($jsonObject as $key => $value) {
if ($value->type == $type && $value->adr == $position) {
echo " Typ: " .$value->type . ", adresse: " . $value->adr .", wert: " . $value->state . "
";
}
}
?>
die ipadresse des gateways in dieser zeile anpassen:
$json = file_get_contents("http://192.168.1.56/command?XC_FNC=GetStates");
dann ruffst du die so ab:
.http://serverip/getstate.php?type=EVENT&position=03
diese url kannst du auch im webseitenelement in neo anzeigen...
musst aber beachten dass die anzahl der events nicht gezählt wird
dazu musste man das script erweitern
Feb 19, 2016 - 22:42
Danke Fonzo, Zdenko
werde Morgen mal probieren, ob ich das schaffe
Gruss
Peter
werde Morgen mal probieren, ob ich das schaffe
Gruss
Peter
Feb 20, 2016 - 09:21
Hallo zdenko33
Habe Deinen Code in Textedit kopiert, als html gespeichert, als php umbenennt und in den Sever geladen.
Mit dem Aufruf http://ipdesServers/getstate.php?type=EVENT&position=03
wird aber der Code angezeigt.
Was mache ich da falsch?
herzlichen Dank für Deine Hilfe
Gruss
Peter
Habe Deinen Code in Textedit kopiert, als html gespeichert, als php umbenennt und in den Sever geladen.
Mit dem Aufruf http://ipdesServers/getstate.php?type=EVENT&position=03
wird aber der Code angezeigt.
Was mache ich da falsch?
herzlichen Dank für Deine Hilfe
Gruss
Peter
Feb 20, 2016 - 15:27
hier jetzt habe ich das sript auch auf einen server im web bei lima-city.de geladen
http://neoremote.lima-city.de/tanken/...
habe die öffentliche ip adresse eingegeben im script, port 80 im router auf das gateway witergeleitet
und siehe was kommt
kannst auch selber testen mit dem link
mache ich den port zu, was ich in einer stunde sowieso mache....kommt dann das
also glaube mir ohne portfreigabe wird das von aussen nicht gehen können
und hostinger ist ein webserver der sich ausserhalb deines netzwerkes befindet
oder was meinst du wieviele geräte es in häusern gibt, mit derselben ip adresse wie dein gateway, dann könnte sich jeder scripte schreiben und daten ändern am gateway oder wo auch immer...
http://neoremote.lima-city.de/tanken/...
habe die öffentliche ip adresse eingegeben im script, port 80 im router auf das gateway witergeleitet
und siehe was kommt
kannst auch selber testen mit dem link
mache ich den port zu, was ich in einer stunde sowieso mache....kommt dann das
also glaube mir ohne portfreigabe wird das von aussen nicht gehen können
und hostinger ist ein webserver der sich ausserhalb deines netzwerkes befindet
oder was meinst du wieviele geräte es in häusern gibt, mit derselben ip adresse wie dein gateway, dann könnte sich jeder scripte schreiben und daten ändern am gateway oder wo auch immer...
Neuen Kommentar hinzufügen