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


Upgrade to ARC Pro

Subscribe to ARC Pro, and your robot will become a canvas for your imagination, limited only by your creativity.


Look at the variable watched when the control is added. There's a lengthy list


@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...


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:)