There is no Homeseer plugin in VC, so you'll have to handle some of the black box magic yourself (if it's possible with Homeseer).
For most users, it's easier to start learning VC's command structure, terminology, and UI by installing a standard configuration and exploring the existing commands for a while, rather than trying to build a customized command set from nothing.
Are you using HS2 or HS3 or is there something else now?
HS2:
http://voxcommando.com/forum/index.php?topic=1405.msg12143HS3:
http://voxcommando.com/forum/index.php?topic=1395.msg12019#msg12019Either way, it will be something like:
1. Scrape Homeseer to get status information back about the lock state.
2. Evaluate the information that comes back using a
regular expression followed by one or more
logic blocks. You can use 2 logic blocks if you like, as you describe above.
Hint: Use the action
VC.StopMacro to exit the command when condition is met in your logic block, but before the last line of the command.
The get status and set door status will require knowing the correct URL, which is not determined by VC. This will require consulting the documentation for whatever Homeseer http querying solution you're using.
In general, it's a good idea in VC to become familiar with the terminology used in the program (a command is made up of a set of actions). The command is the macro as a whole, in other words.
And to spend some time scanning core actions and relevant plugin actions, which can be done within the program via the
Action Selection Tree, or in the wiki.
Core actions page of the wiki:
http://voxcommando.com/mediawiki/index.php?title=ActionsPlugin actions are found on individual plugin pages.
Also very important: get familiar with VC variables, such as {LastResult}.
http://voxcommando.com/mediawiki/index.php?title=VariablesGenerally we use the
TTS (or TTSMS) plugins for text-to-speech announcements. If you want to record sound files for every announcement, that's up to you. There are various actions in VC for playing audio files.
Eventually, you may want to learn how to integrate
payloads and payload XML so that you don't have to duplicate the same command over and over for each device and each device state. But I would start more simply and work up to that.