HomeMatic Script - inoffizielle Dokumentation: Unterschied zwischen den Versionen
Lueghi (Diskussion | Beiträge) |
|||
Zeile 1: | Zeile 1: | ||
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. | 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. | ||
− | = system.Exec = | + | = system = |
+ | |||
+ | == system.Exec == | ||
string stdout; | string stdout; | ||
Zeile 20: | Zeile 22: | ||
Es kommen immer wieder Meldungen im Forum, dass bei recht intensiver Nutzung der Funktion ''system.Exec'' sich die CCU irgendwann aufhängt. | Es kommen immer wieder Meldungen im Forum, dass bei recht intensiver Nutzung der Funktion ''system.Exec'' sich die CCU irgendwann aufhängt. | ||
Daher ist der Einsatz der Funktion sehr sorgfältig zu überlegen! | Daher ist der Einsatz der Funktion sehr sorgfältig zu überlegen! | ||
+ | |||
+ | = 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, 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 | ||
+ | |||
+ | == DestinationValue(); == | ||
+ | |||
+ | |||
+ | == DestinationValueType(); == | ||
+ | |||
+ | |||
+ | == DestinationValueParam(); == | ||
+ | |||
+ | |||
+ | == DestinationValueParamType(); == |
Version vom 27. November 2012, 19:48 Uhr
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.
Inhaltsverzeichnis
system
system.Exec
string stdout; string stderr; system.Exec("inetd", &stdout, &stderr);
Mit system.Exec lassen sich beliebige Prozesse auf der HomeMatic Zentrale starten. Der Befehl hat drei Parameter:
- die Kommandozeile des zu startenden Prozesses inklusive aller Parameter
- eine Referenz auf die Standard-Ausgabe
- eine Referenz auf die Standard-Fehlerausgabe
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 sich die CCU irgendwann aufhängt. Daher ist der Einsatz der Funktion sehr sorgfältig zu überlegen!
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, 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