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

KernSani

Vielleicht wäre auch das ROLLO Modul interessant. Da gibt's bereits die zeitbasierte Steuerung in 10%-Schritten.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Andi291

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...

IROC_KNX

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?



FHEM 5.8 auf RaspberryPi mit knxd

wagenkna

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
Homematic mit CCU2, Fensterkontakt, Thermostaten, Steckdosen, Regen.-Bewegung.-Wassermelder (76) Devices)
Raspberry2 und 3 Mit KNX, OWL, Fritzbox, Unifi, Luftmessungmodul

Andi291

@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.

amthenia

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!

amthenia

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


Bucky2k

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?

amthenia

runter, rauf, kurz runter, kurz rauf
sowas in der Art, ich habe mehr geraten anhand der Nummernvergabe, weil ich habe keine Projektdatei vom Programmierer.

andi11

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?