Mister House Install Instructions
System Requirements
    Mister House has been tested on all the Windows OSes (95, 98, ME, NT,
    2000, XP) and the unix OSes Linux, FreeBSD, AIX, and Mac OSX. In theory,
    much of the function should run on any platform that can run Perl.

    The core Mister House code will use between 10 and 30 Megabytes of
    memory. On Windows, the VR (Voice Recognition) function takes about 10
    MB and the TTS (Text To Speech) function takes about 15 MB. On Linux,
    the Festival TTS engine takes about 20-30 MB of memory. So, with TTS
    enabled, on Windows you can get by with 32 Meg, but you will need 64 Meg
    or more to run with low speech latency. See FAQ question 1.2 for more
    info on memory usage.

    The cpu time used -vs- loops per second is controllable. On a 100 MHz
    Pentium with a 100 ms sleep time, mh uses about 20% of the cpu and gets
    about 8 passes per second.

Quick Install Instructions
    These are the quick instructions for those of you who, like me, don't
    like to read instructions:

  Windows users
     - Download the the misterhouse_src_###.zip and misterhouse_win_###.zip files
       from  http://misterhouse.net/download

     - cd to where you want the mh directory created in (e.g. c:\misterhouse).
       Avoid directories with spaces in the name (e.g. \program files\)

     - unzip \downloads\misterhouse_src_###.zip (wherever you downloaded it to)

     - unzip \downloads\misterhouse_win_###.zip (wherever you downloaded it to)

     - cd mh\bin

     - mh.bat (this will call mhe.exe if it exists or 'perl mh')

    Note: Some old zip programs (e.g. winzip 5.6) may not preserve long file
    names. This program works ok: http://misterhouse.net/public/unzip.exe

  Unix users
     - Download the the latest tar, or zip file
       from http://misterhouse.net/download

     - If using the tar file:
         cd to where you want it the mh directory created in (e.g. cd /projects/misterhouse)
         tar -xzvf misterhouse-#.##.tar.gz

     - If using the zip file:
         cd to where you want it the mh directory created in (e.g. cd /projects/misterhouse)
         unzip -aU /downloads/misterhouse_src_###.zip (wherever you downloaded it to)

     - Run Configure to convert C serial headers to perl headers:
        - cd mh/bin
        - chmod +x configure
        - su   (to run configure as root)
        - ./configure
        - exit (to switch back from root)

     - ./mhl (if that doesn't work, try: mh or perl mh)

     - If you are running rh 8 or rh 9, you may see a memory leak which you can avoid with
       by setting this env var: export LANG=C   (set in the mhl script)

  Tips
    Point your web browser to http://localhost:8080 and try out a few
    commands. You can search or list commands using the 'Search String' menu
    from the Search icon in the upper right of the default /ia5 web page. To
    list all commands, search on a blank string.

    The default setup runs only a few core scripts from mh/code/common
    directory (listed in data_dir/code_select.txt). You can use the
    http://localhost:8080/bin/code_select.pl menu (default web page ->
    MhHouse Home -> Setup MrHouse -> Common Code Activation) to select other
    standard code files you want to run.

    To quickly test many of the code files, run:

      mh -code_select code_select_test.txt

    To use less memory and cpu, or if you get graphics related errors, you
    can run without the local gui inteface with: mh -tk 0

    Also try 'telnet localhost 1234' and type one of the commands you saw on
    the web interface (e.g. 'say something mean' from
    mh/code/common/goofy.pl).

