Discussion Thread
Quick Note: While this post looks long and scary, this script is extremely easy to use. It's only this large because I included as much documentation as possible, so don't let the length of this post scare you away!
About
my.Alert is a small, easy to use, but powerful script which allows you to respond to changes on a website.
It relies on regular expressions in order to narrow down the scope, which also means that there will be many uses for this script. Don't let this scare you away, see below for simple examples.
In fact, it can also be used to do some basic screen scraping, all without having to know .NET programming or having to write a single line of code. You could store all this data in a device string, so you could incorporate that data into your touchscreen layouts.
You can play sound files, trigger events, control devices and send e-mail notifications, all based on simple or complex changes. The script accounts for the dynamic nature of HTML, but if you aren't familiar with regular expressions, then check the resource links below, or ask for help in the discussion thread, and we'll help you build the right 'formula' (this is the fun part, so don't hesitate to ask for help at all!).
Some example scenarios
As you can tell, there is so much you can do, all without having to know a single thing about .NET programming.
Download
You can download the latest version here. Please do not post this script anywhere else, Doing so will make it impossible to track/support bugs/changes.
Installation instructions
Script parameters
Right now, there are only 2 script parameters. The LOGLEVEL, and the profile name. The LOGLEVEL parameter may contain one of the following values:
Profile parameters
The my.Alert.ini configuration looks like a typical INI file, and may contain many profiles. Each profile has multiple parameters:
Regular Expressions Resources
my.Alert Events

my.Alert Event Configuration Example

Version History
version 0.4 (12132012): added support for {{:}} variables, added Run, Speak, DeviceOn, DeviceOff and DeviceToggle commands. Improved error trapping and minor bug fixes.
version 0.3 (12102012): added HTML option, use when you want to grab & display HTML code (set to False by default).
version 0.2 (12032012): added support for event control and implemented minor fixes.
version 0.1 (11212012): created my.Alert.
Discussion Thread
Quick Note: While this post looks long and scary, this script is extremely easy to use. It's only this large because I included as much documentation as possible, so don't let the length of this post scare you away!
About
my.Alert is a small, easy to use, but powerful script which allows you to respond to changes on a website.
It relies on regular expressions in order to narrow down the scope, which also means that there will be many uses for this script. Don't let this scare you away, see below for simple examples.
In fact, it can also be used to do some basic screen scraping, all without having to know .NET programming or having to write a single line of code. You could store all this data in a device string, so you could incorporate that data into your touchscreen layouts.
You can play sound files, trigger events, control devices and send e-mail notifications, all based on simple or complex changes. The script accounts for the dynamic nature of HTML, but if you aren't familiar with regular expressions, then check the resource links below, or ask for help in the discussion thread, and we'll help you build the right 'formula' (this is the fun part, so don't hesitate to ask for help at all!).
Some example scenarios
- Check school/event cancellations.
- Watch your favorite stock prices.
- Track price changes on your favorite eCommerce site.
- Monitor hot deal forums for certain items.
- Monitor CNN/MSN breaking news.
- Watch eBay auctions, Etsy sales, etc.
- Monitor changes to websites.
- Check spaceweather.
- Monitor prices of your favorite Android application.
- Remote control your house via a secret keyword posted on a public forum/site.
- Watch for changes to your UPS/FedEx tracking info.
- Notify you when a large earthquake has happened in an area your family or friends live in.
As you can tell, there is so much you can do, all without having to know a single thing about .NET programming.
Download
You can download the latest version here. Please do not post this script anywhere else, Doing so will make it impossible to track/support bugs/changes.
Installation instructions
- Download the script (myAlert.vb.txt), and copy it to the Scripts directory. RENAME the script to myAlert.vb (remove the .TXT extension).
- Create a file in the Homeseer\Config directory named 'my.Alert.ini' (see below for more info about this file).
- Copy & Paste one of the example profiles below into the my.Alert.ini file.
- Create an event, and go to the Action tab.
- Use the 'Add Action' dropdown menu to select 'Run Script'
- In the Action List, go to the 'Existing Script' field, and select myAlert.vb from the list.
- Switch to 'Advanced View' (towards the right of the screen, red button) and use the following 'Optional Parameters':
("monitor","LOGLEVEL@PROFILE_NAME") - Update & Save the event.
- You need to create a profile now, instructions can be found below.
Script parameters
Right now, there are only 2 script parameters. The LOGLEVEL, and the profile name. The LOGLEVEL parameter may contain one of the following values:
- 0 = None
- 1 = Errors
- 2 = Info
- 3 = Verbose (Use with caution, this level will generate large amounts of data!)
Profile parameters
The my.Alert.ini configuration looks like a typical INI file, and may contain many profiles. Each profile has multiple parameters:
- URL: This is a required parameter. This should be the COMPLETE URL, including port number, etc. You can also use variables in this field, e.g.: {{String
10}} inserts D10's device string, while {{Value
10}} inserts D10's device value. This opens up many possibilities such as being able to specify a UPS tracking # via the web/touch interface, and the script will automatically pick it up and report changes. Currently only String and Value are valid variables.
- RegExSearch: This is a required parameter. Specify the search pattern in the .NET RegEx format.
- RegExReplace: Useful in some scenarios where you need grab the back referenced data.
- Event: The name of the event to trigger.
- Email: E-mail address to notify if there is a match.
- DeviceString: Specify device code (e.g., Y11), and the device string will be updated.
- DeviceToggle: Specify device code (e.g., Y11), and the device will be toggled.
- DeviceOn: Specify device code (e.g., Y11), and the device will be turned on.
- DeviceOff: Specify device code (e.g., Y11), and the device will be turned off.
- Run: Execute command/batch file.
- Speak: Make an announcement.
- Media: Specify full path to the file you want to play (WAV, MP3, ...) when a change has occurred.
- HTML: Set to 'True' (without quotes) if you want to preserve the HTML code. Set to 'False' by default.
Regular Expressions Resources
my.Alert Events

my.Alert Event Configuration Example

Version History
version 0.4 (12132012): added support for {{:}} variables, added Run, Speak, DeviceOn, DeviceOff and DeviceToggle commands. Improved error trapping and minor bug fixes.
version 0.3 (12102012): added HTML option, use when you want to grab & display HTML code (set to False by default).
version 0.2 (12032012): added support for event control and implemented minor fixes.
version 0.1 (11212012): created my.Alert.
Discussion Thread
Comment