Ecobee - New security Dec 2020 - No longer pulling some things

Openhab 2.5.10
I setup the latest security key things two weeks ago after the Dec ecobee update.
I can pull some things(system status, etc); but some existing things seem to be failing:
Forecast0_Humidity
Forecast0_Condition
Forecast0_Temperature
Forecast0_HighTemperature
Forecast0_LowTemperature
Events_IsOccupied

Everything else seems to populate just fine

2021-01-05 18:22:15.820 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item for widget org.eclipse.smarthome.model.sitemap.sitemap.Text
2021-01-05 18:22:15.821 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘EcobeeThermostatMiltysbee_Forecast0_Humidity’ for widget org.eclipse.smarthome.model.sitemap.sitemap.Text
2021-01-05 18:22:15.821 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘EcobeeThermostatMiltysbee_Forecast0_Humidity’ for widget org.eclipse.smarthome.model.sitemap.sitemap.Text
2021-01-05 18:22:15.821 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘EcobeeThermostatMiltysbee_Forecast0_Humidity’ for widget org.eclipse.smarthome.model.sitemap.sitemap.Text

What happens if you try the same thing with OH 3?

Couldn’t say. Was hoping to wait before adopting OH3.

Anyone having issues pulling this data in OH 2.5.10? Ironically i have an OLD OH too, like 2.1 and that still pulls this forecast data…it pulls that date as you can see from the forecast, but the rest nothing ever updates.

I’m getting all those values in my system (2.5.11).

