/esp/system.htm

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Antworten
hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

/esp/system.htm

Beitrag von hobbyquaker » 26.11.2012, 17:35

Hallo!

Hat sich einer von euch mal mit oben genannter Schnittstelle beschäftigt? Offiziell dokumentiert ist dazu ja nichts vermute ich?

Hab eben mal damit rumgespielt, mit

Code: Alles auswählen

<prototypejs><![CDATA[string action = "DeleteObject";string id = "10311";]]></prototypejs>
in den Post-Daten und der SessionId im Querystring lässt sich so z.B. eine Variable löschen.

Das anlegen einer Variable sieht so aus:

Code: Alles auswählen

string action = 'saveSysVar';integer createNew = 1;integer varid = 0;string sName = 'Systemvariable';string sInfo = 'Test!';string sTrue = 'ist wahr';string sFalse = 'ist falsch';string sUnit = '';integer iSubType = 2;integer iChnId = 0;
Jetzt wäre es natürlich interessant dazu eine Doku zu haben bzw zusammenzutragen :)

Edit: Oh, da gibts ja noch mehr...;-) Über /esp/programs.htm kann man z.B. so ein Programm inaktiv setzen:

Code: Alles auswählen

string action = "SetActive";string id = "3969";string value = "false";
Grüße

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: /esp/system.htm

Beitrag von anli » 27.11.2012, 00:01

Ja, gerade am Wochenende wieder. Da sind die ganzen Funktionen drin, die auch die WebUi über Post aufruft. Habe mir da rausgesucht, wie man Systemvariablen über Homematic Skript anlegen kann. Besonders interessant sind glaube ich auch die .fn-Dateien.

Hatte da noch ein Problem mit meiner exec.cgi im Skriptparser, das ich noch nicht lösen konnte: wenn ich ein Gewerk mit Umlauten habe, funktioniert zum Beispiel "var x = dom.GetObject("Rollläden")" nicht. Geht das in Deinem Skript-Parser in der alternativen Oberfläche?
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: /esp/system.htm

Beitrag von hobbyquaker » 27.11.2012, 11:24

Ja, was da unter /rega so rumliegt ist eine wahre Fundgrube an undokumentierten Funktionen :)

Wegen der Umlaute: ich kämpfe noch damit. Beim umbenennen von Geräten z.B. funktioniert das im HQ WebUI auch mit Umlauten einwandfrei, bei der Scriptausführung noch nicht so wirklich. Scheitere noch daran die Encodings des Script-Editors, des Ajax-Posts und der Rückgabe von der CCU unter einen Hut zu bringen. Echt nerviges Thema, ich frag mich da auch immer wieder warum in aller Welt die CCU nicht mit UTF-8 Encoding arbeitet...

Naja jedenfalls kannst Du mit einem "dreckigen" Workaround das Ganze auch mit falschen Encodings und Umlauten zum laufen bringen, lass einfach in Deiner exec.cgi das Script durch diese Funktion durch, dann sollten zumindest die deutschen Umlaute äöüÄÖÜß funktionieren:

Code: Alles auswählen

proc utf8-decode str {
  set map {
   "ä" "ä"
   "ö" "ö"
   "ü" "ü"
   "Ä" "Ä"
   "Ö" "Ö"
   "Ãœ" "Ü"
   "ß" "ß"
  }
  return "[string map $map $str]"
}

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: /esp/system.htm

Beitrag von hobbyquaker » 27.11.2012, 15:06

hab das gerade mal in die hmscript.cgi (eine Variante Deiner exec.cgi die ich im HQ WebUI verwende) eingebaut, funktioniert soweit:
Bild

Allerdings war der einzige weg die cgi-Datei mit funktionierendem Encoding auf die CCU zu bekommen sie in Windows-1252 zu speichern obwohl sie ja eigentlich ISO-8859-1 sein sollte, bin verwirrt, aber es funktioniert :-) Wenn man jetzt allerdings mit Telnet auf die CCU geht und die Datei mit vi öffnet verhaut es die Darstellung völlig:
Bild

Grüße

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: /esp/system.htm

Beitrag von anli » 27.11.2012, 20:42

Vielen Dank für Deine Antwort.
hobbyquaker hat geschrieben:Allerdings war der einzige weg die cgi-Datei mit funktionierendem Encoding auf die CCU zu bekommen sie in Windows-1252 zu speichern obwohl sie ja eigentlich ISO-8859-1 sein sollte, bin verwirrt, aber es funktioniert :-)
Welchen Editor benutzt Du dafür? Benutze normalerweise UltraEdit, der kann als Ansi/ASCII speichern (Ansi entspricht auf dt. Windows eigentlich der 1252er Codepage). Habe allerdings eine halbwegs normale Anzeige im vi...
Kannst Du mir eventuell Deine hmscript.cgi mal anhängen?
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: /esp/system.htm

Beitrag von hobbyquaker » 27.11.2012, 20:51

ich benutze den "Sublime Text 2" unter OSX und Linux, gibt aber afaik auch einen Windows-Port.

Die hmscript.cgi findest Du hier: https://raw.github.com/hobbyquaker/hq-w ... script.cgi

Grüße

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“