mherger wrote: 
> Versuche bitte mal, das Problem unabh├â┬Ąngig von deinem Code zu
> erkl├â┬Ąren. 
> Beschreibe, was du machen _willst_, nicht, was du tust.
Okay. Ich versuch's ohne Code, allerdings mit "Namen", das hilft mir
beim Beschreiben.

Hintergrund: 
Es soll eine HueBridge ├╝ber einen Binary Helper, der in C geschrieben
ist, gesteuert werden. Dieser verfolgt das gleiche Konzept wie die
Plugins von philippe44.
Die Kommunikation mit der HueBridge erfolgt ├╝ber HTTP-Requests und
HTTP-Responses.

Ein wichtiger Unterschied zu den Plugins von pilippe44: Um die HueBridge
ansprechen zu k├Ânnen, ist ein UserName notwendig ist, den die Bridge auf
Anfrage durch einen HTTP-Request liefert.
Dieser muss dann bei allen zuk├╝nftigen Steuerbefehlen in der URI des
HTTP-Requests mitgeliefert werden. Sonst kann man die Lampen nicht
einstellen.

Den UserName bekommt man folgenderma├čen: 1. Knopf an Bridge dr├╝cken, 2.
innerhalb von 30 Sekunden entsprechenden Request schicken. 3. Response
auslesen

In der LMS-GUI soll ein Button rein, mit dem eine Routine ausgel├Âst
wird, die den UserName anfragt und abholt. 
Danach soll der Username in einer XML Datei gespeichert werden, auf die
auch das binary zugreift.
Das ist wegen der Implementierung und dem Aufbau von philippe44's
Vorlage der einfachste Weg, da das binary selbst die XML braucht.

Die Routinen zum Abrufen des Usernames sollen der ├ťbersichtlichkeit
wegen in eine eigene Datei genannt "HueCom.pm".
Die "Settings.pm" soll die Hanlder von der GUI enthalten.

Was ich nun machen will:
-> Den UserName von der HueBridge m├Âglichst einfach in die XMLDatei
schreiben.
Die Idee, die ich dabei verfolge:
1. In der "Settings.pm" den Vorgang durch Aufrufen einer Funktion
"HueCom::connect($deviceUDN, $XMLConfig)" starten. Der string
"$deviceUDN" besagt, von welcher Bridge der UserName kommen soll, die
heashref "$XMLConfig" enth├Ąlt den Inhalt der XMLDatei (├╝ber
XML::Simple).
2. In der "HueCom.pm" soll dann der Name abgefragt werden.
3. Der Name muss nun zur├╝ck in die "Settings.pm" um ├╝ber eine Checkbox
zu zeigen, dass ein Name gesetzt ist und der UserName soll in der
XMLDatei gespeichert werden.
Wichtig: Der Username ist einer UDN zugeordnet. Sollten 2 Bridges da
sein, muss die Zuordnung ebenfalls klappen.

Idee zur Umsetzung:
Da in der XMLDatei f├╝r jede Bridge getrennt die Daten gespeichert sind,
kann ich dort auch ganz gut den Username der Bridge zuordnen. Warum also
nicht direkt mit der Datei bzw. deren Inhalt arbeiten.
XML::Simple liefert den xml-Dateinhalt angeblich als hashref. weshalb
ich gedacht habe: 
In der "Settings.pm" den hasref durch Auslesen der XML-Datei erzeugen,
dann an die "HueCom.pm" ├╝bergeben und in der "HueCom.pm" den Inhalt des
hashrefs an der entsprechenden Stelle (Bridge + deren UserName) ├Ąndern.
Um die Änderungen in der "Settings.pm" angezeigt zu bekommen, einfach
alle 2 Sekunden den hashref neu laden, dann wir der UserName irgendwann
auftauchen, so umgehe ich die Wartezeit von 30 Sekunden und brauche
keine weiteren Timer.
Das w├╝rde mir auch eine weitere "Abholfunktion" ersparen, der ich
beibringen muss die UDN und den Namen zur├╝ckzuliefern, ich k├Ânnte auf
Checks verzichten und w├╝rde einfach die eh schon vorhanden hashref
verwenden k├Ânnen...

War das ungef├Ąhr, die Info, die Du losgel├Âst vom Code gebraucht hast?



LMS-7.9@solaris. 2x Radio, 2x Duet, 1x Chromecast v1, ShairTunes, 1x
Philips Hue System
------------------------------------------------------------------------
chincheta0815's Profile: http://forums.slimdevices.com/member.php?userid=42904
View this thread: http://forums.slimdevices.com/showthread.php?t=107424

_______________________________________________
slimserver-de mailing list
slimserver-de@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/slimserver-de

Antwort per Email an