Qubino Flush Shutter - Lammellen Steuerung (Venetian Mode) unzuverlässig

Begonnen von adnan, 09 August 2018, 22:43:53

Vorheriges Thema - Nächstes Thema

adnan

Hallo zusammen

Ich habe insgesammt 4 Qubino ZMNHCDx Flush Shutter für die Steuerung meiner Jalousien verbaut.
Sie laufen im "Venetian Mode", d.h. man kann die Lammellen der Jalousien ebenfalls steuern.

Leider ist die Steuerung nicht gerade zuverlässig.

Z.B. habe ich folgende Geräte für die Jalousien im Wohnzimmer:
eg_wohnzimmer_front_jalousie      --> Steuert die Jalousie
eg_wohnzimmer_front_jalousie.01 --> Steuert ebenfalls die Jalousie
eg_wohnzimmer_front_jalousie.02 --> Steuert die Lammelen

Folgendes lässt sich beobachten wenn ich die Lammelen eines der vier Jalousien über fhem steuere:
- Reagiert teilweise stark verzögert (teilweise mehrere Sekunden).
- Manchmal reagieren die Lammelen gar nicht.
- In den logs tauchen teilweise Fehlermeldungen auf (siehe Unten).
- Die Position der Lammelen wird generell nicht reported, wenn ich die Taster benutze. Hab dafür ein Workaround per notify angelegt (siehe unten).
- All diese Probleme sind nicht vorhanden, wenn ich normal die Jalousie und nicht die Lammelen des selben Shutter Moduls per fhem steuere (z.B. direkt eg_wohnzimmer_front_jalousie anstatt eg_wohnzimmer_front_jalousie.02)


Als ZWave Dongle benutze ich den aeotec z-stick gen5.

Hat jemand eine Idee woran das liegen könnte?
Benutzt sonst noch jemand von euch die Qubinos mit Jalousien?

Was mir ausserdem noch aufgefallen ist:
2018-08-09 20:32:58   UNPARSED        SWITCH_MULTILEVEL 04260132ff
Was genau versucht der Qubino mitzuteilen hier? Evtl. die Position der Lammelen?

Danke schonmal für eure Hilfe!




Ausschnitt aus dem Log

2018.08.09 06:05:08 2: ZWave: No ACK from eg_wohnzimmer_front_jalousie after 5s for sentackget:131c06600d000220022503
2018.08.09 10:23:50 2: ZWave: No ACK from eg_wohnzimmer_fenster_jalousie after 5s for sentackget:132e06600d00022002250b
2018.08.09 10:23:52 2: ZWave: No ACK from eg_wohnzimmer_front_jalousie after 5s for sentackget:131c06600d00022002250d
2018.08.09 14:09:43 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:09:45 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:09:45 2: ZWave: No ACK from eg_wohnzimmer_fenster_jalousie after 5s for sentackget:132e06600d000220022517
2018.08.09 14:09:47 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_fenster_jalousie: transmit queue overflow
2018.08.09 14:09:54 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:09:56 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:00 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:03 2: ZWave: No ACK from eg_essen_jalousie after 5s for sentset:132707600d00022001002529
2018.08.09 14:10:03 2: ZWave: No ACK from eg_wohnzimmer_fenster_jalousie after 5s for sentset:132e07600d0002200100252a
2018.08.09 14:10:03 2: ZWave: No ACK from eg_wohnzimmer_front_jalousie after 5s for sentset:131c07600d0002200100252b
2018.08.09 14:10:03 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:05 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:11 2: ERROR: cannot SEND_DATA to eg_essen_jalousie: transmit queue overflow
2018.08.09 14:10:15 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:16 2: ZWave: No ACK from eg_essen_jalousie after 5s for sentget:132706600d000220022533
2018.08.09 14:10:21 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:26 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:30 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:34 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:38 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:41 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 14:10:42 2: ERROR: cannot SEND_DATA to eg_wohnzimmer_front_jalousie: transmit queue overflow
2018.08.09 17:51:11 2: ZWave: No ACK from eg_wohnzimmer_fenster_jalousie after 5s for sentackget:132e06600d0002200225d5
2018.08.09 19:16:19 2: ZWave: No ACK from eg_essen_jalousie_links after 5s for sentset:132f0325010025d7
2018.08.09 19:16:19 2: ERROR: cannot SEND_DATA to eg_essen_jalousie_links: transmit queue overflow
2018.08.09 19:16:23 2: ZWDongle_0 transmit NO_ACK for CB d8, target eg_essen_jalousie_links
2018.08.09 19:16:24 2: ZWave: No ACK from eg_essen_jalousie_links after 5s for set:132f032501FF25d8
2018.08.09 19:16:29 2: ZWave: No ACK from eg_essen_jalousie_links after 5s for sentset:132f032501FF25d8
2018.08.09 19:16:29 2: ERROR: cannot SEND_DATA to eg_essen_jalousie_links: transmit queue overflow
2018.08.09 19:16:34 2: ZWDongle_0 transmit NO_ACK for CB d9, target eg_essen_jalousie_links
2018.08.09 19:16:34 2: ZWave: No ACK from eg_essen_jalousie_links after 5s for set:132f0325010025d9
2018.08.09 19:16:39 2: ZWave: No ACK from eg_essen_jalousie_links after 5s for sentset:132f0325010025d9
2018.08.09 19:24:05 2: ZWave: No ACK from eg_wohnzimmer_fenster_jalousie after 5s for sentackget:132e06600d0002200225e2
2018.08.09 20:32:53 2: ZWave: No ACK from eg_wohnzimmer_fenster_jalousie after 5s for sentackget:132e06600d0002200225f4
2018.08.09 20:32:58 2: ZWave: No ACK from eg_wohnzimmer_fenster_jalousie after 5s for sentackget:132e06600d0002200225f6
2018.08.09 20:48:24 2: ZWave: No ACK from eg_wohnzimmer_front_jalousie after 5s for sentackget:131c06600d000220022504


