ZWave @ culfw

Begonnen von rudolfkoenig, 29 November 2015, 21:15:36

Vorheriges Thema - Nächstes Thema

A.Harrenberg

Hi Rudi, hi Christian,

habe gerade etwas mit dem 8fach Taster und Z-Way rumgespielt... Dachte Z-Way könnte den schon mit Security S2 inkludieren und wollte mir das ansehen. Z-Way kann das aber (noch) nicht... ;-(

Aber mir ist was Interessantes beim Inkludieren aufgefallen.
Das hier ist das Log von dem 4xfach CUL, "mCUL" war in dem Fall auf 40k eingestellt, die anderen Namen sind selbsterklärend.
Die Home-ID von dem Z-Way System ist 0xd2c779a3 (die von meinem Testsystem 0xe015dfed und mein Produktivsystem hat 0xe173b78d).

Die Inklusion beginnt damit das der Controller auf 40k ein Explorer Frame verschickt und dann auf 9k6 noch eine Nachricht.

Dann scheint der Taster seinen NIF zu schicken, allerdings mit einer anderen Home-ID, der Controller antwortet dann aber mit DIESER Home-ID, schickt aber die "richtige" HomeID zurück. Ab da ist dann alles mit der richtigen Home-ID.

Hatte bisher nicht drüber nachgedacht und bin eigentlich davon ausgegangen das die Node die Home-ID nutzt in den vorher empfangenen Nachrichten ist, wenn man drüber nachdenkt kann es aber mehrere Netze geben und die Node kann nicht wissen welches Netz gerade für die Inklusion bereit ist.

Man lernt immer wieder mal was dazu ,-)
Im Log kann man dann auch schön sehen das danach außer den ACK nur noch einmal ein NOP (0x00) mit 9k6 übertragen wird und die Kommunikation danach mit 100k weitergeht.

2017.06.02 22:32:40.406 5: mCUL d2c779a3 S:01 F:05 f:0 SN:4 L:16 T:ff  E:2000fa4000000000 P:01220100 C:61
2017.06.02 22:32:40.406 5:    F: singleCast explorer
2017.06.02 22:32:42.226 5: z9.6 d2c779a3 S:01 F:01 f:0 SN:4 L:0d T:ff P:010801 C:ce
2017.06.02 22:32:42.226 5:    F: singleCast
2017.06.02 22:32:43.049 5: z9.6 e035a20e S:00 F:01 f:0 SN:1 L:22 T:ff P:0101539c0101065e858e705b595586725a73809f846cef26 C:03
2017.06.02 22:32:43.049 5:    F: singleCast
2017.06.02 22:32:43.095 5: z9.6 e035a20e S:01 F:41 f:0 SN:5 L:11 T:00 P:010303d2c779a3 C:1c
2017.06.02 22:32:43.095 5:    F: singleCast ackReq
2017.06.02 22:32:43.119 5: z9.6 e035a20e S:00 F:03 f:0 SN:5 L:0a T:01 P: C:8b
2017.06.02 22:32:43.119 5:    F: ack
2017.06.02 22:32:43.147 5: z9.6 d2c779a3 S:01 F:41 f:0 SN:6 L:0b T:03 P:00 C:7e
2017.06.02 22:32:43.147 5:    F: singleCast ackReq
2017.06.02 22:32:43.175 5: z9.6 d2c779a3 S:03 F:03 f:0 SN:6 L:0a T:01 P: C:3d
2017.06.02 22:32:43.175 5:    F: ack
2017.06.02 22:32:43.237 5: z100k d2c779a3 S:01 F:41 f:0 SN:7 L:11 T:03 P:010401010003 C:33d1
2017.06.02 22:32:43.237 5:    F: singleCast ackReq
2017.06.02 22:32:43.244 5: z100k d2c779a3 S:03 F:03 f:0 SN:7 L:0b T:01 P: C:d194
2017.06.02 22:32:43.244 5:    F: ack
2017.06.02 22:32:43.255 5: z100k d2c779a3 S:03 F:41 f:0 SN:2 L:0f T:01 P:01186006 C:8ba4
2017.06.02 22:32:43.255 5:    F: singleCast ackReq
2017.06.02 22:32:43.262 5: z100k d2c779a3 S:01 F:03 f:0 SN:2 L:0b T:03 P: C:5ea5
2017.06.02 22:32:43.262 5:    F: ack
2017.06.02 22:32:43.270 5: z100k d2c779a3 S:03 F:41 f:0 SN:3 L:0e T:01 P:010700 C:b0d5
2017.06.02 22:32:43.270 5:    F: singleCast ackReq
2017.06.02 22:32:43.277 5: z100k d2c779a3 S:01 F:03 f:0 SN:3 L:0b T:03 P: C:6995
2017.06.02 22:32:43.277 5:    F: ack
2017.06.02 22:32:43.286 5: z100k d2c779a3 S:01 F:41 f:0 SN:8 L:0d T:03 P:0105 C:2b0c
2017.06.02 22:32:43.286 5:    F: singleCast ackReq
2017.06.02 22:32:43.290 5: z100k d2c779a3 S:03 F:03 f:0 SN:8 L:0b T:01 P: C:fda5
2017.06.02 22:32:43.290 5:    F: ack
2017.06.02 22:32:43.302 5: z100k d2c779a3 S:03 F:41 f:0 SN:4 L:0f T:01 P:01060101 C:3a1f
2017.06.02 22:32:43.302 5:    F: singleCast ackReq
2017.06.02 22:32:43.307 5: z100k d2c779a3 S:01 F:03 f:0 SN:4 L:0b T:03 P: C:ec05
2017.06.02 22:32:43.307 5:    F: ack
...


Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

