Rollladensteuerung Auf/Ab/Stop?

Begonnen von Merlin123, 09 März 2017, 22:37:32

Vorheriges Thema - Nächstes Thema

Merlin123

Ich versuche gerade meine KNX Rolladenaktoren anzusteuern, was noch nicht ganz überzeugend geht. Meine Aktoren haben in der ETS eine Adresse für hoch/runter (komplett) und eine, die sie nur ein Stück bewegt und auch die laufende hoch/runter Aktion stoppt.

Ich habe jetzt anhand von Beispielen mir das zusammengebaut:
define Wohnzimmer.Rolladen.links KNX 0/1/4:dpt1 0/1/17:dpt1
attr Wohnzimmer.Rolladen.links IODev KNX
attr Wohnzimmer.Rolladen.links eventMap g1:on g2:on g1:off
attr Wohnzimmer.Rolladen.links room KNX
attr Wohnzimmer.Rolladen.links webCmd On:Off:Off

Was geht ist das komplett hoch/runter. (Adresse 0/1/4). Was nicht geht ist das stoppen (Adresse 0/1/17)
Ich verstehe den Syntax mit den 2 Adressen aber auch nicht wirklich.
Wie könnte ich eine Auf/ab/Stop Funktion denn umsetzen?
Gruß,
Oliver

Andi291

Auf = lang auf
Stop auf = kurz auf
Ab = lang auf
Stop ab = kurz ab

Welche GA zu welcher Funktion gehört musst Du der ETS-Parametrierung entnehmen oder mitloggen...

Merlin123

Und wie bringe ich FHEM kurz und lang bei? Die Adressen hab ich ja....
Gruß,
Oliver

Andi291

:-)

Kurz und lang hängt von der GA ab.

Das kannst Du mit DevStateIcon in Verbindung mit webCmd erreichen.

HelloWorld:
eventMap /on g1:Lang Auf/off g1:Lang Ab/on g2:Kurz Auf/off g2:Kurz Ab/

Merlin123

Bei mir sieht das jetzt so aus:

define Wohnzimmer.Rolladen.links KNX 0/1/4:dpt1 0/1/17:dpt1
attr Wohnzimmer.Rolladen.links IODev KNX
attr Wohnzimmer.Rolladen.links eventMap /on g1:Lang Auf/off g1:Lang Ab/on g2:Kurz Auf/off g2:Kurz Ab/
attr Wohnzimmer.Rolladen.links room KNX
attr Wohnzimmer.Rolladen.links webCmd On:Off:Off


Geht aber noch nicht.
Nochmal in der ETS geschaut:
Die Taster sprechen 0/1/4 bei Lang an und 0/1/17 bei kurz.

Ich muss aber gestehen, dass ich eventMap und webCmd nicht verstanden habe. Was machen die Beiden genau?
Gruß,
Oliver

Andi291

Eventmap benamst die Befelhe um (so eine Art Makro):
https://fhem.de/commandref.html#eventMap

WebCmd stellt diese im Floorplan dar:
https://fhem.de/commandref_DE.html#webCmd

Merlin123

OK... Ich glaub, das hab ich teilweise verstanden.
Was ich noch nicht ganz verstehe:
g1/g2 bezieht sich dann auf die erste bzw. zweite Gruppenadresse?
Könnte ich bei webCmd beliebige Namen einstellen und der orientiert sich dann beim Mapping einfach an den Werten bei eventMap?


Jetzt sieht das bei mir so aus:
define Wohnzimmer.Rolladen.links KNX 0/1/4:dpt1 0/1/17:dpt1
attr Wohnzimmer.Rolladen.links IODev KNX
attr Wohnzimmer.Rolladen.links eventMap /on g1:Lang Auf/off g1:Lang Ab/on g2:Kurz Auf/off g2:Kurz Ab/
attr Wohnzimmer.Rolladen.links room KNX
attr Wohnzimmer.Rolladen.links webCmd On:Off:On:Off


Was ich nicht verstehe:
Jetzt kann ich mit beiden on/off Paaren den Rolladen komplett hoch/runter fahren, aber immer noch nicht stoppen :(
Hast Du eine Idee woran das liegen könnte?


(auf jeden Fall schonmal Danke für die Erklärungen!)
Gruß,
Oliver

Superrakete

Hallo. So in dieser Richtung könnte das funktionieren:

define Wohnzimmer.Rolladen.links KNX 0/1/4:dpt1 0/1/17:dpt1
attr Wohnzimmer.Rolladen.links IODev KNX
attr Wohnzimmer.Rolladen.links eventMap /on g2:Stop>Ab/off g2:Stop>Auf/off g1:Auf/on g1:Ab
attr Wohnzimmer.Rolladen.links room KNX
attr Wohnzimmer.Rolladen.links webCmd Auf:Stop>Auf:Stop>Ab:Ab


Merlin123

Du bist mein offizieller Held des Tages!
DANKE!

Geht :)
Gruß,
Oliver

