[SOLVED] Help getting my Nest to work

Brand spanking new user and I know the Nest is probably not the best first item to integrate, but it’s all I got. I can’t seem to pull a temperature and I sure it’s something silly I have missed. I am running on Raspbian Jesse with the latest OpenHab. I pretty much followed this guide. Your time and help are appreciated.

Binding Installation
Installed Nest bindings with the following commands:

sudo apt-get install openhab-addon-binding-nest
sudo chown -hR openhab:openhab /usr/share/openhab

openhab.cfg
Pretty sure all is good here as I can see my “Product” in the “Works with Nest” section of my Nest app

home.items This is where I think the issue is. My Nest shows up in the app as Hallway(Main) and I am not confident that I did this right. I made two iterations of the same item for testing purposes.

Group Nest

/* Nest Stuff */
Number NestAmbTemp "Temperature [[%.1f °F]" (Nest) {nest="<[thermostats(Hallway).ambient_temperature_f]"}
Number   NestAmbTemp2 "Ambient Temperature [%.1f °F]" (Nest)         {nest="<[thermostats(Main).ambient_temperature_f]"}

home.sitemap

sitemap home label="My Home"
{
 Frame {
  Group item=Nest label="Nest" icon="temperature"
 }
}

End result looks like this:

Last but not least. Here is the relevant log message I get in debug mode:

2015-10-16 22:22:31.249 [ERROR] [.o.b.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Hallway).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]
2015-10-16 22:22:31.253 [DEBUG] [.o.b.nest.internal.NestBinding] - We received this event (item='NestAmbTemp', state='Uninitialized') from Nest, so we don't send it back again -> ignore!
2015-10-16 22:22:31.254 [ERROR] [.o.b.nest.internal.NestBinding] - Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'thermostats(Main).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]
2015-10-16 22:22:31.259 [DEBUG] [.o.b.nest.internal.NestBinding] - We received this event (item='NestAmbTemp2', state='Uninitialized') from Nest, so we don't send it back again -> ignore!

If your thermostat’s name is Hallway (Main), you will have to “escape” the special characters ( and ) as described here, so the thermostat can be referred to in items like this:

Number NestAmbTemp "Temperature [%.1f °F]" (Nest) {nest="<[thermostats(Hallway %28Main%29).ambient_temperature_f]"}

The other option is to removed the location of the thermostat from its name at nest.com, so that you could just refer to the thermostat like this:

Number NestAmbTemp "Temperature [%.1f °F]" (Nest) {nest="<[thermostats(Hallway).ambient_temperature_f]"}

Please let us know is this helps you see the current ambient temperature. If so, you can then see and control the other properties of the thermostat using the same name.

2 Likes

Thank you!

Changed my name to just Hallway and my first item immediately worked. I also replaced the degreee symbol with the escape code and it now displays properly on the webpage:

