Google-Nest Offical Device Access Console Finally Released!

They are unrelated and he is getting the data from nest.py. Almost seems like he is on an older version of nest.py where it did not handle the automation/lovelace widgets correctly.

I tried to add a nest section to the configuration.yaml, but with the same output, without nest_subscriber_id.
Later edit: I added the nest subscriber ID also in the configuration inside configuration.yaml

nest.py was copied from https://github.com/dbecknel/appdaemon/blob/6026e39bffb60c9bbfc9b3f070edffee7aab1794/nest.py yesterday afternoon (10.Nov.2020). Except for nest.py should I copy/configure anything else besides what I mentioned above?

@dbrunt: Could you help me with a link/sample related to how to configure the climate: inside configuration.yaml? I found https://www.home-assistant.io/integrations/generic_thermostat/, but I donā€™t know how to do the match with the information that I have from nest. Maybe could you share your climate configuration please?

Something that it is not clear for me: From where I should add the 'ā€˜nest_subscriber_idā€™, from Device Access Console or from console.cloud.google.com. I used the one from console.nest.google.com
If it is from console.cloud.google.com I created by hand the topic and sub, but I donā€™t understand how it connects with the nest devices

Remove debugging mode, way too verbose. Then remove the ā€œ#ā€ on line 26, and save.

    #self.listen_event(self.events)

Turns in to:

    self.listen_event(self.events)

This will enable the logging of events being fired and will let me see the data HASS is sending to the AppDaemon.

ā€¦but he doesnā€™t even have any climate.xxx services.

I have done the updates of nest.py. I see the status updates, as below, but when I change the temperature I donā€™t see anything in the logs.
@dbrunt: Could you share with me a sample on how I need to configure the climate to be compatible with nest?

2020-11-11 12:13:22.289851 INFO nest: state_changed
2020-11-11 12:13:22.291813 INFO nest: {'entity_id': 'climate.bedroom_nest_thermostat', 'old_state': None, 'new_state': {'entity_id': 'climate.bedroom_nest_thermostat', 'state': 'on', 'attributes': {'friendly_name': 'Bedroom Nest Thermostat', 'entity_id': 'climate.bedroom_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': 23.3, 'current_humidty': 55, 'hvac_action': 'idle', 'temperature': 22.7}, 'last_changed': '2020-11-11T11:13:21.908068+00:00', 'last_updated': '2020-11-11T11:13:21.908068+00:00', 'context': {'id': '8be8ed7094decd07b0df5d3369ae23c6', 'parent_id': None, 'user_id': '3f752af5feab4635b3901c36dae8e55d'}}}
2020-11-11 12:15:38.191861 INFO AppDaemon: New client Admin Client connected

nest_subscriber_id is from console.nest.google.comā€¦
Pub/Sub topic: projects/sdm-prod/topics/enterprise-d07b7e30-ā€¦

configuration.yaml

nest:
  client_id: !secret nest_client_id
  client_secret: !secret nest_client_secret
  project_id: !secret nest_project_id
  subscriber_id: !secret nest_subscriber_id

secrets.yaml

nest_client_id: .....i0vj5jh0b.apps.googleusercontent.com
nest_client_secret: gUf.........Ewky
nest_project_id: .....-1094-.....-9eaf-...............
nest_subscriber_id: projects/sdm-prod/topics/enterprise-........-....-....-9eaf-...................
nest_refresh: 1//06......L9Ir2...................RL_NJ............h_5Rg.................XHut_k.............A5k-1B...............WbZ8
1 Like

All I have in configuration.yaml is:

climate:
1 Like

YESā€¦ it worked- Thank you, climate: saved the day :-).
I also identified an error when I change the temp. See below.

