[SOLVED] Ecobee Binding: Lost Temperature Signal to Remote Sensor

Platform information:
    Hardware: Raspberry Pi 3B
    OS: Openhabian
    Java Runtime Environment: Zulu Embedded OpenJDK Java 8
    openHAB version: 2.4.0-1
  • Issue of the topic: Two remote sensors, both worked last week, now only one works.
    Here is the debug output for the offending sensor:
2019-06-14 16:58:39.114 [DEBUG] [inding.ecobee.internal.EcobeeBinding] - Unable to get state from thermostat

org.apache.commons.beanutils.NestedNullException: Null property value for 'runningEvent.type' on bean class 'class org.openhab.binding.ecobee.messages.Thermostat'

	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:755) ~[233:org.openhab.binding.ecobee:1.13.0]

	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846) ~[233:org.openhab.binding.ecobee:1.13.0]

	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426) ~[233:org.openhab.binding.ecobee:1.13.0]

	at org.openhab.binding.ecobee.messages.Thermostat.getProperty(Thermostat.java:116) ~[233:org.openhab.binding.ecobee:1.13.0]

	at org.openhab.binding.ecobee.internal.EcobeeBinding.getState(EcobeeBinding.java:436) [233:org.openhab.binding.ecobee:1.13.0]

	at org.openhab.binding.ecobee.internal.EcobeeBinding.readEcobee(EcobeeBinding.java:398) [233:org.openhab.binding.ecobee:1.13.0]

	at org.openhab.binding.ecobee.internal.EcobeeBinding.execute(EcobeeBinding.java:282) [233:org.openhab.binding.ecobee:1.13.0]

	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:144) [243:org.openhab.core.compat1x:2.4.0]

	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:166) [243:org.openhab.core.compat1x:2.4.0]

I tried clean-cache and rebooting but that did not help.

Here is the items file entries in question:

Group gRemoteSensors (All)

Number remoteSensors_Ecobee_1_Bedroom_Temperature  "Ecobee 1 Bedroom Temperature [%.1f °F]"        (gRemoteSensors)    { ecobee="<[xxxxx8441485#remoteSensors(Bedroom).capability(temperature).value]" }
Switch remoteSensors_Ecobee_1_Bedroom_Occupancy  "Ecobee 1 Bedroom Occupied [%s]"                (gRemoteSensors)    { ecobee="<[xxxxx8441485#remoteSensors(Bedroom).capability(occupancy).value]" }
Number remoteSensors_Ecobee_2_Kitchen_Temperature  "Ecobee 2 Kitchen Temperature [%.1f °F]"            (gRemoteSensors)    { ecobee="<[xxxxx8441485#remoteSensors(Kitchen).capability(temperature).value]" }
Switch remoteSensors_Ecobee_2_Kitchen_Occupancy  "Ecobee 2 Kitchen Occupied [%s]"                    (gRemoteSensors)    { ecobee="<[xxxxx8441485#remoteSensors(Kitchen).capability(occupancy).value]" }

The ecobee website shows the sensor working for occupancy and temp, but OH only shows occupancy from it.

Any advice?

I am not sure what I did, but the temp of the sensor is now working again. Here are the things I did that may have helped resolve the problem:

  1. Remove the battery from the sensor. When the battery is removed, a “low battery” message will appear on the Ecobee device on your wall. Reinsert the battery and wait a few minutes, then clear the low battery message on the Ecobee.

  2. Go to the configuration page on the Ecobee website, and find your sensors. Check the spelling of the sensor device against the spelling in your Ecobee items file. For example, if the website lists ‘kitchen’ but you listed ‘Kitchen’ in your items file, fix the case to match in addition to any spelling errors.

Strangely, I am still getting the DEBUG error message of:

org.apache.commons.beanutils.NestedNullException: Null property value for 'runningEvent.holdClimateRef'

I understand this is only used when you have overridden the scheduled program, but should this not be zero instead of NULL?