Number NestAmbTemp “Temperature [[%.1f &#176F]” (Nest) {nest="<[thermostats(Hallway).ambient_temperature_f]"}

Again. Thank you for your time and help. Now off to adding all the otherr crazy stuff. :grinning:

1 Like

Hello all

I just wanted to see if you were seeing those errors in the nest.log after configuring? I have not been able to get it to spit out logs and of course I cannot get it to work :slight_smile:

Thanks!

If you share your openhab.log configuration (with sensitive values masked out) and your logback.xml setup for logging, hopefully it would help diagnose. If the Nest binding JAR in your addons folder?

@watou
Thanks I got it working, I restarted the server and for some reason that started the logging I needed to troubleshoot.

I am having trouble getting my nest to recognized. I currently am runnint 1.8 and have the addon in the correct folder. I keep getting this in my log.

java.lang.NullPointerException: null
at org.openhab.binding.nest.internal.NestBinding.updateNest(NestBinding.java:363) [bundlefile:na]
at org.openhab.binding.nest.internal.NestBinding.commandNest(NestBinding.java:315) [bundlefile:na]
at org.openhab.binding.nest.internal.NestBinding.internalReceiveCommand(NestBinding.java:291)

It’s important to use a more recent version of the Nest binding than 1.8.X, due to Nest API changes and small bug fixes.

Try the one here by removing the similarly named JAR from addons and putting that one in its place.

If that doesn’t work, turn on DEBUG logging and share the log (with private information redacted).

perfect thanks, I;ve got it working

1 Like

So in reading and following along, I’ve updated the nest.jar file to the one in the link above. OpenHab currently populates the Thermostat infomation (Ambient Temp, Humidity, and the like) what it doesn’t seem to populate (even though it IS provided by my NEST Thermostat) is the “away” or “county code” or “postal code” or any of the other structure information.

Any help would be appreciated. Files below…

/* Nest binding Items */

DateTime Nest_last_connection "Last Nest Connection [%1$tm/%1$td %1$tH:%1$tM]" {nest="<[last_connection]"}

/* Structures - change Corby Street to your structure's name */

String   NestHome_name "Name [%s]"                    {nest="<[structures(Corby Street).name]"} // writeable as of 1.9
String   NestHome_country_code "Country Code [%s]"    {nest="<[structures(Corby Street).country_code]"}
String   NestHome_postal_code "Postal Code [%s]"      {nest="<[structures(Corby Street).postal_code]"}
String   NestHome_time_zone "Time Zone [%s]"          {nest="<[structures(Corby Street).time_zone]"}
String   NestHome_away "Home/Away [%s]"     {nest="=[structures(Corby Street).away]"}
String   NestHome_structure_id "Structure Id [%s]"    {nest="<[structures(Corby Street).structure_id]"}
Switch   NestHome_rhr_enrollment "Rush Hour Rewards Enrollment [%s]" {nest="<[structures(Corby Street).rhr_enrollment]"} // as of 1.9

/* Thermostats - change Dining Room to your thermostat's name */

Number   NestTStat_humidity "Humidity [%d %%]"                                   {nest="<[thermostats(Dining Room).humidity]"}
String   NestTStat_locale "Locale [%s]"                                          {nest="<[thermostats(Dining Room).locale]"}
String   NestTStat_temperature_scale "Temperature Scale [%s]"                    {nest="=[thermostats(Dining Room).temperature_scale]"} // writeable as of 1.9
Switch   NestTStat_is_using_emergency_heat "Is using emergency heat [%s]"        {nest="<[thermostats(Dining Room).is_using_emergency_heat]"}
Switch   NestTStat_has_fan "Has Fan [%s]"                                        {nest="<[thermostats(Dining Room).has_fan]"}
String   NestTStat_software_version "Software Version [%s]"                      {nest="<[thermostats(Dining Room).software_version]"}
Switch   NestTStat_has_leaf "Has Leaf [%s]"                                      {nest="<[thermostats(Dining Room).has_leaf]"}
String   NestTStat_device_id "Device Id [%s]"                                    {nest="<[thermostats(Dining Room).device_id]"}
String   NestTStat_name "Name [%s]"                                              {nest="<[thermostats(Dining Room).name]"}
Switch   NestTStat_can_heat "Can Heat [%s]"                                      {nest="<[thermostats(Dining Room).can_heat]"}
Switch   NestTStat_can_cool "Can Cool [%s]"                                      {nest="<[thermostats(Dining Room).can_cool]"}
String   NestTStat_hvac_mode "HVAC Mode [%s]"                                    {nest="=[thermostats(Dining Room).hvac_mode]"}
Number   NestTStat_target_temperature_c "Target Temperature [%.1f °C]"           {nest="=[thermostats(Dining Room).target_temperature_c]"}
Number   NestTStat_target_temperature_f "Target Temperature [%.1f °F]"           {nest="=[thermostats(Dining Room).target_temperature_f]"}
Number   NestTStat_target_temperature_high_c "Target Temperature High [%.1f °C]" {nest="=[thermostats(Dining Room).target_temperature_high_c]"}
Number   NestTStat_target_temperature_high_f "Target Temperature High [%.1f °F]" {nest="=[thermostats(Dining Room).target_temperature_high_f]"}
Number   NestTStat_target_temperature_low_c "Target Temperature Low [%.1f °C]"   {nest="=[thermostats(Dining Room).target_temperature_low_c]"}
Number   NestTStat_target_temperature_low_f "Target Temperature Low [%.1f °F]"   {nest="=[thermostats(Dining Room).target_temperature_low_f]"}
Number   NestTStat_ambient_temperature_c "Ambient Temperature [%.1f °C]"         {nest="<[thermostats(Dining Room).ambient_temperature_c]"}
Number   NestTStat_ambient_temperature_f "Ambient Temperature [%.1f °F]"         {nest="<[thermostats(Dining Room).ambient_temperature_f]"}
Number   NestTStat_eco_temperature_high_c "Eco Temperature High [%.1f °C]"       {nest="<[thermostats(Dining Room).eco_temperature_high_c]"}  // as of 1.9
Number   NestTStat_eco_temperature_high_f "Eco Temperature High [%.1f °F]"       {nest="<[thermostats(Dining Room).eco_temperature_high_f]"}  // as of 1.9
Number   NestTStat_eco_temperature_low_c "Eco Temperature Low [%.1f °C]"         {nest="<[thermostats(Dining Room).eco_temperature_low_c]"}  // as of 1.9
Number   NestTStat_eco_temperature_low_f "Eco Temperature Low [%.1f °F]"         {nest="<[thermostats(Dining Room).eco_temperature_low_f]"}  // as of 1.9
Number   NestTStat_away_temperature_high_c "Away Temperature High [%.1f °C]"     {nest="<[thermostats(Dining Room).away_temperature_high_c]"} // deprecated
Number   NestTStat_away_temperature_high_f "Away Temperature High [%.1f °F]"     {nest="<[thermostats(Dining Room).away_temperature_high_f]"} // deprecated
Number   NestTStat_away_temperature_low_c "Away Temperature Low [%.1f °C]"       {nest="<[thermostats(Dining Room).away_temperature_low_c]"} // deprecated
Number   NestTStat_away_temperature_low_f "Away Temperature Low [%.1f °F]"       {nest="<[thermostats(Dining Room).away_temperature_low_f]"} // deprecated
String   NestTStat_structure_id "Structure ID [%s]"                              {nest="<[thermostats(Dining Room).structure_id]"}
Switch   NestTStat_fan_timer_active "Fan Timer Active [%s]"                      {nest="=[thermostats(Dining Room).fan_timer_active]"}
DateTime NestTStat_fan_timer_timeout "Fan Timer Timeout [%1$tm/%1$td %1$tH:%1$tM]" <calendar> {nest="<[thermostats(Dining Room).fan_timer_timeout]"}
String   NestTStat_name_long "Name Long [%s]"                                    {nest="<[thermostats(Dining Room).name_long]"}
Switch   NestTStat_is_online "Is Online [%s]"                                    {nest="<[thermostats(Dining Room).is_online]"}
DateTime NestTStat_last_connection "Last Connection [%1$tm/%1$td %1$tH:%1$tM]" <calendar> {nest="<[thermostats(Dining Room).last_connection]"}
String   NestTStat_hvac_state "HVAC State [%s]"                                  {nest="<[thermostats(Dining Room).hvac_state]"} // as of 1.7.1
String   NestTStat_where_id "Where ID [%s]"                                      {nest="<[thermostats(Dining Room).where_id]"} // as of 1.9
Switch   NestTStat_is_locked "Is Locked [%s]"                                    {nest="<[thermostats(Dining Room).is_locked]"} // as of 1.9
String   NestTStat_locked_temp_min_f "Locked Temp Min [%s °F]"                   {nest="<[thermostats(Dining Room).locked_temp_min_f]"} // as of 1.9, yes it's a String
String   NestTStat_locked_temp_max_f "Locked Temp Max [%s °F]"                   {nest="<[thermostats(Dining Room).locked_temp_max_f]"} // as of 1.9, yes it's a String
String   NestTStat_locked_temp_min_c "Locked Temp Min [%s °C]"                   {nest="<[thermostats(Dining Room).locked_temp_min_c]"} // as of 1.9, yes it's a String
String   NestTStat_locked_temp_max_c "Locked Temp Max [%s °C]"                   {nest="<[thermostats(Dining Room).locked_temp_max_c]"} // as of 1.9, yes it's a String
String   NestTStat_label "Label [%s]"                                            {nest="=[thermostats(Dining Room).label]"} // as of 1.9
Switch   NestTStat_sunlight_correction_enabled "Sunlight Correction Enabled"     {nest="<[thermostats(Dining Room).sunlight_correction_enabled]"} // as of 1.9
Switch   NestTStat_sunlight_correction_active "Sunlight Correction Active"       {nest="<[thermostats(Dining Room).sunlight_correction_active]"} // as of 1.9
String   NestTStat_where_name "Where Name [%s]"                                  {nest="<[thermostats(Dining Room).where_name]"} // as of 1.9
Number   NestTStat_fan_timer_duration "Fan Timer Duration [%d]"                  {nest="=[thermostats(Dining Room).fan_timer_duration]"} // as of 1.9
String   NestTStat_time_to_target "Time to target temp. [%s min]"                {nest="<[thermostats(Dining Room).time_to_target]"} // as of 1.9
String   NestTStat_time_to_target_training "Time to target training [%s]"        {nest="<[thermostats(Dining Room).time_to_target_training]"} // as of 1.9
String   NestTStat_previous_hvac_mode "Previous HVAC Mode [%s]"                  {nest="<[thermostats(Dining Room).previous_hvac_mode]"} // as of 1.9

Number NestHome_temp "Home temperature [%.1f °F]"   {nest="<[structures(Corby Street).thermostats(Dining Room).ambient_temperature_f]"}
sitemap home label="Corby"
{
  Frame label="Home" icon="house" {
    Switch item=NestHome_away mappings=[home="Home",away="Away"]
    Text item=NestHome_name
    Text item=NestHome_country_code
    Text item=NestHome_postal_code
    Text item=NestHome_time_zone
  }
  Frame label="Dining Room Thermostat" {
    Text item=NestTStat_ambient_temperature_f visibility=[NestTStat_temperature_scale=="F"]
    Text item=NestTStat_ambient_temperature_c visibility=[NestTStat_temperature_scale=="C"]
    Text item=NestTStat_humidity
    Switch item=NestTStat_hvac_mode mappings=[heat="Heat",cool="Cool","heat-cool"="Auto",off="Off"]
    Text item=NestTStat_away_temperature_low_f visibility=[NestHome_away=="away",NestHome_away=="auto-away"]
    Text item=NestTStat_away_temperature_high_f visibility=[NestHome_away=="away",NestHome_away=="auto-away"]
    Setpoint item=NestTStat_target_temperature_f label="Target Temperature [%.1f °F]" minValue=50 maxValue=80 step=1 visibility=[NestTStat_hvac_mode=="heat",NestTStat_hvac_mode=="cool"]
    Setpoint item=NestTStat_target_temperature_low_f label="Minimum Temperature [%.1f °F]" minValue=50 maxValue=80 step=1 visibility=[NestTStat_hvac_mode=="heat-cool"]
    Setpoint item=NestTStat_target_temperature_high_f label="Maximum Temperature [%.1f °F]" minValue=50 maxValue=80 step=1 visibility=[NestTStat_hvac_mode=="heat-cool"]
    Text item=Nest_last_connection
  }
}

debug log file --next post–

2.992 DEBUG o.o.b.n.internal.NestActivator[:35]- Nest binding has been started. Version 1.10.0.201702080211
3.178 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[last_connection]
3.189 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=last_connection
3.223 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[last_connection]'
3.240 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[structures(Corby Street).name]
3.254 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).name
3.260 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[structures(Corby Street).name]'
3.274 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[structures(Corby Street).country_code]
3.282 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).country_code
3.295 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[structures(Corby Street).country_code]'
3.303 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[structures(Corby Street).postal_code]
3.313 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).postal_code
3.317 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[structures(Corby Street).postal_code]'
3.325 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[structures(Corby Street).time_zone]
3.330 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).time_zone
3.343 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[structures(Corby Street).time_zone]'
3.348 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[structures(Corby Street).away]
3.353 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).away
3.364 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[structures(Corby Street).away]'
3.393 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[structures(Corby Street).structure_id]
3.397 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).structure_id
3.401 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[structures(Corby Street).structure_id]'
3.415 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[structures(Corby Street).rhr_enrollment]
3.420 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).rhr_enrollment
3.431 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[structures(Corby Street).rhr_enrollment]'
3.438 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).humidity]
3.443 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).humidity
3.449 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).humidity]'
3.460 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).locale]
3.475 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).locale
3.479 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).locale]'
3.490 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).temperature_scale]
3.498 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).temperature_scale
3.504 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).temperature_scale]'
3.513 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).is_using_emergency_heat]
3.522 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).is_using_emergency_heat
3.532 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).is_using_emergency_heat]'
3.545 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).has_fan]
3.554 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).has_fan
3.564 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).has_fan]'
3.573 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).software_version]
3.578 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).software_version
3.583 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).software_version]'
3.595 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).has_leaf]
3.603 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).has_leaf
3.608 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).has_leaf]'
3.618 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).device_id]
3.623 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).device_id
3.634 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).device_id]'
3.643 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).name]
3.653 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).name
3.658 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).name]'
3.663 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).can_heat]
3.683 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).can_heat
3.700 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).can_heat]'
3.707 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).can_cool]
3.732 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).can_cool
3.736 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).can_cool]'
3.743 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).hvac_mode]
3.760 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).hvac_mode
3.767 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).hvac_mode]'
3.783 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).target_temperature_c]
3.793 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).target_temperature_c
3.803 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).target_temperature_c]'
3.812 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).target_temperature_f]
3.835 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).target_temperature_f
3.855 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).target_temperature_f]'
3.862 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).target_temperature_high_c]
3.875 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).target_temperature_high_c
3.884 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).target_temperature_high_c]'
3.894 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).target_temperature_high_f]
3.897 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).target_temperature_high_f
3.902 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).target_temperature_high_f]'
3.907 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).target_temperature_low_c]
3.911 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).target_temperature_low_c
3.915 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).target_temperature_low_c]'
3.920 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).target_temperature_low_f]
3.924 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).target_temperature_low_f
3.928 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).target_temperature_low_f]'
3.932 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).ambient_temperature_c]
3.936 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).ambient_temperature_c
3.940 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).ambient_temperature_c]'
3.947 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).ambient_temperature_f]
3.951 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).ambient_temperature_f
3.955 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).ambient_temperature_f]'
3.959 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).eco_temperature_high_c]
3.964 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).eco_temperature_high_c
3.968 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).eco_temperature_high_c]'
3.972 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).eco_temperature_high_f]
3.976 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).eco_temperature_high_f
3.980 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).eco_temperature_high_f]'
3.985 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).eco_temperature_low_c]
3.989 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).eco_temperature_low_c
3.993 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).eco_temperature_low_c]'
4.007 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).eco_temperature_low_f]
4.011 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).eco_temperature_low_f
4.016 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).eco_temperature_low_f]'
4.030 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).away_temperature_high_c]
4.038 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).away_temperature_high_c
4.049 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).away_temperature_high_c]'
4.054 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).away_temperature_high_f]
4.063 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).away_temperature_high_f
4.888 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).away_temperature_high_f]'
4.893 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).away_temperature_low_c]
4.906 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).away_temperature_low_c
4.911 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).away_temperature_low_c]'
4.918 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).away_temperature_low_f]
4.922 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).away_temperature_low_f
4.926 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).away_temperature_low_f]'
4.930 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).structure_id]
4.934 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).structure_id
4.939 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).structure_id]'
4.943 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).fan_timer_active]
4.947 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).fan_timer_active
4.951 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).fan_timer_active]'
4.956 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).fan_timer_timeout]
4.959 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).fan_timer_timeout
4.963 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).fan_timer_timeout]'
4.968 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).name_long]
4.972 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).name_long
4.976 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).name_long]'
4.980 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).is_online]
4.993 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).is_online
4.998 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).is_online]'
5.002 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).last_connection]
5.006 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).last_connection
5.010 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).last_connection]'
5.015 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).hvac_state]
5.018 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).hvac_state
5.022 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).hvac_state]'
5.027 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).where_id]
5.031 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).where_id
5.035 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).where_id]'
5.039 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).is_locked]
5.043 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).is_locked
5.047 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).is_locked]'
5.051 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).locked_temp_min_f]
5.056 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).locked_temp_min_f
5.066 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).locked_temp_min_f]'
5.073 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).locked_temp_max_f]
5.077 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).locked_temp_max_f
5.081 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).locked_temp_max_f]'
5.086 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).locked_temp_min_c]
5.090 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).locked_temp_min_c
5.094 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).locked_temp_min_c]'
5.098 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).locked_temp_max_c]
5.102 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).locked_temp_max_c
5.106 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).locked_temp_max_c]'
5.113 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).label]
5.117 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).label
5.121 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).label]'
5.125 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).sunlight_correction_enabled]
5.129 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).sunlight_correction_enabled
5.133 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).sunlight_correction_enabled]'
5.142 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).sunlight_correction_active]
5.148 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).sunlight_correction_active
5.152 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).sunlight_correction_active]'
5.157 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).where_name]
5.164 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).where_name
5.169 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).where_name]'
5.174 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig==[thermostats(Dining Room).fan_timer_duration]
5.178 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).fan_timer_duration
5.181 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '=[thermostats(Dining Room).fan_timer_duration]'
5.186 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).time_to_target]
5.190 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).time_to_target
5.194 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).time_to_target]'
5.198 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).time_to_target_training]
5.202 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).time_to_target_training
5.206 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).time_to_target_training]'
5.210 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[thermostats(Dining Room).previous_hvac_mode]
5.216 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=thermostats(Dining Room).previous_hvac_mode
5.220 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[thermostats(Dining Room).previous_hvac_mode]'
5.224 TRACE o.o.b.n.i.NestGenericBindingProvider[:150]- validateItemType called with bindingConfig=<[structures(Corby Street).thermostats(Dining Room).ambient_temperature_f]
5.228 TRACE o.o.b.n.i.NestGenericBindingProvider[:160]- validateItemType called with property=structures(Corby Street).thermostats(Dining Room).ambient_temperature_f
5.232 DEBUG o.o.b.n.i.NestGenericBindingProvider[:112]- Processing binding configuration: '<[structures(Corby Street).thermostats(Dining Room).ambient_temperature_f]'
5.878 TRACE o.o.b.n.internal.NestBinding[:155]- Querying Nest API
8.235 TRACE o.o.b.n.i.m.AbstractRequest[:131]- About to execute 'https://developer-api.nest.com/?auth=xxxx'
0.648 TRACE o.o.b.n.i.m.AbstractRequest[:172]- {"devices":{"thermostats":{"VO89ixxxx":{"humidity":25,"locale":"en-US","temperature_scale":"F","is_using_emergency_heat":false,"has_fan":true,"software_version":"5.6-7","has_leaf":false,"where_id":"lZIoJ-w1OAFAt7y93WE965-BygLAZQxniQmlJLXkZPaT1bLVAoCM4g","device_id":"VO89iU63InQKsbsFXmkF8wQggojwJ2yj","name":"Dining Room","can_heat":true,"can_cool":true,"target_temperature_c":24.0,"target_temperature_f":76,"target_temperature_high_c":25.0,"target_temperature_high_f":77,"target_temperature_low_c":22.0,"target_temperature_low_f":72,"ambient_temperature_c":24.5,"ambient_temperature_f":77,"away_temperature_high_c":28.5,"away_temperature_high_f":84,"away_temperature_low_c":21.0,"away_temperature_low_f":70,"eco_temperature_high_c":28.5,"eco_temperature_high_f":84,"eco_temperature_low_c":21.0,"eco_temperature_low_f":70,"is_locked":false,"locked_temp_min_c":20.0,"locked_temp_min_f":68,"locked_temp_max_c":22.0,"locked_temp_max_f":72,"sunlight_correction_active":false,"sunlight_correction_enabled":true,"structure_id":"oxCcYjkxUfr_V8BGW9LkkHaSinVx_u_QbJ0QMgE8PVOARrzbA3fQqQ","fan_timer_active":false,"fan_timer_timeout":"1970-01-01T00:00:00.000Z","fan_timer_duration":30,"previous_hvac_mode":"","hvac_mode":"heat","time_to_target":"~0","time_to_target_training":"ready","where_name":"Dining Room","label":"","name_long":"Dining Room Thermostat","is_online":true,"last_connection":"T21:53:46.072Z","hvac_state":"off"}}},"structures":{"oxCcYjkxUfr_xxx":{"name":"Corby Street ","country_code":"US","postal_code":"6xxxx","time_zone":"America/Chicago","away":"home","thermostats":["VO89iU63Ixxx"],"structure_id":"oxCcYjkxxx","rhr_enrollment":false,"eta_begin":"1970-01-01T00:00:00.000Z","wheres":{"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Backyard"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Basement"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxx","name":"Bedroom"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Den"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Dining Room"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Downstairs"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Driveway"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Entryway"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Family Room"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Front Yard"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Hallway"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Kids Room"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Kitchen"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Living Room"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Master Bedroom"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Office"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Outside"},"lZIoJ-xxxx":{"where_id":"lZIoJ-xxxx","name":"Upstairs"}}}},"metadata":{"access_token":"xxxx","client_version":1}}
4.405 TRACE o.o.b.n.internal.NestBinding[:195]- Retrieved data model: DataModelResponse[devices=DataModel.Devices[thermostats={VO89iU63InQKsbsFXmkF8wQggojwJ2yj=Thermostat[device_id=VO89iU63InQKsbsFXmkF8wQggojwJ2yj,name=Dining Room,locale=en-US,software_version=5.6-7,structure_id=oxCcYjkxUfr_V8BGW9LkkHaSinVx_u_QbJ0QMgE8PVOARrzbA3fQqQ,name=Dining Room,name_long=Dining Room Thermostat,last_connection=Fri Feb 10 15:53:46 CST 2017,is_online=true,where_id=lZIoJ-w1OAFAt7y93WE965-BygLAZQxniQmlJLXkZPaT1bLVAoCM4g,where_name=Dining Room,can_cool=true,can_heat=true,is_using_emergency_heat=false,has_fan=true,fan_timer_active=false,fan_timer_timeout=Wed Dec 31 18:00:00 CST 1969,has_leaf=false,temperature_scale=F,target_temperature_f=76,target_temperature_c=24.0,target_temperature_high_f=77,target_temperature_high_c=25.0,target_temperature_low_f=72,target_temperature_low_c=22.0,eco_temperature_high_f=84,eco_temperature_high_c=28.5,eco_temperature_low_f=70,eco_temperature_low_c=21.0,away_temperature_high_f=84,away_temperature_high_c=28.5,away_temperature_low_f=70,away_temperature_low_c=21.0,hvac_mode=heat,ambient_temperature_f=77,ambient_temperature_c=24.5,humidity=25,hvac_state=off,is_locked=false,locked_temp_min_f=68,locked_temp_max_f=72,locked_temp_min_c=20.0,locked_temp_max_c=22.0,label=,sunlight_correction_enabled=true,sunlight_correction_active=false,fan_timer_duration=30,time_to_target=~0,time_to_target_training=ready,previous_hvac_mode=]},smoke_co_alarms=<null>,cameras=<null>],structures={oxCcYjkxUfr_V8BGW9LkkHaSinVx_u_QbJ0QMgE8PVOARrzbA3fQqQ=Structure[structure_id=oxCcYjkxUfr_V8BGW9LkkHaSinVx_u_QbJ0QMgE8PVOARrzbA3fQqQ,thermostats=[VO89iU63InQKsbsFXmkF8wQggojwJ2yj],smoke_co_alarms=<null>,cameras=<null>,away=home,name=Corby Street ,country_code=US,postal_code=64501,peak_period_start_time=<null>,peak_period_end_time=<null>,time_zone=America/Chicago,eta=<null>,eta_begin=Wed Dec 31 18:00:00 CST 1969,rhr_enrollment=false,co_alarm_state=<null>,smoke_alarm_state=<null>]},error=<null>]
4.623 TRACE o.o.b.n.internal.NestBinding[:208]- Updating itemName 'NestTStat_software_version' with newState '5.6-7'
4.909 TRACE o.o.b.n.internal.NestBinding[:215]- Added event (item='NestTStat_software_version', newState='5.6-7') to the ignore event list (size=1)
4.924 TRACE o.o.b.n.internal.NestBinding[:208]- Updating itemName 'NestTStat_time_to_target' with newState '~0'
4.936 TRACE o.o.b.n.internal.NestBinding[:215]- Added event (item='NestTStat_time_to_target', newState='~0') to the ignore event list (size=2)
4.964 TRACE o.o.b.n.internal.NestBinding[:208]- Updating itemName 'NestTStat_where_id' with newState 'lZIoJ-xxxx'
4.968 TRACE o.o.b.n.internal.NestBinding[:215]- Added event (item='NestTStat_where_id', newState='lZIoJ-xxxx') to the ignore event list (size=3)
4.985 TRACE o.o.b.n.internal.NestBinding[:208]- Updating itemName 'NestTStat_sunlight_correction_enabled' with newState 'ON'
4.988 TRACE o.o.b.n.internal.NestBinding[:215]- Added event (item='NestTStat_sunlight_correction_enabled', newState='ON') to the ignore event list (size=4)
4.993 TRACE o.o.b.n.internal.NestBinding[:208]- Updating itemName 'NestTStat_time_to_target_training' with newState 'ready'
5.013 TRACE o.o.b.n.internal.NestBinding[:215]- Added event (item='NestTStat_time_to_target_training', newState='ready') to the ignore event list (size=5)
5.024 TRACE o.o.b.n.internal.NestBinding[:208]- Updating itemName 'NestTStat_is_locked' with newState 'OFF'
5.028 TRACE o.o.b.n.internal.NestBinding[:215]- Added event (item='NestTStat_is_locked', newState='OFF') to the ignore event list (size=6)
5.812 TRACE o.o.b.n.internal.NestBinding[:299]- Received update (item='NestTStat_software_version', state='5.6-7')
5.824 DEBUG o.o.b.n.internal.NestBinding[:321]- We received this event (item='NestTStat_software_version', state='5.6-7') from Nest, so we don't send it back again -> ignore!
5.835 ERROR o.o.b.n.internal.NestBinding[:240]- Unable to get state from data model
org.apache.commons.beanutils.NestedNullException: Null property value for 'structures(Corby Street).away' on bean class 'class org.openhab.binding.nest.internal.messages.DataModelResponse'
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)
	at org.openhab.binding.nest.internal.messages.DataModel.getProperty(DataModel.java:353)
	at org.openhab.binding.nest.internal.NestBinding.getState(NestBinding.java:238)
	at org.openhab.binding.nest.internal.NestBinding.readNest(NestBinding.java:206)
	at org.openhab.binding.nest.internal.NestBinding.execute(NestBinding.java:168)

Havent figure out how to get around character limit…

There is an extra space on the end of the real name of your house:

"name": "Corby Street ",

If you fix it at the source, your items will start to populate.

Thank! It’s always the smallest things…:smirk:

1 Like