Suddenly missingpropertyexception on configuration report?


(Don Caruana) #1

All of the sudden this afternoon on a device that has been working perfectly, when I get a return for a configuration get, I get an error. This is only on a secure device (I only have one).

This is the return I get:
description: zw device: B7, command: 9881, payload: 00 70 06 01 01 00 00 00 00

Then it parses to this:
SecurityMessageEncapsulation(commandByte: [1, 1, 0, 0, 0, 0], commandClassIdentifier: 112, commandIdentifier: 6, reserved13: 0, secondFrame: false, sequenceCounter: 0, sequenced: false)

But then I get this:
groovy.lang.MissingPropertyException: No such property: cmd for class:
physicalgraph.zwave.commands.configurationv1.ConfigurationReport
Possible solutions: CMD @ line 322

Other functions seem to be working okay but all of the sudden the configuration report blew up. I thought maybe I had messed something up, but I pulled on old save of the device handler just to be sure and got the same error. Am I the only one seeing this and, if so, how can I fix it?


Z-Wave Library Changes Feb 2017
Fibaro Motion Sensor problems
All Fibaro Door Sensors stopped sending updates
[Released] Fibaro Motion Sensor v3.2
[RELEASE] Universal Enhanced Z-Wave Lock, Schlage, Yale, Kwikset, IDLock, DanaLock, August Pro, Samsung, Locstar, KeyWe Locks and Popp Z-Wave Keypad Device Handler with Alarm Control, Notification, RFID, Door Sensor and advanced features
Fibaro Motion Sensor - New device-handler with all settings and auto sync feature
(Don Caruana) #2

Just for clarity, this is the parse and config report sections:

def parse(String description) {
	def result = []
	def cmd
	if (description.startsWith("Err 106")) {
		state.sec = 0
		result = createEvent( name: "secureInclusion", value: "failed", eventType: "ALERT",
				descriptionText: "This sensor failed to complete the network security key exchange. If you are unable to control it via SmartThings, you must remove it from your network and add it again.")
	} else if (description.startsWith("Err")) {
		result = createEvent(descriptionText: "$device.displayName $description", isStateChange: true)
	} else {
		cmd = zwave.parse(description, commandClassVersions)
		if (cmd) {
			result = zwaveEvent(cmd)
		}
	}
	if (result instanceof List) {
		result = result.flatten()
	}
	log.debug "Parsed '$description' to $result"
	return result
}


def zwaveEvent(physicalgraph.zwave.commands.configurationv1.ConfigurationReport cmd) {
	log.debug "in Config Report"
}

(codersaur) #3

I’m seeing the same error for ConfigurationReports.

Additionally, I’m also seeing errors parsing VersionReports:

error parse(): Could not parse raw message: zw device: 0C, command: 5601, payload: 32 02 21 44 00 00 00 00 00 00 05 EA
warn Exception 'org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '[5, 234]' with class 'java.util.ArrayList$SubList' to class 'java.lang.Integer'' encountered parsing 'cmd: 5601, payload: 32 02 21 44 00 00 00 00 00 00 05 EA'
trace parse(): Parsing raw message: zw device: 0C, command: 5601, payload: 32 02 21 44 00 00 00 00 00 00 05 EA

These all started happening 4-5 hours ago.

I suspect there has been some kind of zwave library update which has messed everything up.

@duncan, any ideas?


(codersaur) #4

Additionally, I’m also seeing errors parsing Crc16Encap commands too:

Exception 'org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '[238, 26]' with class 'java.util.ArrayList$SubList' to class 'java.lang.Integer'' encountered parsing 'cmd: 5601, payload: 32 02 21 44 00 00 00 05 00 00 EE 1A'

My IDE is awash with errors and warnings right now! :scream:


#5

So is mine. My fibaro sensors are misbehaving. I can’t get one to sync.

Exception ‘org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object ‘[166, 219]’ with class ‘java.util.ArrayList$SubList’ to class ‘java.lang.Integer’’ encountered parsing ‘cmd: 5601, payload: 31 05 03 0A 00 0A A6 DB’


(codersaur) #6

I’ve dropped an email to both the UK and US support teams. I recommend you all do the same.


(Mike Maxwell) #7

I’m getting the cast exception error on all my zwave sensors…


(Tyler Durden) #8

Yes, my RBoy Universal Lock DTH is getting the same errors. I thought it was something I did… but looks like I’m innocent. I had restarted my Hub a few times yesterday… not sure if that triggered the issue. Today I tried a zwave network repair, removing/reinstalling the devices, restarting the hub a few more times, etc., etc. Still get this in my log:

error groovy.lang.MissingPropertyException: No such property: cmd for class: physicalgraph.zwave.commands.configurationv2.ConfigurationReport


(Don Caruana) #9

Exactly same error as me.

@tslagle13 - Any thoughts/guidance/suggestions here? Was there an errant push or did something just go bonkers?


(Tyler Durden) #10

I sent an email to ST support and referenced this discussion, but I don’t know how they will respond. I also sent an email to RBoyApps support so they might put some pressure on ST . Now I contemplate how I wasted my day tearing apart my smart home configuration trying to fix an issue that was beyond my control. :weary:


(Don Caruana) #11

From the chat session I had, it sounds like they are aware. They are “noticing some issues with some device handlers”. Hopefully they’ll address soon.


(codersaur) #12

Nothing showing here yet… http://status.smartthings.com


(Duncan) #13

Yes, there were two Z-Wave library regressions accidentally released. Sorry about this.

For ConfigurationReport, if you don’t try to convert the object to a string or call scaledConfigurationValue, it should still work.

For CRC16Encap, parsing is broken. This breaks reports from some Fibaro sensors.

Both have been fixed but I’m not sure when the deploy will be. Possibly not until Monday.


(Don Caruana) #14

@duncan - Configuration report just flat out errors on the call to handle it. I took all processing out of my code and strictly the passing of “cmd” to the configurationreport handler throws an error (see my second post in this thread). You can’t do anything with it at all.


(codersaur) #15

Thanks for the update @duncan. I guessed it was to do with a z-wave library update.

However, this has broken half my house!! Are you seriously saying we have to wait till next week for this to be fixed!!! :scream: That’s crazy! Surely, whatever was accidentally released today, it should be possible to back-out within a few hours!!!

PS: if the ‘fix’ is not deployed to all users in production, then it’s not fixed! Also, there’s more than two problems: I’ve found issues with ConfigurationReports, CRC16Encap, and VersionReports so far…


(Mike Maxwell) #16

It’s worse than that, I have a constant stream of these
3:45:20 PM: warn Exception ‘org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object ‘[164, 203]’ with class ‘java.util.ArrayList$SubList’ to class ‘java.lang.Integer’’ encountered parsing 'cmd: 5601, payload: 31 05 03 0A 00 1B A4

And yes, apps reliant on these devices are failing to fire…


(Tyler Durden) #17

Well, you know, the fix has to go through the same thorough change control process that let this slip through. :smiling_imp:


(codersaur) #18

Being somewhat familiar with ITIL: The RFC that caused this should have had a foolproof rollback procedure that can be implemented should the change fail or cause unexpected issues. That rollback procedure needs to be implemented, sharpish! :astonished:


(Don Caruana) #19

Technically speaking, isn’t this a safety and security issue on a pretty large scale?


(Mike Maxwell) #20

Yes, but only if you were silly enough to trust st to that extent…