First make sure you have an item linked to at least one of the weather channels (note there are only 2 weather channels - weather#timestamp and weather#weatherStation), the object should include all the weather forecast channels.

Assuming you have the above, you could put the binding in TRACE mode and you’ll see the JSON object returned by the API (the object is very big so don’t leave TRACE mode on for too long).

Thanks! Appreciate it.

That helped for everything except one…relative humidity; it still is set to null; still seeing this in the log:
2021-01-07 07:43:18.516 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘EcobeeThermostatMiltysbee_Forecast0_Humidity’ for widget org.eclipse.smarthome.model.sitemap.sitemap.Text

I’ll try to get a trace log later.

I’m not sure the Trace will help; I only really see “equipment” based things in the trace; no forecast data; which makes me thing the forecast is dumped once a day?

ludeSecuritySettings=null,includeSensors=null,includeSettings=true,includeTechnician=null,includeUtility=null,includeVersion=null,includeWeather=true
2021-01-07 07:57:35.561 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Updating channels for thermostat id 313854683230
2021-01-07 07:57:35.563 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Thermostat ‘313854683230’ has 6 remote sensors
2021-01-07 07:57:35.563 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Sending data to sensor handler ‘rs:100(hall)’ of type ‘ecobee3_remote_sensor’
2021-01-07 07:57:35.563 [DEBUG] [nal.handler.EcobeeSensorThingHandler] - SensorThing: Updating channels for sensor ‘rs:100(hall)’
2021-01-07 07:57:35.563 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘1’ has type ‘temperature’ with value ‘653’
2021-01-07 07:57:35.564 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘2’ has type ‘occupancy’ with value ‘true’
2021-01-07 07:57:35.564 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Sending data to sensor handler ‘rs:101(Bedroom)’ of type ‘ecobee3_remote_sensor’
2021-01-07 07:57:35.564 [DEBUG] [nal.handler.EcobeeSensorThingHandler] - SensorThing: Updating channels for sensor ‘rs:101(Bedroom)’
2021-01-07 07:57:35.564 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘1’ has type ‘temperature’ with value ‘667’
2021-01-07 07:57:35.565 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘2’ has type ‘occupancy’ with value ‘false’
2021-01-07 07:57:35.565 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Sending data to sensor handler ‘rs:102(LivingRoom)’ of type ‘ecobee3_remote_sensor’
2021-01-07 07:57:35.565 [DEBUG] [nal.handler.EcobeeSensorThingHandler] - SensorThing: Updating channels for sensor ‘rs:102(LivingRoom)’
2021-01-07 07:57:35.565 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘1’ has type ‘temperature’ with value ‘633’
2021-01-07 07:57:35.565 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘2’ has type ‘occupancy’ with value ‘false’
2021-01-07 07:57:35.566 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Sending data to sensor handler ‘rs:103(guest)’ of type ‘ecobee3_remote_sensor’
2021-01-07 07:57:35.566 [DEBUG] [nal.handler.EcobeeSensorThingHandler] - SensorThing: Updating channels for sensor ‘rs:103(guest)’
2021-01-07 07:57:35.566 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘1’ has type ‘temperature’ with value ‘654’
2021-01-07 07:57:35.566 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘2’ has type ‘occupancy’ with value ‘false’
2021-01-07 07:57:35.566 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Sending data to sensor handler ‘rs:104(office)’ of type ‘ecobee3_remote_sensor’
2021-01-07 07:57:35.566 [DEBUG] [nal.handler.EcobeeSensorThingHandler] - SensorThing: Updating channels for sensor ‘rs:104(office)’
2021-01-07 07:57:35.566 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘1’ has type ‘temperature’ with value ‘716’
2021-01-07 07:57:35.566 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘2’ has type ‘occupancy’ with value ‘true’
2021-01-07 07:57:35.567 [DEBUG] [andler.EcobeeThermostatBridgeHandler] - ThermostatBridge: Sending data to sensor handler ‘ei:0(miltysbee)’ of type ‘thermostat’
2021-01-07 07:57:35.567 [DEBUG] [nal.handler.EcobeeSensorThingHandler] - SensorThing: Updating channels for sensor ‘ei:0(miltysbee)’
2021-01-07 07:57:35.567 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘1’ has type ‘temperature’ with value ‘671’
2021-01-07 07:57:35.567 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘2’ has type ‘humidity’ with value ‘49’
2021-01-07 07:57:35.567 [TRACE] [nal.handler.EcobeeSensorThingHandler] - Capability ‘3’ has type ‘occupancy’ with value ‘true’

Can you post your item definition?

In TRACE mode you should see a very large JSON object returned from the Ecobee API. Is the forecast data in that JSON object?

Hi Mark,

Well…it looks like it started working: Just checked it again and it populated. Not sure why everything else did when i updated the weather station stuff last night and only rel humidity took until today.

“state”: “79 %”,
“stateDescription”: {
“pattern”: “%.0f %unit%”,
“readOnly”: true,
“options”: []

1 Like

When the API change happened, i had to delete and readd my thermostat in Paper UI.
Since then, i get two requests in the log:
2021-01-23 10:39:50.160 [DEBUG] [inding.ecobee.internal.api.EcobeeApi] - API: Perform query on thermostat: ‘[99999999999]’
2021-01-23 10:40:00.758 [DEBUG] [inding.ecobee.internal.api.EcobeeApi] - API: Perform query on thermostat: ‘null’

My guess is the null one is the one i deleted?

Can this be fixed/removed to stop attempting to query?

This is call used by discovery to get the list of all registered thermostats. It has always worked this way.

If you turn off discovery in the account bridge config, does that log message no longer show up?

Ok, so just want to make sure before i do this; I do not need discovery on once i’ve added my ecobee account, thermostat, etc? Once and done?

Correct.

But if you ever delete your thermostat and/or sensor things, don’t forget to turn discovery back on. :wink:

Yeap, that worked!

Just out of curiosity, how often do you set the polling to go retrieve the thermostat data?

Thanks!

Perfect

My polling interval is 30 seconds. In terms of the Ecobee API this is a “summary” poll. It’s basically a small, quick poll to see if anything has changed. If something has changed, then the binding does a full poll.

In my experience, the full poll occurs around every 3 to 5 summary polls. So there’s not much value in polling any faster than 30 seconds.

Hope that makes sense.

Yeap, appreciate it! I got mine at 3 minutes for now, seems fine for me. I just like to limit chatter as much as I can. Unfortunately, with server based systems like Ecobee, you need some chatter back and forth.

I recreated my ecobee thermostats within the last 10 days using ‘create equipment from thing’ in OH3. I am not getting the ‘Is_Occupied’ element. Can anyone confirm this is working?

for me, it works in a test environment running 3.0 but not in my upgraded, older 3.0 install. Going to try to reinstall the binding.

Can you please be more clear about which channel you’re referring to? I don’t know what the Is_Occupied element is.

1 Like

from the binding documentation:

Switch Event_IsOccupied "Running [%s]" <switch> (gEvent) { channel="ecobee:thermostat:account:729318833078:events#isOccupied" }

As I look at it, maybe I’m using it wrong or looking at the wrong channel…trying to get the thermostat’s presence.