openhab / org.openhab.binding.zwave

openHAB binding for Z-Wave
Eclipse Public License 2.0
171 stars 202 forks source link

Support for bridge controllers #1247

Open pizerg opened 5 years ago

pizerg commented 5 years ago

Since new Z-Wave 700 series controllers only come with BRIDGE firmware and not STATIC, it would be good to add support for them (and maybe for the new S2 security and Smart Start features too).

cdjackson commented 5 years ago

Clearly this is a sticky area since Silabs are no longer supporting this API at all and have stated that it is not possible to develop or certify any products that use this. It's difficult based on this to know where to take this as documentation is no longer available, and certification is rejected.

pizerg commented 5 years ago

I contacted sigma about the issue and they confirmed that Z/IP Gateway software must be used from now on (that is if the software needs to be certified).

They provide (free access) to the source code which also includes pre compiled binaries for linux and the raspberry pi / beaglebone boards. The only problem, as usual, is that the documentation is scattered through several files and some times incomplete or outdated. They do provide a python and c sample clients (https://github.com/Z-WavePublic/libzwaveip) and the PC Controller app also supports Z/IP interface (and the source is available as well).

Haven't thorougly tested / explored it yet (but I will), it should include S2 + Smart Start out of the box and probably simplify the Z-Wave client code / binding as Z/IP software is supposed to be taking care of several things.

cdjackson commented 5 years ago

Yes, I’m fully aware of all of this. However the binding will require a major rewrite to use Z/IP (as I’ve said - I just can’t remember if it was in this issue or another one). It’s very messy to use the Z/IP software and I think it’s a major step backwards to the “bad old days” of ZWave being a closed protocol. I’ve unfortunately not had any success in convincing Silabs of this though :(

On 31 Oct 2019, at 18:18, pizerg notifications@github.com wrote:

I contacted sigma about the issue and they confirmed that Z/IP Gateway software must be used from now on (that is if the software needs to be certified).

They provide (free access) to the source code which also includes pre compiled binaries for linux and the raspberry pi / beaglebone boards. The only problem, as usual, is that the documentation is scattered through several files and some times incomplete or outdated. They do provide a python and c sample clients (https://github.com/Z-WavePublic/libzwaveip https://github.com/Z-WavePublic/libzwaveip) and the PC Controller app also supports Z/IP interface (and the source is available as well).

Haven't thorougly tested / explored it yet (but I will), it should include S2 + Smart Start out of the box and probably simplify the Z-Wave client code / binding as Z/IP software is supposed to be taking care of several things.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/openhab/org.openhab.binding.zwave/issues/1247?email_source=notifications&email_token=AAH6IQ4JTRWUC3GQWSN4PGLQRKPGLA5CNFSM4JAZJ5U2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECXBLNY#issuecomment-548279735, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAH6IQZS2SNSY6MTYQ55FA3QRKPGLANCNFSM4JAZJ5UQ.

cdjackson commented 4 years ago

This requirement will be reversed in future so we'll look to support this when the binding is rewritten.

Fishwaldo commented 4 years ago

I've managed to Reverse engineer the Bridge Serial API - Essentially only two major changes as far as I can see: FUNC_ID_SEND_DATA - Change to FUNC_ID_SEND_DATA_BRIDGE and add a Source Node ID to preamble and FUNC_ID_APPLICATION_COMMAND_HANDLER - Change to FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE which just contains the "destination" node ID in the preamble.

You can watch https://github.com/OpenZWave/open-zwave/projects/2 as I push in changes to OZW to support it.

Simple enough really. Thought I'd share with you guys.

Fishwaldo commented 4 years ago

Seems you already have half the work done in #821

cdjackson commented 4 years ago

Thanks. It’s not really about the protocol - I have this working here also. The big push these days (well for the past year or so) is certification and up until the recent announcements that has only been possible with Z/IP so I’ve not progressed this.

On 20 Feb 2020, at 15:22, Justin Hammond notifications@github.com wrote:

Seems you already have half the work done in #821 https://github.com/openhab/org.openhab.binding.zwave/pull/821 — You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/openhab/org.openhab.binding.zwave/issues/1247?email_source=notifications&email_token=AAH6IQ2Y22BWW7OZJLJ6CFDRD2N3DA5CNFSM4JAZJ5U2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMOS6MA#issuecomment-589115184, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAH6IQ5UVYEXQSW6QZKJ5YLRD2N3DANCNFSM4JAZJ5UQ.

Fishwaldo commented 4 years ago

We are pushing on the OZW side on this, as there are sticks hitting the market now with 700 Series controllers and they are bridge firmware only.

Never been about the certification for me - Although SiLabs have upped their cooperation in the last 2 months or so to help me out where they can... with their goal of Certification :)

cdjackson commented 4 years ago

Unfortunately I have to sort out certification so it requires a different approach.

Yes, I saw an email from you on the OZW list about talking with someone at Silabs. My guess is we are talking to the same chap :)

Sent from my iPhone

On 21 Feb 2020, at 03:06, Justin Hammond notifications@github.com wrote:

 We are pushing on the OZW side on this, as there are sticks hitting the market now with 700 Series controllers and they are bridge firmware only.

Never been about the certification for me - Although SiLabs have upped their cooperation in the last 2 months or so to help me out where they can... with their goal of Certification :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

pizerg commented 4 years ago

Hello @cdjackson

I've been following some comments on openhab's forums and here on some open issues and I was wondering if you could clarify some details about the future of ZWave binding.

From what I understood, the binding is being rewritten and it seems that the main objective is certification:

Thanks and have a nice weekend!

cdjackson commented 4 years ago

Z/IP will not be required in future - given that other companies don't support it I believe they can't make this mandatory. There is no way the current binding will get through certification - there are just too many old classes etc.

S2 is not required for certification against 500 series chipsets. My current need is to target a system using the 500 series.

At the moment, there are no guidelines for the new certification program. Clearly it will change a lot, but my last telecon with SiLabs they were still thinking about this, and still thinking about what API they will support. Clearly with the opening of the standard there's going to be a lot of change.

The last I spoke to the guys doing this, it was planned for late summer (slipping a little from "middle of the year"). That was 3 weeks ago, and I suspect that a lot has changed since then.

pizerg commented 4 years ago

Hi thanks for the clarification,

I will contact with Silabs to see if I can get first hand information as it's not in line with what they told us last time.

Regarding 500 series certification, unless something strange happened or they lifted the restriction specially for openhab, S2 is a strict requirement for new certifications (but SmartStart is optional) as can be seen in both, silabs website and in the certification website (not sure if you already have access to this or not).

Source

All new 500 series Z-Wave Plus devices MUST be based on SDK v6.81.03 or newer and implement S2 Security. Only active SDKs published by Silicon Labs can be used for certification of new devices