Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
France
Asked — Edited

Nest Smoke Detector

Hi,

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 ?
Thanks.


ARC Pro

Upgrade to ARC Pro

Experience the latest features and updates. You'll have everything that is needed to unleash your robot's potential.

PRO
Synthiam
#1  
Look at the variable watched when the control is added. There's a lengthy list
#2  
@DJ,
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...
#3  
Same results for me. I think you need a nest account defined to gwt it to connect and populate the varuables.

Alan
#4  
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...
PRO
Synthiam
#5  
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..

Code:


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);
#6  
Thank you @DJ,. Really interresting....
This smoke detector is expensive, but I am really tempted.
PRO
Synthiam
#7  
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:)