OK, I *think* I have figured this out. It looks like the driver information for a device, in particular device.getDriverInterface(), is not valid until you have received a newProperty() notification for the property "DRIVER_INFO".

If in the body of that notification you ask for getDriverInterface(), you get back valid information and can determine what class of device this is.

It seems to me that the documentation should note that the various queries about the driver are invalid until this newProperty notification has happened.

Read More...