Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Haddood

Pages: [1] 2 3 ... 9
1
General Discussion / Cortana and VoxCommando
« on: November 07, 2016, 10:21:32 PM »
anybody has time to give it a try to integrate Cortana with Vox Commando ?

check this video seems rather simple
https://channel9.msdn.com/Events/Build/2014/2-530

if it happens Vox commando will get to next level as it will have NLP capabilities

2
Feature Requests / arithmatic operation inside commands
« on: October 19, 2016, 01:49:12 AM »
James,

since it has been very long time since my last feature request :8 .. I was wondering if is it feasible to provide some simple arithmetic operations within the commands just like we could use maps and variables... i.e. say we can

if A<B , {arth. 3 + 5/2} , {arth.{var.a} + 5 * {var.b}}

support for basic function + - * / will be ample start

this will be awesome simplify lots of commands

P.S. it will be great xmas gift for all voxteers !!!

3
General Discussion / the new InsteON Hub 2245-222
« on: August 18, 2016, 12:59:23 PM »
my existing inteon hub 2242-222 just died :( ... now I am looking for replacement ... anybody using vox commando with the new hub 2245-222 ?
if so could share your experience ...
thanks

4
General Discussion / Retrieve window size
« on: June 19, 2016, 01:42:04 PM »
Anybody knows of a way that vc retrieve a window size... I am trying to figure out Kodi window size when I log in remotely
Tx

5
as far as I know that commands that starts with ++ will run in a separate thread ...

my question if a command with ++ triggered then the main command issued vc.pause ... will the ++command pause as well? I tried to test but couldn't reach a solid conclusion.

6
Feature Requests / Windows 10 Notification
« on: May 25, 2016, 01:24:37 PM »
recently I upgraded my VC PC to windows 10, as well as all other PCs I own. from other apps I am finding windows 10 notification is more and more useful. at this point it would be great if I can send windows 10 notifications from VC, to keep track of certain type of Events

7
XML Exchange / Chuck Norris Facts (VC tellling jokes)
« on: April 10, 2016, 10:48:42 PM »
there is an old thread about VC telling jokes (http://voxcommando.com/forum/index.php?topic=665.15). the only issue was, one must populate it with jokes....

here is another command that retrieve a Chuck Norris fact from the internet. it avoids telling the joke twice ...
it is a bit rough, but have lot of potential .. (i.e. you can use replace to replace "Chuck Norris" with a name of a friend !). the db offer few options as well ...
and if someone know how to set up a similar DB online, maybe we can populate it with jocks so all vc users can access it ...

enjoy, and report bugs so we send them to Chuck Norris !!!!

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.7-->
<command id="824" name="Chuck Norris Facts" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="{ &quot;type&quot;: &quot;success&quot;, &quot;value&quot;: { &quot;id&quot;: 302, &quot;joke&quot;: &quot;Chuck Norris doesn't go on the internet, he has every internet site stored in his memory. He refreshes webpages by blinking.&quot;, &quot;categories&quot;: [] } }&#xD;&#xA;">
  <action>
    <cmdType>Map.CreateTable</cmdType>
    <params>
      <param>ChuckNorrisFacts</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Scrape</cmdType>
    <params>
      <param>http://api.icndb.com/jokes/random?limitTo=[nerdy]</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.RegEx</cmdType>
    <params>
      <param>"type":\s"(.*?)".*?"id":\s(.*?),.*?"joke":\s"(.*?)".*?"categories":\s\[(.*?)\] </param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <if ifBlockDisabled="False" ifNot="True">
    <ifType>(A)==(B)</ifType>
    <ifParams>{Match.1.1}&amp;&amp;success</ifParams>
    <then>
      <action>
        <cmdType>TTS.Speak</cmdType>
        <params>
          <param>oops I forgot it !</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>VC.StopMacro</cmdType>
        <params />
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <action>
    <cmdType>Map.Get</cmdType>
    <params>
      <param>ChuckNorrisFacts</param>
      <param>{Match.1.2}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>LastActionSuccess</ifType>
    <ifParams>&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>TTS.Speak</cmdType>
        <params>
          <param>hmm, I think I told you this one. let me think of another.</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>VC.Pause</cmdType>
        <params>
          <param>1000</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>TTS.Speak</cmdType>
        <params>
          <param>here is another one ...</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>VC.TriggerEvent</cmdType>
        <params>
          <param>ChuckNorrisFacts</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>VC.StopMacro</cmdType>
        <params />
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else>
      <action>
        <cmdType>TTS.Speak</cmdType>
        <params>
          <param>{Match.1.3}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>Map.Set</cmdType>
        <params>
          <param>ChuckNorrisFacts</param>
          <param>{Match.1.2}</param>
          <param>{ShortDate}</param>
          <param>True</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </else>
  </if>
  <phrase>tell me, tell us</phrase>
  <phrase optional="true">a</phrase>
  <phrase>Chuck Norris</phrase>
  <phrase>fact, joke</phrase>
  <event>ChuckNorrisFacts</event>
</command>

8
Feature Requests / storing errors in a variable
« on: March 30, 2016, 09:00:15 PM »
based on this:
http://voxcommando.com/forum/index.php?topic=2552.0;topicseen

how about a variable {LastError} or something similar that give us access to the last error ... or copying the error to {LastResult}, or any other solution that you see fit

this will give us the chance to trigger events trying to remedy the problem ...

quick example, scrape something on local host, unable to connect to remote server, is an indication that The server might not be running ... try to launch it ...etc.

9
VoxCommando Basics and Core Features / reading scrape error
« on: March 30, 2016, 05:40:56 PM »
is there a way to read the error generated by scrape action?
it seems it is not copied to last results ...

vc 2216

10
1. in certain scenarios, we need to treat multiple events as one ... for the moment, I am dealing with it one by one, by creating 2 commands, the first is triggered by the event. it has a timer that get killed and restarted if the event trigger again, upon expiration of the timer it will trigger the second command that contain the actual macro ...

it will be way easier if we can have an option in the event to treat multiple events in a certain time frame as one


2. for the moment it is not possible to trigger a command with a timer, my work around, is I creat a macro, add an event ...the macro has just the VC command ... and it is kind of redundant if commands are recognised by VC as events as well ...

11
Feature Requests / log file name, and path to maps db files ...
« on: March 15, 2016, 12:52:53 AM »
I mentioned in other posts that I use onedrive to "sync" VC between 2 computers ... till now things working good cause I never used them at the same time ...
if I use them at the same time, I face an access problem; to the log file and the maps DB file ... features that can make this run perfectly:

1. an option to add machine name to log file, like this every machine will have it is own log file
2. possibility of adding path for the db files ... like this the DB file can be located on a network location and/or possibility of using central DB, like my SQL to handle maps this option allows to integrate VC with other things that are DB based and handle large maps efficiently (I am not sure based on which db engine maps is based on, and if it allows non exclusive access)
3. possibility of adding path for the voicecommands.xml ... this will allow different VC installations to read the commands from central location on the network and/or load different VC commands from one installation


12
XML Exchange / Generic File downloader
« on: March 02, 2016, 01:45:25 PM »
based on nime5ter reply in this topic http://voxcommando.com/forum/index.php?topic=1833.msg15942#msg15942
here is a command that can be used to download files ... it needs python plugin ... and takes four payloads

{1} Path, where file to be saved
{2} File name
{3} URL to download from
{4} Overwrite if file exists

Features:
- stores download history in map, there is a command you need enable it to create the map or create it manually.
              - since I use VC on 2 machine as well I store which machine downloaded the file. if you are using version older than 2.216 see http://voxcommando.com/forum/index.php?topic=2507.0
                use 2.216 new command System.GetVar MachineName and store it in a variable ... or you can skip this, just remove the {Var.MachineName} from the map.set
- check if the file exist before downloading it, if overwrite is false it won't download the file - kind of green / bandwidth / possible money saver feature :)

if you find bugs, or enhancement post a reply ...

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.6-->
<command id="297" name="File Downloader" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="{1} Path&#xD;&#xA;{2} File name&#xD;&#xA;{3} URL&#xD;&#xA;{4} Overwrite">
  <action>
    <cmdType>Map.CreateTable</cmdType>
    <params>
      <param>DownloadHistory</param>
    </params>
    <cmdRepeat>0</cmdRepeat>
  </action>
  <action>
    <cmdType>File.Read</cmdType>
    <params>
      <param>{1}\{2}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>LastActionSuccess</ifType>
    <ifParams>&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>VcAdvanced.Log</cmdType>
        <params>
          <param>{1}\{2} already exist</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else>
      <action>
        <cmdType>Map.Set</cmdType>
        <params>
          <param>DownloadHistory</param>
          <param>FileOverwrite</param>
          <param>True</param>
          <param>True</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </else>
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)Contains(B)</ifType>
    <ifParams>{M:DownloadHistory.FileOverwrite}, {4}&amp;&amp;True</ifParams>
    <then>
      <action>
        <cmdType>PY.ExecString</cmdType>
        <params>
          <param>from System.Net import WebClient; WebClient().DownloadFile(r"{3}",r"{1}\{2}")</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>LastActionSuccess</ifType>
    <ifParams>&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>Map.Set</cmdType>
        <params>
          <param>DownloadHistory</param>
          <param>{1}\{2}</param>
          <param>{3}, {1}, {2}, {ShortDate}, {LongTime}, {Var.MachineName}</param>
          <param>True</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else>
      <action>
        <cmdType>VcAdvanced.Log</cmdType>
        <params>
          <param>Error downloading {2} from {3}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </else>
  </if>
  <action>
    <cmdType>Map.Set</cmdType>
    <params>
      <param>DownloadHistory</param>
      <param>FileOverwrite</param>
      <param>False</param>
      <param>True</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <event>file.download</event>
</command>

13
WAY Off Topic / X10 items for sales
« on: February 20, 2016, 01:50:46 AM »
I have a bunch of X10 items that I am planning to put on ebay... though to check here first if anybody is interested. PM me and I will send you the full info

14
Windows 8 / 10 / iron py & win10 64bit
« on: February 20, 2016, 12:02:39 AM »
Hi James,
I'am trying to run VC on a win10 64bit machine (mac mini 2010, bootcamp) and I get the attached error...evidently Iron Py is not running, though VC does
it happens every time I start VC ...
I saved the log, if you need it let me know and I will PM it

many tx


15
XML Exchange / Storing PC / User Name in a variable
« on: February 17, 2016, 04:34:13 PM »
if one shares VC config cross multiple PCs (I use onedrive to sync it across 2 PCs), one might need to do things based on which PC VC is running on. Example: setting the microphone to listen to, or if the PCs are in different rooms, commands like "Lights On" will mean to turn different lights on ...etc.
here is a very simple and easy command to capture the PC name in a variable.

update: the command has been revised to store as well the current user name ... on XP requires service pack 2, and I kept the original as disabled for reference

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.4-->
<command id="867" name="Get PC &amp; User name" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>Launch.Capture</cmdType>
    <params>
      <param>C:\Windows\System32\hostname.exe</param>
      <param />
      <param>true</param>
    </params>
    <cmdRepeat>0</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.SetVar</cmdType>
    <params>
      <param>PCName</param>
      <param>{LastResult}</param>
    </params>
    <cmdRepeat>0</cmdRepeat>
  </action>
  <action>
    <cmdType>Launch.Capture</cmdType>
    <params>
      <param>C:\Windows\System32\whoami.exe</param>
      <param />
      <param>true</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.RegEx</cmdType>
    <params>
      <param>(.*?)\\(.*)</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.SetVar</cmdType>
    <params>
      <param>PCName</param>
      <param>{Match.1.1}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.SetVar</cmdType>
    <params>
      <param>UserName</param>
      <param>{Match.1.2}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <event>Windows.GetPC-UserName</event>
</command>

Pages: [1] 2 3 ... 9