Api

Der Bereich Konfiguration bezieht sich auf das Einstellungs-Menü der Haussteuerung.
Hier werden alle Fragen, Tipps, Tricks und sonstige Diskussionen rund um die Konfiguration des Systems behandelt.
finn
Beiträge: 81
Registriert: So Mär 05, 2017 10:12 am
Wohnort: Ginsweiler
Status: Offline

Re: Api

Beitragvon finn » So Apr 02, 2017 2:25 pm

Ja mache ich ja oben im Code wird mit url = device_url_start etc. die Schalte url zusammengebaut :D

Sieht dann so aus


[code]http://192.168.178.23/rawCmd?schalte=54[/code]

finn
Beiträge: 81
Registriert: So Mär 05, 2017 10:12 am
Wohnort: Ginsweiler
Status: Offline

Beitragvon finn » So Apr 02, 2017 2:48 pm

Ok ohne "http://" davor hats dann auch endlich funktioniert ..

Danke für deine Hilfe ;)

Gruß Finn
Benutzeravatar
D.Scheidler
Site Admin
Beiträge: 116
Registriert: Mi Aug 24, 2016 12:39 pm
Wohnort: Wermelskirchen
Kontaktdaten:
Status: Offline

Beitragvon D.Scheidler » Mo Apr 03, 2017 12:00 pm

Du musst auch die IP nicht mehr in die URL packen. Nur alles was nach dem ersten Slash kommt ;)

Das davor teilst du dem Client ja mit "Host" schon mit.



So z.b. (Beispiel aus der Sensor-Lib)
[code]
_interfaceClient.print("GET /signalInput.php?sensorId=");
_interfaceClient.print(sensorId);
_interfaceClient.print("&sensorWert=");
_interfaceClient.print(sensorValue);
_interfaceClient.println(" HTTP/1.1");
_interfaceClient.print("Host: ");
clientPrintIp(_piAddress);
_interfaceClient.println("Connection: close");
_interfaceClient.println();
...
[/code]
finn
Beiträge: 81
Registriert: So Mär 05, 2017 10:12 am
Wohnort: Ginsweiler
Status: Offline

Beitragvon finn » So Apr 16, 2017 5:53 pm

Ich programmiere gerade an einer Android App für die Hausteuerung. Bräuchte aber ein kleine Modifikation an der Api

Das XML File sieht ja im Moment so aus :

<Object id="2" name="PC" beschreibung="" art="1" etage="1" zimmer="1" x="248" y="344" senderId="1">
<Sender id="1" name="Funksender 1" ip="192.168.178.23" default="J" senderTyp="1" etage="" zimmer="" x="" y="">
<Parameter>
<Fix name="schalte" value="53"/>
</Parameter>
</Sender>
</Object>

Besser wäre aber so:

<Object>
<Id>2</Id>
<Name>PC</Name>
<Sender>
<Id>1</Id>
<Name>Funksender 1</Name>
<Ip>192.168.178.23</Ip>
<Parameter>
<Name>schalte</Name>
<Value>53</Value>
</Parameter>
</Sender>
</Object>

Da wäre es viel einfacher die Informationen aus der XML herauszuholen aber sonst funktioniert es ganz gut :)
Wäre super wenn du das bitte abändern könnest
Habe noch eine kurze Frage darf ich das Icon der SHYS Steuerung (also diese blaue Haus) auch als Icon für die App benutzen ?
Sonst Alles Klar

Gruß Finn
finn
Beiträge: 81
Registriert: So Mär 05, 2017 10:12 am
Wohnort: Ginsweiler
Status: Offline

Beitragvon finn » So Apr 30, 2017 9:10 pm

Hi ich hab noch was an der API gemacht falls du es schon hast dan ist es ja überflüssig aber hier mein Code :)

/**
* Liefert ein DOM Object aller hinterlegten Sensoren
* incl aktuellem Sensorwert etc.
*/
function getSensors(){
$dom = new DOMDocument('1.0', 'utf-8');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

$dbTblSensors = new DbTable($_SESSION['config']->DBCONNECT, "homecontrol_sensor");

$sensorList = $dom->createElement('Sensors');

// Alle Sensoren als XML
foreach($dbTblSensors->ROWS as $sensorRow){

$sensorNode = $dom->createElement("Sensor");
$sensorNode->setAttribute("id", $sensorRow->getNamedAttribute("id"));
$sensorNode->setAttribute("name", $sensorRow->getNamedAttribute("name"));
$sensorNode->setAttribute("beschreibung", $sensorRow->getNamedAttribute("beschreibung"));
$sensorNode->setAttribute("geaendert", $sensorRow->getNamedAttribute("geaendert"));
$sensorNode->setAttribute("lastSignal", $sensorRow->getNamedAttribute("lastSignal"));
$sensorNode->setAttribute("lastValue", $sensorRow->getNamedAttribute("lastValue"));
$sensorNode->setAttribute("sensor_art", $sensorRow->getNamedAttribute("sensor_art"));
$sensorNode->setAttribute("x", $sensorRow->getNamedAttribute("x"));
$sensorNode->setAttribute("y", $sensorRow->getNamedAttribute("y"));
$sensorNode->setAttribute("etage", $sensorRow->getNamedAttribute("etage"));
$sensorNode->setAttribute("zimmer", $sensorRow->getNamedAttribute("zimmer"));

$sensorList->appendChild($sensorNode);
}

$dom->appendChild($sensorList);

return $dom;
}


Zurück zu „Konfiguration (Einstellungen)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast