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?
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...
Und wie bringe ich FHEM kurz und lang bei? Die Adressen hab ich ja....
:-)
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/
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?
Eventmap benamst die Befelhe um (so eine Art Makro):
https://fhem.de/commandref.html#eventMap (https://fhem.de/commandref.html#eventMap)
WebCmd stellt diese im Floorplan dar:
https://fhem.de/commandref_DE.html#webCmd (https://fhem.de/commandref_DE.html#webCmd)
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!)
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
Du bist mein offizieller Held des Tages!
DANKE!
Geht :)
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.
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
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.
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
Super, geht!
Danke!
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
Vielleicht wäre auch das ROLLO Modul interessant. Da gibt's bereits die zeitbasierte Steuerung in 10%-Schritten.
Hallo Holger,
schick mir Deinen Code mal. Ich schau es mir an.
Ich hab mir aber vorgenommen, nur die Basis-DPT aufzunehmen. Wenn ich da wieder Zeiten, etc. einbaue wird's ein ganz schöner Verhau...
Ich habe aktuell das Problem, dass ich nicht die Taster hoch und runter in FHEM benutzen kann.
Ich kann nur die Positionen anfahren, Stop Befehl nutzen und die Position wird zurückgegeben.
Als Fehlermeldung kommt: "value" not allowed for dpt1, dpt16 and dpt232
So sieht meine Konfiguration aus:
DEF 6/3/1:dpt5.001 6/1/3:dpt1.008 6/1/4:dpt1.008 6/5/1:dpt5.001
eventMap /value 100% g2:Ab/on g3:Stop/value 0% g2:Auf/value 30% g1:Pos1/value 50% g1:Pos2
webCMD Ab:Stop:Auf:Pos1:Pos2
Ist der dpt Befehl vielleicht falsch?
Hallo Holger oder Andi
ich habe, wie du auch nur Auf/ab und Stop für meine Rollläden. Hast du es mittlerer Weile hinbekommen, die Rollläden nur auf einen entsprechenden Wert runterfahren zu lassen? Über den Code würde ich mich freuen.
Danke für Deine/eure Unterstützung
Axel
@IROC_KNX:
Ob die DPT falsch sind, kann Dir nur ein Kenner Deiner Installation sagen :-)
Syntaktisch tippe ich auf Flüchtigkeitsfehler. Dröseln wir es mal auf:
DEF 6/3/1:dpt5.001 6/1/3:dpt1.008 6/1/4:dpt1.008 6/5/1:dpt5.001
eventMap /value 100% g2:Ab/on g3:Stop/value 0% g2:Auf/value 30% g1:Pos1/value 50% g1:Pos2
webCMD Ab:Stop:Auf:Pos1:Pos2
Deine Definition:
g1: 6/3/1:dpt5.001
g2: 6/1/3:dpt1.008
g3: 6/1/4:dpt1.008
g4: 6/5/1:dpt5.001
Dein Eventmap:
Ab -> value 100% g2
Stop -> on g3
Auf: value 0% g2
Pos1: value 30% g1
Pos2: value 50% g1
Mit Ab schickst Du Value an einen DPT1. Das geht nicht.
Ich habe dank dieses Threads jetzt folgendes bei mir stehen:
define h1_eg_wz_west_s KNX 3/0/92:dpt1.008 3/0/91:dpt1.008
attr h1_eg_wz_west_s IODev KNXF
attr h1_eg_wz_west_s devStateIcon down:fts_shutter_90:up up:fts_shutter_10:down
attr h1_eg_wz_west_s eventMap /off:up/on:down/off g2:stop/
attr h1_eg_wz_west_s webCmd up:down:stop
Das funktioniert tadellos, bei hoch gehts hoch, bei runter gehts runter und bei stop stopt es.
Wenn ich einfach so stop drücke dann geht der Rollo ein kleines Stück hoch, das ist gut wenn ich die Lamellen verstellen möchte.
Wie geht das jetzt das ich so eine Auswahl machen kann:
up - down - stop - kurz hoch - kurz runter
Danke für euere Hilfe!
So gehts:
define h1_eg_wz_west_s KNX 3/0/92:dpt1.008 3/0/91:dpt1.008 3/0/95:dpt1.008 3/0/96:dpt1.008
attr h1_eg_wz_west_s IODev KNXF
attr h1_eg_wz_west_s devStateIcon down:fts_shutter_90:up up:fts_shutter_10:down
attr h1_eg_wz_west_s eventMap /off g1:Auf/on g2:Lamzu/off g2:Lamauf/on g1:Ab/on g2:Stop/stop
attr h1_eg_wz_west_s webCmd Auf:Lamauf:Lamzu:Ab:Stop
amthenia: Kannst Du noch kurz erläutern, welche Objekte des JAL mit deinen 4 im Code genannten GA verbunden sind? Also was steckt hinter X/X/91; 92;95;96?
runter, rauf, kurz runter, kurz rauf
sowas in der Art, ich habe mehr geraten anhand der Nummernvergabe, weil ich habe keine Projektdatei vom Programmierer.
Zitat von: theHolgi am 22 April 2017, 15:12:12
attr wz_RolloL lamellatime 5
attr wz_RolloL runtime 15
Was machst du denn mit diesen beiden Attributen?