Nest binding "data model" exception observed

Hello,

I am seeing this exception in my logs.

2017-02-27 21:17:42.497 [ERROR] [ab.binding.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'structures(Home).time_zone' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse' at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755)[187:org.openhab.binding.nest:1.9.0] at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)[187:org.openhab.binding.nest:1.9.0] at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:353)[187:org.openhab.binding.nest:1.9.0] at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:238)[187:org.openhab.binding.nest:1.9.0] at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:206)[187:org.openhab.binding.nest:1.9.0] at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:168)[187:org.openhab.binding.nest:1.9.0] at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:157)[188:org.openhab.core.compat1x:2.0.0] at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173)[188:org.openhab.core.compat1x:2.0.0]

Several other threads seem to show a similar “data model” error:

I’m running OH2 and the Nest binding appears to be working fine. Is this anything to be aware of or a bug to report?

The formatting looks screwed up in my log post above. Here’s a better look at a few instances of this happening, snipped from a larger number of them.

2017-02-27 21:54:08.628 [ERROR] [ab.binding.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'structures(Home).smoke_alarm_state' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
        at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755)[187:org.openhab.binding.nest:1.9.0]
        at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:353)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:238)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:206)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:168)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:157)[188:org.openhab.core.compat1x:2.0.0]
        at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173)[188:org.openhab.core.compat1x:2.0.0]
2017-02-27 21:54:08.637 [ERROR] [ab.binding.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'structures(Home).away' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
        at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755)[187:org.openhab.binding.nest:1.9.0]
        at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:353)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:238)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:206)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:168)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:157)[188:org.openhab.core.compat1x:2.0.0]
        at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173)[188:org.openhab.core.compat1x:2.0.0]
2017-02-27 21:54:08.658 [ERROR] [ab.binding.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'structures(Home).rhr_enrollment' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
        at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755)[187:org.openhab.binding.nest:1.9.0]
        at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:353)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:238)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:206)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:168)[187:org.openhab.binding.nest:1.9.0]
        at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:157)[188:org.openhab.core.compat1x:2.0.0]
        at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173)[188:org.openhab.core.compat1x:2.0.0]

The most likely cause is the set of permissions you’ve chosen for the “Product” you defined at nest.com is lacking ones you are trying to use. Another possibility is that your “structure” is not named Home at nest.com, or has a leading or trailing space in the name.

Thanks for responding.

I gave myself all permissions except the one that needs extra verification.

And my structure is indeed named HOME. But do the caps matter? I change it to match, so we’ll see.

Yes; the name must be entered in the same way it was entered at nest.com. There was a case recently where the name at nest.com had an extra space at the end, so make sure you are using the same string of characters you used at nest.com as in your .items file. See the documentation for more information about names.