Creating my own ZWave network: Unterschied zwischen den Versionen
Dl8rds (Diskussion | Beiträge) (→Next Attempt) |
Dl8rds (Diskussion | Beiträge) (→Software) |
||
Zeile 65: | Zeile 65: | ||
</pre> | </pre> | ||
− | pyozw_check -l -d /dev/ttyAMA0 -t 60 | + | The following |
− | ------------------------------------------------------------------------------- | + | pyozw_check -l -d /dev/ttyAMA0 -t 60 |
− | Define options for device /dev/ttyAMA0 | + | gives me: |
− | Start network | + | |
− | Wait for network (60s) | + | ------------------------------------------------------------------------------- |
− | Network is ready | + | Define options for device /dev/ttyAMA0 |
− | ------------------------------------------------------------------------------- | + | Start network |
− | Controller capabilities : set(['primaryController']) | + | Wait for network (60s) |
− | Controller node capabilities : set(['primaryController', 'beaming', 'listening']) | + | Network is ready |
− | Nodes in network : 1 | + | ------------------------------------------------------------------------------- |
− | Driver statistics : {'retries': 0L, 'readCnt': 8L, 'readAborts': 0L, 'routedbusy': 0L, 'ACKCnt': 9L, 'OOFCnt': 0L, 'noack': 0L, 'broadcastWriteCnt': 8L, 'callbacks': 0L, 'writeCnt': 9L, 'badChecksum': 0L, 'nondelivery': 0L, 'CANCnt': 0L, 'NAKCnt': 0L, 'netbusy': 0L, 'SOFCnt': 8L, 'broadcastReadCnt': 0L, 'badroutes': 0L, 'ACKWaiting': 0L, 'dropped': 0L} | + | Controller capabilities : set(['primaryController']) |
− | ------------------------------------------------------------ | + | Controller node capabilities : set(['primaryController', 'beaming', 'listening']) |
− | 1 - Name : ( Location : ) | + | Nodes in network : 1 |
− | + | Driver statistics : {'retries': 0L, 'readCnt': 8L, 'readAborts': 0L, 'routedbusy': 0L, | |
− | + | 'ACKCnt': 9L, 'OOFCnt': 0L, 'noack': 0L, 'broadcastWriteCnt': 8L, 'callbacks': 0L, | |
− | + | 'writeCnt': 9L, 'badChecksum': 0L, 'nondelivery': 0L, 'CANCnt': 0L, 'NAKCnt': 0L, | |
− | + | 'netbusy': 0L, 'SOFCnt': 8L, 'broadcastReadCnt': 0L, 'badroutes': 0L, 'ACKWaiting': 0L, | |
− | + | 'dropped': 0L} | |
− | + | ------------------------------------------------------------ | |
− | + | 1 - Name : ( Location : ) | |
− | + | 1 - Ready : True / Awake : True / Failed : False | |
+ | 1 - Manufacturer : Z-Wave.Me ( id : 0x0147 ) | ||
+ | 1 - Product : RaZberry Controller ( id : 0x0003 / type : 0x0002 ) | ||
+ | 1 - Version : 4 / Secured : False / Zwave+ : False | ||
+ | 1 - Command classes : set(['COMMAND_CLASS_NO_OPERATION', 'COMMAND_CLASS_BASIC']) | ||
+ | 1 - Capabilities : set(['primaryController', 'beaming', 'listening']) | ||
+ | 1 - Neigbors : set([]) / Power level : None | ||
+ | 1 - Is sleeping : False / Can wake-up : False / Battery level : None |
Version vom 7. August 2018, 19:49 Uhr
1 Background
I have been experimenting with ZWave devices a long time. There are two ZWave controllers I have cast my eye on:
- The Vera Lite http://getvera.com/controllers/veralite/
- VERA PLUS Smart Home Gateway: https://zwave-smarthome.de/shop/vera-plus-smart-home-gateway/
The prior was using a very weak CPU, was very slow, so I decided against it. The latter, oh yes, It got fucked up. And I bricked it, more or less.
The reason was that the device wanted to install an upgrade imge. As always, upgrades are good. So I triggered the upgrade. Unfortunately the upgrade (legacy, standard Vera firmware from the vendor, directly, no tinkering) was corrupt, returning the Vera into a state where it would not react any more. No more. Period. Not even a reset was possible. Nothing.
Whenever I am getting angry, I want to find out if there is a way in. Maybe a serial interface?
So if you take a Dremel like me and try to open the case, it's quite difficult... You easily cut the case in a way so that you won't be able to reassemble it. :-)
2 Next Attempt
Since I got really angry about having a useless Vera, I decided to build my own.
Initially I wanted to use the round hole for a radar detection unit, but since the optical image motion detection was good enough, I decided to use it for the ZWave pairing button.
2.1 Software
I am using a standard Respberry Pi Raspbian GNU/Linux 9. And I have intalles OpenZWave according to the following instruction:
https://github.com/OpenZWave/python-openzwave
The following
pyozw_check -i -d /dev/ttyAMA0
gives me:
2018-08-07 16:49:29.812 Always, *************************************************************************** 2018-08-07 16:49:29.812 Always, ********************* Cumulative Network Statistics ********************* 2018-08-07 16:49:29.812 Always, *** General 2018-08-07 16:49:29.812 Always, Driver run time: . . . 0 days, 0 hours, 0 minutes 2018-08-07 16:49:29.812 Always, Frames processed: . . . . . . . . . . . . . . . . . . . . 8 2018-08-07 16:49:29.812 Always, Total messages successfully received: . . . . . . . . . . 8 2018-08-07 16:49:29.813 Always, Total Messages successfully sent: . . . . . . . . . . . . 9 2018-08-07 16:49:29.813 Always, ACKs received from controller: . . . . . . . . . . . . . 9 2018-08-07 16:49:29.813 Always, *** Errors 2018-08-07 16:49:29.813 Always, Unsolicited messages received while waiting for ACK: . . 0 2018-08-07 16:49:29.813 Always, Reads aborted due to timeouts: . . . . . . . . . . . . . 0 2018-08-07 16:49:29.813 Always, Bad checksum errors: . . . . . . . . . . . . . . . . . . 0 2018-08-07 16:49:29.814 Always, CANs received from controller: . . . . . . . . . . . . . 0 2018-08-07 16:49:29.814 Always, NAKs received from controller: . . . . . . . . . . . . . 0 2018-08-07 16:49:29.814 Always, Out of frame data flow errors: . . . . . . . . . . . . . 0 2018-08-07 16:49:29.814 Always, Messages retransmitted: . . . . . . . . . . . . . . . . . 0 2018-08-07 16:49:29.814 Always, Messages dropped and not delivered: . . . . . . . . . . . 0 2018-08-07 16:49:29.814 Always, ***************************************************************************
The following
pyozw_check -l -d /dev/ttyAMA0 -t 60
gives me:
------------------------------------------------------------------------------- Define options for device /dev/ttyAMA0 Start network Wait for network (60s) Network is ready ------------------------------------------------------------------------------- Controller capabilities : set(['primaryController']) Controller node capabilities : set(['primaryController', 'beaming', 'listening']) Nodes in network : 1 Driver statistics : {'retries': 0L, 'readCnt': 8L, 'readAborts': 0L, 'routedbusy': 0L, 'ACKCnt': 9L, 'OOFCnt': 0L, 'noack': 0L, 'broadcastWriteCnt': 8L, 'callbacks': 0L, 'writeCnt': 9L, 'badChecksum': 0L, 'nondelivery': 0L, 'CANCnt': 0L, 'NAKCnt': 0L, 'netbusy': 0L, 'SOFCnt': 8L, 'broadcastReadCnt': 0L, 'badroutes': 0L, 'ACKWaiting': 0L, 'dropped': 0L} ------------------------------------------------------------ 1 - Name : ( Location : ) 1 - Ready : True / Awake : True / Failed : False 1 - Manufacturer : Z-Wave.Me ( id : 0x0147 ) 1 - Product : RaZberry Controller ( id : 0x0003 / type : 0x0002 ) 1 - Version : 4 / Secured : False / Zwave+ : False 1 - Command classes : set(['COMMAND_CLASS_NO_OPERATION', 'COMMAND_CLASS_BASIC']) 1 - Capabilities : set(['primaryController', 'beaming', 'listening']) 1 - Neigbors : set([]) / Power level : None 1 - Is sleeping : False / Can wake-up : False / Battery level : None