Mister House Announcement List

This is a copy of the mh update announcements made to MisterHouse mailing list, also archived here

Changes in the current test version

The latest changelog for current test release (avalable via the SVN repository or a nightly compiled zip file ) can be found in the SVN change log with highlights listed in the release notes.

Version 2.104 posted on 11/04/2007

Version 2.104 can be downloaded from here:

  http://misterhouse.sf.net/download.html

Detailed List of Changes from the SVN log:

Gregg Liming :: Fri Oct 5 2007 - Revised parsing of state_monitor and device_monitor so that they properly strip spaces and allow both colon and equals signs as delimitters. Bug idenfified by Ron Klinkien.

Matthew Williams :: Tue Sep 25 2007 - Made some print_logs dependent on Debug flags as per Chris Barrett's suggestion.

Matthew Williams :: Tue Sep 25 2007 - Dave Lounsberry's patch to vv_tts.pl to fix a few problems: 1. vv_tts.pl errors out on missing right bracket. # ./vv_tts.pl -help Missing right curly or square bracket at ./vv_tts.pl line 296, at end of line syntax error at ./vv_tts.pl line 296, at EOF Execution of ./vv_tts.pl aborted due to compilation errors. I noticed that sometime since 2.100 was released the end curly bracket for the BEGIN statement was moved up to the end of last line with text instead of on a line by itself. Moving the bracket back to a line by itself fix the error on what I run, perl 5.8.8 on Linux/Ubuntu. There is a comment on that line about making perl2exe happy. Maybe that change was required for perl2exe? Not sure. 2. I use the swift TTS engine which was not released back when I wrote vv_tts a long time ago. Added swift as an -engine option along side theta. Also changed the debug line noting the engine used. 3. Change some minor cosmetics and my email address.

Matthew Williams :: Tue Sep 18 2007 - Fixing iButton list routine so that it doesn't repeat results twice if you don't have a second iButton serial port. Bug report and fix supplied by Chris Barrett.

Gregg Liming :: Wed Sep 12 2007 - Force reinit of organizer_tasks on reload in case reload action causes empty tasks.tab.

Gregg Liming :: Mon Sep 10 2007 - Constrained output of element color to print_log to occur only if debug is set to weather_graph. Bug and suggested fix provided by Chris Barrett.

Gregg Liming :: Wed Sep 5 2007 - Protect against bad date formats (entered via web or perhaps from the flawed "stock" tab files).

Gregg Liming :: Wed Sep 5 2007 - Trap write errors when upgrading vsDBs (if permissions or ownership is wrong).

Gregg Liming :: Wed Sep 5 2007 - Rewrite vsdb upgrade function to be "safe" to include handling absent databases and databases w/ differing existing schemas.

Gregg Liming :: Tue Sep 4 2007 - Ensure setby in set_receiver_RF_item is set to 'rf'.

Gregg Liming :: Mon Sep 3 2007 - Wrap vsDB access code with eval to prevent errors from leaving incompletely generated organizer_*.pl code.

Gregg Liming :: Fri Aug 31 2007 - Fix support for x10 security devices (e.g., ms10a). Fix based on submission from James Armstrong.

Gregg Liming :: Fri Aug 31 2007 - Fix proper generation of speak announcement for all day events.

Gregg Liming :: Fri Aug 31 2007 - Update version id to 2.104.

Matthew Williams :: Wed Aug 29 2007 - Copied from: trunk revision 1176 Creating branch for 2.104 stabilization.

Gregg Liming :: Sun Aug 26 2007 - Change add method to support adding an array of devices

Gregg Liming :: Sun Aug 26 2007 - Add task category and exception driven scheduling (initial) support.

Gregg Liming :: Sun Aug 26 2007 - Fix handling of startdate for tasks and add task category support.

David Norwood :: Sun Aug 26 2007 - documentation updates

David Norwood :: Sun Aug 26 2007 - changed monitoring to include x10 commands transmitted by the Ocelot

David Norwood :: Sun Aug 26 2007 - downloaded latest area code list from internet

David Norwood :: Sun Aug 26 2007 - documentation updates

David Norwood :: Sun Aug 26 2007 - Minor changes

David Norwood :: Sun Aug 26 2007 - I added support for ANALOG_SENSOR items.

David Norwood :: Sun Aug 26 2007 - I enabled the photo resize feature, which was not functional before. There are new ini parameters to control this. See mh/bin/mh.ini for details.

Howard Plato :: Sat Aug 25 2007 - Significant rewrite of the calendar and organizer code, allowing importing of iCal calendars directly into MH. To use edit the i2v.cfg and add the appropriate config_parms specified in organizer.pl. Kudos to Gregg for the huge assistance and contribution to making this work! The web scripts still need some work as data can be entered without format checking and will be updated at a later date.

Gregg Liming :: Sat Aug 25 2007 - Forward on all "display_room" parms in route_display_rooms to allow extending to other device functions.

Gregg Liming :: Fri Aug 24 2007 - Initial submission of the win32 wrapper to ical2vsdb.

Gregg Liming :: Fri Aug 24 2007 - Protect against undefined Tk grid object.

Gregg Liming :: Fri Aug 24 2007 - Libs needed for iCal support (see newest bin/ical2vsdb and code/common/organizer.pl)

Matthew Williams :: Thu Aug 23 2007 - Mike Pieper's patch to add EIB15 support to EIB_Items and to add more detailed state support for EIB7 to http_server.pl. I also added descriptions for the recently added EIB3/4 stuff to the top of EIB_Items.pm

Gregg Liming :: Thu Aug 23 2007 - Added use reference to Weather_Common. Thanks to "declang" for the bug catch.

Matthew Williams :: Wed Aug 22 2007 - Reverted r1158's patch to Voice_Text that I accidently included in the EIB patch.

Matthew Williams :: Wed Aug 22 2007 - Added Ralf Klübe's enhancements that add EIB3 and EIB4 functionality.

Matthew Williams :: Sun Aug 19 2007 - Added RK's patch to allow EIS5 values to be sent from MH to the bus.

Gregg Liming :: Tue Aug 14 2007 - Force print statements at startup to be controlled by debug=zone_minder.

Gregg Liming :: Tue Aug 14 2007 - Add "writable" method so that class works well with Base_Item.pm and other inherited classes.

David Norwood :: Mon Aug 13 2007 - I fixed a bug that Matthew Williams found that caused X10_Appliance items to always display as Off on the buttons web interface. I introduced the bug six months ago when I modified the interpretation of the $level instance variable for dimmers, but forgot to also test appliance items. I also modified X10_Appliance so its on off status is restored after a reload.

Gregg Liming :: Wed Aug 8 2007 - Wrapped event eval with pair of package statements so that evaluation occurred in main namespace and not AnalogSensor_Item.

Gregg Liming :: Wed Aug 8 2007 - Add call to check_tied_event_conditions in measurement method to ensure that event conditions are evaluated. Other minor errata improvements. Changes prompted by Andy McCallum.

Gregg Liming :: Tue Aug 7 2007 - Added ability to optionally flip first and last names (when no comma delim) based on ini param, cid_reverse_names set. This is needed to compensate for certain US phone systems that can't/won't do things correctly.

Gregg Liming :: Tue Aug 7 2007 - Allow non-US formatted phone numbers (such as VoIP extensions, etc.) to be parsed from callerid logs.

Gregg Liming :: Sun Aug 5 2007 - Reverted to version prior to DOS attack fix due to problems encountered with POST.

Howard Plato :: Sun Aug 5 2007 - added a file check to ensure that image files are not overwritten by 'file not found' message

Howard Plato :: Sun Aug 5 2007 - Fixed minor spelling mistake on title window