2020-11-11 12:30:42.173794 INFO nest: set_temperature
2020-11-11 12:30:42.187410 INFO nest: climate.alexia_nest_thermostat
2020-11-11 12:30:42.199495 INFO nest: {
    "command": "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
    "params": {
        "heatCelsius": 24.0
    }
}
2020-11-11 12:30:45.881635 WARNING nest: ------------------------------------------------------------
2020-11-11 12:30:45.883608 WARNING nest: Unexpected error in worker for App nest:
2020-11-11 12:30:45.885446 WARNING nest: Worker Ags: {'id': 'd3f9d9a944f84574953e615b87a82a5e', 'name': 'nest', 'objectid': 'fba5c37422c94368936c102c970f287c', 'type': 'event', 'event': 'call_service', 'function': <bound method NESTAPI.events of <nest.NESTAPI object at 0x757e0748>>, 'data': {'domain': 'climate', 'service': 'set_temperature', 'service_data': {'entity_id': 'climate.alexia_nest_thermostat', 'temperature': 24}}, 'pin_app': True, 'pin_thread': 1, 'kwargs': {'__thread_id': 'thread-1'}}
2020-11-11 12:30:45.886833 WARNING nest: ------------------------------------------------------------
2020-11-11 12:30:45.889425 WARNING nest: Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/appdaemon/threading.py", line 933, in worker
    funcref(args["event"], data, self.AD.events.sanitize_event_kwargs(app, args["kwargs"]))
  File "/config/appdaemon/apps/nest.py", line 29, in events
    if "climate" in data["entity_id"]:
KeyError: 'entity_id'
2020-11-11 12:30:45.890992 WARNING nest: ------------------------------------------------------------
2020-11-11 12:30:45.933956 INFO nest: state_changed
2020-11-11 12:30:45.936055 INFO nest: {'entity_id': 'climate.alexia_nest_thermostat', 'old_state': {'entity_id': 'climate.alexia_nest_thermostat', 'state': 'on', 'attributes': {'friendly_name': 'Alexia Nest Thermostat', 'entity_id': 'climate.alexia_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.7, 'current_humidty': 55, 'hvac_action': 'idle', 'temperature': 22}, 'last_changed': '2020-11-11T11:29:05.778818+00:00', 'last_updated': '2020-11-11T11:29:05.778818+00:00', 'context': {'id': 'b4c28d74eceb41dc9103c968fa16478e', 'parent_id': None, 'user_id': '3f752af5feab4635b3901c36dae8e55d'}}, 'new_state': {'entity_id': 'climate.alexia_nest_thermostat', 'state': 'on', 'attributes': {'friendly_name': 'Alexia Nest Thermostat', 'entity_id': 'climate.alexia_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.7, 'current_humidty': 55, 'hvac_action': 'idle', 'temperature': 24}, 'last_changed': '2020-11-11T11:29:05.778818+00:00', 'last_updated': '2020-11-11T11:30:45.680980+00:00', 'context': {'id': 'f41462f3327b775fb1f655bd0f95a281', 'parent_id': None, 'user_id': '3f752af5feab4635b3901c36dae8e55d'}}}

I wasnā€™t following until just now. I didnā€™t realize that climate had to be initialized as I have other climate devices already. I will update the readme accordingly.

Discovery learning is fun, no?

1 Like

Awesome that did the trick. Comment out line 26 again, using the ā€œ#ā€. That will silence that error. It is only there for troubleshooting.

Please see my messages to you. Please take action.

1 Like

Yes. Thank you for your support. Iā€™ve built my own hub in node.js plus ESB8266 inside the house. My plan is to start to migrate and integrate the out of the shelve smart things that I have to Home Assistant.
I was between HA and Samsung Smartthings.

Let me know how that goes. I still have a number of switches and sensors in ST. The switches would be relatively easy to migrate as they are Z-wave and Z-wave relays. Using a single stick on a single HASS would be fine. However, the zigbee sensors would need a relay or some sort of bridge (currently leveraging multiple ST hubs) to get the needed RF coverage.

Iā€™m running OpenZWave on a Pi 3B+ with a RaZBerry daughter card modded with an external antenna for better RF. My HA is on an HP ProDesk with a zzh! CC2652R Zigbee dongle which has an external antenna as well.

1 Like

So I followed the steps above and got it working. I donā€™t have appdaemon so I just see the temp and humidity which I understand. My questions is should it not be automatically updating periodically? The info will update if I manually go to the Nest Integration and click reload.

There is still an issue that updates donā€™t happen unless done manually. The integration github has details.

When you say manually do you mean a restart or some other way? Thanks.

My understanding is that an HA restart updates the sensors. I donā€™t know what happens if you try and do it manually. The github would have more details.

I go to config -> integrations -> click the three dots in the bottom right of the Nest box
and then ā€œreloadā€ from the popup options.

1 Like

Huh. Good idea. It works for me too.
I wonder if an automation can be built to real the integration say very 5 minutes until itā€™s fixed