Workaround um die Lammelen-Position im fhem zu erhalten bei Tasterbedienung der Jalousie:

defmod nfy_zw_reading_wohnzimmer_front_02 notify eg_wohnzimmer_front_jalousie:reportedState:.* get eg_wohnzimmer_front_jalousie.02 basicStatus


list eg_wohnzimmer_front_jalousie

Internals:
   DEF        d4fb78e6 28
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     384
   NAME       eg_wohnzimmer_front_jalousie
   NR         40
   STATE      off
   TYPE       ZWave
   ZWDongle_0_MSGCNT 384
   ZWDongle_0_RAWMSG 0004001c0a32022134000000000000
   ZWDongle_0_TIME 2018-08-09 22:16:03
   ZWaveSubDevice no
   cmdsPending 0
   endpointChildren eg_wohnzimmer_front_jalousie.01,eg_wohnzimmer_front_jalousie.02
   homeId     d4fb78e6
   isWakeUp   
   lastMsgSent 1533840508.32941
   nodeIdHex  1c
   READINGS:
     2018-07-21 20:02:49   CMD             ZW_APPLICATION_UPDATE
     2018-08-09 14:10:42   SEND_DATA       failed:00
     2018-08-09 20:32:58   UNPARSED        SWITCH_MULTILEVEL 04260132ff
     2018-07-23 21:40:26   assocGroup_1    Max 1 Nodes ZWDongle_0
     2018-07-23 21:40:27   assocGroup_2    Max 16 Nodes
     2018-07-23 21:40:27   assocGroup_3    Max 16 Nodes
     2018-07-23 21:38:28   assocGroup_30   Max 85 Nodes
     2018-07-23 21:40:27   assocGroup_4    Max 16 Nodes
     2018-07-23 21:40:27   assocGroup_5    Max 16 Nodes
     2018-07-23 21:40:28   assocGroup_6    Max 16 Nodes
     2018-07-23 21:40:28   assocGroup_7    Max 16 Nodes
     2018-07-23 21:40:28   assocGroup_8    Max 16 Nodes
     2018-07-23 21:40:28   assocGroup_9    Max 16 Nodes
     2018-07-23 21:40:26   assocGroups     9
     2018-07-07 23:46:37   basicReport     0
     2018-07-30 23:11:38   configActivateDeactivateFunctionsALLON10 ALLONActiveALLOFFActive
     2018-07-30 23:11:39   configDigitalTemperatureSensor120 5
     2018-07-30 23:11:39   configForcedShutterCalibration Default
     2018-07-30 23:11:40   configMotorMovingUpDownTime 0
     2018-06-19 21:21:01   configMotorOperationDetection 10
     2018-07-30 23:11:40   configOperatingModes VenetianModeUpDownAndSlate1
     2018-07-30 23:11:40   configPowerConsumptionMaxDelayTime 0
     2018-07-30 23:11:41   configPowerReportingInWattsByTime42 300
     2018-07-30 23:11:44   configPowerReportingInWattsOnPower40 1
     2018-07-30 23:11:46   configSlatsPosition ZWaveControl
     2018-07-30 23:11:49   configSlatsTiltingFullTurnTime 150
     2018-06-19 21:21:45   configTemperatureSensorOffsetSettings 32536
     2018-07-30 23:11:51   configTimeDelayForNextMotorMovement 3
     2018-05-11 21:50:49   mcCapability_01 ZWAVEPLUS_INFO VERSION BASIC SWITCH_ALL SWITCH_BINARY SWITCH_MULTILEVEL METER ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO MARK BASIC SWITCH_MULTILEVEL
     2018-05-11 21:50:52   mcCapability_02 ZWAVEPLUS_INFO VERSION BASIC SWITCH_BINARY SWITCH_MULTILEVEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO MARK BASIC SWITCH_MULTILEVEL
     2018-05-11 21:50:48   mcEndpoints     total 2, different
     2018-05-11 21:50:48   model           Qubino ZMNHCDx Flush Shutter
     2018-05-11 21:50:48   modelConfig     qubino/ZMNHCDx.xml
     2018-05-11 21:50:48   modelId         0159-0003-0052
     2018-07-29 11:47:51   neighborList    ZWDongle_0 eg_gast_licht UNKNOWN_34 eg_essen_tisch_dimmer eg_wohnzimmer_fenster_jalousie
     2018-08-09 22:16:03   power            0 W
     2018-08-09 20:48:28   reportedState   off
     2018-08-09 20:48:28   state           off
     2018-08-09 20:48:28   timeToAck       0.216
     2018-08-09 20:48:28   transmit        OK