rudolfkoenig

Bei meinen Experimenten mit ZWCUL wurde bisher fuer solche Zwecke homeId 00000000 und nodeId 00 verwendet.

Ich glaube in deinem Fall eher an einem Bug: das Geraet hat seine alte homeId nicht ganz vergessen. Passt leider nicht zu dieser Theorie, dass der ZWave-Dongle trotzdem reagiert. Mit ZWCUL im "normalen" Modus (also nicht monitor) wuerde das Pairing nicht klappen, da ZWCUL dann nur auf 00000000 und die eigene homeId hoert. Seufz.

A.Harrenberg

Hallo Rudi,

das war keine meiner "alten/anderen" Home-IDs (die hatte ich deswegen extra dazugeschrieben).

Das Gerät scheint sich eine zufällige Home-ID auszudenken:
2017.06.03 15:34:37.711 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK learnReady

2017.06.03 15:34:37.770 5: mCUL e015dfed S:01 F:05 f:0 SN:a L:16 T:ff  E:2000fa3109000000 P:01220000 C:1e
2017.06.03 15:34:37.770 5:    F: singleCast explorer
2017.06.03 15:34:37.830 5: mCUL e015dfed S:01 F:05 f:0 SN:a L:16 T:ff  E:2000fa3117000000 P:01220000 C:00
2017.06.03 15:34:37.830 5:    F: singleCast explorer
2017.06.03 15:34:39.527 5: z9.6 e015dfed S:01 F:01 f:0 SN:8 L:0d T:ff P:010801 C:ca
2017.06.03 15:34:39.527 5:    F: singleCast
2017.06.03 15:34:39.945 5: z9.6 c8aa6638 S:00 F:01 f:0 SN:1 L:22 T:ff P:0101539c0101065e858e705b595586725a73809f846cef26 C:46
2017.06.03 15:34:39.945 5:    F: singleCast
2017.06.03 15:34:39.965 4: ZWDongle_Read ZWDongle_0: rcvd 004a04020000 (request ZW_ADD_NODE_TO_NETWORK), sending ACK
2017.06.03 15:34:39.965 5: SW: 06
2017.06.03 15:34:39.966 4: CMD:ZW_ADD_NODE_TO_NETWORK ID:02 ARG:0000 CB:04
2017.06.03 15:34:39.967 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK nodeFound
2017.06.03 15:34:39.990 5: z9.6 c8aa6638 S:01 F:41 f:0 SN:9 L:11 T:00 P:01036fe015dfed C:31
2017.06.03 15:34:39.990 5:    F: singleCast ackReq
2017.06.03 15:34:40.019 5: z9.6 c8aa6638 S:00 F:03 f:0 SN:9 L:0a T:01 P: C:c2
2017.06.03 15:34:40.019 5:    F: ack
2017.06.03 15:34:40.047 5: z9.6 e015dfed S:01 F:41 f:0 SN:a L:0b T:6f P:00 C:16
2017.06.03 15:34:40.047 5:    F: singleCast ackReq
2017.06.03 15:34:40.074 5: z9.6 e015dfed S:6f F:03 f:0 SN:a L:0a T:01 P: C:55
2017.06.03 15:34:40.074 5:    F: ack
2017.06.03 15:34:40.288 5: z100k e015dfed S:01 F:41 f:0 SN:b L:1e T:6f P:01040e81014000000000800100000040010003 C:9b13
2017.06.03 15:34:40.288 5:    F: singleCast ackReq
2017.06.03 15:34:40.288 5: z100k e015dfed S:6f F:03 f:0 SN:b L:0b T:01 P: C:33bd
2017.06.03 15:34:40.288 5:    F: ack

