2
« on: February 02, 2017, 03:50:55 PM »
Hi All,
I have implemented vox using Regex to check Hue light status, so it states if the light is already ON or OFF (Done with 2 commands one, for ON and one for OFF)
Im having problem implementing it on Group. Need some help with RegexSingle or Regex.
This is the code for the Lights which is working.
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.2.9-->
<command id="1007" name="Turn {1} light ON" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="80" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Hue.Raw.Get</cmdType>
<params>
<param>lights</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>RegExTool.Open</cmdType>
<params>
<param>True</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.RegExSingle</cmdType>
<params>
<param>"on":\strue .*? "name":\s"(.*?)"</param>
<param>:</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.MatchConcat</cmdType>
<params>
<param> | </param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)Contains(B)</ifType>
<ifParams>{LastResult}&&{PF.1}</ifParams>
<then>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>The {PF.1} is already on</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else>
<action>
<cmdType>Hue.Light</cmdType>
<params>
<param>{1}</param>
<param>"on":true</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>The {PF.1} has been turned on</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<phrase>Turn</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">huePayloads\lights.xml</payloadFromXML>
<phrase>ON</phrase>
</command>