BTW, are you able to set your temperature via an automation or script?
If so, what version HA and appdaemon are you running?
OK, do another pull. I made a number of changes. I am now checking via try/except on the fan issue.
The lack of automation was interesting… Doing manual calls from developer tools generates a string for entity_id. Doing the same via automation, and likely script too, generates a list for entity_id. Automations were not firing because of this. I am handling this now for all service calls… At least I think I am.
I successfully tested an automation for set_temperature and verified the manual developer tools is working too.
see above, meant to reply
Updated and confirmed no issues with fan now and my automation is working!
Thanks!!
How do I see if Eco mode is on or not?
I have these traits from the thermostat:
"sdm.devices.traits.ThermostatEco": {
"availableModes": [
"OFF",
"MANUAL_ECO"
], ‘mode’: ‘OFF’, ‘heatCelsius’: 15.31998, ‘coolCelsius’: 24.44444}
I presume ThermostatEco"availableModes" = preset_modes and I would expect ‘mode’:‘OFF’ to reflect in preset_mode but I am not seeing an attribute change when the nest is in Eco mode:
friendly_name: Living Room Nest Thermostat
entity_id: climate.living_room_nest_thermostat
unit_of_measure: °C
supported_features: 17
min_temp: 7
max_temp: 32
precision: 0.1
hvac_mode: heat
fan_mode: none
fan_timer_out: off
preset_mode:
preset_modes: eco
hvac_modes: heat, off
current_temperature: 22.3
current_humidty: 46
hvac_action: idle
temperature: 14
or have you not implemented that yet?
I thought “off” in preset was too misleading. I suppose I could make it “normal”… Right now, preset_mode="" is normal, preset_mode=“eco” is eco.
You are in eco when the ‘mode’: ‘MANUAL_ECO’ is in the NEST dump, and preset_mode: eco is displayed. Your app will have ECO rather than a number for your thermostat display. Lovelace
If I use normal, you will want to set_preset_mode to normal, which won’t work. To leave ECO, you need to set HVAC mode to heat, cool, or heat_cool. This is why I left it as eco only as preset.
I’m not seeing preset_mode: change when nest changes to eco mode and here’s why…
I re-enabled logging in nest.py and the sdm traits from nest are not reflecting MANUAL_ECO mode when the set temperature is less than 19 and Nest is displaying a Leaf. ‘mode’ remains at 'OFF:
'sdm.devices.traits.Humidity': {'ambientHumidityPercent': 42}
'sdm.devices.traits.Connectivity': {'status': 'ONLINE'}
'sdm.devices.traits.Fan': {}
'sdm.devices.traits.ThermostatMode': {'mode': 'HEAT', 'availableModes': ['HEAT', 'OFF']}
'sdm.devices.traits.ThermostatEco': {'availableModes': ['OFF', 'MANUAL_ECO'], 'mode': 'OFF', 'heatCelsius': 15.31998, 'coolCelsius': 24.44444}
'sdm.devices.traits.ThermostatHvac': {'status': 'OFF'}
'sdm.devices.traits.Settings': {'temperatureScale': 'CELSIUS'}
'sdm.devices.traits.ThermostatTemperatureSetpoint': {'heatCelsius': 19.5}
'sdm.devices.traits.Temperature': {'ambientTemperatureCelsius': 23.26999}}
'displayName': 'Living Room'}]}
2020-11-07 00:19:25.708827 INFO nest:
'sdm.devices.traits.Humidity': {'ambientHumidityPercent': 42}
'sdm.devices.traits.Connectivity': {'status': 'ONLINE'}
'sdm.devices.traits.Fan': {}
'sdm.devices.traits.ThermostatMode': {'mode': 'HEAT', 'availableModes': ['HEAT', 'OFF']}
'sdm.devices.traits.ThermostatEco': {'availableModes': ['OFF', 'MANUAL_ECO'], 'mode': 'OFF', 'heatCelsius': 15.31998, 'coolCelsius': 24.44444},
'sdm.devices.traits.ThermostatHvac': {'status': 'OFF'},
'sdm.devices.traits.Settings': {'temperatureScale': 'CELSIUS'}
'sdm.devices.traits.ThermostatTemperatureSetpoint': {'heatCelsius': 18}
'sdm.devices.traits.Temperature': {'ambientTemperatureCelsius': 23.26999}}
I confirmed working for me, regardless if pushed into the mode from the app or from HASS.
All I can say, is make sure you are in ECO mode, seen here:
This one is in HEAT mode, but at an economical temp, hence the leaf.
Check the error logs, and let me know if you are seeing any.
ECO is a really a fall back setting that is analogous to HEATCOOL with both temps set very conservatively.
Thanks, I had forgotten how the Nest ECO mode works. I wasn’t in ECO mode, just HEAT set to 16C which displays a leaf in Nest but it’s not ECO mode. I was hoping to have the leaf displayed in HA the same way Nest displays it…
BTW, which card are you using?
the shots with the leaf are from www.nest.com and NOT lovelace. This shot is from HASS Lovelace and use the standard Climate card. However, I have a dark theme applied.
Getting the leaf in lovelace would be possible with some custom card work. Not something that I would tackle, but certainly feasible.
I plan to rework the code a good bit. Will post here when I do. Things got a bit mangled as I learned more about he nuances of the HASS interaction, and some clean up is merited as I plan to use the template for other API’s. Nature Remo for one, and refining the Meraki API a bit more.
After posting I reviewed the images again and concluded that they were likely your actual thermostat.
Now that I switched on Nest ECO mode the card does in fact say Idle - Eco now.
I’ve been doing quite a bit of digging based on this post to find a more Nest-like card but struggling to get one to work…
Not sure if this is the right place for this…I followed the instructions and now see the humidity and temp readings for my Nest in HA, however the temperature reading it says is on the Nest does not seem to match what is actually on the nest.
It’s been saying like 74.26F for the longest time on the Nest temp entity for the past 6 hours. When I look at the actual wall unit, it’s reading in the 71-72 neighbourhood.
Is there a poll interval?
No, there’s no poll interval, per se. The integration is broken still and only refreshes once at HA startup. They need a google API library update to be integrated into HA. There’s a link above somewhere to the HA bug/deficiency…
Ah my bad, I’ll take a look at that…just started following this thread but probably need to go back more than 50 messages… Thanks!
If you want something that works albeit slighly more involved to set up (only slightly), try nest.py running inside appdaemon. Install appdaemon via supervisor. It’s working for me now that @dbecknel and I have sorted out a couple of issues. Just click on his name and filter this thread for his messages. The first one has a link to his project.
have setup everything on google side and can see temp sensor and humidity sensor. looking to instal the nest.py as mentioned previously . Now i am a complete newby to all this , have installed appdaemon via supervisor, do i just put the nest.py into the apps folder and modify the associated yaml file with all my details ? any help much appreciated and apologies for the really basic questions. I am running HA on qnap on VM with latest release.
this is log from appdaemon,
Add-on: AppDaemon 4
Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
Add-on version: 0.3.1
You are running the latest version of this add-on.
System: HassOS 4.15 (amd64 / qemux86-64)
Home Assistant Core: 0.117.5
Home Assistant Supervisor: 2020.11.0
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing…
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] appdaemon.sh: executing…
Looking in links: https://wheels.home-assistant.io/alpine-3.12/amd64/
ERROR: Could not find a version that satisfies the requirement nest.py (from versions: 0.0.1.linux-x86_64)
ERROR: No matching distribution found for nest.py
[13:28:11] FATAL: Failed installing package nest.py
[cont-init.d] appdaemon.sh: exited 1.
[cont-finish.d] executing container finish scripts…
[cont-finish.d] 99-message.sh: executing…
Oops! Something went wrong.
We are so sorry, but something went terribly wrong when
starting or running this add-on.
Be sure to check the log above, line by line, for hints.
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
nest.py has nothing to do with the NEST integration in HASS that is being worked on, rather it is an app that runs in AppDaemon. As such you need to get AppDaemon running first. Looks like yours is not running yet.
Note that getting the refresh token needed for this to run means stepping through the Google procedures manually, either using curl or postman to make the needed calls to get it. Once you have the refresh token, put the relevant entries in your secrets.yaml file and refer to them. ALL FOUR entries are required, or nest.py will not work. I did not build error handling for this, so it will just get an exception and fail, or continue to run but produce no results.
There is a appdaemon folder in your /config. You need to setup the appdaemon.yaml file to a config that works and to your liking.
Also, you will need a token for authentication to your HASS. This is done on the profile page of the user you want the token from in HASS. Look at the “Long-Lived Access Tokens” at the bottom of the profile page.
Once it is running correctly, you should be able to connect to the dashboard server and see the hello world app running.
Then you have an apps.yaml file under “/config/apps/apps.yaml”
sample appdaemon.yaml
---
secrets: /config/secrets.yaml
appdaemon:
latitude: <put your value here>
longitude: <put your value here>
elevation: 2
time_zone: <put your value here>
plugins:
HASS:
type: hass
ha_url: http://<ip goes here>:8123
token: !secret appdaemon_token
http:
url: http://<ip goes here>:5050
admin:
api:
hadashboard:
logs:
sample apps.yaml
nest:
module: nest
class: NESTAPI
nest_refresh: !secret nest_refresh
nest_client_id: !secret nest_client_id
nest_client_secret: !secret nest_client_secret
nest_project_id: !secret nest_project_id
thanks mate, will step through what you have said see how i get on , once again many thanks for your help
What is the status of this kown issue now? I cannot get it clear. Do we need to install the integration again, or will this be fixed in one of the upcoming releases?
Who knows and can share his/her thoughts?