Author Topic: Aeon Z-Stick (and compatible) Z-Wave Driver Development  (Read 25484 times)

Jonathan B

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
Re: Aeon Z-Stick (and compatible) Z-Wave Driver Development
« Reply #30 on: April 08, 2012, 07:18:18 am »
Great news John.  I agree t would be faster for me to implement the interface as I've got familiarity with my source. I'm sure I can find an evening open to do the basic work. Why not send me the source so I can make sure it builds and then I can send it back.

John Hughes

  • Administrator
  • Hero Member
  • *****
  • Posts: 2853
    • View Profile
    • Codecore Technologies
Re: Aeon Z-Stick (and compatible) Z-Wave Driver Development
« Reply #31 on: April 08, 2012, 03:15:51 pm »
Sounds good.  I'll try to clean up the source code a little... The ViziaRF driver was the very first hardware driver for the J9 Automation Engine and a lot has changed since then so it has been reworked several times. Also most zwave implementations I have seen encapsulate each zwave command class into a separate object oriented class. Because of the vizia rf serial controller abstraction and because it only has built in commands for controlling lights, Elve's zwave implementation is fairly flat (not object oriented) so you will see a huge switch statement for processing reports and less encapsulation. Now that it supports more than just lights the "flatness" seems a little dated but it works just as well. :)

The newer version of the ViziaRF serial controller supports sending any Z-Wave message with secure encrypted (per the protocol docs).  This is used by locks. Do you know how this is implemented in ZWave and if you will be able to support it?

How should wake and hail (and similar) reports be handled? I have never have to deal with them but I noticed your driver might be? When I manually turn on a light switch the viziarf serial controller module always reports the new light level (but I also see a hail report). I'm not sure if the controller module is automatically requesting the light level or if the switch is actually reporting both automatically.  The reason I bring this up is while the ReceivedZWaveCommand event processes incoming reports it does not do anything with a hail command. Are there any other commands/reports that you can think of that would also likely be in this situation?
« Last Edit: April 08, 2012, 03:27:20 pm by John Hughes »
John Hughes
Codecore Technologies

John Hughes

  • Administrator
  • Hero Member
  • *****
  • Posts: 2853
    • View Profile
    • Codecore Technologies
Re: Aeon Z-Stick (and compatible) Z-Wave Driver Development
« Reply #32 on: April 09, 2012, 05:28:59 pm »
Jonathan,

I send you the package to you via email.

John Hughes
Codecore Technologies

Jonathan B

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
Re: Aeon Z-Stick (and compatible) Z-Wave Driver Development
« Reply #33 on: April 10, 2012, 10:20:53 am »
The newer version of the ViziaRF serial controller supports sending any Z-Wave message with secure encrypted (per the protocol docs).  This is used by locks. Do you know how this is implemented in ZWave and if you will be able to support it?

How should wake and hail (and similar) reports be handled? I have never have to deal with them but I noticed your driver might be? When I manually turn on a light switch the viziarf serial controller module always reports the new light level (but I also see a hail report). I'm not sure if the controller module is automatically requesting the light level or if the switch is actually reporting both automatically.  The reason I bring this up is while the ReceivedZWaveCommand event processes incoming reports it does not do anything with a hail command. Are there any other commands/reports that you can think of that would also likely be in this situation?

Right now I've not found the details on how to make the secure encrypted protocol work with the native binary interface. I keep hoping someone will figure it out and update OpenZwave with it. Maybe together we might figure this out too.

The reason you see both a level AND a HAIL is for backwards compatibility. Older devices would just send a "HAIL" and the driver would need to go ask for the level. Vizia devices report their level automagically but also send a HAIL command too which is why your driver works fine without dealing with it. I don't think there are many devices out there that use HAIL actually. It seems like you either poll them or they are Vizia devices which announce their level.

The other area that I had coded up was support for battery devices. These devices sleep and wake at predetermined times. The only device I had for testing this with was a ZWave motion detector. If you haven't already dealt with these, I can tell you what I've learned about how to communicate with them. The big thing is that when they wake up they contact the controller and the controller MUST tell them to go back to sleep (after sending any queued up commands) otherwise they will keep the radio on and run down the batteries! :-)

John Hughes

  • Administrator
  • Hero Member
  • *****
  • Posts: 2853
    • View Profile
    • Codecore Technologies
Re: Aeon Z-Stick (and compatible) Z-Wave Driver Development
« Reply #34 on: April 10, 2012, 10:38:57 am »
Right now I've not found the details on how to make the secure encrypted protocol work with the native binary interface. I keep hoping someone will figure it out and update OpenZwave with it. Maybe together we might figure this out too.
I found this recent post that repeats what you just said... just for future reference.
http://groups.google.com/group/openzwave/browse_thread/thread/d89e7f0390193042/e9bd8293e767d8a0?show_docid=e9bd8293e767d8a0


Quote
The reason you see both a level AND a HAIL is for backwards compatibility. Older devices would just send a "HAIL" and the driver would need to go ask for the level. Vizia devices report their level automagically but also send a HAIL command too which is why your driver works fine without dealing with it. I don't think there are many devices out there that use HAIL actually. It seems like you either poll them or they are Vizia devices which announce their level.
The driver does poll nodes so we may be fine.

Quote
The other area that I had coded up was support for battery devices. These devices sleep and wake at predetermined times. The only device I had for testing this with was a ZWave motion detector. If you haven't already dealt with these, I can tell you what I've learned about how to communicate with them. The big thing is that when they wake up they contact the controller and the controller MUST tell them to go back to sleep (after sending any queued up commands) otherwise they will keep the radio on and run down the batteries! :-)
That is interesting. I'm not sure the ViziaRF serial controller handles any of the wake/sleep automatically or if it needs to be done manually. I don't recall seeing anything about that in the ViziaRF serial protocol documentation.


John Hughes
Codecore Technologies

John Hughes

  • Administrator
  • Hero Member
  • *****
  • Posts: 2853
    • View Profile
    • Codecore Technologies
Re: Aeon Z-Stick (and compatible) Z-Wave Driver Development
« Reply #35 on: April 30, 2012, 10:43:49 pm »
Jonathan,

Have you had a chance to take a look at the package? Do you have any questions or comments?

Thanks,
John
John Hughes
Codecore Technologies

crossbred900

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Aeon Z-Stick (and compatible) Z-Wave Driver Development
« Reply #36 on: May 29, 2013, 10:15:01 am »
Has any progress been made on this? Being able to use my z-stick will be a deciding factor in whether I buy a license or not.