<?xml version="1.0" encoding="utf-8"?>
<!--C:\Users\james\Desktop\VcCollection_Nest (updated 2-Mar-2016).xml-->
<!--This groupCollection xml file was exported from VoxCommando-->
<VoiceCommands version="2.2.1.6">
    <groupCollection open="True" name="Nest (updated 2-Mar-2016)">
        <commandGroup open="True" name="Nest set-up" enabled="True" prefix="" priority="0" requiredProcess="" description="">
            <command id="453" name="1. Create Nest folder (Execute just once)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="You only need to run this command once. This creates a Nest folder in your VC directory, and some payloadXML. (Nest commands hat-tip: Scott M. Baker's nest.py interface was very helpful to learn the Nest's authentication and request syntax. http://www.smbaker.com/)">
                <action>
                    <cmdType>File.MakeDir</cmdType>
                    <params>
                        <param>Nest</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.Clear</cmdType>
                    <params>
                        <param>Nest\Nest_therm_max-min.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.AddPair</cmdType>
                    <params>
                        <param>Nest\Nest_therm_max-min.xml</param>
                        <param>high</param>
                        <param>maximum, max, high, highest</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.AddPair</cmdType>
                    <params>
                        <param>Nest\Nest_therm_max-min.xml</param>
                        <param>low</param>
                        <param>minimum, min, low, lowest</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Create Nest folder</phrase>
            </command>
            <command id="1201" name="2. Nest authorization" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="EDIT USERNAME AND PASSWORD ACTION. You'll need to run this every month or so, when your previous authorization token expires. If you use Google Calendar, you could automate this to run on a schedule.">
                <action>
                    <cmdType>Map.DropTable</cmdType>
                    <params>
                        <param>Nest</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.CreateTable</cmdType>
                    <params>
                        <param>Nest</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape.Post</cmdType>
                    <params>
                        <param>https://home.nest.com/user/login</param>
                        <param>username=youremail@email.com&amp;password=yourpassword</param>
                        <param />
                        <param />
                        <param>application/x-www-form-urlencoded</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>"user":"(user).(.*?)","(access_token)":"(.*?)".*?(transport_url)":"(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>{Match.1.1}</param>
                        <param>{Match.1.2}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>{Match.1.3}</param>
                        <param>{Match.1.4}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>{Match.1.5}</param>
                        <param>{Match.1.6}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>level_0</param>
                        <param>Excellent</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>level_1</param>
                        <param>Very good</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>level_2</param>
                        <param>OK</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>level_3</param>
                        <param>Low</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>level_4</param>
                        <param>Very Low</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>VC.TriggerEvent</cmdType>
                    <params>
                        <param>nestUpdate</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Log in to Nest</phrase>
            </command>
            <command id="1212" name="Update Nest data" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="This will run automatically when you run the authorization command. You may want to run this once a day as well, on a timer, to refresh your data. Or just ask VC to &quot;Refresh Nest data&quot; before you ask for any new status information.">
                <action>
                    <cmdType>Scrape.Get</cmdType>
                    <params>
                        <param>{M:Nest.transport_url}/v2/mobile/user.{M:Nest.user}</param>
                        <param>application/x-www-form-urlencoded</param>
                        <param>Nest/1.1.0.10 CFNetwork/548.0.4</param>
                        <param />
                        <param />
                        <param>Authorization: Basic {M:Nest.access_token}</param>
                        <param>X-nl-user-id:{M:Nest.user}</param>
                        <param>X-nl-protocol-version:1</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>File.Write</cmdType>
                    <params>
                        <param>Nest\Nest_dev_status.txt</param>
                        <param>{LastResult}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>VC.TriggerEvent</cmdType>
                    <params>
                        <param>deviceList</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Group.Rebuild</cmdType>
                    <params>
                        <param>Nest commands</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Update, Refresh</phrase>
                <phrase> Nest device info, Nest data</phrase>
                <event>nestUpdate</event>
            </command>
            <command id="1237" name="thermostat payload generator" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>PayloadXML.GetPhrase</cmdType>
                    <params>
                        <param>Nest\thermoList.xml</param>
                        <param>{1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>LastActionSuccess</ifType>
                    <ifParams>&amp;&amp;</ifParams>
                    <then>
                        <action>
                            <cmdType>VC.StopMacro</cmdType>
                            <params />
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>File.Read</cmdType>
                            <params>
                                <param>Nest\Nest_dev_status.txt</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.RegEx</cmdType>
                            <params>
                                <param>},"shared.*?"{1}".*?"name":"(.*?)"</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>PayloadXML.AddPair</cmdType>
                            <params>
                                <param>Nest\thermoList.xml</param>
                                <param>{1}</param>
                                <param>{Match.1}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <event>devLabelTherm</event>
            </command>
            <command id="1238" name="Generate device list" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>PayloadXML.Clear</cmdType>
                    <params>
                        <param>Nest\thermoList.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.Clear</cmdType>
                    <params>
                        <param>Nest\protectList.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>File.Read</cmdType>
                    <params>
                        <param>Nest\Nest_dev_status.txt</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>"structures":\[(.*?)\]</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>"structure.(.*?)"</param>
                        <param />
                        <param>{Match.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>Nest</param>
                        <param>struc_id_{i}</param>
                        <param>{Match.{i}}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>widget_track.(\w.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.MatchToEvent</cmdType>
                    <params>
                        <param>devLabelProtect</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>"device\.(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.MatchToEvent</cmdType>
                    <params>
                        <param>devLabelTherm</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Generate device list</phrase>
                <event>deviceList</event>
            </command>
            <command id="1219" name="protect payload generator" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="&#xD;&#xA;&#xD;&#xA;">
                <action>
                    <cmdType>File.Read</cmdType>
                    <params>
                        <param>Nest\Nest_dev_status.txt</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>},"topaz":{.*?"{1}".*?"description":"(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.AddPair</cmdType>
                    <params>
                        <param>Nest\protectList.xml</param>
                        <param>{1}</param>
                        <param>{Match.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <event>devLabelProtect</event>
            </command>
        </commandGroup>
        <commandGroup open="True" name="Nest commands" enabled="True" prefix="" priority="0" requiredProcess="" description="">
            <command id="1234" name="Get current temperature" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Nest stores temperature in Celsius only.  If you want to use Fahrenheit then you will need to convert between Fahrenheit and Celsius. This can be done using a simple python script.">
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>dev</param>
                        <param>{PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>VC.TriggerEvent</cmdType>
                    <params>
                        <param>nestUpdate</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>File.Read</cmdType>
                    <params>
                        <param>Nest\Nest_dev_status.txt</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>shared".*?"{1}".*?"current.temperature".(.*?),</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>{var.dev} shows a current temperature of {Match.1} degrees.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>{var.dev} shows a current temperature of {Match.1} degrees.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Get current temperature of</phrase>
                <phrase optional="true">the</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\thermoList.xml</payloadFromXML>
            </command>
            <command id="1263" name="Set temperature of {1} to {2}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Nest stores temperature in Celsius only.  If you want to use Fahrenheit then you will need to convert between Fahrenheit and Celsius. This can be done using a simple python script.">
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Setting {PF.1} to {2} degrees.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>Setting {PF.1} to {2} degrees.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape.Post</cmdType>
                    <params>
                        <param>{M:Nest.transport_url}/v2/put/shared.{1}</param>
                        <param>{"target_change_pending":true,"target_temperature":{2}.0}</param>
                        <param />
                        <param />
                        <param>application/json</param>
                        <param>Authorization: Basic {M:Nest.access_token}</param>
                        <param>X-nl-protocol-version: 1</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Set</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\thermoList.xml</payloadFromXML>
                <phrase>to</phrase>
                <payloadRange>10,25</payloadRange>
                <phrase optional="true">degrees, degrees Celsius</phrase>
            </command>
            <command id="1266" name="Show status of {1} (thermostats only)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>VC.TriggerEvent</cmdType>
                    <params>
                        <param>nestUpdate</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>File.Read</cmdType>
                    <params>
                        <param>Nest\Nest_dev_status.txt</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.Replace</cmdType>
                    <params>
                        <param>_</param>
                        <param><![CDATA[ ]]></param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>shared".*?"{1}".*?timestamp":(.*?)}}}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>"(.*?)":(.*?),</param>
                        <param />
                        <param>{Match.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>Status report:</param>
                        <param>8000</param>
                        <param>-5</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.AddText</cmdType>
                    <params>
                        <param>{Match.{i}.1}: {Match.{i}.2}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <phrase>Show status of</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\thermoList.xml</payloadFromXML>
            </command>
            <command id="1279" name="Get target temperature of {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>dev</param>
                        <param>{PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>VC.TriggerEvent</cmdType>
                    <params>
                        <param>nestUpdate</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>File.Read</cmdType>
                    <params>
                        <param>Nest\Nest_dev_status.txt</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.Replace</cmdType>
                    <params>
                        <param>_</param>
                        <param><![CDATA[ ]]></param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>shared".*?"{1}".*?timestamp":(.*?)}}}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>,"target.temperature":(.*?),</param>
                        <param />
                        <param>{Match.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>The target temperature for {var.dev} is:</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.AddText</cmdType>
                    <params>
                        <param>{Match.1} degrees</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>The target temperature for {var.dev} is: {Match.1} degrees</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Get target temperature of</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\thermoList.xml</payloadFromXML>
            </command>
            <command id="1254" name="Set max/min temperature of {2} to {3}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Uses Fahrenheit if your Nest device is set to use Fahrenheit, or Celsius if set to Celsius. You should change the temperature range in the command phrase to the appropriate range for your measurement system.">
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Setting {PF.2}'s {1} to {3} degrees.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>Setting {PF.2}'s {1} to {3} degrees.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape.Post</cmdType>
                    <params>
                        <param>{M:Nest.transport_url}/v2/put/shared.{2}</param>
                        <param>{"target_temperature_{1}":{3}.0}</param>
                        <param />
                        <param />
                        <param>application/json</param>
                        <param>Authorization: Basic {M:Nest.access_token}</param>
                        <param>X-nl-protocol-version: 1</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Set</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\Nest_therm_max-min.xml</payloadFromXML>
                <phrase optional="true">temp, temperature</phrase>
                <phrase>of</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\thermoList.xml</payloadFromXML>
                <phrase>to</phrase>
                <payloadRange>10,28</payloadRange>
                <phrase optional="true">degrees, degrees Celsius</phrase>
            </command>
            <command id="1272" name="Set {1} fan to {2} mode" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Setting {PF.1}'s fan to {2} mode</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape.Post</cmdType>
                    <params>
                        <param>{M:Nest.transport_url}/v2/put/device.{1}</param>
                        <param>{"fan_mode":"{2}"}</param>
                        <param />
                        <param />
                        <param>application/json</param>
                        <param>Authorization: Basic {M:Nest.access_token}</param>
                        <param>X-nl-protocol-version: 1</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Set </phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\thermoList.xml</payloadFromXML>
                <phrase>fan to</phrase>
                <payloadList>on, auto</payloadList>
                <phrase optional="true">mode</phrase>
            </command>
            <command id="1277" name="Set {1} to heat/cool/heat and cool mode" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Setting {PF.1} to {2} mode</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>(A)==(B)</ifType>
                    <ifParams>{2}&amp;&amp;heat and cool</ifParams>
                    <then>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/shared.{1}</param>
                                <param>{"target_temperature_type":"range"}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/shared.{1}</param>
                                <param>{"target_temperature_type":"{2}"}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <phrase>Set </phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\thermoList.xml</payloadFromXML>
                <phrase>to</phrase>
                <payloadList>heat, cool, heat and cool</payloadList>
                <phrase optional="true">mode</phrase>
            </command>
            <command id="1280" name="Enable/Disable heads up alert on {2}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>(A)==(B)</ifType>
                    <ifParams>{1}&amp;&amp;enable</ifParams>
                    <then>
                        <action>
                            <cmdType>TTS.Speak</cmdType>
                            <params>
                                <param>Enabling heads up on {PF.2} </param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/topaz.{2}</param>
                                <param>{"heads_up_enable":true}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>TTS.Speak</cmdType>
                            <params>
                                <param>Disabling heads up on {PF.2} </param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/topaz.{2}</param>
                                <param>{"heads_up_enable":false}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <payloadList>enable, disable</payloadList>
                <phrase>heads up alert on</phrase>
                <phrase optional="true">the, my</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\protectList.xml</payloadFromXML>
            </command>
            <command id="1288" name="Enable/Disable {2}'s path light" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>(A)==(B)</ifType>
                    <ifParams>{1}&amp;&amp;enable</ifParams>
                    <then>
                        <action>
                            <cmdType>TTS.Speak</cmdType>
                            <params>
                                <param>Enabling path light on {PF.2} </param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/topaz.{2}</param>
                                <param>{"night_light_enable":true}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>TTS.Speak</cmdType>
                            <params>
                                <param>Disabling path light on {PF.2} </param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/topaz.{2}</param>
                                <param>{"night_light_enable":false}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <payloadList>enable, disable</payloadList>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\protectList.xml</payloadFromXML>
                <phrase>path light</phrase>
            </command>
            <command id="1304" name="Enable/Disable nightly promise light on {2}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>(A)==(B)</ifType>
                    <ifParams>{1}&amp;&amp;enable</ifParams>
                    <then>
                        <action>
                            <cmdType>TTS.Speak</cmdType>
                            <params>
                                <param>Enabling nightly promise light on {PF.2} </param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/topaz.{2}</param>
                                <param>{"ntp_green_led_enable":true}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>TTS.Speak</cmdType>
                            <params>
                                <param>Disabling nightly promise on {PF.2} </param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/topaz.{2}</param>
                                <param>{"ntp_green_led_enable":false}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <payloadList>enable, disable</payloadList>
                <phrase>nightly promise on</phrase>
                <phrase optional="true">the, my</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">Nest\protectList.xml</payloadFromXML>
            </command>
            <command id="1294" name="Set house away mode" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="If you have more than one Nest dwelling, consult your Nest map to find the correct struc_id variable. Edit the Post command accordingly.">
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Setting house to {1} mode.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>Setting house to {1} mode.</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>(A)==(B)</ifType>
                    <ifParams>{1}&amp;&amp;away</ifParams>
                    <then>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/structure.{M:Nest.struc_id_1}</param>
                                <param>{"away":true}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>Scrape.Post</cmdType>
                            <params>
                                <param>{M:Nest.transport_url}/v2/put/structure.{M:Nest.struc_id_1}</param>
                                <param>{"away":false}</param>
                                <param />
                                <param />
                                <param>application/json</param>
                                <param>Authorization: Basic {M:Nest.access_token}</param>
                                <param>X-nl-protocol-version: 1</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <phrase>Set house to</phrase>
                <payloadList>away,home</payloadList>
                <phrase optional="true">mode</phrase>
            </command>
            <command id="333" name="Check Protect battery health" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape.Get</cmdType>
                    <params>
                        <param>{M:Nest.transport_url}/v2/mobile/user.{M:Nest.user}</param>
                        <param>application/x-www-form-urlencoded</param>
                        <param>Nest/1.1.0.10 CFNetwork/548.0.4</param>
                        <param />
                        <param />
                        <param>Authorization: Basic {M:Nest.access_token}</param>
                        <param>X-nl-user-id:{M:Nest.user}</param>
                        <param>X-nl-protocol-version:1</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>battery_health_state":(\d),.*?"description":"(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>Protect battery health:</param>
                        <param>5000</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.AddText</cmdType>
                    <params>
                        <param>{Match.{i}.2}: {M:Nest.level_{Match.{i}.1}}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <phrase>Check Protect battery health</phrase>
            </command>
        </commandGroup>
    </groupCollection>
</VoiceCommands>