SETZEWERT
Syntax :
SETZEWERT(Objektname,Wertecode,Wert)
Mit dieser Anweisung können verschiedene Einstellungen in den Hardwaremodulen des HomeMatic-Systems vorgenommen werden.
Für das FHZ-System gibt es auch einige Module, für die SETZEWERT verwendet werden kann, weitere Infos dazu finden Sie unter FHZ-System.
Diese Anweisung erzeugt immer einen Sendebefehl und sollte nur sparsam verwendet werden, Sie darf keinesfalls in Scripts erwendet werden, die in kurzen Zeitintervallen ausgeführt werden, das könnte den DUTY-CYCLE an seine Grenzen bringen und so das ganze System blockieren.
Es muss auch unbedingt beachtet werden, dass bei Einstellungen über diese Anweisung nur ein Sendebefehl erzeugt wird. Die Werte und Zustände von Objekten und Variablen werden nicht direkt beeinflusst, sondern erst durch eventuelle Rückmeldungen von den Hardwaremodulen aktualisiert. Das kann zur Folge haben, dass Hardware und Visualisierung nicht oder nicht zeitgleich synchron sind und Zustandsabfragen in wenn-Bedingungen nicht aktuell sind. Daher sollte diese Möglichkeit den Zustand von Hardwaremodulen zu ändern nur in Ausnahmefällen benutzt werden.
Die Anweisung sollte nur von erfahrenen Benutzern verwendet werden, die unsachgemässe Verwendung dieser Anweisung kann zu Fehlfunktionen führen.
Die Wertecodes können Konstanten oder auch Variablen vom Typ Zeichen sein.
Die Wertecodes müssen in Grossbuchstaben geschrieben sein, es kann auch die englische Bezeichnung (in Klammern) verwendet werden.
Mit dieser Anweisung wird die Methode setValue aus dem XMLRPC-Protokoll des BidCoS-Services aufgerufen. Das funktioniert nicht nür für die im unteren Teil angegebenen Wertecodes, sondern auch für andere, es kann aber setValue-Kombinationwen geben, die nicht funktionieren z.B. weil ein anderer Kanal erfoderlich ist als der im Objekt hinterlegte.
Es liegt in der Verantwortung des Benutzers zu prüfen ob die verwendeten Wertecodes und Werte zu dem Gerät passen, an das gesendet wird.
Der Compiler kann nicht prüfen ob die benutzten Wertecodes und Werte plausibel und richtig sind!
Beipsiel zum einschalten den BOOST-Modus bei Thermostaten (wird von Thermostaten der ersten Serie nicht unterstützt):
SETZEWERT(ThermostatName,"BOOST_MODE",1)
Bitte unbedingt beachten:
Bis auf den ersten Parameter müssen alle in Hochkomma stehen und Grossbuchstaben haben. Nur bei ganzen Zahlen muss der letzte Parameter nicht in Hochkomma stehen.
Diese Option funkltioniert nur mit dem HMIP-Rauchmelder, nicht mit dem normalen HomeMatic--Rauchmelder.
Für folgende Wertecodes können momentan deutsche Schlüsselwörter verwendet werden:
EINSCHALTZEIT (ON_TIME), Einheit ist Sekunden
Beispiel:
Setzewert(Stehlampe,"EINSCHALTZEIT",30)
Stehlampe einschalten
Mit diesem Schlüsselwert kann z.B. für Schaltaktoren und Dimmer die Einschaltzeit eingestellt werden werden. Es ist keine Dauer-Einstellung, sie ist nur gültig für den nächsten Einschaltbefehl an das Modul. Bei dieser Möglichkeit ein Gerät für eine bestimmte Zeit einzuschalten, wird der interne Timer des Moduls benutzt, d.h. das Gerät schaltet nach der angegebenen Anzahl von Sekunden aus, auch wenn die Zentrale nicht mehr aktiv ist. Die Verwendung dieser Methode kann bei sicherheitskritischen Funktionen vorteilhaft sein.
VERZÖGERUNG (RAMP_TIME), Einheit ist Sekunden
Beispiel:
Setzewert(Dimmer,"VERZÖGERUNG",8)
Dimmer:=70
Mit diesem Schlüsselwert kann z.B. die Dimmgeschwindigkeit von Dimmern gesteuert werden.
ALTE STUFE (OLD_LEVEL)
Beispiel:
Setzewert(Dimmer,"ALTE STUFE",1)
Mit diesem Schlüsselwert kann ein Dimmer auf seine letzte Dimmstufe vor dem Ausschalten gesetzt werden. Die 1 ist als fester Wert erforderlich.
STUFE (LEVEL)
Beispiel:
Setzewert(Dimmer,"STUFE","0.6")
Mit diesem Schlüsselwert kann die Helligkeit eines Dimmers eingestellt werden. Der Wert ist ein Dezimalwert zwischen 0 und 1, als Parameter in Form einer Konstante oder Variable vom Typ Zeichen.
Diese Möglichkeit der Dimmersteuerung sollte nur in Ausnahmefällen benutzt werden, besser ist es den Dimmer über eine Zuweisung in einem Script (z.B. Dimmer:=60) einzustellen.
ZUSTAND (STATE)
Beispiel:
Setzewert(Stehlampe,"ZUSTAND",1)
Mit diesem Schlüsselwert kann ein Binäraktor geschaltet werden. Bei Wert 1 wird eingeschaltet, bei Wert 0 wird ausgeschaltet. Diese Steuerungsmöglichkeit sollte nur in Ausnahmefällen verwendet werden, besser ist es Binäraktoren über die Anweisungen "einschalten" und "ausschalten" zu steuern.
Wichtiger Hinweis zur besonderen Behandlung von Werten des Typs "bool"
Es gibt viele Werte vom Typ "bool". Damit diese korrekt gesetzt werden muss als Wert "TRUE" oder "FALSE" (jeweils in doppeltem Hochkomma) angegeben werden. Durch diese Wertangabe wird erkannt, dass es sich uim einen Wert vom Typ "bool" handelt und für die Übertragung an die Zentrale der korrekte Werttyp eingestellt.So kann dann z.B. auch ein Schaltaktor gesteuert werden.
Beispiel für einen Schataktor:
Setzewert(Stehlampe,"STATE","TRUE")
Beispiel zum Ausschalten der Bewegungserkennung eines Bewegungsmelders:
Setzewert(Bewegungsmelder,"MOTION_DETECTION_ACTIVE","FALSE")
Mit SETZEWERT ist es auch möglich die Sirene von HMIP-Rauchmeldern zu schalten.
Zum Einschalten:
SETZEWERT(MeinHMIPRauchmelder, "SMOKE_DETECTOR_COMMAND", "INTRUSION_ALARM")
Zum Ausschalten:
SETZEWERT(MeinHMIPRauchmelder, "SMOKE_DETECTOR_COMMAND", "INTRUSION_ALARM_OFF")
Für neuere Thermostate können über diese Anweisung mehrere Einstellungen vorgenommen werden (gilt nicht für ältere Baureihen).
Der BOOST-Modus wird eingeschaltet mit
SETZEWERT(ThermostatName,"BOOST_MODE",1)
Der AUTO-Modus wird eingeschaltet mit
SETZEWERT(ThermostatName,"AUTO_MODE",1)
Der MANU-Modus wird eingeschaltet mit
SETZEWERT(ThermostatName,"MANU_MODE",Temperatur)
wobei die Temperatur eine Konstante mit einer Kommastelle oder Variable vom Typ Zahl mit einer Kommastelle sein kann.
Die Angabe der Kommastelle ist zwingend erforderlich, also z.B.:
SETZEWERT(Wohnzimmer,"MANU_MODE",22.0)
Um die Absenk- bzw. Komforttemperatur einzustellen können folgende Anweisungen benutzt werden:
SETZEWERT(ThermostatName,"LOWERING_MODE",1)
bzw.
SETZEWERT(ThermostatName,"COMFORT_MODE",1)
Bitte beachten Sie unbedingt:
Diese Anweisung generiert bei jeder Ausführung eine Meldung an das Gerät.
Wenn es sich um ein Funkmodul handelt kann die hemmungslose und unsachgemässe Benutzung dieser Anweisung viele unnötige Funkmeldungen generieren, was dazu führen kann, dass das Duty-Cycle-Konto überlauft und alle Funkmeldungen an Aktoren zeitweise blockiert werden.
|