Nest binding error 206

Hello,

I’m having problems with the Nest binding.
I follewed everything according the instructions but in the debug mode I still receive following error(s):

15:13:25.755 [DEBUG] [.b.nest.internal.NestActivator:33   ] - Nest binding has been started.
15:13:25.765 [DEBUG] [i.internal.GenericItemProvider:341  ] - Start processing binding configuration of Item 'NestAmbTemp (Type=NumberItem, State=Uninitialized)' with 'NestGenericBindingProvider' reader.
15:13:25.774 [DEBUG] [n.i.NestGenericBindingProvider:111  ] - Processing binding configuration: '<[thermostats(Huiskamer).ambient_temperature_f]'
15:13:25.787 [WARN ] [java.util.prefs               :-1   ] - Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
15:13:25.794 [INFO ] [.service.AbstractActiveService:169  ] - Nest Refresh Service has been started
15:13:28.169 [ERROR] [.o.b.nest.internal.NestBinding:206  ] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Huiskamer).ambient_temperature_f' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:302) ~[bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:204) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:173) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:141) [bundlefile:na]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) [org.openhab.core_1.7.1.jar:na]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) [org.openhab.core_1.7.1.jar:na]
15:13:28.217 [DEBUG] [.o.b.nest.internal.NestBinding:288  ] - We received this event (item='NestAmbTemp', state='Uninitialized') from Nest, so we don't send it back again -> ignore!
15:14:29.348 [ERROR] [.o.b.nest.internal.NestBinding:206  ] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Huiskamer).ambient_temperature_f' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:302) ~[bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:204) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:173) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:141) [bundlefile:na]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) [org.openhab.core_1.7.1.jar:na]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) [org.openhab.core_1.7.1.jar:na]
15:14:29.396 [DEBUG] [.o.b.nest.internal.NestBinding:288  ] - We received this event (item='NestAmbTemp', state='Uninitialized') from Nest, so we don't send it back again -> ignore!
15:15:30.350 [ERROR] [.o.b.nest.internal.NestBinding:206  ] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Huiskamer).ambient_temperature_f' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:302) ~[bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:204) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:173) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:141) [bundlefile:na]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) [org.openhab.core_1.7.1.jar:na]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) [org.openhab.core_1.7.1.jar:na]
15:15:30.396 [DEBUG] [.o.b.nest.internal.NestBinding:288  ] - We received this event (item='NestAmbTemp', state='Uninitialized') from Nest, so we don't send it back again -> ignore!

Is there something special about the Windows user that is running the openHAB server, that it can’t write the registry? The Nest binding uses Java Preferences to store tokens, and on Windows Java Preferences are stored in the registry under HKEY_CURRENT_USER\SOFTWARE\JavaSoft… (according to this).

Some Googling found this. Not sure if it helps, though.

…Last suggestion is to add
-Djava.util.prefs.userRoot=HKEY_CURRENT_USER\Software\JavaSoft\Prefs after "java " in start.bat:

[...]
:: start Eclipse w/ java
echo Launching the openHAB runtime...
java -Djava.util.prefs.userRoot=HKEY_CURRENT_USER\Software\JavaSoft\Prefs -Dosgi.clean=true -Declipse.ignoreApp=true [...]

I tried it on another client (QNAP) and It gave:

2015-12-30 11:07:43.522 [INFO ] [.service.AbstractActiveService] - Nest Refresh Service has been started
2015-12-30 11:07:46.634 [ERROR] [.o.b.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for ‘thermostats(Huiskamer).ambient_temperature_f’ on bean class ‘class org.openhab.binding.nest.internal.messages.DataModelResponse’
at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[commons-beanutils-1.8.3.jar:1.8.3]
at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[commons-beanutils-1.8.3.jar:1.8.3]
at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:302) ~[bundlefile:na]
at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:204) [bundlefile:na]
at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:173) [bundlefile:na]
at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:141) [bundlefile:na]
at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) [org.openhab.core_1.7.1.jar:na]
at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) [org.openhab.core_1.7.1.jar:na]

Are you sure this is the full name of your thermostat, including any room in the house it might be located in? Have a look at this section, but also visit nest.com via web or app and compare names. Consider either removing the room designation, if any, or adding the full name per the wiki.

Yes i verified it and added some more items but same:

015-12-30 11:46:46.403 [INFO ] [.service.AbstractActiveService] - Nest Refresh Service has been started
2015-12-30 11:46:48.450 [ERROR] [.o.b.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Huiskamer %28Living%29).ambient_temperature_c' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:302) ~[bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:204) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:173) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:141) [bundlefile:na]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) [org.openhab.core_1.7.1.jar:na]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) [org.openhab.core_1.7.1.jar:na]
2015-12-30 11:46:48.454 [ERROR] [.o.b.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Huiskamer %28Living%29).humidity' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:302) ~[bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:204) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:173) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:141) [bundlefile:na]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) [org.openhab.core_1.7.1.jar:na]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) [org.openhab.core_1.7.1.jar:na]
2015-12-30 11:46:48.456 [ERROR] [.o.b.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Huiskamer %28Living%29).name' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[commons-beanutils-1.8.3.jar:1.8.3]
	at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:302) ~[bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:204) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:173) [bundlefile:na]
	at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:141) [bundlefile:na]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) [org.openhab.core_1.7.1.jar:na]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) [org.openhab.core_1.7.1.jar:na]

If you turn on TRACE logging for the Nest binding, we should be able to see how the thermostat should be specified. Add

<logger name="org.openhab.binding.nest" level="TRACE"/>

to logback.xml right after

<logger name="org.openhab" level="INFO"/>

Or, remove the thermostat from the “Living” room at nest.com and change your item definitions to match.

Thanks !!!

Solved: It was indeed the name, because I have dutch settings I see the name in dutch but in the system it’s still english so: Huiskamer should be : Family Room and it was solved.

1 Like