Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Asked — Edited

Nest Smoke Detector


I am thinking of buying a NEST smoke detector, because it can be used with ARC (and yes, also for safety reasons :)).
I have seen the example for the thermostat, but nothing about the smoke/CO detector.
Does anyone know what kind of variables can be recover in ARC with the smoke detector ?

AI Support Bot
Related Content
Based on your post activity, we found some content that may be interesting to you. Explore these other tutorials and community conversations.
Look at the variable watched when the control is added. There's a lengthy list
I don't have any NEST product yet, so when I add the control, I don't see any related variables in the variable watcher. Unless I miss something...
Same results for me. I think you need a nest account defined to gwt it to connect and populate the varuables.

Yeah, I thought that too, so I have signed for an account and made the link with ARC. I have also run the script cc nest runonce. But, still no variable...
Yeah - you will need to connect ARC to it and run once. Maybe this is because your account does not have a Nest assigned to it. You will have to assign the thermostat to the ARC skill plugin when you get the Nest setup.

There is a "nest simulator" that you can run.. Either way, here's the variables to make it easier:)

The prefix_ is the name of the thermostat that you assign with Nest when it's setup. For example "Living Room", "BAsement", "My House", etc..


Scripting.VariableManager.SetVariable(prefix + "temp_c", thermostat.Value.ambient_temperature_c);
Scripting.VariableManager.SetVariable(prefix + "temp_f", thermostat.Value.ambient_temperature_f);
Scripting.VariableManager.SetVariable(prefix + "temp_high_c", thermostat.Value.away_temperature_high_c);
Scripting.VariableManager.SetVariable(prefix + "temp_high_f", thermostat.Value.away_temperature_high_f);
Scripting.VariableManager.SetVariable(prefix + "temp_low_c", thermostat.Value.away_temperature_low_c);
Scripting.VariableManager.SetVariable(prefix + "temp_low_f", thermostat.Value.away_temperature_low_f);
Scripting.VariableManager.SetVariable(prefix + "humidity", thermostat.Value.humidity);
Scripting.VariableManager.SetVariable(prefix + "is_online", thermostat.Value.is_online);
Scripting.VariableManager.SetVariable(prefix + "target_temp_c", thermostat.Value.target_temperature_c);
Scripting.VariableManager.SetVariable(prefix + "target_temp_f", thermostat.Value.target_temperature_f);
Scripting.VariableManager.SetVariable(prefix + "target_temp_high_c", thermostat.Value.target_temperature_high_c);
Scripting.VariableManager.SetVariable(prefix + "target_temp_high_f", thermostat.Value.target_temperature_high_f);
Scripting.VariableManager.SetVariable(prefix + "target_temp_low_c", thermostat.Value.target_temperature_low_c);
Scripting.VariableManager.SetVariable(prefix + "target_temp_low_f", thermostat.Value.target_temperature_low_f);
Scripting.VariableManager.SetVariable(prefix + "battery_health", smoke.Value.battery_health);
Scripting.VariableManager.SetVariable(prefix + "co_alarm", smoke.Value.co_alarm_state);
Scripting.VariableManager.SetVariable(prefix + "is_online", smoke.Value.is_online);
Scripting.VariableManager.SetVariable(prefix + "smoke_alarm", smoke.Value.smoke_alarm_state);
Thank you @DJ,. Really interresting....
This smoke detector is expensive, but I am really tempted.
Nest is generally really expensive - i don't actually have one. I use the simulator. The price of a Nest is far too high to justify:)