openhab / openhab1-addons

Add-ons for openHAB 1.x
Eclipse Public License 2.0
3.43k stars 1.7k forks source link

Implement ZWave Binding #265

Closed openhab-bot closed 10 years ago

openhab-bot commented 10 years ago

From bmcro...@gmail.com on April 29, 2013 14:25:14

General ZWave Support

Implement binding for ZWave Controller/Device/Network support.

Original issue: http://code.google.com/p/openhab/issues/detail?id=265

openhab-bot commented 10 years ago

From bmcro...@gmail.com on April 29, 2013 05:29:52

I will post the branch location soon.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on May 02, 2013 15:26:56

Here is what my config items file looks like:

Group gZwaveConfig (All) Group gZwaveNode01 "Node 01" (gZwaveConfig) Group gZwaveNode02 "Node 02" (gZwaveConfig) Group gZwaveNode03 "Node 03" (gZwaveConfig) Group gZwaveNode04 "Node 04" (gZwaveConfig) Group gZwaveNode05 "Node 05" (gZwaveConfig) Group gZwaveNode06 "Node 06" (gZwaveConfig) Group gZwaveNode07 "Node 07" (gZwaveConfig)

String ZwaveNode02HomeID "Home ID [%s]" (gZwaveNode02) {zwave="2:homeid"} String ZwaveNode02NetworkID "Network ID [%s]" (gZwaveNode02) {zwave="2:nodeid"} String ZwaveNode02LastUpdated "Last Updated [%s]" (gZwaveNode02) {zwave="2:lastupdate"} String ZwaveNode02Listening "Listening [%s]" (gZwaveNode02) {zwave="2:listening"} String ZwaveNode02Routing "Routing [%s]" (gZwaveNode02) {zwave="2:routing"} String ZwaveNode02Version "Version [%s]" (gZwaveNode02) {zwave="2:version"} String ZwaveNode02BasicCommandClass "Basic Command Class [%s]" (gZwaveNode02) {zwave="2:basic"} String ZwaveNode02GenericCommandClass "Generic Command Class [%s]" (gZwaveNode02) {zwave="2:generic"} String ZwaveNode02SpcificCommandClass "Specific Command Class [%s]" (gZwaveNode02) {zwave="2:specific"}

And then my command items file:

/Lights / Switch Light_Basement_RecRoom_PictureBox "Picture Box" (Lights_Basement) {zwave="2"} Switch Light_Basement_RecRoom_Overhead "Overhead" (Lights_Basement) {zwave="3"} Switch Light_FirstFloor_Kitchen_Overhead "Kitchen Overhead" (Lights_FirstFloor) {zwave="4"} Switch Light_FirstFloor_Dining_Overhead "Dining Overhead" (Lights_FirstFloor) {zwave="5"} Switch Light_FirstFloor_Entry_Overhead "Entry Overhead" (Lights_FirstFloor) {zwave="6"} Switch Light_Outside_FrontPorch "Front Porch" (Lights_Outside) {zwave="7"}

I can foresee implementing an additional : beyond what is shown for specific updates.

Thoughts?

openhab-bot commented 10 years ago

From kai.openhab on May 05, 2013 11:47:29

Victor, I assign this issue to you to further track the progress as you are involved in this.

Status: Started
Owner: belovic...@gmail.com

openhab-bot commented 10 years ago

From teichsta on May 07, 2013 08:50:09

Summary: Implement ZWave Binding (was: ZWave Support)

openhab-bot commented 10 years ago

From bmcro...@gmail.com on May 17, 2013 16:18:46

Ready for Alpha (or if there is something prior to alpha) testing.

First step is to understand how many nodes you have registered to your zwave controller.

1) Update your openhab.cfg to tell the zwave binding where your zwave controller is connected. Example:

############################### start zwave Binding ######################################### zwave:port=/dev/ttyUSB0 ############################### end zwave Binding #########################################

2) load the attached JAR to your addons folder

3) Once you have the config correct, you will start to see lots of messages at start up. The majority you can ignore. Look for the message like below...

18:56:34.866 INFO o.o.b.z.i.p.ZWaveController[:285]- ------------Number of Nodes Found Registered to ZWave Controller------------ 18:56:34.866 INFO o.o.b.z.i.p.ZWaveController[:286]- # Nodes = 9 18:56:34.866 INFO o.o.b.z.i.p.ZWaveController[:287]- ----------------------------------------------------------------------------

This indicates how many Nodes have been discovered to be connected to your controller you specified above. This is a important point. As you can see, i only have 9 nodes connected (some of which may be sleeping/alive/dead/or other, will get to that in a second).

4) update your items file to include the reporting features of the zwave binding (example of one node reporting all that we know about it is below). Notice that at the moment the only supported item type is string for any of the reporting features. Also, the syntax for reporting is as follows: {zwave=":"}. Where Node id it 1 - # Nodes that you found out from the logs (see above). Few notes: -- I have not mapped the hex values for Manufacturer, Device Type, or Device Type ID yet. But have validated they are discovered correctly. -- Last Updated isn't reliable yet. -- Listening, should normally be true. It indicates if the node is listening on the network. -- Sleeping or Dead. Haven't put the logic in place yet to find out if the node is just sleeping or if its in fact dead or if its just disconnected. -- Routing. All devices should be routing except the controller. -- Command Classes. Are the hex value and label of the command classes discovered during init.

String ZwaveNode02HomeID "Home ID [%s]" (gZwaveNode02) {zwave="2:homeid"} String ZwaveNode02NetworkID "Network ID [%s]" (gZwaveNode02) {zwave="2:nodeid"} String ZwaveNode02Manufacturer "Manufacturer [%s]" (gZwaveNode02) {zwave="2:manufacturer"} String ZwaveNode02DeviceType "Device Type [%s]" (gZwaveNode02) {zwave="2:device_type"} String ZwaveNode02DeviceTypeID "Device Type ID [%s]" (gZwaveNode02) {zwave="2:device_type_id"} String ZwaveNode02LastUpdated "Last Updated [%s]" (gZwaveNode02) {zwave="2:lastupdate"} String ZwaveNode02Listening "Listening? [%s]" (gZwaveNode02) {zwave="2:listening"} String ZwaveNode02SleepingOrDead "Sleeping or Dead? [%s]" (gZwaveNode02) {zwave="2:sleeping_dead"} String ZwaveNode02Routing "Routing [%s]" (gZwaveNode02) {zwave="2:routing"} String ZwaveNode02Version "Version [%s]" (gZwaveNode02) {zwave="2:version"} String ZwaveNode02BasicCommandClass "Basic Command Class [%s]" (gZwaveNode02) {zwave="2:basic"} String ZwaveNode02BasicCommandClassLabel "Basic Command Class Label [%s]" (gZwaveNode02) {zwave="2:basic_label"} String ZwaveNode02GenericCommandClass "Generic Command Class [%s]" (gZwaveNode02) {zwave="2:generic"} String ZwaveNode02GenericCommandClassLabel "Generic Command Class Label [%s]" (gZwaveNode02) {zwave="2:generic_label"} String ZwaveNode02SpcificCommandClass "Specific Command Class [%s]" (gZwaveNode02) {zwave="2:specific"} String ZwaveNode02SpcificCommandClassLabel "Specific Command Class Label [%s]" (gZwaveNode02) {zwave="2:specific_label"}

5) Now that you have all your nodes reporting information you can setup your items file to actually control one of the devices. Currently only Switch and Dimmer Item types are supported. HOWEVER!!!!! The validation of the item type to node device is not complete! :-O SOOOOOO, you need to use the information that was reported out of step number 2 to find out if in fact your device supports either a switch or dimmer.

A dimmer type will have a Generic Command Class reported as a "Multi-Level Switch"; a switch type will have a Generic Command Class reported as a "Binary Switch".

Example of my items file for controlling the zwave devices....

Switch Light_Outside_FrontPorch "Front Porch" (Lights_Outside) {zwave="7"} Dimmer Light_FirstFloor_Kitchen_Overhead_Dimmer "Kitchen Overhead Dimmer [%d %%]" (Lights_FirstFloor) {zwave="4"}

5) Finally, there are some statistics capabilities that allow you to report on how your zwave network is preforming. Again, these are currently only String types. In addition, they will only report information for Node ID 1, the controller. As the controller is the keeper of the network.

String ZwaveStatsSOF "Number Start of Frames[%s]" (gZwaveStats) {zwave="1:sof"} String ZwaveStatsACK "Number of Acknowledgments [%s]" (gZwaveStats) {zwave="1:ack"} String ZwaveStatsCAN "Number of CAN [%s]" (gZwaveStats) {zwave="1:can"} String ZwaveStatsNAK "Number of NAK [%s]" (gZwaveStats) {zwave="1:nak"} String ZwaveStatsOOF "Number of OOF [%s]" (gZwaveStats) {zwave="1:oof"}

Notes: -- Node ID 1 is most always the zwave controller. As such the binding won't discover as much information about it. See below for an example items config for the controller. // Node 01 Data // String ZwaveNode01HomeID "Home ID [%s]" (gZwaveNode01) {zwave="1:homeid"} String ZwaveNode01NetworkID "Network ID [%s]" (gZwaveNode01) {zwave="1:nodeid"} String ZwaveNode01LastUpdated "Last Updated [%s]" (gZwaveNode01) {zwave="1:lastupdate"} String ZwaveNode01Listening "Listening? [%s]" (gZwaveNode01) {zwave="1:listening"} String ZwaveNode01Routing "Routing [%s]" (gZwaveNode01) {zwave="1:routing"} String ZwaveNode01Version "Version [%s]" (gZwaveNode01) {zwave="1:version"} String ZwaveNode01BasicCommandClass "Basic Command Class Label [%s]" (gZwaveNode01) {zwave="1:basic_label"} String ZwaveNode01GenericCommandClass "Generic Command Class Label [%s]" (gZwaveNode01) {zwave="1:generic_label"} String ZwaveNode01SpcificCommandClass "Specific Command Class [%s]" (gZwaveNode01) {zwave="1:specific"} String ZwaveNode01SpcificCommandClassLabel "Specific Command Class Label [%s]" (gZwaveNode01) {zwave="1:specific_label"}

Attachment: Node 02 Config.png org.openhab.binding.zwave_1.2.0.201305171814.jar

openhab-bot commented 10 years ago

From evertva...@gmail.com on May 17, 2013 23:52:12

Brian,

I have 15 devices, when first run most of them are dead or sleeping and non responsive. I switched some lights on and off manually and restarted openhab to get the devices to react. But not all react. I wil diagnose the situation further and post updates here.

Thanks Evert

openhab-bot commented 10 years ago

From bmcro...@gmail.com on May 18, 2013 04:21:39

If you post a clean start up openhab log here I can take a look...

openhab-bot commented 10 years ago

From bmcro...@gmail.com on May 18, 2013 06:15:02

Please find the updated JAR file attached. The polling of the zwave devices was congesting the network too much. Removed it for now.

In order to get the updated status on your devices do the following: 1) Start openhab w/ zwave binding 2) re-cycle all zwave nodes so that openhab requests node state 3) Enjoy! All updates to the node will now be synced to openhab (either manual or through openhab).

the binding will eventually automatically handle the init of the device current state; but doesn't yet.

Also, took out Item Dimmer support. It doesn't seem to be working 100% of the time. You can still use a Switch Item for dimmer nodes.

Attachment: org.openhab.binding.zwave_1.2.0.201305180911.jar

openhab-bot commented 10 years ago

From evertva...@gmail.com on May 20, 2013 01:20:24

Here is my log. it all goes wrong around 10:11:38.090.

I set the serial logging to WARN because it was too verbose. If you need that too, I will enable it for you.

Thanks Brian!

Attachment: openhab-zwave.log

openhab-bot commented 10 years ago

From serca...@gmail.com on May 30, 2013 07:30:15

Hi!

I have been playing with "org.openhab.binding.zwave_1.2.0.201305180911.jar" and a "Fibaro Controlled Switch" and it worked straight away. I can enable/disable the Z-Wave switch with OpenHab now.

The binding seems easy to use. At least for what I tested...

I use Aeon Labs Z-Stick as the controller, with Windows 7. I will be testing it on a Raspberry soon and try to do more complex things.

I now it is still a preliminary version but it looks good!! Great work Victor! I am looking forward to getting the final release. Any hints about the date?

Thanks!

openhab-bot commented 10 years ago

From belovic...@gmail.com on May 30, 2013 13:37:26

Hi,

Not at all, really. Those huge thanks should go to Brian, who picked up my half-working code and made it really alive! (It's allliiiivvvveeee, allliiiiiiiiiiiveeee! :-)

openhab-bot commented 10 years ago

From tlan...@gmail.com on May 30, 2013 13:47:12

Just FYI, I gave this a try on my raspberry pi with the razberry-zwave-daughter board attached a few days ago and was able to control one of my plugi-in dimmer switches (on/off only). Only problem was the switches in openhab being a bit wonky, since the dimmer-switch being a dimmer does not instantly switch from zero to desired brightness but fading smoothly. If necessary I could upload some log of this.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on May 30, 2013 18:12:41

So i have noticed that as well. The issue is the protocol specification around "application update" command class reporting. Not all Binary Switches are required to report this update. BUT all zwave controllers expect it, its the only way (without polling) that we can receive updated about a zwave device.

So what happens is some devices will report this request to the zwave controller (when a state is changed), stating that...hey, you need to update your information about me...something changed. Then we can update the state information. However, without that reporting request from the device...we currently do not update the information.

The only way around this is to implement polling of the devices. This is fine for a small number of devices on the zwave network. But imagine if you had 254 devices on the network that you were polling every x seconds. This would create a unneeded congestion on the network.

I am currently trying to find ways around this, hopefully will have a answer soon.

P.S. Glad to see the beta binding is working for you.

openhab-bot commented 10 years ago

From cfasz...@gmail.com on May 30, 2013 18:22:29

Evert:

Sorry took me so long to look at your log. I have noticed this happens when things get out of sync on the zwave network during start-up. The only way i have found to fix it is to run openzwave to query the network. After that, stop openzwave and restart OH. ozw has some means to clear the network errors that OH does not yet.

Also, i would suggest you attempt to run with just the zwave binding first. Once that is working you can overlay the others you have running.

This is still a very beta binding ;) Thanks for the patients.

openhab-bot commented 10 years ago

From serca...@gmail.com on May 31, 2013 02:02:23

Sorry for the confusion! Thanks to Brian too, then...

I have tried the Z-wave binding on a Raspberry Pi and it also works with Aeon Labs Z-Stick.

It is true that the responsiveness of the binding seems to be a problem. I only have one z-wave device but it sometimes takes a lot of time to get the commands or update the state if externally changed.

I know it is planned but it would be very useful to know if a z-wave device is dead. I have a controlled switch, but if I unplug it, Openhab still thinks it is there.

By the way, my controlled switch has a Power-Meter (in Watts) that may be queried. Is there a way to do it with this binding? I have been able to do it with Z-wave.me but not with this binding. Is my fault or is it unimplemented yet?

Great work Brian and Victor :-)

openhab-bot commented 10 years ago

From bmcro...@gmail.com on May 31, 2013 04:23:17

The sleeping/dead is already implemented.

String ZwaveNode02SleepingOrDead "Sleeping or Dead? [%s]" (gZwaveNode02) {zwave="2:sleeping_dead"}

Above is a example item binding to query the state.

The means to query a Power-Meter (or the command class that supports that) is in place within the code. It is just not implemented full yet to support OH.

openhab-bot commented 10 years ago

From serca...@gmail.com on June 03, 2013 02:48:16

Hi,

I am sorry to report that I tried to use the sleeping/dead feature but it does not seem to work. It always says "False". It does not matter if I unplug the device. I tried several times with both GreenT and Classic IU, but it does not work. It does work with Zwave.me, though, so I am sure the device works fine. My device is a Fibaro Controlled Switch.

I used what you wrote: String ZwaveNode02SleepingOrDead "Sleeping or Dead? [%s]" (gZwaveNode02) {zwave="2:sleeping_dead"}

Thanks!

openhab-bot commented 10 years ago

From bmcro...@gmail.com on June 03, 2013 04:39:45

When you first start OH, is the device plugged in (i.e. able to communicate with your zwave controller)?

It only discovers the state of the devices once, during the init.

openhab-bot commented 10 years ago

From serca...@gmail.com on June 03, 2013 07:27:47

Oh. I see. My device was indeed plugged in when I started OH. If I unplug it right before the start, it works, although it takes more than 5 minutes to get the sleeping_dead state right...

However, I think it makes a lot more sense to detect a device death whenever it may happen, not only at the start. I don't mean instantenously, but OH should know that within a reasonable time. Is this possible?

For instance, I plan to use OH to detect whenever the controlled switch (which will be installed in the fridge socket) is disconnected, in order to detect power cuts on my fridge, warn me and save all the food...

It is only an example, but I think that the detection of the sleeping_dead state at the start is of a very reduced interest. Is there a way to change that?

Thanks for your time, Brian.

openhab-bot commented 10 years ago

From daniel.a...@gmail.com on June 11, 2013 14:23:24

Thanks for the current zwave integration! :-) I'm using org.openhab.binding.zwave_1.2.0.201305180911.jar and doing some tests with Fibaro FGD-211 Universal Dimmer. It works but only as switch. I receive the the following error: "WARN o.o.b.z.i.ZWaveActiveBinding[:241] - Unknown command >DECREASE<"

Is this correct? Since I'm an openhab newbie it's possible that I've a configuration error.

Thanks, Daniel

openhab-bot commented 10 years ago

From bmcro...@gmail.com on June 11, 2013 14:50:41

Hey Daniel:

The binding only supports Switch Items for control. Still working out some bugs to get the rest of the Zwave Types (Dimmers, Sensors, etc) supported.

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on June 21, 2013 20:56:21

Hey Brian - finally got around to taking the plunge and installing my Z-Wave in-wall switch. Your binding worked first time! Added a Switch item with the appropriate ID and I can now switch my lights on and off. Excellent stuff!

One question - if I manually switch the lights on/off at the wall I was expecting the state change to be sent back to openHAB via the ZWave bus and the item would be updated in my openHAB UI. This isn't happening however.

Do I have an issue here or is this as expected? Is this possible or does the ZWave bus not function like this? Other than that I am very happy - looking forward to further advancements!

openhab-bot commented 10 years ago

From gee...@gmail.com on June 23, 2013 02:11:31

I am still getting my head wrapped around Z-Wave, but what I have understood all of the nodes report changes to the controller. It is possible for a node to be activated by another node directly, so it is important for the controller to know what is going on.

The question is, what does the controller do with this information, and how is it linked into OpenHAB. If I were you, I would check out some debug logs about the commands that are being received and see if you are seeing an event which shows your switch state change.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on June 23, 2013 09:26:51

Ben:

The zwave controller is "supposed" to get a ApplicationUpdate request each time a zwave node is changed (i.e. manually triggered). However, for some reason unknown to me yet, I have found that not all zwave devices support this command class.

I will be debugging this today.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on June 23, 2013 09:28:25

All zwave communication is available via the controller and hence the openhab bus. However, we have only enable the necessary processing for Switch items--so far.

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on June 23, 2013 13:40:43

Yep - checking my logs there is no message coming from my device when the switch is manually toggled. So I guess this is a case of the ApplicationUpdate message not being sent. I am using a simple In Wall Micro Switch (non-dimmable).

openhab-bot commented 10 years ago

From bmcro...@gmail.com on June 23, 2013 16:09:28

I updates the code to poll the devices based on a configuration item in your openhab.cfg. I will generate the new jar shortly.

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on July 02, 2013 02:29:07

Hey Brian, I have just installed my second Z-Wave device - this time a Fibaro 2x1.5kW relay (FGS221). The first relay is being handled fine (although still no state update when I manually toggle the switch) but the second relay is not being handled. I noticed in the log the following messages - this snippet is actually two messages, one when I flicked the wall switch ON and then another when I flicked it OFF.

It is pretty obvious you haven't coded for the 0x60 command class yet, but what is interesting is that these state change messages are getting fired back from the device. There is nothing in the logs when I flick the switch for relay one however, but that relay is controllable via openHAB using the node id detected for the device.

I am very keen to help out with this, as I intend to buy more of these Fibaro devices - they are much smaller than the Aeon in-wall micro switches and thus much easier to fit around all the wiring.

Is there anything I can do to assist? Or should I just take a clone of your code and start from there?

Log...

21:18:20.046 INFO o.o.b.z.i.p.SerialInterface$SerialInterfaceThread[:270]- Message = 01 0C 00 04 04 03 06 60 0A 02 10 01 25 AA 21:18:20.047 INFO o.o.b.z.i.p.SerialMessage[:131]- Calculated checksum = 0xAA 21:18:20.047 INFO o.o.b.z.i.p.SerialInterface[:148]- Message is valid, sending ACK 21:18:20.048 INFO o.o.b.z.i.p.ZWaveController[:235]- Incoming message to process 21:18:20.048 INFO o.o.b.z.i.p.ZWaveController[:236]- 04 03 06 60 0A 02 10 01 25 21:18:20.049 INFO o.o.b.z.i.p.ZWaveController[:375]- Message type = REQUEST 21:18:20.049 INFO o.o.b.z.i.p.ZWaveController[:383]- Got MessageApplicationCommandHandler for Source Node = 3 and CommandClass = 0x60 21:18:20.049 INFO o.o.b.z.i.p.ZWaveController[:427]- TODO: Implement processing of CommandClass = 0x60 21:18:20.049 INFO o.o.b.z.i.p.ZWaveController[:431]- MessageSendData request. 21:18:20.050 INFO o.o.b.z.i.p.ZWaveController[:638]- Handle Message Send Data Request 21:18:21.403 INFO o.o.b.z.i.p.SerialInterface$SerialInterfaceThread[:270]- Message = 01 0C 00 04 04 03 06 60 0A 02 10 01 25 AA 21:18:21.404 INFO o.o.b.z.i.p.SerialMessage[:131]- Calculated checksum = 0xAA 21:18:21.404 INFO o.o.b.z.i.p.SerialInterface[:148]- Message is valid, sending ACK 21:18:21.405 INFO o.o.b.z.i.p.ZWaveController[:235]- Incoming message to process 21:18:21.405 INFO o.o.b.z.i.p.ZWaveController[:236]- 04 03 06 60 0A 02 10 01 25 21:18:21.406 INFO o.o.b.z.i.p.ZWaveController[:375]- Message type = REQUEST 21:18:21.406 INFO o.o.b.z.i.p.ZWaveController[:383]- Got MessageApplicationCommandHandler for Source Node = 3 and CommandClass = 0x60 21:18:21.406 INFO o.o.b.z.i.p.ZWaveController[:427]- TODO: Implement processing of CommandClass = 0x60 21:18:21.407 INFO o.o.b.z.i.p.ZWaveController[:431]- MessageSendData request. 21:18:21.407 INFO o.o.b.z.i.p.ZWaveController[:638]- Handle Message Send Data Request

openhab-bot commented 10 years ago

From bmcro...@gmail.com on July 03, 2013 12:49:04

0x60 is Mutil-Channel v2...and you are correct, it is not implemented within the OH Zwave Binding--yet.

Looking into the details of that command class. It will be fairly easy to add support.

There is a few additional command classes we will have to add for multi channel support; in addition to adding a Instance identifier to the ZwaveNode class definition. Finally, will have to figure out how the binding configuration will support multiple channels on one zwave node.

Initial thought is to add a .x when identifying the node. Where \ equals the node as reported by the controller and x equals the instance on that node. Thoughts?

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on July 03, 2013 13:21:30

Yep - that sort of binding config is the sort of thing I was thinking as well. There are potentially quite a few devices with multiple end points (thinking energy monitors, temp/humidity sensors) so this stuff will hopefully be useful for other areas as well.

I have been talking to the local distributor of Fibaro devices here in New Zealand and he has been quite helpful. He sent me a log/output of a multi switch device talking to the Fibaro control center which shows the parentID and command class details. Not sure if it is all that useful but thought I would log it here for reference.

Looking forward to testing this stuff out!

Fibaro log...

{"id":5,"name":"Extraction Fan","roomID":4,"type":"binary_light","properties":{"UIMessageSendTime":"2012-09-25 06:06:38","classConfigure":"0,0,2,2,2,0,2,2,0,0","classGeneric":"37","classSupport":"37,39,96,112,114,115,133,134,142,239","classVersion":"1,1,2,1,1,1,2,1,1,1","dead":"0","deviceControlType":"13","deviceIcon":"11","disabled":"0","emailNotificationID":"4","emailNotificationType":"1","endPoint":"0","isBatteryOperated":"0","isLight":"0","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","needConfigure":"5","type":"binary_light","nodeID":"30","parametersTemplate":"15","parentID":"1","pollingRetryError":"","pollingTime":"","pollingTimeNext":"","pollingTimeSec":"0","productInfo":"1,15,2,0,1,4,1,4","pushNotificationID":"4","pushNotificationType":"1","requestNodeNeighborState":"0","requestNodeNeighborStateTimeStemp":"0","showChildren":"1","smsNotificationID":"3","smsNotificationType":"0","sortOrder":"999","type":"16","unit":"","userDescription":"","value":"0","zwaveCompany":"Fibar Group","zwaveInfo":"3,3,20","zwaveVersion":"1,4"},"actions":{"pollingTimeSec":1,"requestNodeNeighborUpdate":0,"turnOff":0,"turnOn":0},"created":1371516199,"modified":1371516199,"sortOrder":5} {"id":7,"name":"Main Light","roomID":4,"type":"binary_light","properties":{"UIMessageSendTime":"0000-00-00 00:00:00","classConfigure":"1","classGeneric":"37","classSupport":"37","classVersion":"1","dead":"0","deviceControlType":"2","deviceIcon":"1","disabled":"0","emailNotificationID":"3","emailNotificationType":"0","endPoint":"2","isBatteryOperated":"0","isLight":"1","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","needConfigure":"5","type":"binary_light","nodeID":"30","parametersTemplate":"0","parentID":"5","pollingRetryError":"","pollingTime":"","pollingTimeNext":"","pollingTimeSec":"0","productInfo":"1,15,2,0,1,4,1,4","pushNotificationID":"3","pushNotificationType":"0","requestNodeNeighborState":"0","requestNodeNeighborStateTimeStemp":"0","showChildren":"0","smsNotificationID":"3","smsNotificationType":"0","sortOrder":"999","type":"16","unit":"","userDescription":"","value":"1","zwaveCompany":"Fibar Group","zwaveInfo":"","zwaveVersion":"1,4"},"actions":{"pollingTimeSec":1,"requestNodeNeighborUpdate":0,"turnOff":0,"turnOn":0},"created":1371516199,"modified":1371516199,"sortOrder":7},

openhab-bot commented 10 years ago

From roher.ro...@gmail.com on July 04, 2013 08:33:56

Hello! First of all, thanks for your great work! Second, I have a small Z-Wave network and I'm trying to use OpenHAB with your binding. I have followed the instructions from Comment#3, and everything seems ok, but I don't have a message: "------------Number of Nodes Found Registered to ZWave Controller------------" in my logs.

There are only two messages connected with Z-Wave: 19:11:31.161 DEBUG o.o.b.z.i.ZWaveActivator[:54] - Z-Wave binding has been started. ... 19:13:19.964 DEBUG o.o.b.z.i.ZWaveActiveBinding[:81] - activate()

What's wrong? Maybe you need info about my Controller? If so, I am ready to post it. Thank you!

openhab-bot commented 10 years ago

From teichsta on July 04, 2013 14:28:32

[OT]

I'd like to say THANK YOU to all of you driving the Z-Wave Issue. It will be great to present some Z-Wave stuff at JavaOne in San Francisco at the end of September.

Keep coding and supporting openHAB :-)

Cheers,

Thomas E.-E.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on July 04, 2013 14:53:03

Are you using the JAR I posted or are you attempting to build it yourself?

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on July 04, 2013 15:09:52

Have you pushed your latest changes Brian? If so I am keen to take up the reins and get this multi instance stuff working/tested. Cheers, Ben.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on July 04, 2013 20:13:33

I did. However, please wait to pull it down. In a attempt to ensure it was OK, I created a clean clone and attempted to rebuild. It failed.

I am working the issue this weekend...stay tuned. I will post once I figure out the issue and its safe to start work.

I welocome the help!!! I would however prefer we work off the same clone. Just make sure we coordinate changes and what eachother is working on. I am mainly working to close out all my TODO statements. And add better validation and error handling.

Also, as normal, follow good source code repo practices so we can stay in sync with eachother.

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on July 04, 2013 20:22:32

Sounds like a good plan. I will wait till you confirm it is ready for testing. Could you also have a look at the discussion I just started re. the serial device config for Linux symlinks - and add the fix to the ZWave binding? That will make life a lot easier for me!

openhab-bot commented 10 years ago

From roher.ro...@gmail.com on July 05, 2013 01:02:11

Are you using the JAR I posted or are you attempting to build it yourself? I am using the JAR you have posted in Comment#11.

openhab-bot commented 10 years ago

From jwsp...@gmail.com on July 15, 2013 08:21:45

I also want to offer my help. I've got a couple of fibaro dimmers, switches and a roller shutter node. I fixed the compilation issue and also fixed the dimmer handling. Dimmer and switches are working nicely now.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on July 15, 2013 09:33:54

Did you pull from my clone? I can add you as commit allowed. That way we can all work off the same clone . And easier to incorporate into OH build once we are done.

openhab-bot commented 10 years ago

From jwsp...@gmail.com on July 15, 2013 11:50:58

OK with me. Keeps things central.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on July 15, 2013 12:24:11

can you please test a commit and push? I don't see a means to give permissions on my clone...

openhab-bot commented 10 years ago

From jwsp...@gmail.com on July 15, 2013 12:38:52

abort: HTTP Error 404: Not Found. Probably no permissions yet.

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on July 15, 2013 13:50:34

Brian - does this mean you clone has your latest code? Any chance you have implemented support for multi instance switches? Unfortunately my dev PC is too far away from my in-wall multi instance Fibaro switch so I have been having difficulty running in debug mode, and since it is 'in-wall' it is not a trivial task to move it...

openhab-bot commented 10 years ago

From jwsp...@gmail.com on July 15, 2013 16:41:17

I'm getting a FGS221 delivered tomorrow that i'm not planning on putting into the wall before it works. I'll see what I can do.

openhab-bot commented 10 years ago

From ben.jone...@gmail.com on July 15, 2013 16:42:54

Great - I look forward to hearing how you get on. It will require a change to the binding config (see the notes above for Brian's ideas on this).

openhab-bot commented 10 years ago

From jwsp...@gmail.com on July 16, 2013 06:00:45

OK, Got the switch and started working on implementing multiinstance commands.

openhab-bot commented 10 years ago

From bmcro...@gmail.com on July 16, 2013 11:19:03

Sounds good. I still have to figure out how to add you so we both can work off the same codeset.

I will be working on validation of item types to command classes. Then just more robust error handling and zwave network handling .

openhab-bot commented 10 years ago

From jwsp...@gmail.com on July 16, 2013 13:28:23

You should be able to assign me the committer role in the permissions configuration of the clone. I've completed the dimmer handling and (de)muxing of multi-channel commands. Would be nice to push. Otherwise I can create a clone and you can pull from there.

openhab-bot commented 10 years ago

From teichsta on July 16, 2013 13:33:10

i am afraid adding committers to clones is not possible but maybe i am wrong?!

openhab-bot commented 10 years ago

From jwsp...@gmail.com on July 16, 2013 13:50:12

It seems so, I just read something like that. I'm afraid I will have to create my own clone and then you can pull / cherry pick commits from me...