Hallo,
ich habe einen "Merten Schalt-Einsatz mit Sensorfläche 5062xx", diesen mit dem mcAdd auf 1 0 1 1 und 3 0 1 2 die beiden Wippen eingebunden.
hier ein List:
Internals:
CFGFN ./FHEM/fhem_zwave.cfg
DEF 0359re12 8
IODev ZWDongle_0
LASTInputDev ZWDongle_0
MSGCNT 12
NAME ZWave_SWITCH_REMOTE_8
NR 160
STATE WLoff
TYPE ZWave
ZWDongle_0_MSGCNT 12
ZWDongle_0_RAWMSG 0004000806600601200100
ZWDongle_0_TIME 2015-04-10 07:50:14
homeId 0359re12
id 08
lastMsgTimestamp 1428645014
Readings:
2015-04-08 21:06:14 CMD ZW_APPLICATION_UPDATE
2015-04-06 20:47:08 mcaSupportedGroupings 4
2015-04-06 21:28:04 mca_01 max:0c param:00000101
2015-04-06 21:45:06 mca_03 max:0c param:00000102
2015-04-06 11:07:18 model Merten Transmitter 2-Gang Switch
2015-04-06 11:07:18 modelId 007a-0001-0004
2015-04-10 07:50:14 reportedState WLoff
2015-04-10 07:50:14 state WLoff
2015-04-08 21:06:14 transmit OK
Attributes:
IODev ZWDongle_0
classes MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION MULTI_CHANNEL_ASSOCIATION MARK ASSOCIATION BASIC SWITCH_MULTILEVEL BASIC_WINDOW_COVERING WAKE_UP
room ZWave
verbose 5
im Log bekomme ich nun folgenden:
2015.04.06 21:34:52 4: ZWave_SWITCH_REMOTE_8: MULTI_CHANNEL 066006012001ff generated no event
2015.04.06 21:34:53 4: ZWave_SWITCH_REMOTE_8: MULTI_CHANNEL 06600601200100 generated no event
2015.04.06 21:34:54 4: ZWave_SWITCH_REMOTE_8: MULTI_CHANNEL 066006022001ff generated no event
2015.04.06 21:34:55 4: ZWave_SWITCH_REMOTE_8: MULTI_CHANNEL 06600602200100 generated no event
Zeile 1 - LINKE Wippe OBEN gedrückt
Zeile 2 - LINKE Wippe UNTEN gedrückt
Zeile 3 - RECHTE Wippe OBEN gedrückt
Zeile 4 - RECHTE Wippe UNTEN gedrückt
habe nun erstmal in der 10_ZWave.pm diese vier Zeilen eingefügt um mir zu helfen:
"^..6006012001ff" => "state:WLon", für WippeLinksOben
"^..600601200100" => "state:WLoff", für WippeLinksUnten
"^..6006022001ff" => "state:WRon", für WippeRechtsOben
"^..600602200100" => "state:WRoff", für WippeRechtsUnten
Sieht noch nun so aus:
MULTI_CHANNEL => { id => '60', # Version 2, aka MULTI_INSTANCE
get => { mcEndpoints => "07", # Endpoints
mcCapability=> "09%02x"},
parse => { "^046008(..)(..)" => '"mcEndpoints:total ".hex($2).'.
'(hex($1)&0x80 ? ", dynamic":"").'.
'(hex($1)&0x40 ? ", identical":", different")',
"^..6006012001ff" => "state:WLon",
"^..600601200100" => "state:WLoff",
"^..6006022001ff" => "state:WRon",
"^..600602200100" => "state:WRoff",
"^..600a(.*)"=> 'ZWave_mcCapability($hash, $1)' }, },
bekomme nun beim Drücken der Wippen:
2015-04-10_07:50:05 ZWave_SWITCH_REMOTE_8 WRon
2015-04-10_07:50:05 ZWave_SWITCH_REMOTE_8 reportedState: WRon
2015-04-10_07:50:06 ZWave_SWITCH_REMOTE_8 WLon
2015-04-10_07:50:06 ZWave_SWITCH_REMOTE_8 reportedState: WLon
2015-04-10_07:50:08 ZWave_SWITCH_REMOTE_8 WRoff
2015-04-10_07:50:08 ZWave_SWITCH_REMOTE_8 reportedState: WRoff
2015-04-10_07:50:14 ZWave_SWITCH_REMOTE_8 WLoff
2015-04-10_07:50:14 ZWave_SWITCH_REMOTE_8 reportedState: WLoff
Kann dieser nicht als MULTI_INSTANCE in FHEM eingebunden werden ?
Hier habe ich auch schon etwas gefundne was die MULTI_INSTANCE enthält.
http://www.openzwave.com/dev/MultiInstance_8h_source.html
066006012001ff ist ein in MULTI_CHANNEL eingepacktes basicReport:FF
Vermutlich muss in der Zeile 1331 in 10_ZWave.pm
if($arg =~ /^..600d(..)(..)(.*)/) { # MULTI_CHANNEL CMD_ENCAP
600d gegen 60.. ausgetauscht werden, um damit auch dein Fall abdecken zu koennen.
Falls dein Test positiv laeuft, dann aendere ich das im Code.
sieht super aus:
EVENTS:
2015-04-10 18:05:11 Global global UNDEFINED ZWave_Endpoint_8.1 ZWave 12345678 2049
2015-04-10 18:05:11 Global global DEFINED ZWave_Endpoint_8.1
2015-04-10 18:05:11 Global global DEFINED FileLog_ZWave_Endpoint_8.1
2015-04-10 18:05:11 Global global SAVE
2015-04-10 18:05:18 Global global UNDEFINED ZWave_Endpoint_8.2 ZWave 12345678 2050
2015-04-10 18:05:18 Global global DEFINED ZWave_Endpoint_8.2
2015-04-10 18:05:18 Global global DEFINED FileLog_ZWave_Endpoint_8.2
LOG:
2015.04.10 18:05:11 3: UNDEFINED ZWave_Endpoint_8.1 ZWave 12345678 2049, please define it
2015.04.10 18:05:11 2: autocreate: define ZWave_Endpoint_8.1 ZWave 12345678 2049
2015.04.10 18:05:11 2: autocreate: define FileLog_ZWave_Endpoint_8.1 FileLog ./log/ZWave_Endpoint_8.1-%Y.log ZWave_Endpoint_8.1
2015.04.10 18:05:18 3: UNDEFINED ZWave_Endpoint_8.2 ZWave 12345678 2050, please define it
2015.04.10 18:05:18 2: autocreate: define ZWave_Endpoint_8.2 ZWave 12345678 2050
2015.04.10 18:05:18 2: autocreate: define FileLog_ZWave_Endpoint_8.2 FileLog ./log/ZWave_Endpoint_8.2-%Y.log ZWave_Endpoint_8.2
LOG:
2015.04.10 18:31:09 4: ZWave_Endpoint_8.1: Unknown message (UNKNOWN_01 0201ff)
2015.04.10 18:31:11 4: ZWave_Endpoint_8.1: Unknown message (UNKNOWN_01 020100)
2015.04.10 18:31:33 4: ZWave_Endpoint_8.2: Unknown message (UNKNOWN_01 0201ff)
2015.04.10 18:31:34 4: ZWave_Endpoint_8.2: Unknown message (UNKNOWN_01 020100)
Wie bekomme ich nun die Enpooint Meldung weiter verarbeitet ?
Super ist fuer mich anders.
Nach etwas schmoekern: FHEM unterstuetzt bisher MULTI_CHANNEL/V2, dies sind aber Meldungen von einem V1 Geraet.
Ich habe 10_ZWave.pm erweitert, aber nicht wirklich getestet.
Es ist eingecheckt, ab morgen per update oder ab sofoert aus dem SVN verfuegbar.
nun ist es aber super!
EVENT:
2015-04-12 08:05:02 ZWave ZWave_Endpoint_8.1 basicReport: 00
2015-04-12 08:05:05 ZWave ZWave_Endpoint_8.1 basicReport: ff
2015-04-12 08:05:09 ZWave ZWave_Endpoint_8.2 basicReport: 00
2015-04-12 08:05:10 ZWave ZWave_Endpoint_8.2 basicReport: ff
nun noch ein
attr ZWave_Endpoint_8.1 eventMap basicReport..ff:on basicReport..00:off
attr ZWave_Endpoint_8.2 eventMap basicReport..ff:on basicReport..00:off
hinzugefügt.
klasse...