@rio14 . Unfortunately, I don't think xtermin8r checks this forum much.
Yes, there are probably a variety of ways to get VC to announce prayer times.
The website
http://praytimes.org/ provides code in various programming languages to calculate prayer times depending on your location, including in Python. I was able to use their code without any problems using VC's Python plugin.
The only thing I added to their script is an extra function that generates scheduled events in VoxCommando, and also displays an OSD with all the prayer times for that day.
The scheduled events occur at the start of each of the following prayer times: 'Fajr', 'Sunrise', 'Dhuhr', 'Asr', 'Maghrib', and 'Isha'.
To use my example, the PY plugin must be enabled in VoxCommando. The python script, called prayerTimes.py, is attached. It should be placed in the PY subfolder of your VoxCommando folder.I have made the following example of how you could use the Python script with VoxCommando.
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.5-->
<commandGroup open="True" name="Call to prayer" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="315" name="load Python script" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>PY.ExecFile</cmdType>
<params>
<param>PY\prayerTimes.py</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.TriggerEvent</cmdType>
<params>
<param>today</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<event>vc.loaded</event>
</command>
<command id="316" name="What are today's prayer times (edit the first action with your location info)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="myPrayTimes(lat,long,utc) --> replace lat, long, utc with your location information. lat=your latittude, long = your longitude, utc = your time zone's offset from GMT. (e.g., in winter, Montreal, NYC, & Washington, D.C. are -5 from GMT, so UTC will be -5)">
<action>
<cmdType>PY.ExecString</cmdType>
<params>
<param>myPrayTimes(45,-75,-5)</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.StopEventTimer</cmdType>
<params>
<param>today</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.SetEventTimer</cmdType>
<params>
<param>12:30 AM</param>
<param>today</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>What are today's prayer times</phrase>
<event>today</event>
</command>
<command id="317" name="Announce time for prayers" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>It's time for prayer: {1} begins at {2}.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>It's time for prayer: {1} begins at {2}.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Sound.PlayWav</cmdType>
<params>
<param>If appropriate, you could add an audio file such as a call to prayer wav.</param>
</params>
<cmdRepeat>0</cmdRepeat>
</action>
<action>
<cmdType>SMTP.Send</cmdType>
<params>
<param>youremail@yourmail.com</param>
<param>Time for prayer: {1} at {2}</param>
<param>Time for prayer: {1} at {2}</param>
</params>
<cmdRepeat>0</cmdRepeat>
</action>
<event>praytime.*</event>
</command>
</commandGroup>
Note: In the command, "What are today's prayer times," you will need to replace the location information with your own. As an example, I have shown my Canadian information (roughly).
myPrayTimes(45,-75,-5)
That is my information for myPrayTimes(lat,long,utc)
It will need to be replaced with your latitude, longitude, and time zone offset from GMT. (That will need to be manually edited when there are bi-annual timeshifts, in my case, from -5 to -4 during Daylight Saving Time).
So someone in Miami, FL, for example, would need to change that to something like:
myPrayTimes(26,-80,-5)
... That's a lot of information, sorry.
I hope it makes sense and is of use to you. I'm happy to answer any questions or try to help resolve any problems with my example.