this does take a decent amount of setup but when finished you will be able to communicate with Voxcommando from inside and outside your local network with voice feedback
what you need
Extra Android device (More Below)
Tasker Full VersionAutoVoice Full VersionAutoRemoteFull VersionUDP sennderthe extra android device will need to be on your local network at all times(When ever you want to use this setup anyways), if it is a tablet or phone you will most likely need the screen to be on for this to work as most tablets cut wifi connection when the screen is off for an extended period,
NOTE:: it may be possible to use the
Autoremote Evenghost plugin (I tried using it after I had this method setup, but I didn't have any luck. I may have been doing something wrong)
Just an update on this: I cannot send a message from our Android mobile device to the Eventghost plugin unless there's a local network connection. So, while I haven't been able to properly test a remote connection I strongly believe that anyone who wants to use the Eventghost option on their PC will need to use port forwarding if they want to send messages to their computer from a remote location.
... it is probably much simpler and more reliable to use the TCP plugin with a forwarded port to receive messages or commands from devices outside your LAN, or to use the mobile device solution if you don't mind running an Android device all the time...
this will also require redoing all of your TTS.Speak and TTS.SpeakSync Actions and converting them into a VC.TriggerEvent action (more on this below)
now that all the information to help you determin if it is worth doing is out of the way, here is a video showing a very quick demo and a full walk though on how to set things up on your two android devices:
In VC you will need to convert all of your TTS.Speak and TTS.Speaksync to-
VC.Triggerevent (Eventname) Speak {1} {Var.Sender} {2} TTS Method, {3} Text to speak
there are two examples in the "Example TTS / AutoRemote Event" command attached below
description of the attached commands:
"AutoRemote Map Setup Example" an example of how to setup your AutoRemote map tablet in VC
"Sender" this sets the Variable Sender to the name of the sender i.e. peglegs phone
"Sender Reset" this is used to set the sender back to PC
"TTS > PC/Phone" this action will either send AutoRemote message or TTS.speak/sync depending on the Sender
"Example TTS / AutoRemote Message" examples of how to setup VC.TriggerEvent for TTS and AutoRemote Messages
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.6-->
<commandGroup open="True" name="AutoRemote to VC Communication" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="1417" name="AutoRemote Map Setup Example" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Map.CreateTable</cmdType>
<params>
<param>AutoRemote</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Map.Set</cmdType>
<params>
<param>AutoRemote</param>
<param>your phone</param>
<param>Your AutoRemote API Key for your phone Goes HERE</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Map.Set</cmdType>
<params>
<param>AutoRemote</param>
<param>other AutoRemote Device</param>
<param>Your AutoRemote API Key for other device Goes HERE</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</command>
<command id="1056" name="Sender" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Results.SetVar</cmdType>
<params>
<param>Sender</param>
<param>{1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.SetEventTimer</cmdType>
<params>
<param>30s</param>
<param>Sender.Reset</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<event>Sender</event>
</command>
<command id="1040" name="Sender Reset" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Results.SetVar</cmdType>
<params>
<param>Sender</param>
<param>PC</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<event>Sender.Reset</event>
</command>
<command id="1020" name="TTS > PC/Phone" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="The First AutoRemote message is a blank, to make sure that Autoremote and tasker receive the message ">
<if ifBlockDisabled="False" ifNot="True">
<ifType>(A)==(B)</ifType>
<ifParams>{Var.Sender}&&PC</ifParams>
<then>
<action>
<cmdType>Scrape</cmdType>
<params>
<param>https://autoremotejoaomgcd.appspot.com/sendmessage?key={M:AutoRemote.{1}}&message= </param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Scrape</cmdType>
<params>
<param>https://autoremotejoaomgcd.appspot.com/sendmessage?key={M:AutoRemote.{1}}&message=VCSay=:={3}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.SetEventTimer</cmdType>
<params>
<param>30s</param>
<param>Sender.Reset</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.StopMacro</cmdType>
<params />
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)==(B)</ifType>
<ifParams>TTS&&{2}</ifParams>
<then>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>{3}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else>
<action>
<cmdType>TTS.SpeakSync</cmdType>
<params>
<param>{3}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<event>Speak</event>
</command>
<command id="1041" name="Example TTS / AutoRemote Message" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>VC.TriggerEvent</cmdType>
<params>
<param>Speak</param>
<param>{Var.Sender}</param>
<param>TTS</param>
<param>text to be spoken</param>
</params>
<cmdRepeat>0</cmdRepeat>
</action>
<action>
<cmdType>VC.TriggerEvent</cmdType>
<params>
<param>Speak</param>
<param>{Var.Sender}</param>
<param>TTSync</param>
<param>text to be spoken</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</command>
</commandGroup>