Ich habe das Ding jetzt noch mal an meinem Testsystem inkludiert und dabei hat es 0xc8aa6638 als Home-ID genutzt. Ich denke nicht das es sich dabei um einen Bug handelt, das müsste man noch mal mit ein paar weiteren Geräte austesten, vor allen Dingen aber auch neueren Geräte mit einem aktuellen SDK.

Dann sollten wir ZWCul bei Gelegenheit mal dahin erweitern das es damit auch zurecht kommt. Dürfte aber eine niedrige Prio haben, solange wir nicht alle drei Datenraten zeitgleich hinbekommen und jemand einen CUL zu mehr als zum sniffen/Debuggen einsetzen will.

Hier bin ich zwar schon etwas weitergekommen, habe aber Bedenken das diese Lösung sich praktikabel realisieren lässt, da die Erkennungsrate einer Übertragung, wenn das Ding in der Mitte zwischen den beiden Frequenzen lauscht, doch recht fragil ist...
Selbst im Nahfeld geht das RSSI da nur 10-15 dB aus dem Rauschteppich raus, die Schwelle so einzustellen das dann ein GDO Pin aktiv wird ohne Pakete zu verpassen und übermäßig "Fehlalarm" zu geben ist nahezu unmöglich.

Ich warte aber noch auf ein kleines Interface (so ein mini-SDK Nachbau) das man mit dem RF-Studio Programm steuern kann, dann kann ich hoffentlich etwas schneller probieren als jetzt. Momentan muss ich das mit dem LogicAnalyser auf dem SPI aufzeichnen, als CSV exportieren, in Excel konvertieren und einige Berechnungen machen und kann mir das dann ansehen. Die "Turn-around" Zeiten davon sind nicht besonders hoch...

Gruß,
Andreas.



FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

eisler


Hallo,

aktuelle FHEM Version, CUL Version: V 1.67

beim "addNode on" bekomme ich folgende Meldung:

