VoxCommando will trigger an event any time a scene is activated in Vera and any time the status of a device changes.
If that is not enough for you then yes. You can send commands to VoxCommando by many different methods. UDP, TCP, HTTP, or command line. To use TCP or HTTP you need to enable and configure the TCP plugin.
From Vera the simplest method is to use UDP, but if you just want to have VC do something when a Vera Scene is triggered, it makes more sense to use the Vera events that are already being triggered by the Vera plugin.
If you want to send a UDP message to VC from Vera Lite here's how you can do it. Go to Vera, Apps, Develop Apps, Edit Startup LUA. Put this function in there:
function sendVC(strMessage)
local socket = require "socket"
local udp = socket.try(socket.udp())
broadcast_ip = '255.255.255.255'
assert(udp:setoption("broadcast", true))
socket.try(udp:sendto(strMessage, '255.255.255.255', 33000))
end -- sendVC
If you want to change the port you can but VC listens on port 33000 by default. If you want to target a specific PC instead of doing a UDP broadcast, then change the 255.255.255.255 to the IP of your PC.
Now from a scene in vera, or in a trigger, or anywhere you can enter luup or lua you can send a message to VC like this:
sendVC("tts.speak&&hello there")
You can send any action to VC using the format
action&¶m1&&parm2&¶m3
you can trigger an event using
event&&eventname&&payload1&&payload2
and you can trigger a voice command like this:
vc.tellvox&&pay attention
If you are using another method of sending messages to VC the format is the same, it is only the delivery method that changes.
EASY!
WIKI DOCUMENTATION ON VC API: http://voxcommando.com/mediawiki/index.php?title=API_Application_Programming_Interface