Änderungen

HomeMatic Script - inoffizielle Dokumentation

2.375 Byte hinzugefügt, 04:30, 2. Feb. 2013
Die offizielle HomeMatic Script Dokumentation behandelt nicht alle Möglichkeiten, welche die Sprache dem Anwender in die Hand gibt. Diese Seite stellt eine Sammlung von inoffiziellen Aufrufen dar, welche von HomeMatic Nutzern entdeckt wurden.
 "Neue" inoffizielle Script Dokumentation ist hier zu finden: '''http : // homematic.shoutwiki.com''' (kann hier leider keine funktionierenden Links einfügen)Ich habe die Script-Doku im Shoutwiki neu angelegt da ich hier an einigen technischen Begebenheiten gescheitert bin (Bulk Import, verbuggtes Captcha). Sollte das hier irgendwann funktionieren migrier ich es auch gerne wieder hier her.  = system.= == Exec () ==
string stdout;
Das obige Beispiel zeigt die Freischaltung des Telnet-Zugangs per HomeMatic Script. Bei ''system.Exec'' handelt es sich gleichzeitig um einen der nützlichsten und einen der gefährlichsten undokumentierten HomeMatic Script Aufrufe. So kann eine falsche Verwendung schnell dazu führen, dass sich die Logikschicht der HomeMatic Zentrale aufhängt. Daher sind folgende Regeln unbedingt zu beachten:
* die Parameter ''stdout'' und ''stderr'' sind stets anzugeben
*  '''ACHTUNG''': Es kommen immer wieder Meldungen im Forum, dass bei recht intensiver Nutzung der Funktion ''system.Exec'' sollte keine weiteren HomeMatic Scripte aufrufen sich die CCU irgendwann aufhängt. Daher ist der Einsatz der Funktion sehr sorgfältig zu überlegen! = Allgemein = == CreateObject(zobjectType) == Erzeugt ein neues Objekt.B Mögliche Werte für objectType:* OT_PROGRAM* . .. ? == Add(integer id) == Fügt ein TclObjekt einem anderen hinzu.   object programs = dom.GetObject( ID_PROGRAMS ); object newProgram = dom.CreateObject( OT_PROGRAM ); programs.Add(newProgram.ID()); obiges Beispiel erzeugt ein Programm und fügt es dem Programm-ScriptObjekt hinzu. = Kanal = == ChnArchive() == Protokollierung eines Kanals lesen/setzen = Systemvariablen = == DPArchive() == Protokollierung einer Variable setzen/lesen = Programm = Diese Methoden können auf einem Programm-Objekt angewendet werden. == Active() == Mit der Methode Active() können Programme aktiviert und deaktiviert werden:  object o = dom.GetObject("Programm"); o.Active(true); Obiges Beispiel aktiviert ein Programm == PrgInfo() == Setzen und lesen von Programm-Beschreibungen == Rule() == Liefert das Regel-Objekt eines Programmes zurück. Darüber sind die Bedingungen und Aktionen erreichbar = Regel (Rule) = Diese Methoden können auf einem Regel-Objekt angewendet werden == RuleDestination() == Gibt das Aktions-Objekt zurück, welches HomeMatic hierrüber sind einzelne Aktionen erreichbar == RuleConditions() == = Aktion (Destination) = Folgende Methoden können auf einem Aktions-Objekt angewendet werden == DestSingleCount() == Gibt die Anzahl der einzelnen Aktionen zurück == DestSingleDestination(integer number) == Gibt das einzel-Aktions-Objekt mit dem Zähler "number" zurück. = Bedingung (Condition) = = Einzelne Aktion (Single Destination) = == DestinationDP(); ==  == DestinationChannel(); ==  == DestinationParam(); == Mögliche Werte:* 18 - Kanalauswahl* 19 - Systemzustand* 20 - Script enthält == DestinationValue(); ==  == DestinationValueType(); ==  == DestinationValueParam(); ==  == DestinationValueParamType(); ==
12
Bearbeitungen