2018.03.29 16:44:18 4 : ZWCUL set ZWCUL_1 addNode on
2018.03.29 16:44:18 3 : ZWCUL going to assigning new node id 02
2018.03.29 16:44:18 5 : SW: zm9
2018-03-29 16:44:18 ZWCUL ZWCUL_1 addNode on
2018.03.29 16:44:18 5 : ZWCUL_1: dispatch ? (zm9 is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
2018-03-29 16:44:18 ZWCUL ZWCUL_1 UNKNOWNCODE ? (zm9 is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
2018.03.29 16:44:18 3 : ZWCUL_1: Unknown code ? (zm9 is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z, help me!
2018.03.29 16:44:18 1 : ERROR: Unknown packet ? (zm9 is unknown) use one of a b b c e f g h i k k l l m m n r t t u u v w x x y z


Woher kommt das "zm9" ?

Grüße
Stephan

rudolfkoenig

Ein ZWCUL Benutzer. Staun :)

zm9 bedeutet Monitoring auf 9600 Baud, und kommt vom ZWCUL.pm.
Und die Fehlermeldung kommt, weil dein Firmware ZWave nicht kennt.
Und: bitte kein addNode mit monitoring, ist nicht unterstuetzt. Entweder Monitoring, oder "Normalbetrieb" mit addNode, etc.

eisler

ok.

ich dachte CUL Firmware V 1.67 kann ZWave zusammen mit dem ZWCUL FHEM Modul.
Wie komme ich denn zu dem monitoring? Habe ich mit

define ZWCUL_1 ZWCUL /dev/ttyACM0@9600 12345678 01

keinen "Normalbetrieb"?

Grüße
Stephan


rudolfkoenig

Zitatich dachte CUL Firmware V 1.67 kann ZWave zusammen mit dem ZWCUL FHEM Modul.
Im Prinzip schon, aber ZWave ist nur in der CUL_V3_ZWAVE und CUL_V4 Variante enthalten. Siehe culfw/Devices/CUL/board.h

ZitatWie komme ich denn zu dem monitoring?
HomeId muss 00000000 sein.
Sorry, meine vorherige Aussage ist falsch: bei addNode wird auch im Normalmode auf zm9 geschaltet, da die Alternative (zr) nach dem HomeId filtert, und das kennt das Geraet, was inkludiert werden soll, erst spaeter.

eisler

CUL Version 3.4 mit CUL_V3_ZWAVE.hex geflasht.

Test mit AEOTEC Door/Window Sensor 6
Der Sensor sieht aus wie wenn er angelernt wurde tauch aber im FHEM nicht auf.

Grüße
Stephan


2018.04.03 10:14:34 3: Setting ZWCUL_1 serial parameters to 9600,8,N,1
2018.04.03 10:14:34 4: ZWCUL_ReadAnswer arg:Clear regexp:wontmatch
2018.04.03 10:14:34 5: ZWCUL_ReadAnswer: select timeout
2018.04.03 10:14:34 5: SW: V
2018.04.03 10:14:34 4: ZWCUL_ReadAnswer arg:Version regexp:^V
2018.04.03 10:14:34 4: ZWCUL_ReadAnswer for Version: V 1.67 CUL868
2018.04.03 10:14:34 5: SW: zi8888888801
2018.04.03 10:14:34 5: SW: zr4
2018.04.03 10:14:34 1: /dev/ttyACM0 reappeared (ZWCUL_1)
2018.04.03 10:14:54 4: ZWCUL set ZWCUL_1 addNode on
2018.04.03 10:14:54 3: ZWCUL going to assigning new node id 02
2018.04.03 10:14:54 5: SW: zm9
2018.04.03 10:14:55 5: ZWCUL_1 ca89f3b0 S:0d F:01 f:0 SN:d L:14 T:01 P:32022134000000000000 C:ce
2018.04.03 10:14:55 5:    F: singleCast
2018.04.03 10:14:55 5: ZWCUL_1: dispatch 00040d0d0a32022134000000000000
2018.04.03 10:14:56 4: CMD:APPLICATION_COMMAND_HANDLER ID:0d ARG:0a32022134000000000000 CB:0d
2018.04.03 10:14:56 4: ZWave: unknown message 00040d0d0a32022134000000000000 for ID 0d
2018.04.03 10:14:58 5: ZWCUL_1 d0e1bd2e S:00 F:01 f:0 SN:1 L:1f T:ff P:0101539c0107015e308084708559718672737a5aef C:8a
2018.04.03 10:14:58 5:    F: singleCast
2018.04.03 10:14:58 5: ZWCUL_Write 88888888 0013000801030288888888####
2018.04.03 10:14:58 5: SW: zs88888888014101110001030288888888af
2018.04.03 10:14:59 5: ZWCUL_1 d0e1bd2e S:00 F:03 f:0 SN:1 L:0a T:01 P: C:54
2018.04.03 10:14:59 5:    F: ack
2018.04.03 10:14:59 5: SW: zr4
2018.04.03 10:14:59 5: ZWCUL_1: dispatch 004a000302####07##5e308084708559718672737a5aef
2018.04.03 10:14:59 3: ZWCUL_1: Unknown code 004a000302####07##5e308084708559718672737a5aef, help me!
2018.04.03 10:14:59 5: ZWCUL_1 fw-resend nr 2
2018.04.03 10:14:59 5: ZWCUL_1 fw-resend nr 3

rudolfkoenig

Danke fuer den Hinweis, daran sieht man, dass ich seit zwei Jahren nicht mehr ernsthaft mit ZWCUL gearbeitet habe, und offensichtlich auch sonst keiner ZWCUL verwendet. Bei der Anpassung in ZWave.pm vor einem Jahr wegen STACKABLE habe ich die Pruefung der Input-Daten verschaerft, aber ZWCUL dabei vergessen. Ich habe jetzt ZWCUL nachgezogen, ich hoffe, es klappt besser.

Beta-User

Zitat von: rudolfkoenig am 04 April 2018, 21:26:57
... und offensichtlich auch sonst keiner ZWCUL verwendet. Bei der Anpassung in ZWave.pm vor einem Jahr wegen STACKABLE...
Zur Info: Ich hatte vor einiger Zeit mal den erfolglosen Versuch unternommen, einen 2-fach Fibaro-Switch mit ZWCUL und einem MapleCUN@STACKABLE ans Laufen zu bekommen. Da ich sonst weder ein passendes IO habe noch weitere Z-Wave-Hardware, habe ich das erst mal sein gelassen.

Wenn Interesse besteht, kann ich gerne den Tester für ZWCUL und STACKABLE machen, in jedem Fall werde ich jetzt nochmal einen Anlauf nehmen, ob das jetzt "einfach so" funktioniert!

Meine Defs:

define MapleStack2 STACKABLE mapleCUN2
define z100k ZWCUL FHEM:DEVIO:MapleStack2:9600 64757433 01
attr z100k dataRate 100k
define MapleStack3 STACKABLE z100k
define z40k ZWCUL FHEM:DEVIO:MapleStack3:9600 00000000 01
attr z40k dataRate 9600

(Transceiver1 ist 868@HM, Transceiver2 mit 433MHz steht auf SlowRF, die Benennung@9600 hat historische Gründe...)

Für Hilfe bin ich selbstredend dankbar, Firmware des Maple ist 1.26.irgendwas, Z-Wave-Unterstützung sollte also vorhanden sein.

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

eisler

anlernen, auch secure funktioniert jetzt mit er neuen ZWCUL Version problemlos.  :)

Grüße
Stephan

rudolfkoenig

Danke fuer das Feedback.
Ich dachte bisher, dass Secure-Inclusion mit ZWCUL nicht geht, weil die Nachrichten beim Secure-Inclusion teilweise laenger als 64Byte lang sind, und das dafuer noetige sliding-window-Verfahren im culfw/zwave noch nicht implementiert ist.

Christian.

Hallo zusammen,

ich würde ZWCUL gern zur Diagnose als Monitor für den Funkverkehr verwenden, habe aber ein Problem bei der Einbindung des Moduls. Beim define erfragt das Modul die Versionsnummer vom CUL (ZWCUL Revision 16552, Zeile 138). Über die Leitung scheint bei mir aber vor dem V (0x56) immer noch ein Byte 0xE0 zu gehen. Deshalb scheitert die Moduldefinition:


2019.01.19 08:04:33 3: Setting zwcul serial parameters to 38400,8,N,1
2019.01.19 08:04:33 4: ZWCUL_ReadAnswer arg:Clear regexp:wontmatch
2019.01.19 08:04:33 5: SW: V
2019.01.19 08:04:33 4: ZWCUL_ReadAnswer arg:Version regexp:^V
2019.01.19 08:04:34 5: SW: V
2019.01.19 08:04:34 4: ZWCUL_ReadAnswer arg:Version regexp:^V
2019.01.19 08:04:35 5: SW: V
2019.01.19 08:04:35 4: ZWCUL_ReadAnswer arg:Version regexp:^V
2019.01.19 08:04:35 5: zwcul: dispatch ? (ÓV is unknown) Use one of A B C E e F f G h i K k l M m R T t U V W X x Y Z z


Die Anbindung des Arduinos über das Modul CUL (anstatt ZWCUL) funktioniert. Wenn ich manuell per Terminal ein V sende, bekomme ich die Versionsnummer als Antwort:
V 1.67 nanoCUL868
Ich vermute deshalb das Problem innerhalb des Perl-Codes, möglicherweise in ZWCUL.

Die culfw-Version ist 1.67. Ich habe zwei unterschiedliche Arduinos getestet, den USB-Port gewechselt, es unter Windows und Linux probiert und neben der aktuellen FHEM-Version auch das Release 5.9 und 5.8 probiert. Das Verhalten bleibt dabei immer unverändert. Die einzige Konstante ist noch die PC-Hardware.

Ist ZWCUL in der aktuellen Version grundsätzlich funktionsfähig? Hat jemand eine Idee, woran es liegen könnte?
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

rudolfkoenig

ZitatIst ZWCUL in der aktuellen Version grundsätzlich funktionsfähig?
ZWCUL habe ich seit laengerem nicht angefasst, es spricht aber nichts dagegen, dass es funktioniert.
Wenn es "neue" Probleme gibt, dann definitiv nicht an dieser Stelle.
Versuch mal das Geraet als CUL zu definieren, dieses Modul wird aktuell tausendfach eingesetzt.
Ich tippe auf eine Hardware (nanoCUL?) Besonderheit.

Christian.

Danke für die schnelle Antwort.

Ich habe die Lösung gefunden: Der Timeout in Zeile 129
$hash->{RA_Timeout} = 0.5; # Clear the pipe
ist für mein System zu niedrig. Ab einem Wert von 1.5 gibt es keine Kommunikationsprobleme bei der Moduldefinition mehr.

Da ich ZWCUL nur einmalig provisorisch einbinden möchte, bin ich schon damit zufrieden, den Wert manuell im ZWCUL-Code anzupassen. Ich frage mich allerdings schon, was es mit dem Timeout auf sich hat, in welcher Weise mein System speziell ist und ob der Wert konfigurierbar sein sollte...
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee