OH2 Z-Wave refactoring and testing... and SECURITY

Quick question about upgrading… I am running OH2 2.2.0 with the zwave jar from this thread back in november: 2.2.0.201711192127. Things are working well.

I tried upgrading to the current Jan 18 jar at the top of this thread (2.3.0.201801212218), but when I restarted and applied the new binding I got a ton of errors on startup.

Are there extra steps needed to upgrade from 2.2.0.201711192127 to 2.3.0.201801212218?

I can post the logs if needed.

TIA
Dave

Did you delete the old jar and drop in the new one? If so, odds are the old one was cached. The new jar’s name is different than the old one, so it didn’t replace it like a regular update would do (same names). Do a bundle:list|grep -i zwave. and you will probably see two versions of the binding installed. Restarting OH may help, or do a bundle:uninstall X, where X is the old bundle ID. Hope this helps!

Yes, I copied the new jar and removed the old. Then started OH2 and did the uninstall on the old and an active on the new. Now it shows:

openhab> bundle:list|grep -i zwave
222 | Active | 80 | 2.3.0.201801212218 | ZWave Binding

which appears correct. Restarted but still getting lots of errors; looks like issues parsing the thing files:

[WARN ] [ig.xml.osgi.XmlDocumentBundleTracker] - The XML document '/ESH-INF/thing/fibaro_fgs222_0_0.xml' in module 'org.openhab.binding.zwave' could not be parsed: The document is invalid, it contains further unsupported data <SNIP>
class               : org.eclipse.smarthome.core.thing.xml.internal.ThingTypeXmlResult
required-type       : org.eclipse.smarthome.core.thing.xml.internal.ThingTypeXmlResult
converter-type      : org.eclipse.smarthome.core.thing.xml.internal.ThingTypeConverter
path                : /thing-descriptions/thing-type
line number         : 272
class[1]            : java.util.ArrayList
converter-type[1]   : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[2]            : org.eclipse.smarthome.core.thing.xml.internal.ThingDescriptionList
converter-type[2]   : org.eclipse.smarthome.core.thing.xml.internal.ThingDescriptionConverter
version             : 1.4.7

See lots of these for different thing files. Full log is on pastebin

Dave

You need to find the correct syntax for your file … search for posts from @sipvoip, he has some examples.

Any way to increase the number of nodes that are initialising? HABmin shows a max of 3 devices in “Node initialising: REQUEST_NIF”. I have 27 IX32 based motion sensors and since they are battery powered they only talk to the controller when there is active motion. Since only 3 devices can be in that initialising state, motion from other sensors is ignored, it requires the motion of the sensors in that state to initialise. If all battery powered devices could be in REQUEST_NIF that network could come up much faster then randomly hoping there is motion in the 3 devices in that state. @chris, is this possible or does it cause other problems?

The root of the issue may be that my IX32 devices don’t wake up unless there is motion rather than waking up every 30 min or something.

This is my zwave.things, hope it helps.

Bridge zwave:serial_zstick:controller "ZWave Controller" [ port="/dev/ttyACM0", controller_softreset="false", controller_master="true", controller_inclusiontimeout=60, heal_enable="true", heal_time=2, security_networkkey="FF 2D 9E 34 21 B1 ED 2B 45 B1 F4 DA 39 A8 B5 F2" 
]

Thing zwave:rtc_ct100plus_00_000:controller:node57 "Node 57: CT100 - First Floor" (zwave:serial_zstick:controller) [ node_id=57, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node3 "Node 03: CT100 - Kitchen" (zwave:serial_zstick:controller) [ node_id=3, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node4 "Node 04: CT100 - Living Room" (zwave:serial_zstick:controller) [ node_id=4, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node5 "Node 05: CT100 - Guest Bedroom" (zwave:serial_zstick:controller) [ node_id=5, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node6 "Node 06: CT100 - Master Bedroom" (zwave:serial_zstick:controller) [ node_id=6, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node7 "Node 07: CT100 - Garage" (zwave:serial_zstick:controller) [ node_id=7, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node8 "Node 08: CT100 - Second Floor" (zwave:serial_zstick:controller) [ node_id=8, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node9 "Node 09: CT100 - Great Room" (zwave:serial_zstick:controller) [ node_id=9, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node10 "Node 10: CT100 - Emma's Bedroom" (zwave:serial_zstick:controller) [ node_id=10, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node11 "Node 11: CT100 - Joshua's Bedroom" (zwave:serial_zstick:controller) [ node_id=11, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node12 "Node 12: CT100 - Breezeway" (zwave:serial_zstick:controller) [ node_id=12, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node13 "Node 13: CT100 - Apartment" (zwave:serial_zstick:controller) [ node_id=13, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node14 "Node 14: CT100 - Mom's Bedroom" (zwave:serial_zstick:controller) [ node_id=14, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node15 "Node 15: CT100 - Dad's Bedroom" (zwave:serial_zstick:controller) [ node_id=15, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node16 "Node 16: CT100 - Office" (zwave:serial_zstick:controller) [ node_id=16, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node17 "Node 17: CT100 - Electric Room" (zwave:serial_zstick:controller) [ node_id=17, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node18 "Node 18: CT100 - Basement Storage" (zwave:serial_zstick:controller) [ node_id=18, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node19 "Node 19: CT100 - Basement" (zwave:serial_zstick:controller) [ node_id=19, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node20 "Node 20: CT100 - Shop" (zwave:serial_zstick:controller) [ node_id=20, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:rtc_ct100_00_000:controller:node21 "Node 21: CT100 - Water Room" (zwave:serial_zstick:controller) [ node_id=21, binding_pollperiod=600 ] {
  Channels:
    Type sensor_temperature : sensor_temperature [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
    Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
Thing zwave:homeseer_hswd100_00_000:controller:node22 "Node 22: HSWD100 - Outside Front Door Lights" (zwave:serial_zstick:controller) [ node_id=22 ]
Thing zwave:homeseer_hswd100_00_000:controller:node23 "Node 23: HSWD100 - Outside Front Porch Lights" (zwave:serial_zstick:controller) [ node_id=23 ]
Thing zwave:homeseer_hswd100_00_000:controller:node24 "Node 24: HSWD100 - Outside Back Deck Lights Master" (zwave:serial_zstick:controller) [ node_id=24 ]
Thing zwave:homeseer_hswd100_00_000:controller:node25 "Node 25: HSWD100 - Outside Back Deck Lights Slave" (zwave:serial_zstick:controller) [ node_id=25 ]
Thing zwave:homeseer_hswd100_00_000:controller:node26 "Node 26: HSWD100 - Outside Basement Porch Light" (zwave:serial_zstick:controller) [ node_id=26 ]
Thing zwave:homeseer_hswd100_00_000:controller:node27 "Node 27: HSWD100 - Outside Family Entry Light" (zwave:serial_zstick:controller) [ node_id=27 ]
Thing zwave:homeseer_hswd100_00_000:controller:node28 "Node 28: HSWD100 - Outside Family Entry Recessed Lights" (zwave:serial_zstick:controller) [ node_id=28 ]
Thing zwave:homeseer_hswd100_00_000:controller:node29 "Node 29: HSWD100 - Outside Garage Lights" (zwave:serial_zstick:controller) [ node_id=29 ]
Thing zwave:enerwave_zw20r_00_000:controller:node30 "Node 30: ZW20R - House Outside Outlet A" (zwave:serial_zstick:controller) [ node_id=30 ]
Thing zwave:enerwave_zw20r_00_000:controller:node31 "Node 31: ZW20R - House Outside Outlet B" (zwave:serial_zstick:controller) [ node_id=31 ]
Thing zwave:enerwave_zw20r_00_000:controller:node32 "Node 32: ZW20R - House Outside Outlet C" (zwave:serial_zstick:controller) [ node_id=32 ]
Thing zwave:enerwave_zw20r_00_000:controller:node33 "Node 33: ZW20R - House Outside Outlet D" (zwave:serial_zstick:controller) [ node_id=33 ]
Thing zwave:enerwave_zw20r_00_000:controller:node34 "Node 34: ZW20R - House Outside Outlet E" (zwave:serial_zstick:controller) [ node_id=34 ]
Thing zwave:enerwave_zw20r_00_000:controller:node35 "Node 35: ZW20R - House Outside Outlet F" (zwave:serial_zstick:controller) [ node_id=35 ]
Thing zwave:enerwave_zw20r_00_000:controller:node36 "Node 36: ZW20R - House Outside Outlet G" (zwave:serial_zstick:controller) [ node_id=36 ]
Thing zwave:enerwave_zw20r_00_000:controller:node37 "Node 37: ZW20R - House Outside Outlet H" (zwave:serial_zstick:controller) [ node_id=37 ]
Thing zwave:enerwave_zw20r_00_000:controller:node38 "Node 38: ZW20R - House Outside Outlet I" (zwave:serial_zstick:controller) [ node_id=38 ]
Thing zwave:enerwave_zw20r_00_000:controller:node39 "Node 39: ZW20R - House Outside Outlet J" (zwave:serial_zstick:controller) [ node_id=39 ]
Thing zwave:enerwave_zw20r_00_000:controller:node40 "Node 40: ZW20R - House Outside Outlet K" (zwave:serial_zstick:controller) [ node_id=40 ]
Thing zwave:enerwave_zw20r_00_000:controller:node41 "Node 41: ZW20R - House Outside Outlet L" (zwave:serial_zstick:controller) [ node_id=41 ]
Thing zwave:enerwave_zw20r_00_000:controller:node42 "Node 42: ZW20R - House Outside Outlet M" (zwave:serial_zstick:controller) [ node_id=42 ]
Thing zwave:enerwave_zw20r_00_000:controller:node43 "Node 43: ZW20R - House Outsite Outlet N" (zwave:serial_zstick:controller) [ node_id=43 ] 
Thing zwave:ge_zw4002_00_000:controller:node44 "Node 44: ZW4002 - Master bedroom Fan" (zwave:serial_zstick:controller) [ node_id=44 ] 
Thing zwave:ge_zw4002_00_000:controller:node45 "Node 45: ZW4002 - Outside Deck Fan Slave" (zwave:serial_zstick:controller) [ node_id=45 ] 
Thing zwave:ge_zw4002_00_000:controller:node46 "Node 46: ZW4002 - Outside Deck Fan Master" (zwave:serial_zstick:controller) [ node_id=46 ] 
Thing zwave:ge_zw4002_00_000:controller:node47 "Node 47: ZW4002 - Living Room Fan" (zwave:serial_zstick:controller) [ node_id=47 ] 
Thing zwave:ge_zw4002_00_000:controller:node48 "Node 48: ZW4002 - Great Room Fan" (zwave:serial_zstick:controller) [ node_id=48 ] 
Thing zwave:ge_zw4002_00_000:controller:node49 "Node 49: ZW4002 - Apartment Fan" (zwave:serial_zstick:controller) [ node_id=49 ] 
Thing zwave:yale_yrd446_00_000:controller:node60 "Node 60: YRD446 - Front Door" (zwave:serial_zstick:controller) [ node_id=60 ]
Thing zwave:yale_yrd446_00_000:controller:node61 "Node 61: YRD446 - Family Entry Door" (zwave:serial_zstick:controller) [ node_id=61 ]
Thing zwave:yale_yrd220_00_000:controller:node62 "Node 62: YRD220 - Living Room Deck Door" (zwave:serial_zstick:controller) [ node_id=62 ]
Thing zwave:yale_yrd220_00_000:controller:node65 "Node 65: YRD220 - Office Side Door" (zwave:serial_zstick:controller) [ node_id=65 ]
Thing zwave:yale_yrd220_00_000:controller:node66 "Node 66: YRD220 - Shop Back Door" (zwave:serial_zstick:controller) [ node_id=66 ]
Thing zwave:yale_yrd220_00_000:controller:node67 "Node 67: YRD220 - Pool Storage Room Door" (zwave:serial_zstick:controller) [ node_id=67 ]
Thing zwave:yale_yrd220_00_000:controller:node68 "Node 68: YRD220 - Master Bedroom Deck Door" (zwave:serial_zstick:controller) [ node_id=68 ]
Thing zwave:aeon_zw089_00_000:controller:node70 "Node 70: ZW089 - Shop Back Door" (zwave:serial_zstick:controller) [ node_id=70 ]
Thing zwave:kaipule_ix32_06_000:controller:node73 "Node 73: IX32 - Motion 14" (zwave:serial_zstick:controller) [ node_id=73 ]
Thing zwave:kaipule_ix32_06_000:controller:node73 "Node 74: IX32 - Motion 15" (zwave:serial_zstick:controller) [ node_id=74 ]
Thing zwave:kaipule_ix32_06_000:controller:node75 "Node 75: IX32 - Motion 07" (zwave:serial_zstick:controller) [ node_id=75 ]
Thing zwave:kaipule_ix32_06_000:controller:node76 "Node 76: IX32 - Motion 08" (zwave:serial_zstick:controller) [ node_id=76 ]
Thing zwave:kaipule_ix32_06_000:controller:node77 "Node 77: IX32 - Motion 19" (zwave:serial_zstick:controller) [ node_id=77 ]
Thing zwave:kaipule_ix32_06_000:controller:node78 "Node 78: IX32 - Motion 20" (zwave:serial_zstick:controller) [ node_id=78 ]
Thing zwave:kaipule_ix32_06_000:controller:node79 "Node 79: IX32 - Motion 09" (zwave:serial_zstick:controller) [ node_id=79 ]
Thing zwave:kaipule_ix32_06_000:controller:node80 "Node 80: IX32 - Motion 10" (zwave:serial_zstick:controller) [ node_id=80 ]
Thing zwave:kaipule_ix32_06_000:controller:node81 "Node 81: IX32 - Motion 11" (zwave:serial_zstick:controller) [ node_id=81 ]
Thing zwave:kaipule_ix32_06_000:controller:node82 "Node 82: IX32 - Motion 04" (zwave:serial_zstick:controller) [ node_id=82 ]
Thing zwave:kaipule_ix32_06_000:controller:node83 "Node 83: IX32 - Motion 05" (zwave:serial_zstick:controller) [ node_id=83 ]
Thing zwave:kaipule_ix32_06_000:controller:node84 "Node 84: IX32 - Motion 06" (zwave:serial_zstick:controller) [ node_id=84 ]
Thing zwave:kaipule_ix32_06_000:controller:node85 "Node 85: IX32 - Motion 12" (zwave:serial_zstick:controller) [ node_id=85 ]
Thing zwave:kaipule_ix32_06_000:controller:node86 "Node 86: IX32 - Motion 13" (zwave:serial_zstick:controller) [ node_id=86 ]
Thing zwave:kaipule_ix32_06_000:controller:node87 "Node 87: IX32 - Motion 17" (zwave:serial_zstick:controller) [ node_id=87 ]
Thing zwave:kaipule_ix32_06_000:controller:node88 "Node 88: IX32 - Motion 18" (zwave:serial_zstick:controller) [ node_id=88 ]
Thing zwave:kaipule_ix32_06_000:controller:node89 "Node 89: IX32 - Motion 21" (zwave:serial_zstick:controller) [ node_id=89 ]
Thing zwave:kaipule_ix32_06_000:controller:node90 "Node 90: IX32 - Motion 22" (zwave:serial_zstick:controller) [ node_id=90 ]
Thing zwave:kaipule_ix32_06_000:controller:node91 "Node 91: IX32 - Motion 23" (zwave:serial_zstick:controller) [ node_id=91 ]
Thing zwave:kaipule_ix32_06_000:controller:node92 "Node 92: IX32 - Motion 24" (zwave:serial_zstick:controller) [ node_id=92 ]
1 Like

There is no limitation, and no link between device initialisation states.

I’m really not sure where you are getting this limitation from?

I don’t see any of these errors in your logfile :confused:.

I don’t see any issues with the file so I’m not sure why you get these errors. I also checked the file using another XML checker, and it also shows the format is ok so I’m not really sure what’s up…

I have installed the new binding and am trying to add my Kwikset Smartcode 916 lock to openhab. I can find the lock and add it but not with security enabled. I have tried “forgetting” and refinding it both by excluding it and re-including it from the zwave net and by delting it and refinding it with open had (paper ui). Nothing has worked. I have attacned my debug code below. Any suggestions would be appreciated.

Thanks

12:14:54.362 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from ONLINE to REMOVING
12:14:54.372 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from REMOVING to REMOVED
12:14:54.423 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from REMOVED to UNINITIALIZED
12:14:54.589 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from REMOVED to UNINITIALIZED (HANDLER_MISSING_ERROR)
12:16:48.378 [INFO ] [smarthome.event.InboxAddedEvent      ] - Discovery Result with UID 'zwave:device:654457c4:node2' has been added.
12:16:48.376 [INFO ] [ig.discovery.internal.PersistentInbox] - Added new thing 'zwave:device:654457c4:node2' to inbox.
12:16:48.393 [ERROR] [ding.zwave.handler.ZWaveSerialHandler] - Got I/O exception Input/output error in writeArray during sending. exiting thread.
12:16:54.909 [INFO ] [smarthome.event.InboxRemovedEvent    ] - Discovery Result with UID 'zwave:device:654457c4:node2' has been removed.
12:16:54.925 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from UNINITIALIZED to INITIALIZING
12:16:55.010 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline
12:16:55.027 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to UNINITIALIZED
12:16:55.050 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
12:16:55.115 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
12:16:55.119 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline
12:16:55.125 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:654457c4:node2' changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to ONLINE
12:16:55.150 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'zwave:device:654457c4:node2' has been updated.
12:16:55.175 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'zwave:device:654457c4:node2' has been updated.
12:16:55.194 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'zwave:device:654457c4:node2' has been updated.
12:16:55.207 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'zwave:device:654457c4:node2' has been updated.

There is an error in your log, but without debug level logging it’s hard to really see what caused it in detail.

I’d suggest to enable debug logging and see what that shows.

Chris

Thanks for helping. I tried to edit down the debug log to the area you would need so as not to waste your time. Hopefully, I did that correctly but if not, please let me know.

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.640 [hingStatusInfoChangedEvent] - ‘zwave:device:654457c4:node2’ changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to UNINITIALIZED

==> /var/log/openhab2/openhab.log <==
2018-02-03 15:48:31.659 [DEBUG] [org.openhab.binding.zwave ] - ServiceEvent UNREGISTERING - {org.eclipse.smarthome.config.core.status.ConfigStatusProvider}={service.id=371, service.bundleid=240, service.scope=singleton} - org.openhab.binding.zwave

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.670 [hingStatusInfoChangedEvent] - ‘zwave:device:654457c4:node2’ changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)

==> /var/log/openhab2/openhab.log <==
2018-02-03 15:48:31.688 [DEBUG] [org.openhab.binding.zwave ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.core.status.ConfigStatusProvider}={service.id=372, service.bundleid=240, service.scope=singleton} - org.openhab.binding.zwave

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.704 [hingStatusInfoChangedEvent] - ‘zwave:device:654457c4:node2’ changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING

==> /var/log/openhab2/openhab.log <==
2018-02-03 15:48:31.705 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - Initializing ZWave thing handler zwave:device:654457c4:node2.
2018-02-03 15:48:31.708 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Controller status changed to ONLINE.
2018-02-03 15:48:31.709 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Controller is ONLINE. Starting device initialisation.

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.715 [hingStatusInfoChangedEvent] - ‘zwave:device:654457c4:node2’ changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline
2018-02-03 15:48:31.717 [hingStatusInfoChangedEvent] - ‘zwave:device:654457c4:node2’ changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to ONLINE

==> /var/log/openhab2/openhab.log <==
2018-02-03 15:48:31.760 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating node properties.

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.763 [me.event.ThingUpdatedEvent] - Thing ‘zwave:device:654457c4:node2’ has been updated.

==> /var/log/openhab2/openhab.log <==
2018-02-03 15:48:31.777 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating node properties. MAN=144
2018-02-03 15:48:31.778 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating node properties. MAN=144. SET. Was 144

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.778 [me.event.ThingUpdatedEvent] - Thing ‘zwave:device:654457c4:node2’ has been updated.

==> /var/log/openhab2/openhab.log <==
2018-02-03 15:48:31.779 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Properties synchronised
2018-02-03 15:48:31.796 [DEBUG] [ve.internal.protocol.ZWaveController] - Event listener added.
2018-02-03 15:48:31.797 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising Thing Node…

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.797 [me.event.ThingUpdatedEvent] - Thing ‘zwave:device:654457c4:node2’ has been updated.

==> /var/log/openhab2/openhab.log <==
2018-02-03 15:48:31.799 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising cmd channel zwave:device:654457c4:node2:lock_door for OnOffType
2018-02-03 15:48:31.800 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising state channel zwave:device:654457c4:node2:lock_door for OnOffType
2018-02-03 15:48:31.802 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising cmd channel zwave:device:654457c4:node2:alarm_number for DecimalType
2018-02-03 15:48:31.803 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising state channel zwave:device:654457c4:node2:alarm_number for DecimalType
2018-02-03 15:48:31.804 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising cmd channel zwave:device:654457c4:node2:alarm_raw for StringType
2018-02-03 15:48:31.806 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising state channel zwave:device:654457c4:node2:alarm_raw for StringType
2018-02-03 15:48:31.807 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising cmd channel zwave:device:654457c4:node2:battery-level for PercentType
2018-02-03 15:48:31.808 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising state channel zwave:device:654457c4:node2:battery-level for PercentType
2018-02-03 15:48:31.809 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling intialised at 1800 seconds - start in 64800 milliseconds.
2018-02-03 15:48:31.811 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Device initialisation complete.

==> /var/log/openhab2/events.log <==
2018-02-03 15:48:31.815 [me.event.ThingUpdatedEvent] - Thing ‘zwave:device:654457c4:node2’ has been updated.

@chris: when are you planning to “Go-Live” with the refactored version of the Z-Wave binding?
“Go-Live” = use it as the default version in openHAB 2.x Snapshot releases
I have been switching back and forth and my tests work fine, so I was just wondering :slight_smile:

2 Likes

Sorry - missed this (had a nasty flu all damn week).

I still have a couple of issues to resolve - well - probably just one relating to the use of the failed node detection (since the controller seems pretty poor at reporting this!). Hopefully a few weeks if I can get the time.

2 Likes

I’m sorry if this is a totally noob question, but how do you actually get the security updates working? I think I’ve got the jar file installed correctly. In upgrading from the stable release, I followed these steps:

  1. Uninstalled all of my Zwave things (including the Z-Stick controller)
  2. Uninstalled the binding
  3. Stopped the openhab service
  4. Copied the jar file into the addons directory
  5. Started openhab service

At this point, I was able to add the zwave controller thing again, and it picked up one of my zwave things (a smart strip), but it didn’t detect my Schlage Connect deadbolt (which had previously been detected, and had a thing created for it, but it didn’t function at all). So, next I removed the Z-Stick controller, excluded and re-included the deadbolt again. Then, I plugged in the Z-Stick to my RPi and rebooted the machine (I couldn’t figure out how to restart the USB port, so I just restart the whole machine). Now, the deadbolt is detected, and a thing is created for it, but the logs complain about the device not being in the database, and I get this message [wave.discovery.ZWaveDiscoveryService] - NODE 10: Device discovery could not resolve to a thingType! 7FFFFFFF:7FFFFFFF:7FFFFFFF::0.0.

One more thing of note is that I’m not confident that the device is actually getting included on my Z-Stick correctly, because the deadbolt gives me the “Failure to include” code, and the Z-stick does as well when I try to include it. But it’s clearly getting included to some extent, because the device is being detected in openhab. I’m wondering if it’s just some sort of security authentication issue or something.

Any ideas?

Your upgrade steps look good, but you may want to verify the version of the zwave binding. Just type list in the Karaf console. You’re big problem though, is that you cannot do secure inclusion directly with the zstick, so do it through OH. It looks like your lock is included, but not securely. Secure inclusion is also done under low power, so the device and controller need to be pretty close… and closer is better. In testing, I needed to have the device within 10ft of the controller. Find a way to bring the Pi to the lock, or pull the lock from the door and bring it to the Pi. This info should probably be added to the first post. For a Schlage BE468 and BE469, if you do not get a green checkmark to flash on the lock after inclusion, it is not included properly.

1 Like

Thank you so much, @5iver ! I got it working, finally! At least, I can lock/unlock the door; I’m not sure about the rest of the functionality yet.

I didn’t realize you had to do secure inclusion through Openhab, and that it has to be set to low power mode. These would be good points to include more prominently. Another thing of note is that the network key has to be empty. I thought you were supposed to set it to be a unique string, but I couldn’t get inclusion to work until I deleted the key. Now that the lock is included, it seems to have populated that field, itself. That’s still a little hazy to me, but I don’t want to touch it and mess it up again.

Once I got the lock included, it was discovered by OH2, but it was displaying a “missing handler” error in the logs. I then restarted the bundle in the openhab-cli (is this the same as the karaf console?) and the error went away.

Now there are two more things that are slightly concerning to me. One, the status is now sitting at “ONLINE - Node initializing: VERSION”. I’m not sure if that’s a big deal, because the device is online, and I can lock the door. The second thing is that in PaperUI’s Control tab, none of the other functionality seems to be working (battery level shows 0%, for example). However, I have other ZWave items which don’t appear correctly in that tab as well, but I can control/access them correctly in Habpanel. So, I’ll take a stab at setting it up in Habpanel, and see if it seems to work there.

Thanks again for your help!

Dear Mr. Stratton, thanks for the help. After updating the jar to the latest version and reconfiguring my zwave.things (moved the things out of the curly braces of the controller) everythings is working again…

In my experience, there was no need to configure the controller for low power inclusion. I used NWI mode, but the device and controller needed to be close to each other.

If it is left empty, a key will be generated for you. In the past, I have configured my own key, so this may be something new that needs some testing to see if there may be an issue. It’s possible though that you may have not configured it properly. It would be helpful if the key entry field was less free-form and assisted the user in formatting the key. Were you using PaperUI or Habmin?

Sounds like the device is still initializing. This should complete on its own. It sounds like your using PaperUI though. You may want to try Habmin, especially for configuring zwave devices.

This may also be due to the device initializing. Give it some time and try Habmin.

:+1:

Hi,
After few days testing new binding it works faster and more responsive in my environment - Thank You. But I’ve issue with temperature sensor (Qubino ZMNHBD Flush 2 relays)

NODE 46: Got a value event from Z-Wave network, endpoint = 3, command class = COMMAND_CLASS_SENSOR_MULTILEVEL, value = 1.9
NODE 46: No sensorType set for channel zwave:device:9c9f18d3:node46:sensor_temperature3

And Item with temperature does not update. I’m not sure if it’s issue connected with zwave database, my configuration, Qubino device or binding. Any suggestions?

11-lut-2018 11:18:49.180 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 46: Got a value event from Z-Wave network, endpoint = 3, command class = COMMAND_CLASS_SENSOR_MULTILEVEL, value = 1.9
11-lut-2018 11:18:49.180 [DEBUG] [.internal.converter.ZWaveMultiLevelSensorConverter] - NODE 46: No sensorType set for channel zwave:device:9c9f18d3:node46:sensor_temperature3
11-lut-2018 11:18:49.180 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Commands processed 1.
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@f021457.
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Checking transaction 565  ApplicationCommandHandler.
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Checking transaction : state >> WAIT_REQUEST
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Checking transaction : node  >> 46
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Checking transaction : class >> 49 == 32.
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Checking transaction : commd >> 5 == 3.
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 46: Ignoring transaction since not waiting for data.
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 1
11-lut-2018 11:18:49.181 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 1

Please feel free to suggest a better place to document this - it is stated in the Inclusion and Exclusion section of the documentation.

I know it’s obvious when someone points it out, so if you have any thoughts for a better place to put this, then please feel free to suggest it (or even create a PR to update the documentation :wink: ).