Homematic Webcontrol

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Arminus
Beiträge: 33
Registriert: 27.08.2010, 16:16

Re: Homematic Webcontrol

Beitrag von Arminus » 06.12.2010, 18:48

Danke für das Bild, das ist auf jeden Fall sehr hilfreich !

Aber: Das ist meine SystemVariable:
Bild
und so versuche ich die variable auszulesen:

Code: Alles auswählen

var SITE_devicesArray = {
	'ID01':{'INTERFACE':'HSS', 'SN':'minTempAussen', 'HTML_CONTAINER':'minTempAussen','TYP':'REGAHSS_VARIABLE_TEXT'}
};
Als Ergebnis bekomme ich allerdings null:
Bild
(die erste Frage hätte ich mir nach einem Blick in Firebug sparen können ...)
Bild

minTempAussen hat aber laut HM standard WebInterface einen Wert.

Viele Grüße,
Armin

ColdFireIce
Beiträge: 407
Registriert: 06.03.2009, 15:38
Wohnort: Karlsruhe
Danksagung erhalten: 1 Mal

Re: Homematic Webcontrol

Beitrag von ColdFireIce » 06.12.2010, 18:54

Hi,

ja das sieht nach dem bekannten Problem aus. Schau mal ein paar Seiten weiter vorne (etwa ab hier: http://homematic-forum.de/forum/viewtop ... 357#p30400), da ist das auch schon aufgetaucht. Das Problem ist hierbei, dass die "" nicht richtig an die CCU weitergegeben werden. Es steht weiter vorne auch drin wie man das über die interne ID fixen kann. Im Zweifel frag einfach mal einen der das Problem für sich gelöst hat ;)
Sorry das ich dir da nicht viel weiter helfen kann, ich weiß einfach nicht wo der Fehler liegt, bzw. wie ich ihn schnell beseitigen könnte.

Viele Grüße
Daniel

Arminus
Beiträge: 33
Registriert: 27.08.2010, 16:16

Re: Homematic Webcontrol

Beitrag von Arminus » 06.12.2010, 20:35

Ja, ich gestehe ich hab nicht alle Seiten dieses Threads komplett gelesen ... Mit der ID funktioniert's.

Wenn Du sagst "nicht richtig weitergegeben", heißt das Du hast es schon auf die Client-Seite isoliert ? Sprich "irgendwer" bastelt aus %22 ein \" ? In regaHss_RequestGlobalDeviceArray stimmt's ja noch, dann kommt ja nur noch der print_r(json_encode(Post_Request_Array($cmd))); in Frage, oder (php ist nicht meine Stärke) ? Oder liegt's am CGI auf der HM und ist das damit ein HM bug ? (war mit noch zu aufwendig mit wireshark nachzusehen ob das cmd korrekt über die Leitung geht ...

ColdFireIce
Beiträge: 407
Registriert: 06.03.2009, 15:38
Wohnort: Karlsruhe
Danksagung erhalten: 1 Mal

Re: Homematic Webcontrol

Beitrag von ColdFireIce » 06.12.2010, 22:07

Hi,

ich muss gestehen, dass ich mir das ganze noch nicht 100%ig angeschaut habe. Zum einen frustet es mich etwas, zum anderen hab ich kaum Zeit und zum letzten kann ich es nicht testen, da bei mir alles einwandfrei funktioniert. Bin da wirklich ziemlich ratlos, werde aber nicht drum herumkommen mir das irgendwann mal genauer anzuschaun.

Viele Grüße
Daniel

Arminus
Beiträge: 33
Registriert: 27.08.2010, 16:16

Re: Homematic Webcontrol

Beitrag von Arminus » 06.12.2010, 22:49

Also, die Ursache liegt in regaHss_requestCommand.php: Die double quotes sind in regaHss_RequestGlobalDeviceArray noch nicht mit \ escaped, wenn ich mir aber $cmd in regaHss_requestCommand.php ansehe, dann sind sie mit \ escaped. Das Ganze passiert wohl in Ajax.Request oder implizit bei der Übergabe an PHP (wie gesagt, mit PHP hab ich keinerlei Erfahrung).

Jedenfalls löst ein

Code: Alles auswählen

$cmd = str_replace("\\","",$cmd);
vor dem

Code: Alles auswählen

print_r(json_encode(Post_Request_Array($cmd)));
das Problem auch - wobei das natürlich ein Hack ist ohne wirklich die Ursache zu verstehen. Die Alternativ vor dem Ajax.Request die "URL-unsicheren" double quotes durch %22 zu ersetzen

Code: Alles auswählen

var_cmd = var_cmd.replace(/\"/g,"%22");
hat leider keine Wirkung, ich vermute die PHP $_GET "verbiegt" das wieder. Ich denke aber der erste Hack wäre zumindest ein Weg ...

Wobei ich nicht verstehe warum Du das nicht reproduzieren kannst :?

ColdFireIce
Beiträge: 407
Registriert: 06.03.2009, 15:38
Wohnort: Karlsruhe
Danksagung erhalten: 1 Mal

Re: Homematic Webcontrol

Beitrag von ColdFireIce » 07.12.2010, 07:54

Hi,

ist auf jedenfall mal gut, dass es jetzt bei dir geht. Ich werd das alles mal in Ruhe anschauen, und dann wird sich schon was finden. Aber danke schon mal für deine Partizipation.

Viele Grüße
Daniel

Benutzeravatar
owagner
(verstorben)
Beiträge: 1193
Registriert: 13.05.2008, 19:49
Danksagung erhalten: 1 Mal

Re: Homematic Webcontrol

Beitrag von owagner » 07.12.2010, 10:07

Das klingt nach magic_quotes_gpc

Arminus
Beiträge: 33
Registriert: 27.08.2010, 16:16

Re: Homematic Webcontrol

Beitrag von Arminus » 07.12.2010, 11:49

Stimmt :D Das erklärt auch warum Daniel das nicht reproduzieren kann.

Code: Alles auswählen

magic_quotes_gpc = Off
in der php.ini ist also die Lösung.

ColdFireIce
Beiträge: 407
Registriert: 06.03.2009, 15:38
Wohnort: Karlsruhe
Danksagung erhalten: 1 Mal

Re: Homematic Webcontrol

Beitrag von ColdFireIce » 07.12.2010, 15:08

owagner hat geschrieben:Das klingt nach magic_quotes_gpc
Vielen Dank, auch wenn dir das mal früher hätte auffallen können ;)

und nun zu magic-quotes-gpc (http://www.php.net/manual/de/info.confi ... quotes-gpc) Was zum Teufel ist das den für eine bescheuerte Funktion. Wer kommt den auch die dämliche Idee sowas zu implementieren... OMG wie ich sowas hasse... und wer soll da bitteschön von alleine drauf kommen.

Was allerdings auch bedeutet dass alle die das Problem haben, entweder eine PHP Version < 5.3.0 habe oder, den kack selbst angemacht haben. Man man könnte ich mich da aufregen.
Naja wie auch immer. Ist das wenigstens mal aus der Welt. Bleibt noch ne aktuelle PHP Pro Version (am besten mit Fast-CGI anstelle von normaler CGI Implementierung) zu bauen und als Zusatzsoftware für die CCU anzubieten.

Viele Grüße
Daniel

Arminus
Beiträge: 33
Registriert: 27.08.2010, 16:16

Re: Homematic Webcontrol

Beitrag von Arminus » 07.12.2010, 15:20

und wer soll da bitteschön von alleine drauf kommen.
ja, so ähnliche Gedanken hatte ich auch - wobei ich hier zu wenig lange beteiligt bin, um mich wirklich aufzuregen :wink: Aber als Entwickler hasse ich solche stealth Eigenschaften auch ...

Zur Erklärung was ich habe: Bei mir ist Webcontrol auf einem GuruPlug - auf dem das PHP pro das ich mal auf der CCU hatte nicht lief, also habe ich das lighthttp samt php aus dem GuruPlug debian lenny verwendet - so wie's als RPM kam. Also muss dies merkwürdige variable so als default gesetzt sein ...

Wie auch immer, gemeinsam haben wir's zumindest gelöst :)

Antworten

Zurück zu „Projektvorstellungen“