Attributes:
   IODev      ZWDongle_0
   alias      Jalousie Front
   classes    ZWAVEPLUS_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY POWERLEVEL BASIC SWITCH_ALL SWITCH_BINARY SWITCH_MULTILEVEL METER MULTI_CHANNEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO CONFIGURATION MARK BASIC SWITCH_MULTILEVEL
   genericDeviceType blind
   icon       fts_shutter_40
   room       Wohnzimmer,Homekit
   userattr   room_map structexclude
   vclasses   ASSOCIATION:2 ASSOCIATION_GRP_INFO:2 BASIC:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 MANUFACTURER_SPECIFIC:2 METER:4 MULTI_CHANNEL:4 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 SWITCH_ALL:1 SWITCH_BINARY:1 SWITCH_MULTILEVEL:3 VERSION:2 ZWAVEPLUS_INFO:2
   webCmd     stop:dim


list eg_wohnzimmer_front_jalousie.01

Internals:
   DEF        d4fb78e6 7169
   IODev      ZWDongle_0
   NAME       eg_wohnzimmer_front_jalousie.01
   NR         41
   STATE      off
   TYPE       ZWave
   ZWaveSubDevice yes
   endpointParent eg_wohnzimmer_front_jalousie
   homeId     d4fb78e6
   nodeIdHex  1c01
   READINGS:
     2018-07-03 21:34:52   state           off
Attributes:
   IODev      ZWDongle_0
   classes    ZWAVEPLUS_INFO VERSION BASIC SWITCH_ALL SWITCH_BINARY SWITCH_MULTILEVEL METER ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO MARK BASIC SWITCH_MULTILEVEL
   room       ZWave,hidden,Homekit
   webCmd     stop:dim


list eg_wohnzimmer_front_jalousie.02

