-
Notifications
You must be signed in to change notification settings - Fork 4
Handler: GiraAwningActuator
Dieser Handler ist gedacht eine Jalousiesteuerung von Gira zur Steuerung einer Markise anzubinden.
Dieses Add-in basiert auf dem GiraJalousieAktor, mit einer kleinen Änderung bei der Richtung der Fahrten.
Dabei werden die KNX-Objekte so zugeordnet:
Objektfunktion in ETS | Bedeutung | DPT | Characteristic im Handler |
---|---|---|---|
Langzeitbetrieb | Rolladen Fahrt | DPT1, Subtype auf/ab | ShutterMove |
Rückmeldung Rolladenposition | Rückmeldung in Prozent | DPT5.001 | CurrentPosition |
Position Rollade/Markise | Anfahrt Position | DPT5.001 | TargetPosition |
pro Ausgang verwendet.
Zusätzlich werden das Characteristic PositionState
und eine Maximallaufzeit TimeOutSecs
als lokale Konstante benötigt. Dabei wird PositionState
nur deklariert, aber nicht mit Gruppenadressen verknüpft. Diese Eigenschaft müssen wir nur deklarieren, damit das Add-in darauf in Richtung HomeKit schreiben kann. Die Markisenlaufzeit brauchen wir, falls mal keine Positionsmeldung zurückkommt, ansonsten könnte der Status in HomeKit dauerhaft auf "öffnend" oder "schließend" stehen bleiben.
Die CurrentPosition ist aus Sicht von HomeKit nicht beschreibbar - wir bekommen diesen Wert nur vom Aktor, daher brauchen wir keine Set
-Einträge.
Die TargetPosition ist aus Sicht von HomeKit beschreibbar (das heisst, man kann auf dem iPhone eine neue Zielposition vorgeben, so dass der Markise diese Position anfährt), brauchen wir (mindestens) eine Set
-Adresse. Damit das iPhone auch den Zielwert richtig anzeigt, falls wir über KNX die Position ändern, lauschen wir mit Listen
auf der gleichen Adresse.
ShutterMove ist nicht mit einer echten HomeKit-Eigenschaft verknüpft, deshalb taucht es nicht bei den Characteristics, sondern in den KNXObjects auf - diese werden nur vom Handler beschrieben/gelesen. Wir benötigen hier nur eine hörende Adresse. Die Angabe des DPT ist zwingend und es funktioniert in diesem Handler für diese Adresse nur DPT1!
Für die Positionen gilt, und das ist fest verdrahtet: In KNX: 100% ist ausgefahren/geöffnet; 0% ist eingefaheren/geschlossen.
Es gibt bei diesem Add-in keine Möglichkeit die Bedeutung der Positionen umzudrehen!
Das Beispiel sieht daher folgendermaßen aus: ###Beispiel
{
"ServiceType": "WindowCovering",
"Handler": "GiraAwningActuator",
"ServiceName": "Porch Awning",
"Characteristics": [
{
"Type": "TargetPosition",
"Set": "1/2/3",
"Listen": "1/2/3",
"DPT": "DPT5.001"
},
{
"Type": "CurrentPosition",
"Listen": "1/3/2"
},
{
"Type": "PositionState"
}
],
"KNXObjects": [
{
"Type": "ShutterMove",
"Listen": "1/2/1",
"DPT": "DPT1"
}
],
"KNX-ReadRequests": [
"1/2/1",
"1/3/2"
],
"LocalConstants": {
"TimeOutSecs": 60
}
}