Windows Detailed Install Instructions
  Windows Step 1, Download and Install Mister House
    I you already have perl installed, you only need to download the main
    misterhouse_src_###.zip package. If you do not have perl installed, you
    will also need to download the compiled mhe.exe file, which is in the
    misterhouse_win_###.zip package. Both are available from
    http://misterhouse.net/download .

    The 2 MB misterhouse_src_###.zip file installs into 5 MB of disk space.
    The misterhouse_win_###.zip takes an additional 3 MB of disk space. The
    compiled version is not any faster, it is just more convenient if you do
    not need Perl installed for any other programs.

    Change to the drive/directory you want mh installed to (e.g.
    c:\misterhouse). Avoid directories with spaces in the name (e.g.
    \program files\). Files/dirs with spaces in them complicates perl code,
    as you have to then quote file names for the space valid. Now unzip the
    file(s) using your un-zipper of choice (use the -d if using pkunzip to
    preserve the directory structure). Look in the mh/lib directory to make
    sure long file names were preserved (e.g. http_server.pl). If not, you
    can download unzip from http://misterhouse.net/public/unzip.exe .

  Windows Step 2, Download and Install Perl
    You can skip this step if you downloaded the compiled version of Mister
    House.

    Download and install Perl version 5.8 (or higher) from
    http://www.activestate.com/ActivePerl . The 12 MB zip file installs into
    about 43 MB of disk space. The also have older vesions older versions
    available while will work, but 5.6 had a memory leak problem and 5.0 is,
    well, kind of old :)

    After installing the core Perl package, you will likely want to install
    a few optional packages. mh will run without them, but they are easy to
    install and give it more function. Activestate has provided ppm (Perl
    Package Manager), a nifty way of automatically downloading and
    installing packages. Unfortunatly, some of the packages we need are not
    yet avaliable from ActiveState for perl version 5.8, but Randy Kobes has
    kindly made them available at his site. You can install them with the
    following:

       > cd \perl\bin (modify to match your directory)
       > ppm
       ppm > repository add http://theoryx5.uwinnipeg.ca/ppms
       ppm> install GD
       ppm> install DB_File
       ppm> install Tk-JPEG
       ppm> install Win32-Setupsup
       ppm> install DBI        (if you want to interface to a database server)
       ppm> install DBD-mysql  (if you want to interface with a mysql server)
       ppm> install Scalar-List-Utils (if you want AOL im)
       ppm> exit

    The DB_File post-install script doesn't seem to work for most people, so
    you will need to copy the libdb.dll file from from
    http://theoryx5.uwinnipeg.ca/ppms/x86/DB_File.tar.gz or
    http://misterhouse.net/public/libdb.dll to your \perl\site\lib\auto
    direcotory, or some other directory in your path.

    If you are behind a www proxy firewall, try setting the environment
    variable http_proxy=http://proxy-server:port If you have problems
    installing the files with ppm over the internet, you can download the
    files and install them from local storage. For example, to install the
    Tk package:

      download and unzip Tk.zip from http://www.activestate.com/PPMPackages/zips to c:\temp
      ppm install c:\temp\Tk.ppd

    All other required packages should either be in the mh distribution or
    is now installed by default in the standard Activestate distribution,
    including the Tk module (used to be seperate).

  Windows Step 3, Download and Install the Speech Engines
    You can skip this step if you do not want to enable TTS and VR, but much
    of the fun of Mister House comes from the 2-way speech. If you are
    running Windows 2000 or XP, the older V4 TTS engine is probably already
    installed.

    If you are running Win95, the Perl OLE interface to the MS speech
    engines require that you have DCOM 1.2 or higher installed. The DCOM 1.3
    upgrade is 1.2 Meg and available at
    http://www.microsoft.com/com/dcom/dcom95/dcom1_3.asp .

    If you are running an older Win98, you will need the DCOM 1.3 update,
    available from: http://www.microsoft.com/com/dcom/dcom98/dcom1_3.asp .
    If you don't have this update, mh will run, but you may occasionally see
    windows (like control pannel or install shield) not start right away,
    especially if you run without the Tk interface (mh -tk 0).

    You can use either the old 4.0 or new 5.1 or both Microsoft speech
    engines. The 5.1 VR engine does not work in mh yet, due to a perl
    problem handeling COM events. The 5.1 TTS engine has more options (e.g.
    on the fly voice selection, XML flag support), but does not work on Win
    95. You can have both V4 and V5 TTS engines installed, and select which
    to use with the voice_text=MSV4 or MSV5 mh.ini parm.

   MS SDK 4.0 instructions
    You can download the required files from the 4.0 SDK Suite from here:
    http://www.microsoft.com/downloads/release.asp?ReleaseID=26299 . Get
    SAPI4SDKSUITE.exe - 40 MB. Simply run the .exe to install.

    If you install the above SDK, you can skip the reset of this section.
    You can avoid the installing the whole SDK by downloading just the
    required files from here: http://misterhouse.net/public/speech Avoid
    downloading with Netscape, as for some reason it does not load the file
    as a binary file. Verify the file sizes match these:

       7674104 Aug  6  2000 msttsl.exe
       6935288 Aug  6  2000 mscsrgl.exe
       1013356 Aug  6  2000 speech_api.zip

    Running msttsl.exe will install the TTS engine. mscsrgl.exe will install
    the VR engine. Unzip speech_api.zip, then run spchapi.exe to install the
    speech API.

    Unzip msvoice.zip from speech_api.zip into a directory to store the
    msvoice app in (e.g. /misterhouse/msvoice). Then run msvoice.exe to
    start the "Microsoft Voice" application. Once running, you can use the
    "Voice Command Options" menu from the green V in your tray to pick your
    default voice.

    To enable VR from MisterHouse, set this mh.ini parm: voice_cmd = MS (or
    MSV4)

    Other TTS engines, including those for British English, Dutch, French,
    German, Italian, Portuguese, and Spanish can be downloaded from
    http://www.nextup.com/TextAloud/SpeechEngine/voices.html

   MS SDK 5.1 instructions
    In theory, the 5.1 MS TTS and VR engines can be installed separately,
    but they are distributed from Microsoft only as .msm files, which can
    only be used by a program that creates .msi install files. I have not
    yet found an easy and free way to create a .msi file (suggestions
    welcome). So for now, the only option is to install the full 70 mb 5.1
    SDK, available from here:
    http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/EN-US/speec
    hsdk51.exe

    After installing, the default mh.ini voice_text=MS parm will default to
    the new V5 engine. Use MSV4 to switch back to the old V4 engine. The SDK
    comes with the voices MS Mike, Sam, Mary, and (optional) Japanese and
    Chinese voices.

    The AT&T Natural Voices TTS engine ( http://www.naturalvoices.com ) is
    the best sounding TTS engine yet. AT&T no longer sells them from their
    site, but you can get 2 voices from http://www.nextup.com/attnv.html for
    abour $40 ($25 for the voices, $15 for a nextup product, required to
    qualify for the voices). Additional voices are $35.

    Another new source of greate voices is from Cepstral at
    http://www.cepstral.com . Lots of voices for Windows and linux for $30
    each.

UNIX Detailed Install Instructions
  UNIX Step 1, Download and Install Mister House
    If you are running Debian, Russ Knize created a Debian package,
    available here:
    http://www.knizefamily.net/russ/software/misterhouse.html . Some have
    reported problems with this and have better luck with the standard tar
    file on Debian.

    Otherwise, download the tar, or zip file from
    http://misterhouse.net/download .

    Install the file as detailed in the quick install instructions.

    If you choose to use the zip file instead, make sure you use the -a to
    automatically get rid of those pesky /r characters that DOS like to add
    to newlines. Also, the unzip -U switch (contrary to what the help text
    says), will be needed on newer versions of unzip to preserve case on
    filenames.

    Make sure you run the configure script, even if you used the rpm file.
    This will convert C serial headers to perl headers and (if you used the
    zip file) delete dos/windows only files, and 'chmod +x' on the files in
    the bin directory.

    To allow non-root users to run the bin/set_clock function, run this
    command:

     chmod ug+s /bin/date

    There are various examples of how to start/stop mh in
    mh/bin/misterhouse*.rc

  UNIX Step 2, Download and Compile Perl
    Most, if not all, UNIX installations now have perl installed by default.
    If for some reason, yours does not or if it is an older version of perl,
    you can downloaded the latest from http://www.perl.com .

    Run 'perl -v' to show your version ... anything above 5.005 should be
    fine. Redhat 5.2 comes with 5.004, which works OK, but we have had some
    problems compiling the Tk modules 5.004, so you may want to upgraded to
    5.005 or higher.

    If you want to use the Tk interface (used to display logs and various
    pop-up messages), make sure that the perl Tk package is installed as
    well. If the Tk is not installed, this test will fail: perl -e "use Tk".
    If you need it, you can download perl Tk from http://www.perl.com/CPAN/
    . If you can also try the CPAN installer like this:

      >su root
      >perl -MCPAN -eshell
      cpan> install Tk
      cpan> install Tk::JPEG
      cpan> install Tk::CursorControl
      cpan> install DB_File
      cpan> install Term::ReadKey
      cpan> install Time::HiRes
      cpan> install Audio::Mixer  (if on Linux)
      cpan> install GD
      cpan> install Text::LevenshteinXS
      cpan> install DBI        (if you want to interface to a database server)
      cpan> install DBD::mysql  (if you want to interface with a mysql server)
      cpan> exit

    The first time you run the CPAN code, it creates a configuration file.
    The defaults (press enter a bunch of times) usually is good for all
    questinos except the one that ones you to pick which site to download
    from.

    You may need to type "export FTP_PASSIVE=1" before "perl -MCPAN
    -eshell". This is because by default the CPAN installer will generally
    try to use active ftp sessions which may fail if you are behind some
    firewalls and/or if your ISP caches ftp sessions. By exporting the
    FTP_PASSIVE variable prior to running the CPAN installer session,
    passive connections will be used instead.

    Dependencies for above modules: Tk requires an X-server be installed
    DB_File requires Berkley DB be installed Audio::Mixer requires kernel
    sound support GD requires several libraries installed: GD library, zlib
    library, png library

    The perl install files contain README files which explain their
    dependencies.

    There are some example start/stop/restart .rc files in
    mh/bin/misterhouse*.rc

  UNIX Step 3, Download and Install a Speech Engines
    You can skip this step if you do not want to enable VR or TTS.

    The simplest and fastest TTS engine is flite, availale from
    http://www.speech.cs.cmu.edu/flite . After compiling, point to where the
    flite binary is with the voice_text_file parm and set voice_text =
    flite. If on linux, you can pick up a copy (3 meg, 7 meg unziped) here:
    http://misterhouse.net/public/flite.gz

    The Festival Speech engine is available from
    http://www.cstr.ed.ac.uk/projects/festival/download.html . There are
    various voices and languages available. Compiling Fesitval can be a
    little tricky, so if you can, you will probably want to use the RPM
    files.

    Once you have downloaded in and installed or compiled Festival, you can
    test it with the following commands:

      echo 'Hello from Festival' | ./festival --tts
      ./festival --tts ../examples/example.sable

      ./festival --server &
      echo '(SayText "Hello from the festival client")' | ./festival_client

    You can also run the client, or a simple telnet, from a different box,
    but you first have to create a /usr/lib/festival/lib/siteinit.scm file
    with a list of boxes that you want to give authority to. (e.g. (set!
    server_access_list '("localhost" "house\\.isl\\.net")) ). See the
    festival documentation for more details.

    Ricky Buchanan reports ESD and festival --server doe not work, and
    suggests to instead edit /etc/festival.scm and add these lines to the
    top:

     (Parameter.set 'Audio_Method 'Audio_Command)
     (Parameter.set 'Audio_Command "/usr/bin/esdcat -m -r $SR $FILE")

    Making sure that /usr/bin/esdcat points to the right spot for the esdcat
    program.

    David L. reports that there is a different engine for festival called
    MBROLA at http://tcts.fpms.ac.be/synthesis/mbrola.html that has a very
    nice US english male and female voice. Other source for festival voices
    can be found here: http://festvox.org/contrib.html

    Once you have the festival server running, you can enable mh to use it
    with mh.ini parms voice_text and festival_port.

    To set the default voices, find your siteinit.scm file and have fun with
    the following:

      (set! voice_default 'voice_us1_mbrola)
      (set! voice_male1   'voice_kal_diphone)
      (set! voice_male2   'voice_us2_mbrola)
      (set! voice_female  'voice_kal_diphone)

    This depends upon which voices you have installed on your system. Some
    voices are don_diphone, kal_diphone, ked_diphone, rab_diphone,
    us1_mbrola, us2_mbrola, and us3_mbrola

    Another good TTS engine is now available from Cepstral:
    http://www.cepstral.com . $30 per voice, for either Linux or Windows.
    Set mh.ini parm voice_text=swift and modify voice_text_swift to point to
    the swift binary.

    Prior to 11/2002, for $150, you can get 2 nice voices with AT&T Natural
    Voices TTS linux engine here: http://www.naturalvoices.com (additional
    voices cost $70), but for some reason, they no longer sell them from
    there. Have not tried it, but this site is selling linux voices for $50
    each:
    https://secure.wizzardsoftware.com/voice/wizzshop1/nvshoplinux2.asp

    If you have the linux binary, use the voice_text_naturalvoice parm to
    point to where you have it installed and set voice_text=naturalvoice.

    If you only have the windows binary, you can now use Wine to run it from
    linux. On my 1.2 GHz Celeron, time-to-speech is about 1 second, -vs-
    about .4 seconds for the native Linux binary. See bin/mh.ini for
    examples on these parms: voice_text=NaturalVoiceWine,
    voice_text_naturalvoice=path_to_windows_voices, wine_path=path_to_wine.

    The IBM ViaVoice TTS and Voice Recognition engines is no longer
    available (as of 05/2002) from the IBM site (
    http://www-4.ibm.com/software/speech/dev/sdk_linux.html ), but can still
    be found here: http://www.ecn.purdue.edu/~laird/Linux/ViaVoice/ The TTS
    engines can also be found here: ftp://people.redhat.com/jlamb/

    To use it with mh, you need to install Brad Reed's ViaVoiceTTS.pm module
    from http://www.reednet.org/ViaVoiceTTS , then set your mh.ini
    voice_text=vv_tts or voice_text=viavoice (vv_tts is a bit fancier,
    queing up speech and has more mh.ini options).

    Download and install (as root) these rpms:

      tar -xvf viavoice_asr_sdk_3.tar  ( 3 MB)
      tar -xvf viavoice_dict_rtk_3.tar (78 MB)
      rpm -ivh ViaVoice_runtime-3.0-1.2.i386.rpm
      rpm -ivh ViaVoice_sdk-3.0-1.1.i386.rpm

    Note for our usage, you can get by without the gui menus, so if rpm
    tells you that you have down level or missing libraries (e.g. libgdk),
    you can probably ignore that by adding the rpm --nodeps option.

    As the *.txt instructions from the tar file state, you should probably
    run the viavoice code as non-root. Here is one way to allow non-root
    access to the microphone:

      chmod go+rw /dev/dsp*
      chmod go+rw /dev/audio*

    Make sure your microphone is selected as the recording source with this
    command:

     aumix -m R  (-l R for line,  -c R for CDROM)

    Documentation is in /usr/doc/ViaVoice and test and example code is in
    /usr/lib/ViaVoice/samples. /usr/doc/ViaVoice/rt.readme.txt suggests
    creating a new userid with this java app:

     /usr/bin/vvstartuserguru

    If that doesn't work, you can add a user with this command:

      source /usr/bin/vvsetenv
      /usr/lib/ViaVoice/bin/vvuser -userid winter -setdefault

    To enable viavoice from mh, review the viavoice_* parms in the mh.ini
    file (defaults should work if you run mh on the same box as the server),
    set parm voice_cmd=viavoice, run mh/bin/viavoice_server_start, start mh
    and enable the viavoice_control.pl from the 'Select Code' ia5 MhHouse
    web menu. Use the Tk 'VR mode' button and/or the phrase(s) in
    viavoice_awake_phrase to enable the awake VR mode.

    The viavoice SDK FAQ can be found here at
    http://www-4.ibm.com/software/speech/dev/faq_linux.html .

    For Apple OS X users, here are some hints from Jon Boehm:

     1. Install Xdarwin, remember the 10.2 patch if your running Jaguar.

     2. Upgrade Perl to 5.8 http://developer.apple.com/internet/macosx/perl.html

     3. Install Perl modules required by Misterhouse.
        Some of the packages will not install nicely.  If something fails you
        will need to do Goggle searches like: "OSX GD" to get some help.

    Specifically for GD get the translated version of this page
    "Installazione di php+apache+mysql su OSX" and note the packages that
    need to be installed before GD. Note: make sure XDarwin is running
    before you run "make test' for GD

Testing Mister House
    Edit mh/bin/mh.ini and change the appropriate parms. It should run just
    fine with the default parms, although your sunrise/sunset times will be
    for Rochester, MN :)

    If you decide to use mh, you will want to copy the parms you change to
    your own parm file and point to that with the mh_parm environmental
    variable (see the mh.ini header for details).

    If you are on Windows and you are not using the compiled mhe.exe, you
    may need to edit the last record of the mh.bat file to point to the
    correct directories where Perl and the mh are installed.

    Next, cd to \mh\bin and then type: mh hello_print.pl. This will load the
    \mh\code\common\hello_print.pl file which is a simple event that prints
    some uptime info every 30 seconds. Since we did not include the tk*.pl
    members, the tk interface will not be displayed

    From the console window, hit the ENTER key to bring up a control menu,
    then select the "Exit menu" item to exit. Or use Ctl-C.

    Next, if you have installed the speech engines, try the hello_speak.pl
    event (e.g. mh hello_speak.pl). This will speak the time and date once a
    minute. It also creates one VR command.

    If you are a Windows user and have the VR engine installed, make sure
    the green MSVoice V icon is in the "Listening for Voice Commands" mode,
    try saying, "What time is it?" You can list all the available commands
    by right clicking on the V and picking "What can I say?"

    To run all of the standard code in the mh/code/common directory, do not
    specify any files (e.g. just type mh). Here are a few of the commands
    enabled by the mh/code/common files:

      "What is the trivia question?" and "What is the triva answer?"
      "Read the deep thought"
      "Say something nice"
      "Say something mean"
      "Set a timer for 5 minutes"
      "When will the sun set"
      "Say hello to bruce"

    Try "Set the clock via the internet" to set your computer's clock
    according to an atomic clock.

    To send a test email to yourself, try "Send test email". This requires
    that you fill out the net_mail parms in the mh.ini file.

    To retrieve and display the latest top 10 list from Letterman's Late
    Night show, try "Get the top 10 list".

    You can control any of your serial, X10, and voice items with a frames
    capable web browser by pointing it to http://localhost:8080 . Note, the
    port number is controllable via mh.ini http_port parm. If you do not
    have any other web server running, you may want to change it from the
    default of 8080 to 80 so that you can use a simpler address of
    http://localhost .

    You can also tailor the web interface to your liking by creating a new
    member in the \mh\web\mh directory and changing the html_file mh.ini
    parm.

    In addition to the voice and web interfaces, you can type these commands
    on the Tk "Enter Command" field or from the DOS command line using the
    house command. For example, from a DOS command prompt, try typing:
    'house Show the top 10 list' You can also speak or display any arbitrary
    phrase or file with the commands "Display file" or "Speak phrase" (e.g.
    'house speak hi there'). These commands are simple bat files that create
    commands in the "xcmd_file", whose location is controlled with a mh.ini
    parm. You can have your own program put commands in this file as well.
    Lastly, you can type all these commands via a telnet localhost session
    or via a socket port, if you have the telnet.pl member enabled.

    Here is a summary of the different ways you can control mh:

      With a voice command
      Through a web browser and whatever html you want to set up.
      By typing a command on the Tk Control Window
      By typing "house command" from a dos box
      By having whatever program you want create a command in the xcmd_file
      By a TCP socket, for example, using telnet localhost

    Use your favorite editor to edit the example code in
    mh/code/test/my_test.pl. On the Mister House window, use the F1 key to
    re-load your changed code. If you introduced an error, it will sound a
    long beep, spit out some errata showing the error, and then it re-loads
    the old error-free code. There is lots of other code you can peruse in
    the mh\code\bruce directory. This is all the code that runs our house!

Installing Hardware
    Without any interface hardware, mh is pretty limited. It can do some
    simple time of day based events and voice based events, but that is
    about it. Currently, Mister House supports the X10 CM11 (aka ActiveHome)
    and CM17 (aka Firecracker) interfaces and all the Weeder kits (analog,
    digital, x10, phone, available from from http://www.weedtech.com ).
    Other supported hardware is listed in
    http://misterhouse.net/mh.html#List_of_supported_hardware_inter .

    Currently, the X10 guys have a $50 deal for an ActiveHome kit, which
    includes the CM11 interface. Check it out at http://www.x10.com . See
    FAQ question 6.5 for more info on X10.

    If you want more than just X10, you may want to go with the Weeder X10
    Kit. One advantage of the Weeder kits is they can all share the same
    serial port. The X10 kit, however, costs more ($40 + $25 for a TW523
    module if you don't already have that, $10 for a serial and a phone
    cable), and doesn't support the extended X10 data that the CM11 does
    (e.g. preset dims).

    After plugging in the Weeder X10 kit or a CM11 interface into a free
    serial port, update the Weeder_port or cm11_port parm in the mh.ini file
    to point to that port and try a simple example, like test_x10.pl in the
    test directory.

    If you are getting 'bad checksum from cm11' messages, mh is haveing
    problems talking to your cm11. If on windows, make sure the X10
    ActiveHome software works to verify you have the right port. If on unix,
    you can try heyu: http://heyu.tanj.com

    Support for any serial port device can be coded by using the generic
    Serial_Item objects. For example, a ham radio enthusiast has interfaced
    to his GPS (Global Positioning Satellite) to keep track of his car's
    location (see his tracking.pl code in the code/Public directory)

    Support for any device that speaks with sockets over your network can be
    added using the Socket_Item objects.

Coding your own events
    After you have played with the the default test code for a bit, you will
    want to start setting up your own code and data directories. Here is an
    example:

       c:--+
           +--misterhouse--+
                           +--mh.private.ini  <--- my private mh.ini parms
                           +--code       <--- my code
                           +--data       <--- my data
                           +--sounds     <--- my sounds
                           +--mh-----+   <--- mh installed here
                                     +--bin
                                     +--code
                                     +--data
                                     +--docs
                                     +--lib
                                     +--sounds
                                     +--web
                           +--mh_123-+   <--- Old mh 123 version
                                     +--bin
                                     +--code
                                     +--data
                                     +--docs
                                     +--lib
                                     +--sounds
                                     +--web

    Assuming you have mh installed in c:\misterhouse\mh, the steps might
    looks something like this (using the DOS commands, as I think unix guys
    can make the translation :):

     mkdir c:\misterhouse\code
     mkdir c:\misterhouse\data
     mkdir c:\misterhouse\sounds

     copy  c:\misterhouse\mh\code\common\trivia.pl c:\misterhouse\code
     copy  c:\misterhouse\mh\bin\mh.example.ini    c:\misterhouse\mh.private.ini
     xcopy c:\misterhouse\mh\data                  c:\misterhouse\data /s

     edit  c:\misterhouse\mh.private.ini

       - Delete all the records from your mh.private.ini that you don't change
         since the default mh\bin\mh.ini will also be read.

       - Change these entries (note: Forward slashes are best in perl)
          code_dir         = C:/misterhouse/code
          data_dir         = C:/misterhouse/data
          sound_dir        = C:/misterhouse/sounds

     Note that you should use /, not \, on paths, on Windows, just like Unix.

     On windows, add this to your autoexec.bat:
       set mh_parms=c:\misterHouse\mh.private.ini

     On unix, add this to /etc/profile or like place:
       export mh_parms=/prog/misterhouse/mh.private.ini

    You can add your own custom code files to your private \misterhouse\code
    directory. The first thing you will want to do is create an items.mht
    file that declares all your X10 items (see mh/code/bruce/items.mht for
    an example). Alternativly, you can declare each of your X10_items in any
    of the code members you use it in. In either case you can use the "List
    X10 items" command created in mh_control.pl to review all your X10
    items.

    To enabled password protection, run mh/bin/set_password command like
    this:

     set_password -user family -password xyz1
     set_password -user admin  -password xyz2

    Note: only the first 8 characters are used. The admin password is
    required for controling the mh web setup menus (e.g. item and code
    selection menus).

    When you want to upgrade to a newer verion of mh, follow these steps:

     cd \misterhouse
     rename mh mh_old
     unzip \downloads\misterhouse_src_###.zip
     unzip \downloads\misterhouse_win_###.zip