Internals:
   DEF        d4fb78e6 7170
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     152
   NAME       eg_wohnzimmer_front_jalousie.02
   NR         42
   STATE      0
   TYPE       ZWave
   ZWDongle_0_MSGCNT 152
   ZWDongle_0_RAWMSG 0004001c07600d0200200300
   ZWDongle_0_TIME 2018-08-09 20:48:28
   ZWaveSubDevice yes
   endpointParent eg_wohnzimmer_front_jalousie
   homeId     d4fb78e6
   isWakeUp   
   nodeIdHex  1c02
   READINGS:
     2018-07-22 20:57:23   assocGroupCmdList_1 SWITCH_MULTILEVEL:01
     2018-07-22 20:57:14   assocGroupCmdList_2 SWITCH_MULTILEVEL:01
     2018-07-22 20:56:48   assocGroup_1    Max 0 Nodes
     2018-07-22 20:56:48   assocGroup_2    Max 16 Nodes
     2018-07-22 20:56:59   assocGroups     2
     2018-08-09 20:48:28   basicReport     0
     2018-07-22 20:57:49   mcaGroups       2
     2018-07-22 20:57:39   mca_1           Max 0
     2018-07-22 20:57:39   mca_2           Max 16
     2018-07-22 20:58:09   reportedState   off
     2018-08-09 20:48:28   state           0
     2018-07-22 20:58:14   swmSwitchType   primary Up/Down secondary Undefined
     2018-07-22 20:58:20   version         Lib 3 Prot 4.05 App 1.1 HW 1 FWCounter 0
     2018-07-22 20:58:32   versionClass_1  0
     2018-07-22 20:58:49   zwavePlusInfo   version:01 role:AlwaysOnSlave node:Z-Wave+Node installerIcon:1a00 userIcon:1a00
Attributes:
   IODev      ZWDongle_0
   alias      Lammellen Front
   classes    ZWAVEPLUS_INFO VERSION BASIC SWITCH_BINARY SWITCH_MULTILEVEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO MARK BASIC SWITCH_MULTILEVEL
   genericDeviceType blind
   homebridgeMapping TargetPosition=basicValue::state,part=1,minValue=0,maxValue=100,minStep=1,cmds=100:on CurrentPosition=state,part=1,cmd=basicValue,minValue=0,maxValue=100,minStep=1
   icon       fts_blade_arc_sun
   room       Wohnzimmer,Homekit
   userReadings state:basicReport.* { ReadingsVal($name,"basicReport","") }
   userattr   room_map structexclude
   vclasses   ASSOCIATION:2 ASSOCIATION_GRP_INFO:2 BASIC:1 MULTI_CHANNEL_ASSOCIATION:3 SWITCH_BINARY:1 SWITCH_MULTILEVEL:3
   webCmd     stop:dim

krikan

Bitte MULTI_CHANNEL_ASSOCIATION statt einfacher ASSOCIATION nutzen, dann sollte auch reportedState automatisch kommen. Befehle dazu findest Du bspw. im Beitrag https://forum.fhem.de/index.php/topic,89564.msg822258.html#msg822258.

Gruß, Christian

adnan

Ich werde aus der Doku nicht ganz schlau.

ZitatmcaAdd groupId node1 node2 ... 0 node1 endPoint1 node2 endPoint2 ...

Was heisst denn das genau?
Wie müsste mein mcaAdd aussehen wenn ich den state von Endpoint-2 haben will?
Vielleicht so:
mcaAdd 1 1 0 1 2

Grüße

krikan

mcaAdd legt fest WAS (groupId) das Gerät an WEN (nodeId und/oder nodeId:endPointId) sendet und indirekt durch Wahl von nodeId bzw. nodeId:endPointId WIE das erfolgt.

0 im Befehl ist das Trennzeichen:
Links von der 0 werden die Assoziationen nur mit nodeIds festgelegt. Das sind die einfachen Assoziationen, die man grds. ebenso mit der Class ASSOCIATION (associationAdd) festlegen kann.
Rechts von der 0 werden die eigentlichen Multi-Channel-Assoziationen definiert:  nodeId:endPointId ist als  nodeId endPointId anzugeben.
Man kann auch links oder rechts der 0 nichts angeben.

Wenn man eine Multi-Channel-Assoziation anlegt, sendet das Gerät (häufig) in einem anderen Format als bei einer einfachen Assoziation. Ob man eine Multi-Channel-Assoziation an Controller-Endpoint 0, 1, 2 .. angelegt, ist nach meinen Beobachtungen relativ unerheblich (=ausprobieren!). Entscheidend ist nur, dass man eine Multi-Channel-Assoziation statt einfacher Assoziation anlegt, damit die Nachrichten in einem Format verschickt werden, das FHEM erlaubt die Endpoints zu unterscheiden.

