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
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
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
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.
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?
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.
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.
Ist denn diese Konfiguration mit dem Aktorstandardwert korrekt:
2018-07-30 23:11:49 configSlatsTiltingFullTurnTime 150
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.