Howard Plato :: Sun Aug 5 2007 - Added config_parms to make 2.103 code act like 2.102 (async speech, no voice response to voice_cmd's)

Howard Plato :: Sun Aug 5 2007 - Updated phone log system. caller id information is now updated while system is running, rather than reading in files at startup. Also includes wav and group functionality. Also includes updated set_func.pl by David S. that properly escapes single quotes

Howard Plato :: Sat Aug 4 2007 - minor change to fix find_members that will work with SysDiag_xAP items

Gregg Liming :: Sat Aug 4 2007 - Update reference to reliance of oxc to now include owfs.

Howard Plato :: Sat Jul 28 2007 - Minor fix to allow fontsize if no $fontname. status_line now works for Audrey (font=1)

Gregg Liming :: Sat Jul 28 2007 - Prevent remote DOS exploitation by sending false http header size value; instead, read socket data as it exists and failover accordingly.

Gregg Liming :: Fri Jul 27 2007 - Setup setby as "web [ipaddress]" for voice command so that the respond will properly target the browser *if* the voice command menus are used in the context of web (vice nonweb).

Gregg Liming :: Fri Jul 27 2007 - Rename pa_control_stub to xap_pa_control_stub so that this common code can coexist w/ pa_control.pl

Gregg Liming :: Thu Jul 26 2007 - Alternatively, echo messages received by the hub from mh back to mh if debug=xap or debug=xpl

Gregg Liming :: Thu Jul 26 2007 - Allow hub to echo mh generated xAP or xPL messages back to mh listener port if xap_hub_echo=1 or xpl_hub_echo=1

Matthew Williams :: Wed Jul 25 2007 - Reverted part of David Norwood's r1101 patch to http_server.pl that inadvertantly introduced a security hole. All users that are using r1101 or above are stronly advised to upgrade to this rev. Many thanks Chris Barrett for discovering the problem.

David Norwood :: Sat Jul 21 2007 - Committed a bunch of changes on behalf of Chris Barrett

Gregg Liming :: Fri Jul 20 2007 - Allow use of simple "instance" names (e.g., "house) or fully qualified xAP source address to initialize attached xAP_Item as listener.

Gregg Liming :: Fri Jul 20 2007 - Allow use of simple "instance" name (e.g., house) as xAP source address or fully qualified xAP source address when initializing attached BSC_Items (as listeners).

Gregg Liming :: Fri Jul 13 2007 - Align xPL send methods to recent changes to xAP_Items.pm

Gregg Liming :: Fri Jul 13 2007 - Added on_set_message to permit ease of automating xpl-cmnd messages sent when setting an xPL_Item. [based on requests by Andy McCallum]. Additional, misc. bug fixes.

Bruce Winter :: Tue Jul 10 2007 - - generalize security check for ../ in url pats.

Gregg Liming :: Tue Jul 3 2007 - Prevent "state_value" tracking from reverting to message summary if the tracked state_value key is missing from the message. Change resulting from testing/suggestion from Andy McCallum.

Gregg Liming :: Thu Jun 21 2007 - Initial implementation provided by Howard Plato. Provides support to collect systems informtation reported by psixc (also implemented by hplato). psixc is available at http://limings.net/xap/psixc

Gregg Liming :: Thu Jun 21 2007 - Added support for ANALOG_SENSOR_R items and update to include new separate AnalogSensor_Item lib

Gregg Liming :: Thu Jun 21 2007 - Refactored AnalogSensor_Item out for use as a separate lib

Gregg Liming :: Thu Jun 21 2007 - AnalogSensor_Item was refactored from OneWire_xAP to be more common and usable for other purposes.

Gregg Liming :: Thu Jun 7 2007 - Don't send volume property in tts.speak if it is blank.

David Norwood :: Mon Jun 4 2007 - updated documentation so it displays better on the common code activation web interface

David Norwood :: Mon Jun 4 2007 - changed trigger code

David Norwood :: Mon Jun 4 2007 - fixed minor bug

David Norwood :: Mon Jun 4 2007 - fixed minor bug

Gregg Liming :: Mon Jun 4 2007 - Fix flaw with composing UID in query method

Gregg Liming :: Mon Jun 4 2007 - Add support for xAP cid.incoming schema

Gregg Liming :: Mon Jun 4 2007 - Add support for the param: callerid_raw_numbers such that the "raw" CID number string is spoken rather than "speakable" text. This is useful when forwarding on to xAP speak.

Gregg Liming :: Mon Jun 4 2007 - Add ability to support other xAP sources than oxc--specifically, allowing flexibility with source addressing

Matthew Williams :: Fri May 11 2007 - Missing semicolon inserted.

Matthew Williams :: Fri May 11 2007 - Previous attempt to fix the weather graph color problem caused a failure for default installations as the default apparent temperature was set to '' and there was no check for empty colors.

Matthew Williams :: Tue May 8 2007 - Fixed problem where graph color customizations were ignored. Bug and fix provided by Rick Steeves.

Gregg Liming :: Wed Apr 25 2007 - Revised sending xAP weather messages to be more compliant (to include appropriate units switching) to the current schema

Jason Sharpee :: Sun Apr 15 2007 - Add support for anti-water hammer zone overlap. ->zone_hammer(5); #5 second zone overlap

Matthew Williams :: Sun Apr 8 2007 - Fixed rate rate calculation. Bug and fix found by Greg Satz.

David Norwood :: Fri Apr 6 2007 - added trigger

Gregg Liming :: Thu Apr 5 2007 - Allow BSC_Items to represent "gateways" not just "endpoints".

Gregg Liming :: Mon Apr 2 2007 - Extended manual method to allow optional on-state timer and off-state timer so that manual mode will revert to automatic mode after "x" seconds. Added restrict_off property to control whether a Light_Restriction item will prevent a Light item from turning off.

Jason Sharpee :: Sun Apr 1 2007 - - Generic Irrigation cycle logic

Jason Sharpee :: Sun Apr 1 2007 - - Generic Irrigation cycle logic

Jason Sharpee :: Tue Mar 27 2007 - - Add support for the WGL Designs Rain8 UPB sprinkler controller: http://www.wgldesigns.com/rain8upb.html

Jason Sharpee :: Tue Mar 27 2007 - Add WGL Designs Rain8 UPB sprinkler controller support. http://www.wgldesigns.com/rain8upb.html

David Norwood :: Mon Mar 26 2007 - added some sanity checks to the items web interface

David Norwood :: Mon Mar 26 2007 - modified the mh4 interface to work with internet explorer 7, including changes to http_server.pl which fix "target" frame syntax for item lists. Also fixed some problems related to X10 brightness levels displayed on the web interface

David Norwood :: Mon Mar 26 2007 - added a new resume instance variable to X10_Item to hold the level the light will come back on at. This was being stored in the level variable but that meant we couldn't tell if the light was off in certain cases

Matthew Williams :: Sun Mar 25 2007 - Added CM11 macro clearing code copied from heyu along with the appropriate copyright notice. This code is currently not proven.

Matthew Williams :: Sun Mar 25 2007 - Added "--alt-y-grid" to parameters for generating pressure graphs to have saner y-axis grid spacing.

Gregg Liming :: Tue Mar 20 2007 - Prevent errors thrown if no ZM_ZoneItems are attached to the monitor (credit to Bruce W. for identifying the fix)

Gregg Liming :: Tue Mar 6 2007 - Minor annoyance fix: reduce debug verbosity for state_now section processing

Matthew Williams :: Thu Mar 1 2007 - Applied Chris Barrett's patch to allow complete configuration of activity detection timers. The configuration parameter MS13_Battery_timer now correctly controls activity timeouts.

Matthew Williams :: Thu Mar 1 2007 - Disabled saving process states in Windows as we don't have a method for successfuly regaining visibility of Windows child processes.

Jason Sharpee :: Mon Feb 26 2007 - CruiseControl Status Monitor Plugin for Misterhouse. http://ccnet.thoughtworks.com/

Matthew Williams :: Sat Feb 24 2007 - Made "die" message more verbose when the rrd_dir can't be opened.

Matthew Williams :: Sat Feb 17 2007 - Updated "creators" regex as "Archie" comic web page source changed. The new regex is more forgiving.

Matthew Williams :: Fri Feb 16 2007 - Patch to internet_im.pl to allow sessionless Jabber authorization. This code allows {password_allow} regexes to match on the Jabber id stripped of its session. Patched supplied by Brian Rudy.

Gregg Liming :: Mon Feb 12 2007 - Add support for messenger.cmd/event xAP schema--the default for xAP Four and axc.

Gregg Liming :: Mon Feb 12 2007 - Allow xAPSend to support a single value rather than a hash--as is needed to support sending xAPBSC.query messages.

Matthew Williams :: Wed Feb 7 2007 - Fixed typos that referred to legacy {foobar_ws} weather elements instead of the new {foobar} weather elements. Bug found by Mike Bahr.

Gregg Liming :: Thu Jan 25 2007 - Added "allow_local_set_state(flag)" method to allow a change over the default behavior (which allows any programatic set to cause a state change) and instead (if flag set to 0) requires state change only on receipt of the device's BSC event or info message. Change resulting from need established by Martin Hagelin.

Matthew Williams :: Sun Jan 21 2007 - Fixed some wonky html. Problems found by Chris Barrett.

Matthew Williams :: Sun Jan 21 2007 - Modified purging of old data to keep data from today through 7 days from now. Change suggested by Jim Duda.

Jim Duda :: Tue Jan 16 2007 - I qualified the print_log statement with $::Debug{network} in order to remove some chatter from the log files.

Jim Duda :: Tue Jan 16 2007 - I turned all the print statements into print statements with a $main::Debug{group} qualifier in order to remove some chatter from the log files.

Matthew Williams :: Fri Jan 12 2007 - Updated rules for speed bump and archie.

Gregg Liming :: Thu Jan 11 2007 - Remove check on setby == $self in BSC's set method. Bug identified by Martin Hagelin

Matthew Williams :: Thu Jan 11 2007 - Added new creators class to handle changes to the following comics: - B.C. - Andy Capp - Wizard of Id

Bruce Winter :: Thu Jan 11 2007 - Mark Monnin updated lib/TI103 to Handle the limited transmit buffer and CRC messages and changed the support of PRESET_DIM1 and PRESET_DIM.

David Norwood :: Wed Jan 10 2007 - added sanity checks for data input by user, spaces in item name converted to underscores

David Norwood :: Sun Jan 7 2007 - Minor doc change

David Norwood :: Sun Jan 7 2007 - Added "set ramp rate" and "set on level" states for SwitchLincs

David Norwood :: Sun Jan 7 2007 - Fixed to work with item files that have spaces in name, will now create item file if none exists.

Matthew Williams :: Sun Jan 7 2007 - Moved all '<base target="...">' into <head> sections, creating new <head> sections where needed. This is to fix frame issues with IE7.

Matthew Williams :: Sun Jan 7 2007 - Moved mh/web/organzier/vsEmail.pm to mh/lib and removed mh/web/organizer/vsLock.pm as a duplicate version already exists in mh/lib.

Matthew Williams :: Sun Jan 7 2007 - Removed v1.3.0 of vsDB.pm from mh/lib and moved v1.3.9 from mh/web/organizer to mh/lib.

Matthew Williams :: Sat Jan 6 2007 - Changed foxtrot to use gocomic's DRM scheme.

Matthew Williams :: Sat Jan 6 2007 - Added ability to specify font face in status lines.

Matthew Williams :: Sat Jan 6 2007 - Modified "clearing" logic. Instead of erasing old data from a single day only, it clears all old data, except the data from the past few days.

Matthew Williams :: Sat Jan 6 2007 - Added logic to limit humidity to 100% when calculated from dew point and temperature. If there are measurement errors or the sources for outdoor temp and dew point are different, then this is a possibility.

Matthew Williams :: Sat Jan 6 2007 - Added a mh specified block that searches all @INC paths for libnet.cfg, allowing existing site specific network configs to be used

Matthew Williams :: Sat Jan 6 2007 - Changed voice command "set the house mp3 player ..." to "set house mp3 player ..." to make it consistent with mp3.pl's "set house mp3 player to playlist...". Change suggested by Rick Steeve's

Matthew Williams :: Sat Jan 6 2007 - Corrected recognition of internet_internet_usgl.pl - Rick Steeven to internet_usgs.pl - Rick Steeve.

Matthew Williams :: Sat Jan 6 2007 - Added support for Jabber services that require component_name to be set. One example is Google Talk. Code submitted by Brian Rudy.

Matthew Williams :: Sat Jan 6 2007 - Fixed unintentional comment split typo.

Matthew Williams :: Sat Jan 6 2007 - Added support for water sensor from ibuttonlink. Code from Rick Steeves.

Matthew Williams :: Mon Jan 1 2007 - Modified regexes for temperature, dew point and pressure as they were occasionally being triggered on the wrong data fields. For example, the temperature/dew point regex was being triggered by "R32/6000FT/N"

tbs007 :: Wed Dec 20 2006 - added 3 message types for the RCS UPB Thermostat

Bruce Winter :: Sun Dec 17 2006 - John Wohlers added code/common/internet_weather_noaa.pl to collect and parse the XML weather data feeds from NOAA and populates the Weather_Common hash.

Jim Duda :: Wed Dec 13 2006 - I updated the code module to attempt a restart of the ibws client every hour.

Jim Duda :: Wed Dec 13 2006 - I'm restoring the changes I made to take advantage of the restore_string method. I found the problem I introduced to this method. I now have a proper method for handling the @cmd array.

Matthew Williams :: Wed Dec 13 2006 - Two patches from Howard Plato. 1. New parameter mp3_no_tkupdates that disables the tk interface from checking the mp3 playlist every second. 2. New parameter net_mail_scan_timeout_cycles that allows internet_mail.pl to check VERY slow mail servers without prematurely timing out.

Matthew Williams :: Wed Dec 13 2006 - Fixed some minor doc issues found by Rick Steeves.

Matthew Williams :: Wed Dec 13 2006 - Forgot to increase the regex index in rev 1052. This completes the patchs.

Matthew Williams :: Wed Dec 13 2006 - Patch submitted by Gregg Liming. Changed one of the regex patterns to allow PoPs to be reported as "near x percent".

Gregg Liming :: Wed Dec 13 2006 - Allow less restricted eval on checking tied conditions to permit references to undeclared refs. In addition, include eval error in reported (printed) error.

Gregg Liming :: Mon Dec 11 2006 - Modify handling of info_callback to ignore state=toggle (Submitted by Martin Hagelin)

Jim Duda :: Mon Dec 11 2006 - I'm backing out the recent changes that I made to Process_Item.pl to use the restore_string method. There is something wrong, causing duplicates in the process $cmd string. I need to do better regression testing before pushing these changes.

Matthew Williams :: Sun Dec 10 2006 - Made windows library paths absolute instead of relative. Commented out waitpid when sound_fork is used. This is to prevent unnecessary pauses on Linux boxes.

Gregg Liming :: Sat Dec 9 2006 - Adjusted parsing to accomodate extra LNs. Altered URLs to match current preference. Submission thanks to Winston Gadsby.

Matthew Williams :: Thu Dec 7 2006 - Fixed small bug where a file handle wasn't being closed.

Matthew Williams :: Thu Dec 7 2006 - Fixed bug found by Dan Stern with patch suggested by Jim Serack. Added uppercase conversion to &X10_Interface::processData as there are cases (such as with x10_rf_relay) where incoming data may be in lower case and mh's X10 code relies on the data being uppercase..

Gregg Liming :: Wed Dec 6 2006 - Force processing of respond targets if the object's target property or the target parm is declared. Pass the app param as well.

Matthew Williams :: Fri Nov 24 2006 - Modifed sensor validation regex to allow whitespace before and after sensor value. This ability was requested by Jim Duda to support his weather_iB_OWW_client.pl changes.

Jim Duda :: Fri Nov 24 2006 - I modified this code segment to use the latest %Weather hash values. This module now calls Weather_Common::weather_updated to annouce the updates. This module uses the weather_uom variables to do unit conversions. I removed the updates to windchill as those updates are done in Weather_Common now.

Matthew Williams :: Wed Nov 22 2006 - Changed default file format for MS TTS generated files from 8 bit 8 kHz to 16 bit 16 kHz as the former wasn't being correctly written to the file. Also added additional conditional debug statements.

Jim Duda :: Mon Nov 20 2006 - I added the restore_active method to the restore_string method. This is necessary to add the process to the active_processes array upon restart. Failure to do so prevents a process to be harvested when it completes after a resart is executed.

Gregg Liming :: Fri Nov 17 2006 - Added support for "peer-based" speech proxies so that individual mh instances can proxy speech for each other. In addition, added per-function parms to enable/disable operation. Defaults to everything enabled.

Gregg Liming :: Mon Nov 13 2006 - Fix faulty calculation of measurement change on submission of measurement

Matthew Williams :: Thu Nov 9 2006 - Howard Plato's modified "newclock" that fits Audrey better and pulls the temperature directly from $Weather{TempOutdoor}.

Matthew Williams :: Wed Nov 8 2006 - Howard Plato's improvements to the built-in calendar that allow days to be marked as holidays and/or vacations. organizer_vmode.pl will use this data to automatically set $mode_occupied to 'vacation' if today is a vacation day.

Gregg Liming :: Mon Nov 6 2006 - Force measurement_change evaluation to absolute value

Gregg Liming :: Mon Nov 6 2006 - Added measurement_change method to report latest change in measurement

Matthew Williams :: Thu Nov 2 2006 - Upgraded all libwww related libraries. We moved from v5.68 to v5.805. This upgrade is intended to resolve incompatibilities between previously upgraded libraries.

Jason Sharpee :: Tue Oct 31 2006 - Fix Default fade rate

Matthew Williams :: Mon Oct 30 2006 - Committed Ben Griffith's updates to rrd_graph_web. rrd_graph_web.pl was leaking memory due to a bug in the RRD library. Ben has split off the graph generation stuff into a separate system call. As well, the CSS file has been renamed as it was previously misspelled.

Gregg Liming :: Mon Oct 30 2006 - Fix direct dim quoting in combo boxes

Matthew Williams :: Sun Oct 29 2006 - Fixed logic in &state. If $@ was set upon entry to &state, then a Weather_Item eval error would be printed if an undefined Weather item was being evaluated and $valid was set to 1. In other words, a Weather_Item eval error would be printed even if it was a previous eval error that caused $@ to be populated. In the reworked logic, the print statement is only reached if an eval statement is actually executed and an error is generated by that eval statement.

Matthew Williams :: Sun Oct 29 2006 - Modifed ia5 earthquake interface to use earthquakes.txt instead of earthquakes.finger. Also added a default earthquakes.txt into standard data directory.

Matthew Williams :: Sun Oct 29 2006 - Highly modified standard MD5.pm to always use the pure PERL interface, not the object file based interface. This is to prevent incompatibilities with locally installed versions of object files.

Matthew Williams :: Sun Oct 29 2006 - Added set_clock method to allow easier setting of the DSC system clock.

Matthew Williams :: Sun Oct 29 2006 - Added sending of initial poll as sometimes the first command sent generates an API Command Syntax Error. The poll is a NOP, so we use it to work around this problem before sending "real" commands.

Matthew Williams :: Sat Oct 28 2006 - Updated LWP library.

Matthew Williams :: Sat Oct 28 2006 - Changing case of mediatypes.pm to MediaTypes.pm to prepare for library upgrade.

Matthew Williams :: Sat Oct 28 2006 - Added new config parms to more precisely control which weather elements are populated by each internet weather module. Fixed problem with wind gust handling in weather_aws. Thanks to David Satterfield for reporting this bug.

Matthew Williams :: Sat Oct 28 2006 - Added units to reported wind speeds.

Matthew Williams :: Sat Oct 28 2006 - Fixed bug where negative numbers in sensors weren't supported. Credit to Howard Plato for identifying the bug.

Matthew Williams :: Sat Oct 28 2006 - Added ti103 and ncpuxa to @Serial_Item::supported_interfaces and @X10_Interface::X10_Interface_Names. Fixed small typo in comments within Device_Item.pm.

Matthew Williams :: Thu Oct 26 2006 - Added configurable levels of warnings within Dummy_Interface to allow users to suppress warnings when Dummy_Interfaces are not a bad thing (rare, but possible). One example of this situation is when there is no X10 transmitter present, only a receiver. Each X10_Item will then have a Dummy_Interface as its {interface} as we can not transmit these codes.

Matthew Williams :: Thu Oct 26 2006 - Modified definition of process item to use double quotes around URL, instead of single quotes, so that Windows doesn't choke on it.

Gregg Liming :: Thu Oct 26 2006 - Enable an ability to prevent state updates to BSC items if the state value hasn't changed. The default is to set state anytime a BSC info is received. The method "always_set_state" can be used to disable this function. Fix implemented based on suggestions from Martin Hagelin.

Gregg Liming :: Tue Oct 24 2006 - Allow optional use of "tk" in device parm. Also support tk, alpha, etc. devices in route_display_rooms as. These and previous display related mods suggested as mod/bug fixes per David Satterfield.

Gregg Liming :: Tue Oct 24 2006 - Removed extaneous return from main::display

Matthew Williams :: Tue Oct 24 2006 - Modified @INC to make mh lib directories relative to $Pgm_Root (instead of the current directory) and changed call in comic_dailystrips.pl to include full path to mh. This fixes the problem of dailystrips not being able to find its required libraries. In particular, on my system, if I didn't have a non-mh copy of URI::_foreign.pm, then dailystrips would not work. More detail: one of the first things that dailystrips does is to change the CWD to 'basedir' which makes the current directory relative INC library paths no longer work.

Gregg Liming :: Tue Oct 24 2006 - Correct main::display so that multiple devices will have their display functions called.

Matthew Williams :: Tue Oct 24 2006 - Added recognition of mode=mute and mode=offline parameters to prevent Audrey from speaking.

Matthew Williams :: Tue Oct 24 2006 - Added additional delays between each initialization command to prevent buffer overruns.

Matthew Williams :: Tue Oct 24 2006 - Escaped URL in process definition as & was incorrectly being interpreted by the shell. Bug report and fix from David Satterfield.

Matthew Williams :: Mon Oct 23 2006 - Removed debug statement from handy_net_utilities.pl regarding loading the Jabber library. Added Digest::base - required by other Digest libraries.

Gregg Liming :: Mon Oct 23 2006 - Ensure incoming data is defined (i.e., valid) before accepting for subsequent processing

Matthew Williams :: Sat Oct 21 2006 - Changed some responds to speaks and fixed problem where rain would be reported when rain fall was 0.00 units (Perl treats '0.00' as a true value).

Matthew Williams :: Sat Oct 21 2006 - Added TLS support to jabber. Updated Authen::SASL libraries and added Auth::SASL::Perl pod.

Matthew Williams :: Sat Oct 21 2006 - Fixed typo in windchill calculation.

Jason Sharpee :: Sat Oct 21 2006 - Remove debug prints

Jason Sharpee :: Sat Oct 21 2006 - Handle retransmissions and drop duplicates. Remove debuging print statements

Gregg Liming :: Thu Oct 19 2006 - Fix ability for a BSC_Item to be set. Set values are "folded" into one of state, level and/or text based on the state value passed to set. Uid is automatically detected and persisted.

Gregg Liming :: Thu Oct 19 2006 - Added uid method to xAP_Item and automatically extract xAP uid during data parse

Jim Duda :: Wed Oct 18 2006 - I filled in the restore_item member function to allow the process id (pid) to be retained through a restart or code reload. Before this change, any processes started before the reload would be orphaned to mh and could not be stopped.

Jim Duda :: Wed Oct 18 2006 - I corrected a race condition which occured across a restart or a reload due to a timer update condition. The timer was getting reset to the initial period value instead of the remaining value attached to the timer.

Matthew Williams :: Tue Oct 17 2006 - Patched handy_net_utilities.pl to correctly access the Net::Jabber library. Upgraded Digest libraries to latest versions so that the Net::Jabber library works.

Bruce Winter :: Tue Oct 17 2006 - Timo Sariwating sent in Nico's K8000.zip code for supporting the Vellman K8000 board

Jason Sharpee :: Tue Oct 17 2006 - Push the speed of the interface up a little to the brink of failure ;)

Jason Sharpee :: Sun Oct 15 2006 - Make the acknowledge mode configurable in derived classes.

Jason Sharpee :: Sun Oct 15 2006 - Prevent loops on unavailable devices. Slow up command stack processing to give the bus some time to respond to incoming messages. Upon device add, query the devices initial status.

Matthew Williams :: Sun Oct 15 2006 - Changed X10_Sensor constructor to not pass its $id to the X10_Item constructor to prevent the standard X10 states being added to the X10_Sensor object. This was causing duplicate events. Thanks to Chris Barrett for reporting the bug and helping to diagnose the problem.

Jason Sharpee :: Sat Oct 14 2006 - Optimize the state retrieving code

Jason Sharpee :: Sat Oct 14 2006 - Turn on acknowledge confirmation.

Jason Sharpee :: Sat Oct 14 2006 - Implement command queue system. Implement Acknowledge messages. Turn on acknowledge at protocol level. Various fixes and code cleanups.

Jason Sharpee :: Sat Oct 14 2006 - Set the default acknowledgement protocols off. Make the 2way device support work for all other commands, not just lights.

Jason Sharpee :: Sat Oct 14 2006 - Support UPB PIM 'busy signal' and resend command until it is processed. Bug reported by Adam D. (thank you)

Jason Sharpee :: Sat Oct 14 2006 - Created a generic 'Scene' object for MH such that any device can participate in a 'software' scene even if the hardware doesnt.

Jason Sharpee :: Sat Oct 14 2006 - Created a generic 'Scene' object for MH such that any device can participate in a 'software' scene even if the hardware doesnt.

Gregg Liming :: Thu Oct 12 2006 - Prefer raw_text to text in respond_telnet

Gregg Liming :: Thu Oct 12 2006 - Make telnet server use tracked respond and allow telnet to be supported by speach echo tag

Gregg Liming :: Thu Oct 12 2006 - Make $search_command_string use object's respond--not global respond

Jason Sharpee :: Thu Oct 12 2006 - Add support for UPB_Link (UPBL) device definition: UPBL, upb_family_movie, myPIM, 49,1

Jason Sharpee :: Thu Oct 12 2006 - Add UPB_Link class.

Jason Sharpee :: Thu Oct 12 2006 - Add support for UPB_Link sub class. Add Support for 'status' generic command. Fix: Argument parsing on device state report.

Jason Sharpee :: Thu Oct 12 2006 - Fix: UPB Link recognition

Matthew Williams :: Tue Oct 10 2006 - Added RainTotal and RainRate as valid internet sourced weather elements.

Gregg Liming :: Tue Oct 10 2006 - Extend AnalogSensor_Item->map_to_weather to include an optional graph_title argument that will be used by RRDs when creating graphs.

Matthew Williams :: Sun Oct 8 2006 - Added &:: in front of calls to convert_c2f. Thanks to Chris Barrett for finding the first bug in 2.103!

Gregg Liming :: Sun Oct 8 2006 - Modified to illustrate use of AnalogSensor_Item tokens

Version 2.103 posted on 10/07/2006

Version 2.103 can be downloaded from here:

  http://misterhouse.sf.net/download.html

New Features:

- David Mark made lots of updates to the tk gui.

- Matthew Williams created lib/Device_Item.pm and lib/X10_Interface.pm and modified X10_Items and Serial_Item so we have a more consistent set of classes.

- Gregg Liming made various xAP and xPL updates including OneWire_xAP and AnalogSensor_Item support, proper xAP targetting on responds, BSC_Item, and auto-detect devices targeting slimdev-slimserv.

- Jason Sharpee added suport for UPB PIM and Devices as: UPBPIM <name>,<network>,<password>,<address>. UPBD <name>,<UPBPIM>,<network>,<address>

- Gregg Liming and David Mark added lib/X10_Scene.pm to provide a convenient mechanism for defining, managing and enrolling/unenrolling lighing scenes. Current support is limited to Switchlinc family of lights.

- Gregg Liming added support for ZoneMinder ( http://www.zoneminder.com ).

- Mike Wiebke added SOAP server capability and several client examples

- Matthew Williams modified audreyspeak.pl to generate TTS files asynchronously.

- Matthew Williams added support for standard CPAN Lingua modules to convert numbers to text.

- Matthew Williams added lib/Weather_Common.pm and updated most of the weather interface modules to provide standard routines to update weather related variables. Among other things, this allows a local weather station to be supplemented with data from the internet (e.g. METAR)

- Matthew Williams added support for Davis Weather Monitor II and updated Weather_Items.pm to monitor battery levels on the WMR968 group of weather stations.

- John Murphy added support of DS2409 based 1-wire hubs.

- David Norwood updated the rrd graphic code so that graphs are now created on-the-fly instead of every five minutes, less likely to cause pauses.

- Matthew Williams split weather_rrd graph functionality out of code/common/weather_rrd_update.pl into bin/weather_rrd_update_graphs. This allows Windows boxes to update their graphs in a forked process, removing the long pauses that can be associated with updating the rrd graphs.

- Updated code/common/internet_mail.pl to allow for reading of local mail files. For example, if using Thunderbird, install Thunderbird 'Tb autosave extention' from http://www.supportware.net/mozilla/#ext13 then set the mh.ini parm net_mail_save_dir to point to the save directory. This has the advantage over get_email of ignoring spam that you have filtered out of your inbox.

Bug Fixes and Other Changes:

- Matthew Williams made about 1 billion changes, a bit too numerous to list. Check the svn log for the complete list.

- David Mark also made many changes, some (but not all) are listed in the svn log listing.

- David Mark added several new options to display_alpha.pl

- David Mark updated display_alpha.pm to work with older Beta Brite signs

- David Mark updated mh_release.pl to use respond_in_kind function and trigger

- David Mark fixed display app parameter bug

- David Mark fixed bug in respond_log which sent parameters to the print log

- David Mark updated serial_port_create and serial_port_open to handle start and stop bit variations

- David Mark fixed tk response in set_password

- David Mark added respond_in_kind function

- David Mark fixed tk window display bug related to recycled windows.

- David Mark updated code/common/event_sounds.pl to allow for an optional mh.ini event_sounds_file

- David Mark added &recompose_uri to unencoded URI's from XML parsers and re-encodes them for output in tag attributes.

- David Mark updated code/common/news_ap_breaking.pl from 'read/show' to 'what is'.

- Chris Barrett fixed a 2.102 X10_RF.pm bug that truncated the first character X10 code in the log errata.

- Chris Barrett updated common/mh_release.pl to work with the new 2.102 version name, which includes the SVN Rddd version.

- Chris Barrett fixed a case sensitiviy bug in lib/X10_RF_security.pm .

- Added a check on text lenght in &speak, and will display instead if too long.

- Allow for end of line comments ( ... # comment) in .mht files.

- Brent DeShazer found a bug when trying to set Timer objects from with web SET commands.

- Chris Barrett fixed a potential security hole by removing double slashes in HTTP requests.

- Matthew Williams added FAQ item 2.18 to explain the differences between 'on', 'ON' and ON.

- David Mark added a state check in Door_Item set before setting the last opened or last closed times.

- Added a speak length mh.ini parm, to allow for truncating long text before speaking. Default is set with mh.ini entry of speak_length=500

- Axel Brown spoted a bug where the play sound_fork parm was ignored on non-winows boxes.

- David Norwood improved pronto support, RSS processing, trigger actions, and usb-uirt support.

- Dan Patellis updated lib/Marrick.pm to accept more X10 commands, including PRESET_DIMs.

- Rick Steeves patched dailystrips to support 2 page retrieval support.

- Joe Blecher added support in Lynx10PLC.pm to handle individual commands instead of requiring pairs. This allows "group" capability similar to the CM11

- Chris Barrett fixed 4 bugs in vv_tts.pl

- David Norwood added +-##% states to X10_Item, and made many improvements related to dimming.

- Chris Kodadek and Matthew Williams put in a fix for said_next in Socket_Item.pm for cases where $datatype is 'raw' (i.e. a raw socket).

- Kirk Bauer updated Musica.pm.

- Troy Carpenter updated internet_weather.pl to add -nws_data forecast to limit it to just forecast data

- Troy Carpenter added a new volume control module for Audreys.

- Jim Duda updated audreyspeak which has more intelligent handling of "rooms".

Version 2.102 posted on 04/02/2006

Version 2.102 can be downloaded from here:

  http://misterhouse.sf.net/download.html

New Features:

- Brian McKissick created code/common/power_Xantrex.pl for communicating with a Xantrex GT3.0 grid-tied photovoltaic power inverter, allowing for home automation monitoring of generated solar power.

- Ricardo Arroyo sent in code and web files he has modified to speak in Spanish, or to use Spainish web pages. Copied to mh/code/public/Ricardo

- Jim Morrissey sent in mh/code/public/power_french_edf.zip, code and web pages he wrote to manage the different power rates that the French national electricity (EDF) provides.

- Michael Easton created web/newclock ( http://localhost:8080/newclock ). Enable code/common/clock_map.pl to keep world maps updated.

- David Mark added mh.ini option html_wav_format=client which will try to detect the best option for various browsers when playing mh TTS.

- Gaetan Lord and Jocelyn Brouillard created lib/DSC5401.pm, code/examples/DSC5401.pl, and web/bin/DSC5401_*.pl for supporting the DSC5401.

- Gaetan Lord, Matthew Williams, and David Mark added code/common/virtual_keyboard.pl to allow for a virtual keyboard within a web page, and updated web/bin/shopping_list.pl to use it.

- Gaetan Lord created web/bin/listmanager.pl, based on shopping_list.pl, but more generic and targeted for use on a PDA.

- Gregg Liming updated code/common/asterisk_gregg.pl which uses Telephony_xAP and and netcallerid objects to perform CID, output logging, MWI display and on-/off-hook processing (e.g, mute music on call pick-up or start). He also updated lib/Telephony_xAP.pm, lib/CID_Log.pm, CID_Lookup.pm, and phone_logs.pl.

- David Norwood created code/common/monitor_versalink.pl which collects and graphs DSL traffic data from a Westell Versalink 327W modem/router used by Verizon.

- A interview about the open source aspect of MisterHouse can be found at http://www.cocoontech.com/index.php?showtopic=3428 and a summary of that interview is at http://www.itbusinessedge.com/item/?ci=11747

- Matthew Williams migrated the MisterHouse sourceforge repository from CVS to SVN (SubVersioN). This is much nicer than CVS and we now have ALL files in the standard distros checked in. You can continue to send updates to me directly, or feel free to send them in via SVN. Windows users can use touroiseSVN, which integrates into explorer: http://tortoisesvn.sourceforge.net/ Right click on explorer and do an SVN check out from here: https://svn.sourceforge.net/svnroot/misterhouse/trunk

- If you want to track changes to the mh wiki, you can subscribe to a RSS or ATOM feed via this page: http://misterhouse.wikispaces.com/space/notify

Bug Fixes and Other Changes:

- Included mh/data/infrared/devicelib (missing from 2.101 release).

- Neil Cherry updated mh.ini tv parms to use zip_code, rather than hardcoded values.

- Allow for any $var substitution in .ini files, rather than just $config__parm vars.

- Benjamin Griffith updated code/public/rrd_graph_web.pl to fix $timenow and to print better error errata.

- David Mark changed the mh exit_pgm restart, so web based 'restart misterhouse' works better.

- Mike Pieper added support for EIB access via eibd.

- Tim Sailer noticed a 2.100 update to common/tv_info.pl broke it on *nix systems.

- Chris Barrett and Neil Cherry updated some pointers to our nifty new wiki: http://misterhouse.wikispaces.com

- David Norwood sent in more mh/lib/site/XML modules so rss_subscriber.pl works without requiring local perl modules to be installed.

- Rick Steeves suggested we add favorite_tv_shows mh.ini parm, in place of hard coded channels in common/tv_info.pl

- Steve Hammer and John Liss noticed the Wish::send call in lib/Serial_Item.pm was wrong.

- David Mark fixed a quoting problem in code/common/news_ap_breaking.pl.

- Brent DeShazer added time_date_stamp format 22 and he added cmd, findcmd, and speak to internet_im.pl

- Matthew Williams updated code/public/weather_metar.pl to add hooks when new forecasts are retrieved and added new SummaryLong key to Weather Hash.

- Matthew Williams updated common/internet_earthquakes.pl to allow for km, and fixed bug to us statutory miles instead of nautical miles.

- Matthew Williams updated lib/CID_Announce.pm to handle case when name is sent as "UNKNOWN CALLER"

- Matthew Williams updated lib/DSC5401.pm to add new partition_mode "Exit-Delay".

- Matthew Williams updated lib/Group.pm to allow for nested groupe and Voice_Text.pm to speak numbers > 4 digits seperately.

- Rick Steeves added a print_log call to X10_RF.pm, so you will see errata like: XM6MJ: Porch_Light on

- David Mark updated the web .wav generator to minimized the problem of multiple web browsers talking at the same time by using a semi-random .wav file name.

- David Mark added a webmute=2 option, which disables both local and remote speech.

- David Mark added subs &quote_attribute, &escape, &unescape, and &html_encode to lib/http_server.pl

- David Mark implemented the repeat command and the &mp3_radio_play sub in code/common/mp3_winamp.pl.

- David Norwood updated mh/lib/site/ControlX10/CM11.pm to fix write retries which has been broken the past few releases. He also-wrote the send subroutine without goto's, so it should be clearer and easier to maintain.

- David Mark fixed write_mh_opts to look for mh/bin/mh.private.ini, not mh/mh.private.ini, if mh_parms is not set.

- Gregg Liming xAP/xPL code processing to not drop sockets due to EINTR (system interrupt) calls. He also added ability to override default broadcast on xAP/xPL data transmitions to ones defined by ipaddress_xap_broadcast and ipaddress_xpl_broadcast (useful in multi-NIC/VLAN environments).

- Rick Steeves added RF_Item to web/bin/floorplan.pl

- David Norwood added support to code/common/rss_subscriber.pl for individual download directories for each feed.

- David Norwood fixed a bug in code/common/stocks.pl introduced two releases ago that caused stock alerts to be announced even if the threshold has not been exceeded.

- David Norwood modified code/common/USB_UIRT_learning.pl to change the default repeat used for imported codes from 0 to 1.

- David Norwood updated code/common/internet_earthquakes_cal.pl to include Matthew Williams' statutory vs nautical mile bug fix.

- Brent DeShazer added a parity option for serial ports, defaulting to none.

Version 2.101 posted on 01/29/2006

Version 2.101 can be downloaded from here:

  http://misterhouse.sf.net/download.html

New Features:

- Matthew Williams created a new, spam free, Wiki here: http://misterhouse.wikispaces.com/

- Created a MisterHouse Frapper map, so we can see where we all are: http://www.frappr.com/misterhouse

- Ron Klinkien has lots of great new info on installing MisterHouse on linux at his wiki: http://mrhousefromscratch.tk

- Howard Plato created code/common/azureus_info.pl to display and report on bittorrent client Azureus stats.

- Neil Cherry created mh/lib/iplcs.pm and X10_iplcs.pm for Linux support of Smarthome's Insteon interface. He also created code/common/iplcs.pl to enable, and code/public/iplc.* to test. Code is Alpha level. More info on Insteon here: http://www.linuxha.com/athome/common/iplcd

- Stéphane Kattoor created code/common/ical.pl to allow for control of mh items from any ICal application (e.g. Mozilla, Outlook, or iCal for Mac). More iCal info here: http://en.wikipedia.org/wiki/ICalendar .

- Matthew Williams added buddy icon capability for AOL/ICQ and added a new callback to notify mh when the AOL/ICQ connection is lost.

- David Norwood created code/common/weather_tides.pl based on idea by Joey French. It collects information about ocean tides, moonrise and moonset from the University of Southern Carolina Tide Predictor: http://tbone.biol.sc.edu

- Matthew Williams created lib/K8055.pm, web/bin/k8055.pl, and bin/k8055d.tar.bz2 to support the Velleman K8055 USB 5 in, 8 out digital IO card: http://www.velleman.be/ot/en/product/view/?id=351346

- Dan Hoffard created code/common/LitterFree.pl which uses X10 to cycle the litter box based on cat movmemnt.

- Andrew Baker created code/public/schoolday.pl which creates functions that flag school days.

- David Lynch created mh/lib/TI103.pm for support of ACT's TI-103 interface

- Jason Spangler updated lib/X10_Wish.pm to send, as well as receive, X10 data via PowerLinc, using the Wish drivers.

Bug Fixes and Other Changes:

- Matthew Williams made some additional updated handy_net_utilites.pl improve AOL OSCAR.pm support.

- Gregg Liming updated lib/Telephony_xAP.pm to fix a problem with the 2.100 update.

- Brent Gross updated bin/outlook_read to add a -all option to iterate over all entires, and a -dump_body option to dump the entire body af an entry and not just the subject.

- Howard Plato updated lib/Caller_ID.pm to added a Format=6 option for custom scripts such as vocp_callerid.pl

- David Mark updated lib/Group.pm to fix some 2.100 issues.

- Brent Gross updated common/comic_dailystrip.pl to send html as inline instead of as an attachment.

- Henry Laxen updated web/bin/photos.pl that removes an explicit link to /ia5 rather than the html_file parameter.

- John Wohlers fixed a bug in internet_weather.pl so the nws_city configuration parameter works.

- Matthew Williams updated code/public/weather_metar.pl, including fixing a bug caused by occastional enter a space after "RMK" string. Also moved it from code/public to code/common.

- Matthew Williams updated web/bin/shopping_list.pl with a few enhancements and bug fixes.

- Chris Barrett updated lib/X10_Items.pm to fix some battery timer bugs.

- Chris Barrett fixed a html formating problem in web/bin/phone_list.pl

- Gaetan Lord fixed a bug in time_date_stamp format=17, where it was doing a 12, rather than 24 hour format.

- Neil Cherry and David Norwood updated faq 2.15: What is the format of MisterHouse X10 codes?

- Ben Raymond updated iButton.pm to add (partial) support for DS2409 one-wire net couplers.

- David Mark commented out an uneeded timer in Motion_Item .

- Joel Davidson updated lib/Omnistat.pm

- David Norwood updated uirt2 and usb-uirt, which now use device data in mh/data/infrared/devicelib.

- David Norwood updated lib/Serial_Item.pm, CM11.pm, and ncpuxa_mh.pm to add support for sending and receiving some of the rarely used X10 commands.

- David Mark updated lib/Lynx10PLC, Homebase.pm, and Stargate.pm to support the O and P (ALL LIGHTS ON, ALL UNITS OFF) X10 commands.

- Zen Tormey fixed a 'AOL System Msg' loop in common/internet_im.pl

- Joe Blecher updated Lynx10PLC.pm file to add support for all EXTENDED_CODE_1 commands. Also created new parameter Lynx10PLC_MULTI_DELAY that allows multiple packets to be combined together if they come in separate, but within the specified time of each other.

- David Norwood updated code/common/internet_logon.pl, internet_weather.pl, weather_chance_of_rain.pl to make them configurable via triggers.

- David Norwood fixed a parsing bug in rss_subscriber.pl and removed the duplicate code for from stocks.pl

- Matthew Williams updated code/common/internet_im.pl to allow a var option (e.g. var: Object_name state)

- Andrew Baker added an optional weeder_handshake parm to support his homebuilt board.

- Craig Schaeffer noticed we inadvertantly dropped mh/data/remarks/full_moon.txt

- Tom Valdes created a web icon for the shopping application.

- Bill Young patched X10_RF_security.pm to add support for low battery and tamper indications from wireless devices that support these features. The new states generated look like AlertTamperMax or AlertBattLowMax.

- Peter Sjodin and Rob VanHoboken updated the EIB modules to handle of physical addresses, allow for timer-driven reading of dimmer state, and added dimmer and drive (EIS 2 and 7) support in web interface.

- Steve Goldman updated web/bin/weather_rrd_update.pl to make it compatable with rrd 1.2

- Rick Steeves fixed some bugs in code/common/*weather* code.

- David Mark updated the respond function to eliminate dual read/show commands.

Version 2.100 posted on 10/02/2005

Version 2.100 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- David Mark maded changes to code/common/news_mquote_oftd.pl, internet_earthquakes.pl, dvd_releases.pl, news_ap_breaking.pl, internet_top10.pl, time_info.pl, internet_weather.pl, tv_info.pl, trivia.pl, stocks.pl, internet_top10.pl, tv_info.pl, phone_minutes.pl, news_onthisday.pl, and internet_chance_of_rain.pl. Many of the changes were to enable speak -vs- show options, using the respond function better.

- Brent DeShazer created lib/Display_osd232.pl and code/common/display_osd232.pl for interfacing with Intuitive Curciuts OSD-232 On-screen video overlay interface, available from http://www.icircuits.com/prod_osd232.html

- Werner Lane created lib/Terminal_Menu.pm, code/common/terminal_menu.pl, and bin/terminalmenu-client.pl to allow for 'terminal window' control via SSH. Using something like PuTTY, it is fully operated with keys found on a mobile phone: 0-9, #, *, the arrow keys and ENTER. Screenshot: http://misterhouse.net/pictures/terminal-menu_on_nokia.jpg

- Dan Hoffard created code/public/gas_prices.pl to find low gas prices in Fort Worth, TX.

- Howard Plato created code/common/vocp_callerid.pl. Uses the vocp system to announce and log incoming phone calls.

- Matthew Williams updated handy_net_utilites.pl to switch from Net/AOLIM.pm to Net/OSCAR.pm, so our AOL connections work again :)

- Gregg Liming lib/BSC.pm and code/common/bsc.pl to monitor mh items and send out state changes via xAP BSC and to monitor incoming BSC commands and update corresponding mh item states.

- Dan Wilga created mh/lib/X10_Wish.pm which interfaces to the Linux Wish X10 drivers: http://sourceforge.net/projects/wish . These are the currently supported device: PowerLinc Serial, PowerLinc 1132 USB, CM11A, and Firecracker/CM17A. Currently supports sending, but not receiving, X10 data. More info at the top of lib/X10_Wish.pm.

- David Satterfield created code/common/phone_vcop.pl to interface to the Linux vocp system: http://www.vocpsystem.com

- Peter Sjodin added Linux support for EIB (European Installation Bus, info here: http://en.wikipedia.org/wiki/European_Installation_Bus ). New modules are lib/EIB_Items.pm and lib/EIB_Device.pm. Example items are in code/examples/eib_items.mht.

- The CaFe Perl Users Group has an online Interview with Bruce about MisterHouse: http://www.bit-man.com.ar/en/CaFePMMisterHouse

- Wally Kissel sent in a presentation on MisterLab which shows how he uses MisterHouse at Fermi Labs: http://misterhouse.sf.net/MisterLab.ppt

- Created lib/Network_Item.pm which uses ping to detect when specified ip address is up. Examples in docs/mh.* and at the top of lib/Network_Item.pm

Bug Fixes and Other Changes:

- David Mark changed the &respond_tk function to use &display, rather than respond_default, to tk requested data is more properly displayed.

- David Mark updated common/mp3.pl and bin/get_mp3_data to enable wma files.

- David Mark made more updates to CM11.pm to improve retry transmitions.

- Larry Roudebush noticed we left debug turned on in 2.99 lib/site/ControlX10/CM11.pm

- Larry Roudebush added a mh.ini fork_sound option, which worked better with esdplay on his linux box.

- David Norwood updated net_mail_send to support smtp authentication on messages with mime attachments and to support messages that contain both text and a file attachment.

- Updated internet_weather.pl to allow it to writing to standard weather vars if you don't have a local weather station.

- Jim Duda updated code/common/audreyspeak.pl to undo a 2.99 change involving the local ip address.

- Gregg Liming updated bin/xAP-festival.pl to allow it to work better with hubs.

- Limit outgoing im msgs to every other second, to avoid having im accounts closed due to rapid send messages.

- Werner Lane patched lib/Numbered_Menu.pm to work with a 2.97 update dealing with parms and fixed a check for the keyed-in number (string comparison vs numeric comparison) that prevented the menu from functioning if more than 10 menu items were available.

- Gregg Liming made a number of updates to lib/xAP_Items.pm .

- Updated &force_prounce in lib/Voice_Text.pl to allow for regular expressions data/pronouncable_words.list

- Todd Riesz noticed that menus Actions were not working for lcd menus.

- Matthew Williams updated web/bin/shopping_list.pl, including options to allow for easier printing and a 'at shop' button which brings up a list of items currently in the shopping list.

- Glenn Jensen noticed the ia5 news button wasn't working.

- Brian McKissick noticed bin/alpha_page was missing the leading # in the first line

- Brent Gross updated code/common/comic_dailystrips.pl to allow for email "to" and "basedir" parms.

- Richard Koch fixed a problem in lib/X10_Item.pm with sending preset dim commands to preset2 devices.

- Dave Hall added mh.ini parm events_table so DBI based event tables are disabled by default in lib/Base_Item.pm

- Gregg Liming update lib/Light_Item.pm to add a always_set_state method. Setting it to 0 prevents set states when the value doesn't change.

- Matthew Williams made some updates to web/comics/dailystrips/strips.def

- Gregg Liming updated lib/Telephony_xAP.pm to implement most current xAP schemas for telephony, specifically CID.Meteor and CTI.*. The CID.Meteor support addresses both incoming CID hooks and outgoing call logging. The CTI.* support addresses MWI message counts (total and read).

- David Norwood updated code/common/mp3.pl to remove playlists with unpronoucable characters from the playlist voice cmd and code/common/mp3_xmms.pl to take out the /sbin/ path to pidof, because it's in /bin on debian.

- David Norwood updated code/common/rss_subscriber.pl to add support for podcasts and other RSS feeds with enclosures.

- David Norwood updated code/common/stocks.pl to add back the stock alerts feature.

- David Norwood made various updates to the UIRT2, USB-UIRT, and ncpuxa (Ocelot) code and modules (ncpuxa now work on Windows).

Version 2.99 posted on 05/22/2005

Version 2.99 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Pete Flaherty updated his new mhmedia code to collect, display, select/queue various media files, from MH web interface. He also created bin/mhmms-server.pl for use on the box Xine is running.

- Pete Flaherty also created docs/faq_mhmedia.* to document his new mhmedia code.

- Chris Barrett created mh/bin/xAP-festival.pl, which provides a simple xAP listener for the Festival text-to-speech synthesizer.

- Gregg Liming added code/common/xap_pa_control.pl, so we can use distributed xAP/xPL TTS speech clients (like the new xAP-festival.pl) to create a distributed speech PA system.

- Gregg Liming made numerous great updates to lib/xAP_Items.pm, including allowing for the use of the xAP target field, a heartbeat monitor, a section specific state_now option, and a new tie_value_converter method for modifying data on the fly.

- Gregg Liming also updated Telephony_xAP.pm and created mh/code/public/asterisk_gregg.pl as an example of interfacing asterisk using xAP.

- Jim Duda updated code/common/audreyspeak.pl to use the "rooms" parameter instead of the "address" parameter. It now also builds a queue of speak and play items such that speak and play events don't stomp on each other.

- Dan Hoffard created code/public/weather_warning.pl to periodically checks the NOAA website for severe watches and warnings in any given area and speaks warning messages.

- David Mark made extensive changes to the X10 processing code: added additional code for processing commands that were otherwise discarded ($BACKLOG variable), tweaked various timeouts and added some additional logic to the send function toeliminate the bad checksums, added support for the extended ack (LM14's send these when their states change) and extended preset dim commands, and polling is now reported in the logs.

- David Satterfield created code/common/voicemail_vocp.pl to interface to the Linux vocp system: http://www.vocpsystem.com

- Marcus Müller created a xAP driver for his 2-way, multi-zone capable IRTrans interface, available for 99 Euro from http://www.irtrans.com/

- David Norwood created code/common/rss_subscriber.pl for downloading files in rss feeds (e.g. podcasts and torrent files for TV shows).

- Updated common/phone_minutes.pl to work with Cingular (in addition to Sprint and Tmobile).

- Added mh.ini options xap/xpl_enable_items to enable mh to echo mh item state changes to xap/xpl. Also added code to common/xAP_command.pl to allow external xAP programs to set states on mh items and to allow for multiple mh systems with the common mirrored items.

- Created mh/bin/xAP-bluetooth.pl (called with mh/bin/xAP-bluetooth) and mh/code/common/xAP_bluetooth.pl for monitoring when bluetooth enabled devices (e.g. phones) go in and out of range. The xAP daemon runs on Linux and requires the bluez lib to be installed (pointers in the header).

Bug Fixes and Other Changes:

- Updated lib/Serial_Item.pm to cancel set_with_timer events if mh detects that device was set externally.

- Chris Barrett updated web/bin/phone_out.pl to allow for numbers other than 12 digit numbers.

- Sam Levine noticed a 2.98 typo on web/bin/floorplan.pl

- Mark Radke updated code/common/weather_rrd_update.pl to correctly calculates the sea level pressure if the weather_uom_baro variable is set to mb. Mark also created code/common/weather_summary.pl to update the $Weather{Summary_Short} used in the web status bar.

- Pete Flaherty updated code/common/phone_logs.pl to format the phone out logs with a bit more data.

- Added $Loop_Count_Reload, so we can see how many passes we have had since the last reload.

- Moved the GD .jpg images created by the web/button* code from html_dir/cache to data_dir/cache

- Chris Barrett fixed two problems with net_mail_send which was creating mime email that was not quite legal.

- Peter Woodall updated common/internet_earthquakes.pl to point to an updated usgs.gov ftp url

- Gianni Veloce updated code/public/audrey_cid.pl

- Tony Hall updated common/stocks.pl to work with new stock data from Yahoo.

- Rick Steeves updated web/comics/dailystrips/strips.def to re-enable Dilbert. Also updated to the latest version from sf cvs.

- Brian Ujvary updated X10_IrrigationController in lib/X10_Items.pm to fix issues with a timer, Rain8 All OFF, abort requests, and allowed for a second zone cascade request.

- Allow for a user defined modem in lib/Telephony_Interface.pm.

- Updated lib/Telephony_Interface.pm to clean up callerid data from the bluetooth Dock-N-Talk cell phone interface.

- Jason Sharpee updated lib/Door_Item.pm to add a periodic alarm trigger and lib/Stargate.pm to remove "Thermostat parse error" debug message.

- Updated lib/site/Date/*.pm modules to the latest versions.

- David Mark updated code/common/internet_weather.pl to add barometric pressure rising/falling, wind chill, and changed the shell command to a processs_item call.

- Nigel Titley sent in code/public/iButton_logcks.pl as an example of how he uses iButtons and a weeder module for a door lock.

Version 2.98 posted on 03/20/2005

Version 2.98 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Axel Brown created code/common/mh_release.pl which monitors the MisterHouse release page and lets the user know if there is a newer version of MisterHouse available.

- Axel Brown created code/common/monitor_router_lingo.pl to monitor and optionally reboot a VoIP Lingo router.

- Matthew Williams created code/public/weather-metar.pl for getting weather provided the international standard METAR format. Similar to code/common/internet_weather_metar.pl. He also added a weather_long option to web/bin/status_line.pl

- Pete Flaherty created common/mhmedia_xine.pl and web/media for controling Xine Media player, available via a new Media Center button on the ia5 entertainment page. Currently for Linux only, but Xine Windows support is planned.

- Pete Flaherty created code/public/phone_merlin.pl and an example for interfacing to the Merlin phone system.

Bug Fixes and Other Changes:

- Dominique Benoliel fixed a 2.97 wind conversion problem in lib/weather_wmr968.pm

- Added a check to web/bin/items.pl to avoid creating any mh items with embeded blanks.

- Chris Barrett noticed a typo in lib/Telephony_Interface. A callerid should have been caller_id in this check: config_parms{caller_id_format} eq 'number only';

- Axel Brown updated bin/mh set the volume on a per sound basis on unix when using the standard play program.

- Patched bin/mh to avoid this message that Lee Varga noticed: Undefined subroutine: main::respond_UserCode main::respond_UserCode

- Craig ? found a 2.97 problem in handy_net_utilities.pl that caused the which function to not run the dailystrip code on some systems (switched -x file test to -f).

- Jason Sharpee added a mos_precip_change (rain prediction) funciton to code/public/weather_mos_forecast.pl.

- Jason Sharpee patched set_by problem he noticed with tied_item objects.

- Jason Sharpee patched lib/X10_Items.pm to assume a ON to a non-presetable item means 100% light level.

- Jacò Botha found a problem with code_unselect on windows not deselecting code on Windows due to a case sensitve issue.

- Pete Flaherty updated code/common/audrey_control2.pl to use get_url instead of get to avoid mh pauses.

- Jason Sharpee re-wrote lib/Base_Item.pm and Light_Item.pm to add features, fix bugs, and clean up the code.

- Bradley Erickson notice that lib/HomeBase.pm did not work with X10 house code M.

- Pete Flaherty updated docs/faq_ia.pod with the latest info on his http://mraudrey.net project.

- Matthew Williams updated web/bin/shopping_list.pl, changing the modify option to update list. Also included the default data/shopping_list.txt that was left out in the last release.

- Heath Pitts found a memory leak problem with .mht entries with blanks in the group records.

- Pete Flaherty updated web/bin/phone_out.pl to display optional additional data.

- David Norwood updated the common/USB_UIRT_learning.pl to handle two part raw codes.

- Rob Walker noticed that mht entries flagged with 'hidden' group flags, inadvertantly created groups called hidden.

- Rob Walker and I updated web/bin/floorplan.pl to not require the $om object.

- Gregg Becnel fixed a bug in collect_accum in code/public/caddx.pl

- James Bacus noticed code/common/callerid.pl would repeate the callerid data twice, if you only had one callerid device defined.

- Rob Walker and I updated code/common/internet_im.pl to allow for new autoconnect parms, so that mh can log into im services at startup, rather than only when they first need to send data. To enable, set net_aim_autoconnect=1 (or _msn_, _icq_, or _jabber).

- Added a list of defined constants (e.g. ON => 'on') to the 'List of global variables' of docs/mh.pod. Also added MOTION and STILL

Version 2.97 posted on 01/23/2005

Version 2.97 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Matthew Williams created web/bin/shopping_list.pl, now linked under a new web ia5 'events/calender' menu with a new shopping button.

- David Norwood updated common/phone_minutes.pl to work with Tmobile (in addition to Sprint).

- Pete Flaherty created code/common/audrey_control2.pl, which controls lights, screen, power, volume on multiple Audreys.

- Added support for multiple Alpha LED displays. See lib/Display_Alpha.pm for more info. Also fixed a 2.96 bug with colors.

- Jocelyn Brouillard created code/public/dsc_pc5401.pl DSC Alarm PC5401 Serial interface.

- Jason Sharpee created code/public/weather_mos_forecast.pl to decode MOS forecast data.

- Dominique Benoliel, with input from Tom Valdes, Clive Freedman, and Tine Gornik updated common/weather_rrd_update.pl. Updates include smarter $Reload, correct Wind Direction ratio, correct Rain Rate/Total, change Celcius with Celsius, and added check for $Weather{TempInternet}.

- Matthew Williams also updated weather_rrd_update.pl to allow for metric units and negative dew points. He also added a bunch of metric related convert_* functions to bin/mh. For a list, search for convert_ in docs/mh.txt

Bug Fixes and Other Changes:

- Chris Barrett updated USB_UIRT.pm with debug updates.

- Matthew Williams updated code/common/phone_logs.pl to allow for numbers without area codes.

- Gianni Veloce made some updates to code/public/sms.pl .

- Pete Flaherty updated weather_rrd_update.pl to allow for weather_rrd_format=GIF (defaults to PNG).

- David Norwood updated weather_rrd_update.pl to fork when creating graphs, to avoid mh pauses, but this only works on non-windows boxes.

- David Norwood noticed a 2.96 problem with set_output using open2 and not getting STDOUT results from Process_Item on Linux.

- Fixed a 2.96 problem with sending internet messages with send_im.

- Dan Puccio noticed a problem, caused by a bug in the which function, when mh was installed in installed in a /mh dir.

- William Magill fixed the uptime calculation for OSx.

- Gregg Liming update common/xAP_command.pl to allow for targets and ackmsg attributes.

- David Satterfield noticed that unquoted arguments using the web SUB function were treated as one argument instead of multiple arguments.

- Neil Wrightson noticed odd problems on Windows when mhe.exe was used with the mh -log_file command line option. I tried fixing it, but it is something deep in the Windows PAR compiler, although Linux PAR works fine. So I took that option out of the documentation, since simple redirection (mh > debug.log) works just as well and disabled it for windows mhe.exe users.

- Jeff Bevis fixed a problem with an authorization check in web/bin/iniedit.pl

- Updated lib/site/Geo/Weather.pm , to be compatable again with updated weather.com pages.

- Rick Rolstin fixed a problem with frequent disconnects in common/voice_server.pl and public/voice_client.pl

- Matthew Williams discovered that the 'admin password accepted' speak calls would cause problems with speak hooks. like in the Audrey code. We already had print_log calls there, so we took out the speak calls.

- Jeff Bevis noticed we broke X10 BRIGHT/DIM states in 2.96.

- Larry Roudebush noticed that common/xAP_send.pl disabled local speech.

- Werner Lane found a bug in common/deep_thought.pl that was causing a file access on each mh pass!

- Werner Lane updated common/display_slimserver.pl to work with the new slimserver 5.4+ releases.

- Werner Lane updated common/speech_clash.pl to allow for speech with the ' character.

- Werner Lane also updated bin/mh to use am/pm on Time_Sun* parms if time_format==12

- Matthew Williams added listing of X10_Item timers to the "list all timers" to common/timers.pl

- Joel Moore added Nextel support to phone_pcs_messaging.pl.

- Dominique Benoliel modified lib/weather_wmr968.pm to calculate the pressure at sea level with the mh parameters "ratio_sea_baro" parm and make metric conversions to load $Weather global variables in coherence with the "weather_uom_..." mh parameters.

- Dominique Benoliel modified common/weather_upload.pl to send the pressure sea level and not the absolute pressure if using the wmr968 and to make some metric->english conversions if needed, according to the "weather_uom_..." parms.

- Jason Sharpee and Kirk Bauer fixed lib/Light_Item.pm to fix a problem with Lights and Motion sensors without occupancy (would not stay on during motion sequences) and another problem with X10 Sync timer killing a light when it has occupancy as well.

- Jason Sharpee also updated lib/Door_Item.pm to make door alarm repeatable (keep on nagging until door is closed).

Version 2.96 posted on 11/22/2004

Version 2.96 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Craig Schaeffer and Danal Estes sent in code/public/monitor_mbm*.pl as examples of montioring motherboard temperature data, using mbm on windows.

- Kirk Bauer updated lib/Musica.pm to support the new 4602 series and its FM Tuner keypads. Also did other small patches to some of his other audio modules.

- Dave Hall updated code/public/robot_er1.pl with many improvments, including callerid, speak/play, and new drive commands. See header for the list of changes.

- Timo Sariwating created code/public/dreambox.pl for interfacing to the the European Dreambox satelite receiver.

- Russ Knize created a Debian package, available here: http://www.knizefamily.net/russ/software/misterhouse.html

- Gregg Liming update lib/xAP_Items.pm so there are now two separate listeners/senders and hubs, to support xAP and xPL at the same time. He also added xap_disable and xpl_disable options.

- Axel Brown updated common/internet_im.pl to to queue temporarily undeliverable IMs for all the supported IM protocols.

- Rick Steeve created code/public/internet_usgs.pl for monitoring the water level of any river or lake in the continental US that is monitored by the USGS. Whenever that level passes a certain point MH will send notification.

- Created lib/Servo_Item.pm to supports servo motors via the $40 Mini SSC II serial servo control board, available from http://seetron.com .

- Created code/common/robot_esra.pl to control the $180 Robodyssy ESRA robot head from http://robodyssey.com . It has 5 servos (eye lid, eyes, lip top/bottom, and an optional neck) which are connected via the Mini SSC II serial servo controler. Pictures and a movie are at http://misterhouse.net/public/robot/ .

- Created code/common/speak_insults.pl. You can use the mh.ini speak_apps parms to alternate the insults between different voices and/or sound cards. I use it so allow my 2 robots to insult each other ;)

- Created code/common/phone_minutes.pl to check on remaining cell phone minutes. Currently for Sprint only, but could be extended for other services. I also updated get_url to add -cookie_file_in/out options to make navigating web sites that require password logins a bit easier.

- Added -userid and -password options to get_url, so it can access pages with 'basic authorization' like those popup login menus you get when you access your router. This is now used for Linksys routers in the 'Reboot the router' command in common/monitor_router.pl . I found my new Ambit cable modem about once a week somehow glitches my Linksys router, so I now monitor $internet_connect_check from common/internet_connect_check.pl and run 'Reboot the router' if it goes down (see code/bruce/monitors.pl for an example).

- Created code/common/xAP_send.pl for sending out various mh source data data as xAP messages, for use with other xAP enabled clients.

- Gordon Meyer wrote a nice nice intro to mh article, originally published by OReilly ONLamp at http://www.onlamp.com/pub/a/onlamp/2004/11/11/smrthome_hks1.html , now included in the distro with various links from the mh and install docs.

Bug Fixes and Other Changes:

- Chris Barrett noticed we missed the 2.95 bin_dir update fix

- Dan Hoffard create code/public/news_star_telegram.pl (top stories from the Fort Worth Star Telegram) and news_onion (news from mobile.theonion.com)

- David Norwood updated lib/IR_Utils.pm to work with RC-5 and RC-6 protocol signals. Also update USB_UIRT.pm with a minor update.

- Dominique Benoliel updated lib/X10_W800.pm to support the RF KR21 remote.

- Kirk Bauer updated bin/mh to allow for : in object names.

- Eric Marti updated the web ini edit option to allow non-admin users to browse different categories.

- Delete lib/site/Digest/*SHA1.pm, as these older versions were causing problems with Jabber.

- Kirk Bauer sent in mh/code/examples/mode_party.pl, to show how to set up a party mode object.

- Added a 'Song and Dance' command to common/robot_robosapien.pl. He speaks random fun words while dancing to the YMCA song!

- Kirk Bauer re-sent the read_record update that was supposed to be in 2.95

- Craig Schaeffer found that if we updated the MS V5 volume tag in lib/Voice_Cmd.pm to a slightly different syntax, we could fix a problem he was having with left and right volume control.

- Neil Cherry fixed lib/handy_net_utilites.pl to do a 'use Jabber' only once, to avoide a problem with the Client function he was seeing.

- Kirk Bauer fixed state_final so it works even if state is not defined.

- Michael Grabowski noticed that a Group_Item X10 command addressed the last object twice. He also discovered some incoming dim/bright data was not being decoded properly.

- Axel Brown updated lib/Telephony_Interface.pm to work with NetCallerid hooked to VoIP.

- David Satterfield fixed a few bugs in lib/Display_Alpha.pm

- Added the SSLeay module to mhe.exe on windows, so it can do get_url on https (encrypted) web pages.

- Added a is_speaking 'any' option (i.e. &Voice_Text::is_speaking('any')) so we can test for speaking on all sound cards.

- Added a file_default function to allow for an easy way to use a default file if an override does not exist.

- Added a eval_with_timer function to run some code after some delay: eval_with_timer $code, $time. For example: eval_with_timer 'print_log "hi from the past"', 60;

Version 2.95 posted on 09/25/2004

Version 2.95 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Ant Skelton created mh/code/common/internet_irc.pl which allows MrHouse to talk to multiple channels and multiple users on multiple IRC servers.

- Dan Wilga updated mh/bin/get_tv_grid to allow for multiple providers (e.g. local cable and Dish Network). To use more than one, the list of providers needs to be separated by commas, like: 1234,5678 or Charter Communications,Dish Network.

- Scott Johnson created mh/code/public/siteplayer.pl as an example of sending digital signals to a $30 siteplayer ethernet interface: http://www.siteplayer.com

- Mark Rogers added Ogg Vorbis support to the mp3 playlists.

- Lou Montulli updates lib/Xantech.pm with some fixes to get it working on his Xantech whole house audio system. He also create code/public/Xantech_test.pl for a web based control test.

- Pierrick Dintrat created web/bin/floorplan_svg.pl, a SVG (Scaleable Vector Graphic), version of the html only version, floorplan.pl. Required SVG plugin is available from http://www.adobe.com/svg/viewer/install .

- David Norwood suggested we add mh/web/bin/dbmedit.cgi, hacked from from http://www.jmarshall.com/tools/dbmedit/. Call it to browse db files like this: http://localhost:8080/bin/dbmedit.cgi?file=tv_channels.dbm

- Kirk Bauer updated Alsaplayer.pm (added forward, rewind functions, and get_path functions), Light_Item.pm (added manual function), Musica.pm (fixed set_bass, set_treble, and set_balance functions), RCSsTR40.pm (added set_heat_limits and set_cool_limits functions), mp3_alsaplayer.pl (added mp3_get_playlist_pos and mp3_get_curr_file functions and added the ability for usercode to set a function to be called whenever the alsaplayer is in use), and PlayList.pm (provides more flexibility in adding files to the playlist).

- Clive Freedman created functions url_changed and url_last_modified functions. See mh/doc/mh.* for an example.

- Added a mh.ini voice_text=swift and voice_text_swift=pgm_path options for the new Cepstral Linux TTS engine.

- Kirk Bauer created code/common/mp3Rip_code.pl to rip MP3s from audio CDs through the Misterhouse web interface. Info available from the common code select menu (points to mh/docs/mp3Rip_system_setup.txt). Currently Linux only.

- Kirk Bauer added a new state_final Generic_Item method, so we can query what state an object will be in after all queued state changes have been processed.

- Kirk Bauer created new handy_net_utilites.pl functions html_decode, cookies_parse, and cookies_generate. He also updated bin/get_url to allow for -cookies, -post, and header_file options.

- Kirk Bauer (busy boy!) created code/common/eBay.pl to monitor your eBay activity and report interesting events, such as somebody outbidding you, an item ending, an item that is going to end soon, and much more.

Bug Fixes and Other Changes:

- Dominique Benoliel updated code/common/weather_rrd_update.pl to add sea level barometric pressure (in the labels of the pressure graphs), change label "barometric pressure" by "Absolute barometric pressure" (to avoid confusion with the sea level pressure), add new mh parameter "$Weather{ratio_sea_baro}" to calculate the sea level barometric pressure (to avoid hard coded in the script, default 10 meters), and use "altitude" mh parameter to calculate the sea level barometric pressure graph.

- Updated lib/Telephony_Interface.pm to recognize NetCallerID message waiting data.

- David Norwood modified the sort order for mp3 songs, playlists, and artists so that the string "the " at the beginning is ignored.

- Clive Freedman and I created web/misc/failed_request.shtml for missing pages, which can be overriden with a user aliased dir to change the message given on missing pages.

- Added %Misc global array, to store misc goblal vars (like %Save, but not saved between mh restarts).

- Kirk Bauer updated bin/get_mp3_data to fix a genre bug and to add support for some newer genres.

- Added a mh.ini bin_dir option, to point to your private version of any file that normally gets executed from the bin/mh dir (e.g. get_weather).

- Added app=admin to http_server.pl calls to speak (e.g. "Admin password accepted"), so we can use a speak_apps parm to override if and how to speak that speech. Also updated Voice_Text.pm to exit quietly with voice=none.

- Mark Rogers updated common/mp3.pl to re-tie to the dbm database, so newly rebuilt mp3 data is picked up.

- Chris Barrett found a typo in the protocol printout of USB_UIRT.pm.

- Kirk Bauer re-wrote the read_record function to be more efficient and added a read_next_tail to File_Item.

- Added &html_item to html_sever.pl, so we can add just specific objects to .shtml files. Example in docs/mh.*

- Craig Schaeffer noticed that if tk_mlabel pointed to an object, it echoed only the state at startup. We took out that object option and changed the Tk mail label in common/internet_mail.pl to point to a variable instead.

- Craig Schaeffer noticed that web RUN:last_displayed calls caused my to pause for a long time.

- Allow for range of channels in get_tv_grid -keep and -skip options (e.g. -keep 9,10,100-200,300 ).

Version 2.94 posted on 07/30/2004

Version 2.94 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Axel Brown updated common/internet_im.pl to add support for ICQ. Enable with mh.ini net_icq_name and net_icq_password.

- Raul Rodriguez updated common/mp3_slimserver.pl to optionaly and transparently direct mh/slimserver music to networked computers.

Bug Fixes and Other Changes:

- Pete Flaherty fixed a few minor javascript typos in some of the web pages.

- Thomas Stoll noticed a 2.92 problem with TOGGLEing states and an case sensitive state problem.

Version 2.93 posted on 07/18/2004

Version 2.93 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Pete Flaherty updated the web mp3 interface, adding delete, jump, and playlist on/off toggle button on the remote popup player/playlist and updated mp3_xmms and mp3_winamp to be more interactive between the control and the playlist.

- John Dillenburg wrote lib/Motion_Tracker.pm, experimenting with the occupancy monitoring stuff and deciding it was too complicated for his application. Motion_Tracker takes a motion sensor object as a parameter and sets up a timer everytime motion is detected. It ignores the 'off' messages from the sensors. This allows the timeouts to be set on the computer rather than on each sensor individually. The object state is restored through restarts, so the occupied state will eventually expire, even after restarts.

Bug Fixes and Other Changes:

- Timothy Spaulding found a 2.92 bug that caused set_by to get the wrong data.

- David Norwood fixed a bug in stocks.pl that kept price drops from being announced.

- Lowered the default MR26_multireceive_delay from 1500 to 400 (I ment to do that in 2.92, but Bill Young noticed that I didn't). Also added a W800_multireceive_delay to the X10_W800* modules, but left the default at 1500, since Bill mentioned that those module does not filter repeats like the MR26 does.

- Added 'Speak deep thought with voice xyz' to common/deep_thought.pl, so we can read deep thoughts with different voices.

- Fixed a 2.92 bug in display, where the tk window would not appear.

- Fixed a 2.92 bug with Timer where active would return true after the timer expired.

- Brent Gross added quotes to the email address that gets the response of email commands in common/internet_mail.pl, so that emails addresses with blanks work ok.

- Robert Rozman noticed that Voice_Cmd 'Set {the,} light on' did not work with the string 'Set light on'.

- John Dillenburg noticed that X10_Sensor (X10MS) was giving 'serial set called but no serial port found' messages.

Version 2.92 posted on 07/05/2004

Version 2.92 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Sean Walker sent in code/public/vocp_sean.pl for integrating with linux vocp voicemail ( http://vocp.sourceforge.net/ ).

- Lincoln Foreman created code/public/x10_video_security2.pl as another example of interfacing with X10 cameras.

- Kirk Bauer created lib/Tivo_Control.pm for displaying text on a Tivo. See header for details.

- Norm Dressler created code/common/mr26_vdr.pl to send remote control commands to VDR (Video Disk Recorder) ( http://www.cadsoft.de/vdr/ ) from an X10 RF remote, via a MR26 interface.

- Created lib/Display_Alpha.pm and code/common/display_alpha.pl for sending text to an Alpha LED signs using a serial port. I picked up the Alpha 213C (a.k.a. BetaBrite, 2" x 24", 14 character) from the local Sam's Club for $150. Their web site only lists a bigger version, but info on BetaBrite I have can be seen here: http://www.betabrite.com/Pages/betabrite.htm . It displays in multiple colors, in either scrolling or fixed text. See Display_Alpha.pm header for details.

- Created code/common/games_bingo.pl for playing the game of Bingo by speaking and displaying a randomized set of bingo numbers at a timed interval.

- Added a xAP interface option to lib/IR_Item.pm. This allows us to send and receive IR data with the USB RedRat3 ($99 from http://www.redrat.co.uk/ ), using the new windows xAP RedRat Connector ( http://www.xapframework.net/modules.php?name=Downloads&d_op=viewdownload&cid=45 ).

- Created code/common/robot_robosapien.pl for using IR to control the RoboSapien Robot: http://www.robosapienonline.com (got mine for $100 at Best Buy). It doesn't do anything practical, but it is a fun toy. I've also sent the 70+ IR codes to the online Redrat3 database.

- Larry Roudebush created a program that will sync a palm datebook with misterhouse calendar file. Available at ftp://24.210.57.79 with a user name and password of: mhusers/mhusers.

Bug Fixes and Other Changes:

- David Norwood sent in mh/code/public/ocelot_*.pl as examples of using Ocelot infrared, digital input, and digital output.

- Dave Hall updated code/public/robot_er1.pl to fixed bugs, made few things easier/automatic, and added digital and analog input and an angle routine.

- Joel Davidson updated lib/Omnistat.pm and code/public/omnistat.pl to work with an HAI RC-80 thermostat.

- Lee Varga added mh.ini parms photo_no_title and photo_no_clock for turning off title and clock on the web photo page.

- Fixed a bug when receiving xAP/xPL data with a blank value.

- Added a set_now method to Generic_Item (available to most mh objects). Unlike set, which makes the state change on the next pass, set_now changes the state when called. Used in setting incoming states on xAP and xPL objects, so the various other data fields are in sync with the state field.

- Updated lib/Timer.pm to have the active/inactive methods immediately reflect that a timer has been set, rather than waiting for the start of the next pass.

- Jukka Br updated lib/site/hardware/iButton/Connection.pm to set some port timings to improve iButton reliablity. Since this broke things for some people, this is only enabled with parm ibutton_tweak=2.

- Norm Dressler noticed the 'duplicate key' check in lib/X10_MR26.pm was set to high at 1.5 seconds. Added a mh.ini MR26_multireceive_delay, defaulting it to 400 (.4 seconds).

- Fixed a windows bug when you have duplicate file names with different cases (e.g. xAP_weather -vs- xap_weather).

- Added the xAP/xPL module as part of bin/mh, rather than user code. If you don't want the xAP/xPL ports open, use mh.ini parm xap_disable = 1 .

- Added a device option to the display function, so we can send display data to specific displays. If used, a user definable display_devicename function will be called (e.g. display "device=alpha hi" will call &display_alpha).

- Enabled display_app parm, like we had for speak_app, so we can control display parms in common code. For example, I can display bingo numbers to our nice big Alpha LED with this parm: display_apps = bingo => device=alpha

- Added mh/bin/mhc and mhc.bat, the scripts I use to created the compiled mhe binaries on linux and windows with the Par compiler.

Version 2.91 posted on 06/06/2004

Version 2.91 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Kirk Bauer created code/public/whole_house_audio_speech.pl and whole_house_audio_musica.pl for for distributing speech and music using multiple sources and multiple destinations. Lots of good documentation here: http://www.linux.kaybee.org:81/tabs/whole_house_audio/

- Dominique Benoliel created web/bin/weather_graph_zoom.pl and added a ia5 Weather -> Weather Station -> Weather Zoom option for creating custom sized graphs for any date range.

- Steven Lee created lib/Logger.pm. See the top of the file for examples.

- Amauri Viguera and I created mh/web/bin/rss_logs.pl for creating RSS feeds from various mh logs. For example, here is my speech log feed: http://misterhouse.net:8080/bin/rss_logs.pl?speak . RSS feeds are a popular way for various 'news aggregators' to track multiple sources of info. To allow access from external readers, add rss_logs.pl to your data_dir/password_allow file. See the rss_logs.pl header for more info.

- Updated lib/CID_Server.pm to enable sending of caller ID data to xAP and xPL clients. This will be enabled if you enable code/common/test_xap.pl and callerid.pl. Tested with the nifty new xAP desktop application which displays various bits of data on windows desktops, available via http://www.xapautomation.org .

Bug Fixes and Other Changes:

- Brian Ujvary updated lib/USB_UIRT.pm to close cleanly on mh exit/restart.

- Chris Barrett noticed a problem with common/telnet.pl closing a client connection.

- Brian McKissick updated bin/alpha_page to support Arch Wireless (one-way and two-way) pagers.

- Kirk Bauer updated lib/AlsaPlayer.pm, PlayList.pm, and common/mp3_alsaplayer.pl. Added the ability to stop/restart alsaplayer process and set the volume better.

- Sean Walker tweaked web/bin/photo_search.pl .

- Doug Nakakihara and Larry Roudebush noticed a commented out line in common/callerid.pl caused rejected calls not to get hung up.

- Kirk Bauer added a "Create" button to the USB-UIRT Learning web interface, which lets you select an exiting function, modify one or more parts of it, type in the new name, and then click "Create". David Norwood fixed a bug in USB_UIRT.pm that was corrupting two part UIRT codes imported from Girder.

- Switched str2time from the HTTP version to the Date::Parse version, so we can parse more time/date strings more reliably.

- Added offhook/onhook set options to lib/Telephony_Interface.pm and switched to these from direct serial port calls in code/common/callerid.pl.

- Chris Barrett added File_Item exist and exist_now methods for detecting if files exist.

- Scott Reston noticed a 2.88 bug that disabled X10_Item level from returning the proper light level.

- Chris Barrett updated code/common/telnet.pl to add configurable "welcome" and "exit" banners, a built-in "whoami" command that returns either "admin", "family" or "guest", changed the the admin prompt to "mh#" and for the other 2 levels it is "mh>", and changed the "exit" command to now drop you back to your previous level (e.g. guest -> admin -> guest).

- Updated perl par compiler from 0.80 to 0.83.

- Updated lib/site/net/AOLIM.pm from 1.4 to the latest 1.6 version.

Version 2.90 posted on 05/02/2004

New Features:

- Added slimserver_protocol=xAP option for common/display_slimserver.pl. This uses the xAP SlimServer Connector from: http://www.xapframework.net to display data to Slim devices. This program allows for big and brightness controls, and eventually will capture IR data (slimp3 -> xAP traffic -> mh), even for many non-slim IR remotes.

- Jim Duda created common/camera_gphoto2.pl for downloading photos from digital cameras using ghoto2 (linux only)

- Kirk Bauer created lib/VirtualAudio.pm which alows you to create virtual audio sources and route them to a physical multi-zone audio system. For example, different playlists can be routed to different rooms.

- Kirk Bauer also created common/mp3_alsaplayer.pl, which adds support for Alsaplayer the same way it exists for XMMS/Winamp added some new functionality to lib/AlsaPlayer.pm.

- Amauri Viguera created common/tv_btvwin32.pl for interfacing with SnapStream's "Beyond TV" PVR software.

Bug Fixes and Other Changes:

- Neil Wrightson noticed that the windows web server was looking for mh.exe rather than mhe.exe when forking big files.

- Neil Wrightson also noticed that a code_dir path with multiple dirs would mess up some common code file member (menu.pl, trigger.pl, outlook.pl, and internet_irridium.pl).

- Steve Switzer fixed a 2.89 typo in weather_aws.pl.

- Chris Barrett fixed Holiday notices for different date_formats and fixed year based Holidays.

- Chris Barrett also noticed a 2.89 bug in new_minute.

- Chris Barrett added an auto-refresh to the rrd weather graphs.

- Steven Lee updated Generic_Item property_changed to also trigger if the old or new value was undefined.

Version 2.89 posted on 04/25/2004

Version 2.89 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Dave Hall created code/public/robot_er1.pl for interacting with the Evolution Robotics ER1 robot: http://www.evolution.com/er1/

- Created code/public/iButton_temps.pl as an alternative way of reading iButton temperatures if the built in mh code is not working reliably. It uses the digitemp binaries (windows or linux) from http://www.digitemp.com

- Added 'Email daily comics' to common/comic_dailystrips.pl. Also added 'Email xxx weather chart' commands to common/weather_rrd_update.pl. These both use html email, so the images are displayed without having to open them, just like in all those pesky spam emails. You can have these sent on a daily basis with something like this:

  run_voice_cmd 'Email daily comics' if time_cron '2 5 * * *';

- Created web/bin/list_images.pl to list recent images from a directory of images (e.g webcam snapshots). Here is an example page: http://misterhouse.net:8080/ia5/security/index.html

- Updated bin/mh.bat to use the newer, par compiled, mhe.exe. Dropped the older perl2exe compiled mh.exe from the misterhouse_win_###.zip package. Also updated the perl par compiler to version 0.80 on linux and windows. As a result, perl58.dll is no longer required on windows.

- Steve Switzer created code/common/speech_clash.pl which will re-que a speak event if speech is currently in progress. This can help speech engines that do not have built in speech ques, so that speech is not lost or overlapped.

Bug Fixes and Other Changes:

- Steve Switzer fixed the tv configure script web/bin/set_parm_tv_provider.pl to work on unix boxes without bin/mh it the path var.

- Craig Schaeffer fixed Lynx10PLC when used through an mh proxy.

- Kirk Bauer updated lib/Musica.pm, PlayList.pm, AlsaPlayer.pm, and Weeder_Light.pm.

- Added a Play_parms hook, for modifying play parms before play calls.

- Craig Schaeffer updated aol im buddy logon messages to be less verbose.

- Chris Barrett fixed a security issue with web/bin/browse.pl

- Jim Duda updated Process_Item to add methods set_killsig and runtime to allow for setting of "kill" level and querying process runtime.

- David Norwood updated common/internet_iridium.pl to work if deactivated/reactivated.

- Craig Schaeffer enabled play nolog => 1.

- Dennis Hennen added a Group remove method.

- Lincoln Foreman noticed that new_second (and new_minute etc) did not work for some intervals like 35.

- Jason Sharpee noticed a 2.88 bug where target was lost in respond commands.

- Clive Freedman enabled the mh.ini mail account_timeout parm.

- Chris Barrett added net_mail_send -priority option.

- Added a no_speak parm to speak, so we can add speak_parm hooks that abort speaking.

Version 2.88 posted on 03/21/2004

Version 2.88 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Steven Lee and I updated Generic_Item to use Tie::Hash so we can detect changes to any object property. We now use this with a property_changed method in X10_Item that will call set_level to more accuratly set the level attribute whenever the object state is changed.

- Created a large (30 meg) file of optional files (mainly sound files) here: http://misterhouse.sf.net/misterhouse_misc.zip>misterhouse_misc.zip . It currently has the 40 west(minster) and cuckoo chimes, about 60 fun .wav files, and about 65 halloween .wav files.

- Robert Rozman sent code files common/mythtv_osd.pl and xosd.pl as examples of display data to Freevo or Mythtv GUIs using xosd.

- Kirk Bauer created lib/Musica.pm to control the Musica whole-house audio system by Netstreams over the RS232 port. This system has provides 6 zones and 4 sources with very nice keypads: http://www.netstreams.com

- Kirk Bauer created lib/AlsaPlayer.pm which allows for the creation and control of alsaplayer processes, and Playlist.pm which manages lists of music files. Documentation is at the top of those modules.

- Kirk Bauer created lib/Weeder_light.pm which allows you to monitors and controls a light through Weeder boards.

- Pete Flaherty, with some help from David Norwood, updated the MP3 Jukebox page to include a nifty new Song Info popup button.

- Dominique Benoliel updated the common/weather_rrd_update.pl script with a bunch of updates, including a new mh.ini parm to allow for labeling of the various graphs. mh.ini parms are listed at the top of the code file. For best results, either delete your old data_dir/rrd/weather.rrd file or rebuild it with code/public/csv2rrd_weather.pl

Bug Fixes and Other Changes:

- Brian Ujvary made some minor updates to lib/USB_UIRT.pm and IR_Utils.pm .

- Ross Towbin updated common/barcode_scan.pl to allow for case senstive data and computer checkdigits for UPE codes.

- Nick Maddock fixed a bug in the time_idle method (was true only when the object was idle for the specified time).

- Added a Speak_parms hook, for modifying speak parms before speak calls.

- Scott Reston and I added a X10_Item preset2 option. This will add ON after any preset command, to de-select the module so it will not be effected by unrelated subsequent X10 commands.

- Pete Flaherty updated weather_iB_OWW_client.pl to update wind chill based on average/peak and to fix find direction data.

- Bill Young updated lib/X10_W800.pm to work better with noiser RF data.

- Bill Young updated lib/RF_Item.pm to re-organize how devices are coded by breaking it into various lib/X10_RF*.pm modules.

- Kirk Bauer added get_system_state to lib/RCSsTR40.pm and sent in mh/web/bin/hvac.pl as an example of a page to drive it.

- Jeff Pagel noticed un-needed debug errata coming out of internet_mail.pl.

- Pete Flaherty updated common/audreyspeak.pl to avoid doublespeak.

- Pete Flaherty updated weather_iB_OWW_client.pl to align the variables with RRD graphing.

- Fixed a bug with the default sound card gettting lost with the voice_text=MS engines.

- Kirk Bauer allow Timer_Item repeat values of -1, to allow it to repeat forever.

- Updated mh/web/display_map.pl to use map servers from aprsworld.net, since the vicinity.com maps seemed to be disabled now.

- John McCaskey noticed that set_by was not set correctly in events that set the same item more than once in the same pass.

- Chris Barrett add mh.ini parm season_starts, so non-US people can pick the correct local season start date.

- Craig Schaeffer enabled a tv_lable mh.in parm in common/tv_grid.pl

- Paul Estes added some more states to RCS_Item.pm

- Chris Barrett noticed that a mh.ini entry of password_allow_clients = 1.2.3.4 would allow clients of 1.2.3.41 through. We fixed the regular expresion test so it is now anchored, so if you had an entry like 192.168.0. you will want to change it to 192.168.0..+

- Fixed a bug in barometric pressure in common/weather_upload.pl, when $Weather{BaromSea_hg} was not available.

- Steve Switzer sent in code/public/monitor_im_status.pl as an example of monitoring an im buddy status.

- Lee ? sent in code/public/x10_battery_charger.pl as an example of how to cycle a battery charger with an X10 module.

- Pete Flaherty reformated the web ia5/outside/outside/sunmoon.shtml

- Bazyle Butcher sent in code/public/wintvcapture.pl as an example of using sendkeys to the WinTV program.

- Kirk Bauer updated the occupancy tracking and automatic/predictive lighting modules to fix some bugs and some more timers.

- David Norwood updated Process_Item to kill previous processes if restarted before the previous process was finished.

- Joe Blecher fixed handy_net_utilites.pl to break up longer messages send to AIM clients. He also updated various list commands in common/mh_control.pl to use respond instead of display, so they work ok through im requests.

Version 2.87 posted on 01/31/2004

Version 2.87 was just uploaded to:

  http://misterhouse.sf.net/download.html

New Features:

- Dominique Benoliel created common/weather_rrd_update.pl to store and graph weather data via a RRD database. The mhe compiled versions of mh should have the RRDs.pm module enabled. Non-compiled users can install RRD with instructions at the top of weather_rrd_update.pl. You can view the new graphs via the ia5 -> Outside -> Weather Station page (here is mine: http://misterhouse.net:8080/ia5/outside/weather_graph.shtml )

- Nick Maddock replaced mh/code/public/alarm_concept.* files with mh/code/public/concept_* for interfacing to the Concept 4000 alarm panel.

- Kirk Bauer updated web/bin/floorplan.pl and made a bunch of changes to the occupancy/presence modules. Changes are documented in the comment section at the top of each of the .pm files.

- Steven Lee updated lib/X10_Item.pm X10_Switchlinc to Reports the state, level, and state_level appropriately. Also, 0% to 100% are represented correctly, supports response from status request (2-way only), and sets state/level when switch is pressed (2-way only).

- Bob Hughes and Joel Davidson sent in example code for snapping pictures using the linux v4lctl program, saved as public/webcam_bob.zip and webcam_joel.zip.

- Steve Switzer updated the web/bin/phone_in.pl and added web/bin/callerid.pl to allow for web based editing of phone.caller_id.list.

- Chris Barrett added support for a backup CM11. Point to it with the mh.ini cm11_bak_port.

- Chris Barrett updated lib/RF_Item.pm and X10_RF.pm to support Digimax 210 thermostat via a W800RF32. Unlike the other RF devices the Digimax has a 4 byte ID code. His .mht entry for the unit is: RF, A9EF, Digimax, Thermostat

- David Norwood updated common/internet_earthquake*.pl to use Net::FTP instead of finger, which was recently disable due to a security filter on the USGS site. He also updated them to download images of where the latest quakes are and to use triggers for scheduling.

- David Norwood updated common/stocks.pl to announce price changes that exceed the threshold specified with the stocks_thresholds mh.ini parm (defaults to 5%).

- David Norwood updated the common/mp3* code so xmms now recognizes an mp3_player_hide ini parameter to hide the main window. This is useful if you are using the xmms coverviewer plug-in. He also updated the winamp mp3_play and mp3_queue routines so they will work remotely and and disabled the $Save{NowPlaying} variable because it was a resource hog.

- Chris Witte refreshed the sourceforge cvs repository, so you can now get the full src distro with a cvs checkout.

Bug Fixes and Other Changes:

- Bill Young noticed a casesensitive problem in common/x10_rf_relay.pl

- Larry Roudebush updated mh.ini parm caller_id_file to use $config_parms{data_dir} instead of $Pgm_Root/data

- Larry Roudebush and I merged the code/common/reject_caller_list.pl and web/bin/rejectcall.pl files into web/bin/phone_list.pl and pointed to that script with a new 'Caller List' button to the ia5 phone menu.

- Kirk Bauer sent in his linux mh start scripts, saved as mh/bin/misterhouse_kirk*.rc

- Robert Mann found a 2.86 problem in lib/W800RF.pm

- George Clark created a time_between function.

- Kirk Bauer updated lib/RCSsTR40.pm to fix a setpoint changed bug and to track run-time for logging/analysis purposes.

- Brian Ujvary updated lib/IR_Item.pm to support the usb_uirt interface.

- Kirk Bauer suggested we unset set_with_timer events if the object is set before the timer is expired.

- Pass the $source parm to Serial_data hooks.

- Bob Hughes fixed Query_Barometer in X10_BX24.pm. Gaetan Lord update