Die 2 in Deinem Befehl hat aber nichts mit dem Endpoint 2 des Gerätes zu tuen, sondern ist Endpoint 2 des Nodes 1 (=Controller).

Probiere bitte:
set eg_wohnzimmer_front_jalousie associationDel 1 1
set eg_wohnzimmer_front_jalousie mcaAdd 1 0 1 1


Mit dem 1. Befehl wird die standardmäßige, einfache Assoziation der Group 1 des Gerätes mit dem Controller gelöscht.
Der 2. Befehl bedeutet: Lege eine Multi-Channel-Assoziation der Group 1 mit dem NodeID:Endpoint 1:1 = Controller:Endpoint1 an. Links von der 0 steht nichts, da wir keine einfache Assoziation haben wollen.

adnan

Danke für die sehr gute Erklärung!

Mit deinen Befehlen funktioniert es!
Ein kleiner Nachteil allerdings: auf dem Hauptgerät kommen keine Statusaktualisierungen mehr wenn ich die Jalousien mit dem Taster bediene.

Was noch nicht zuverlässig klappt ist das setzen der Lammelenposition auf dem Endpoint 2. Wie bereits geschrieben, reagieren die Jalousien recht zeitverzögert und manchmal gar nicht.

Benutzt sonst noch jemand die Qubinos im "Venetian Blinds" mode?

krikan

Zitat von: adnan am 11 August 2018, 21:57:50
Ein kleiner Nachteil allerdings: auf dem Hauptgerät kommen keine Statusaktualisierungen mehr wenn ich die Jalousien mit dem Taster bediene.
Aber vermutlich im entsprechenden SubDevice, oder?

ZitatWas noch nicht zuverlässig klappt ist das setzen der Lammelenposition auf dem Endpoint 2. Wie bereits geschrieben, reagieren die Jalousien recht zeitverzögert und manchmal gar nicht.

Benutzt sonst noch jemand die Qubinos im "Venetian Blinds" mode?
Ich. Als Testgeraet, aber ohne angeschlossene Taster.
Keine Verzögerungen beim Setzen über FHEM feststellbar.
Laut Deinem Log gibt es unter anderem Kommunikationsprobleme zwischen Controller und Aktor.

adnan

ZitatAber vermutlich im entsprechenden SubDevice, oder?
Ja, in den Sub-Devices wird es angezeigt, inkl. Power.

ZitatLaut Deinem Log gibt es unter anderem Kommunikationsprobleme zwischen Controller und Aktor.
Endpoint 1 lässt sich problemlos steuern. Reagiert auch schnell. Nur Endpoint 2 macht Probleme und dass bei allen 4 Aktoren. Von daher würde ich Kommunikationsprobleme ausschliessen.
Ich hab auch noch folgendes sehr komisches Verhalten am Endoint 2 von allen Aktoren beobachtet.

  • Ausgangsposition: Lammelen (physisch) ganz unten, status fhem = dim 0
  • set dim 50, Lammelen fahren ungefähr auf waagerechte Position
  • set dim 0, Lammelen fahren ganz runter
  • taster am Aktor betätigen, so dass Lammelen ungefähr waagerecht sind --> status fhem = dim > 90

Ich hätte einen Status ungefähr bei 50 erwartet und nicht bei 90. Ich weiss nicht was der Flush Shutter da macht.
Wenn der Aktor teilweise nicht reagiert, scheint er den neuen über fhem gesetzten Wert zu speichern, ohne dabei die Lammelen zu bewegen. Wenn ich dann das nächste Mal per Taster steuere, dann geht er von dem von fhem gesetzten Wert aus. Das Merkt man z.b. wenn die Jalousien bei einem kurzen Tastendruck hochfahren obwohl er nur die Lammellen verstellen sollte, weil sie nicht komplett offen sind.


krikan

Ist denn diese Konfiguration mit dem Aktorstandardwert korrekt:
2018-07-30 23:11:49   configSlatsTiltingFullTurnTime 150

adnan

Die Bedienung am Taster wenn vorgänging nicht über zwave geschaltet wurde funktioniert tip top.
Solange die Lammellen weder ganz oben noch ganz unten sind, schaltet der Aktor ab, wenn ich den Taster loslasse.
Sind die Lammellen an der Endposition fahren dann die Jalousien auch wenn ich den Taster loslasse. So soll das auch sein.
Der Standardwert sollte also korrekt sein.