Merlin123

So... Jetzt doch noch ein Problem:

Wie kann ich zwei Aktoren gleichzeitig ansteuern? Hab 2 Zimmer, wo je 2 Rolläden auf einem eigenen Aktorenausgang synchron geschaltet werden.
Gruß,
Oliver

Andi291

Mit einfachen Mitteln - gar nicht.

Mein Vorschlag zu einer sauberen Lösung:
Je eine Gruppenadresse für lang und kurz, die je die beiden Kanäle der beiden Aktoren enthält (Musst aber in der ETS machen).

Also z.B.:
Rollo_lang Zimmer 1 und Zimmer 2 GA 1/2/3
  Aktor 0815.Kanal1_lang
  Aktor 4711.Kanal2_lang
Rollo_kurz Zimmer 2 und Zimmer 2 GA 1/2/4
  Aktor 0815.Kanal1_kurz
  Aktor 4711.Kanal2_kurz

Merlin123

#11
Oki. Danke für den Hinweis :)

Nochmal ne Frage bzgl. dem
attr Wohnzimmer.Rolladen.links eventMap /on g2:Stop>Ab/off g2:Stop>Auf/off g1:Auf/on g1:Ab
attr Wohnzimmer.Rolladen.links webCmd Auf:Stop>Auf:Stop>Ab:Ab

Kann ich das so machen, dass nur  Auf Stop Ab angezeigt wird? Jetzt werden ja 4 Werte angezeigt.
Gruß,
Oliver

Superrakete

#12
Hi. Ja, klar. Aber dann hast du nur noch in einer Richtung Tippbetrieb. Wenn das egal ist geht das.

attr Wohnzimmer.Rolladen.links eventMap /on g2:Stop/off g1:Auf/on g1:Ab
attr Wohnzimmer.Rolladen.links webCmd Auf:Stop:Ab

Merlin123

Gruß,
Oliver

theHolgi

Hallo,

ich habe das gleiche Setup (Aktor kann Auf/Zu mit der ersten Adresse, und Stop mit der zweiten):


define wz_RolloL KNX 1/0/23:dpt1.001 1/0/33:dpt1.010
attr wz_RolloL IODev tul
attr wz_RolloL devStateIcon down:fts_shutter_90:up up:fts_shutter_10:down
attr wz_RolloL eventMap /off:up/on:down/off g2:stop/
attr wz_RolloL webCmd up:down:stop

(dpt1.010 habe ich bereits in KNX erweitert; dieser Datentyp bietet das Kommando start/stop = 1/0 auf dem Bus an)

Problem 1: Ich hätte auch gerne ein Kommando "value", das über auf/ab/stop das Rollo halboffen machen kann.
Sequenz:
- hoch; warte $lange
- runter
- stop nach (Öffnung in %) * (Zeit für Auf->Zu)/100
Zu Zeiten des EIB-Moduls habe ich dies als EIN model=rollo implementiert. Mit dem Ansatz von KNX kann diese Funktion aber ja nur angeboten werden, wenn die Kombination aus einem dpt.001 und einem dpt.010 vorhanden ist.
Ebenso benötige ich 2 Attribute (Laufzeiten) die ebenfalls nur für diese Kombination verfügbar sein sollen, sonst aber nicht.
Problem 2: Zustand des Systems; nach Senden von "Stop" setzt FHEM den Zustand auf "stop" und zeigt kein brauchbares Icon an.
Nach der Logik von Problem (1) könnte man ja einen Zustand von 0 bis 100% erzeugen durch Abmessen der Zeiten, sogar wenn das Rollo von außen bedient wird.

Ich habe die Funktion als datapoint-Typs der ersten Gruppenadresse implementiert, ist aber noch nicht schön. Sieht dann so aus:

define wz_RolloL KNX 1/0/23:rollo 1/0/33:dpt1.010
attr wz_RolloL IODev tul
attr wz_RolloL devStateIcon down:fts_shutter_90:up up:fts_shutter_10:down
attr wz_RolloL eventMap /off:up/on:down/off g2:stop/
attr wz_RolloL lamellatime 5
attr wz_RolloL runtime 15
attr wz_RolloL slider 0,10,100
attr wz_RolloL webCmd up:down:value:stop

Bin interessiert daran, die Funktion mit Hilfe des Modulowners rund zu machen und meinen Code zu spenden :)

MfG,
Holger