PowerHome Home Automation Software      Home Automation Software featuring Infrared, X-10, and Insteon control via the Web!

Last Updated:
09/12/2007

Whats New

Whats new for PowerHome version 1.03.4.12

Fixed 3 character limitation on Elk Ethernet port setup under controller settings.

Added Status messages for launching each UDP Broadcast sockets.

Fixed slow launch and reinitialize times resulting in the initialization of the UDP Broadcast server.

Upgraded runtimes and compilation to the latest version of PowerBuilder (version 9.03 build 8836).

Upgraded Adaptive Server Anywhere runtime database to version 7.02.

Fixed bug where Web based version of Control Center Rectangles and Round Rectangles border is the wrong color.

Changes made in Startup routine so that activex controls are always automatically registered.

Fixed rare bug where Insteon Explorer screen would not open on some users machines.

Fixed bugs associated with PowerHome Explorer locking up when editing macros.

Fixed critical error that would occur in function f_cmdtext when an out of range Insteon command was received.

Added timeout routine for missed commands with Global Cache controller. Also added socket reconnect code if socket is disconnected.

Changed Insteon DM Controller to respond and trigger on SDM "SENTINSTEON" messages. This allows PowerHome to respond to Insteon commands sent from other programs using the same SDM as PowerHome.

Changed Insteon DM Controller startup routines again in an effort to better handle SDM startup and launch problems.

Added delay code to Insteon Device Manager during startup routine to help ensure a clean start.

Added Insteon Direct In (ACK) trigger to allow for triggering on Insteon Direct ACK commands.

Two new Insteon triggers. Insteon Broadcast In and Insteon Broadcast Out to handle triggering on Insteon Broadcast commands. This allows for support of the SimpleHomeNet line of products.

New ph_insteonrawbcast function to allow for the sending of Insteon Broadcast commands.

Added code to prevent user from clicking on Controller Connect during the startup autoconnect sequence resulting in trying to connect to controllers twice, resulting in an error.

Fixed bug with "Temperature" types in Analog I/O screen assigned to Elk controllers. Temperatures should now work properly and eliminated bug where PowerHome would "hang" indefinately on out of range values.

Added new generic Socket connection plugin.

Added new generic COMM connection plugin.

Added code so that changes made within PowerHome Explorer to Control Center tabs and Control Center objects automatically refresh the CC temporary tables and notify a refresh of all remote CC clients.

Added code so that a refresh is sent to all remote CC clients when CC changes are made using the CC Design View.

Should have critical error fixed that occurs when the Elk is shut off while connected to PowerHome.

Improvements to Control Center Visual Design screen. Ability to delete all currently selected objects and copy all currently selected objects. Copied objects now appear directly on top of their parents rather than the upper left corner.

Modified action routines for Control Center actions. All action types will now be able to access the tab_id and object id of the CC action object in the [TEMP1] and [TEMP2] system variables respectively.

Further modified Control Center actions so that the X and Y locations of clicks will also be available in all action types. X and Y values are available in the [TEMP3] and [TEMP4] system variables. Very useful for implementing slider type controls.

Fixed bug where missed commands in Global Cache would hang the execution queue.

Fixed critical error in PowerHome Explorer in function wf_resize.

Fixed critical error in PowerHome Explorer associated with wf_setdetail when working with macros larger than a screenful.

Fixed problem within CC Design screen where action ID dropdown field would not be properly filtered on Navigate CC type actions.

Added auto-sizing to all formula type fields the same as the macrodetail screen. This includes Timed Events, Timed Event Formulas, AnalogIO, Global Variables, Formulas, Control Center Objects, Triggers, and Voice Detail.

Removed PowerHome Explorer "Double Click Detail" option. This was a little used option that allowed the user to save changes and navigate to child rows by double-clicking. It conflicted however with the newer helper windows that are available by double-clicking.

Removed Popup menu option from PowerHome Explorer. This feature is redundant now that the Explorer autosizes the height of detail lines to show entire text.

Reworked PowerHome shutdown routine to fix occasional bug where PowerHome would not terminate completely, requiring the program to be terminated via the task manager.

Corrected bug in Insteon Explorer Links tab associated with the "Reverify" button where a message window would prompt you if you wanted to delete the links. The Reverify button now displays no prompt and properly flags the links for rechecking.

Minor improvements to Insteon controller to allow for back to back sending of commands without overrunning SDM buffer.

Changed StartupMacro, ShutdownMacro, ReinitMacro, and CC OpenMacro to triggers under the new trigger type "System Process"

Added new trigger under "System Process" for System messages.

Updated all Insteon Explorer context sensitive help icons with help text appropriate for the new Insteon Explorer layout.

Added ability to create fully qualified links within the PLC in order to prep PLC for use with other programs that require full links rather than minimal links.

Added new "quick program" feature to Insteon Explorer. As long as the Insteon Explorer window is open, any user requested background operations will be sent to the SDM as fast as possible, temporarily overriding the "Poll Interval" setting.

Minor changes made to the PHCCCHG and DEVICECHG UDP broadcast messages to add delimiters around text that could possibly contain embedded tab or carriage return or newline characters. This prevents the Remote DS and Remote CC screens from blowing up on data that contains these characters.

Reworked PowerHome generic plugin internal architecture to prevent rare occurances where an errant plugin can cause PowerHome to hang. SDK version remains unchanged and no changes required for existing 1.2 plugins.

Added a new beta controller for the RFXCOM RF Transmitter.

New Functions:
ph_insteonrawbcast,ph_clearexequeue,ph_ccaction,ph_insteonctrl,ph_getinsteonctrl,ph_zero,ph_setanalogvalue,ph_setccobjgraphic,ph_getccobjgraphic,ph_numtohex1

Changed Functions:
ph_comsendstring,ph_sendsocketdata1

Removed Functions:

PWRHOME.INI Changes:
Removed EXPDETAILDOUBCLICK from [Explorer] section.
Removed OpenMacro from [Control Center] section.
Removed STARTUPMACRO from [Scripts] section.
Removed SHUTDOWNMACRO from [Scripts] section.
Removed REINITMACRO from [Scripts] section.

Database Changes:
Data in dropdowns changed.
Data in all_id_data changed.
Data in activex changed.


Whats new for PowerHome version 1.03.4.11

Corrected bug in Insteon controller module where status polling would NOT update the Insteon status.

Corrected bug in Insteon controller module where a failed command could hang the execution queue.

Added new ph_insteonwithret command so that commands can be sent and the returned cmd2 value is available.

Changed send method of Insteon Group Cleanup commands to work around SDM bug and eliminate slowdown.

New Insteon Explorer Links tab. Faster access to individual devices and simplified interface now supporting drag and drop.

Added code to delete history in Insteon Explorer real-time windows. Can now leave IE up without fear of history consuming memory.

Added support for additional Insteon command types and triggers. This will allow the firing of triggers on Sprinkler and I/O Insteon commands.

Added new, aggressive SDM restart routines to detect and restart SDM problems.

PowerHome is now able to run as a service! Changes made to core code to be compatible with this functionality and new phservice.exe file added.

Update RedRat3 controller module to use the latest SDK 2.05.

Fixed Windows error bug on PowerHome close when using a RedRat3.

Modified USB-Uirt controller module so that multiple USB-Uirt devices are supported.

Finally caught and squashed long running bug with USB-Uirt that could cause execution queue hangups when receiving IR at the same time as transmitting IR.

Plugin Interface modified to version 1.2. All plugins now run in their own separate thread. ph_picmd function modified to support this capability. Version 1.1 of plugin interface is depracated and not supported.

Version 1.2 of the Plugin interface also includes webserver support. Plugin authors can now have their functions accessed via the PowerHome webserver as well as return their own unique pages.

UDP Broadcast server added! This new feature runs in it's own thread and broadcasts UDP messages of PowerHome status and activities so that external programs as well as plugins are able to monitor and react to PowerHome activity.

New commands added to the PowerHome Socket Server. These new commands support remote Device Status and Control Center clients.

PowerHome now includes two new remote clients. The Remote Control Center Client and the Remote Device Status client. Both of these clients are capable of going full screen with no title bars. These new clients allow remote control of PowerHome from machines on your internal network. They also automatically update themselves to changes in PowerHome using the new UDP Broadcast server.

Changes made to supported characters in ALL PowerHome ID fields. SUpported characters now only consist of characters, numbers, spaces, dashes, and underscores. New Bad ID report shows non-compliant ID's. Use Database Where Used report to clean up these ID's.

Control Center Design screen reworked. Now more intuitive and easier to edit individual objects. Clicking an object will select it and deselect others as well as bringing it active in the properties window. Hold CTRL when clicking to select multiple objects. Clicking outside of an object deselects all objects. Double clicking outside of an object reselects all objects. Selected objects will stay selected until deselected. Marquee selection where you click and drag a rectangle for selecting.

Fixed "Create Button" right-click PowerHome Explorer menu option. Now quickly create Control Center objects.

Support added to web-based Control Center to now display rectangles, round rectanges, and group boxes.

PowerHome now supports the Global Cache GC-100 interface.

PowerHome now supports the Elk ethernet connectivity interface.

PowerHome now supports an internal Virtual I/O controller. Control X10, IR, analog, digital devices as virtual devices.

New Analog Temperature device type added to Analog I/O screen. New "Temperature" trigger type to support this. Supports all 3 temperature types of Elk with automatic update.

The Elk generic controller trigger for Temperature is now gone. Declare temperatures in the Analog I/O table as "Temperature" type and use the new "Temperature" trigger.

Added support to Elk controller module for AS (alarm status) messages. Now fires a trigger when alarm status changes automatically.

Support added for Elk IE and RP messages as well.

Added all current PowerHome functions to Windows Script Host server.

Fixed problems in Windows Script Host server that prevented negative numbers from being processed.

Rewrote the W800RF32A controller module.

Modified Execution queue and Macro Wait routines in an effort to solve execution queue stalling.

Added new Debug Information option to File menu.

Added unlimited undo and redo capability to PowerHome Explorer. Fixed bug where deleting a master record and undoing database changes still resulted in child rows being deleted. Control Center and Insteon Explorer undo/redo forthcoming.

Rewrote default link creation order so that responder links on a KPL will have the load link last. This works around the link creation order bug that KPL's have where secondary buttons will not be properly controlled if the load button link is created first.

You can now sort on the column of your choice in the Insteon Explorer Devices tab by double-clicking on the column heading.

Added new System Variables: [PHDIR], [PHWEBDIR], [WINDIR], and [SYS32DIR]

All plugins updated to SDK version 1.2. New PowerHome Generic Email plugin. All plugins now included with PowerHome in plugins directory.

Saved IR codes routines changed. All saved IR codes now use tags to identify the IR format type.

PowerHome Trigger functionality changed! The trigger action style (queued vs. immediate) is now gone. All triggers fire now as queued. This eliminates alot of confusion and problems that occur by making triggers immediate that can lock the system. Functionality still exists for those rare occurences where immediate action style is needed by utilizing the boolean field.

PowerHome Explorer right-click popup menu option "Duplicate" fixed for Control Center tabs.

Fixed bug where Control Center tabs could not be deleted from PowerHome Explorer.

Fixed random bug where deleting a row in PowerHome Explorer would not always work properly.

Fixed bug in Analog I/O screen where leaving fields blank (calcmsg, rawtocalc, calctoraw, calcvalue) resulted in NULL values causing data not to display in Device Status screen. Blanks fields will now default to empty string and eliminate the problem.

Modified controller modules (especially the Elk) so that changes made to devices in the PowerHome Explorer will be re-queried and update automatically on the Device Status screen.

Insteon 2440 RemoteLinc added to Insteon Types table. Models.txt for SDM 235 and xdevices.xml for SDM 308 updated.

PowerHome now distributed with both SDM235 and SDM308 so user can choose SDM that works the best.

Device Status screen updated with yet another layout (total 3). User has option to select layout style they prefer.

Web Device Status also updated to support all 3 available layout types.

New Functions:
ph_pictrl,ph_getwindowsdir,ph_insteonwithret,ph_prontotogc,ph_regactivex,ph_devicecontrol

Changed Functions:
ph_picmd,ph_webds

Removed Functions:

PWRHOME.INI Changes:
[DeviceStatus]
layout=0

[Broadcast]
phcontrolip=192.168.0.255
phcontrolport=8550
phtriggerip=192.168.0.255
phtriggerport=8551
phdevicechgip=192.168.0.255
phdevicechgport=8552
phccchgip=192.168.0.255
phccchgport=8553

Database Changes:
Changed all_id view
Changed explorer_tree view
Changed dropdowns data
Added devicestatus view
Added activex table
Added insteoncmds table


Whats new for PowerHome version 1.03.4.10

Added new sendkeys command "win" to simulate the Windows key. Use this with the open and close brace escape characters like the other commands. Ex: ph_sendkeys("{win+e}")

Corrected ph_isdaylightsavings function to comply with new daylightsavings time law going into effect in 2007. Also corrected problem with the function not working at all (thanks Nick) :)

Fixed ph_backupdb function to eliminate problems with spaces in path and backing up to same name as database file.

Fixed COM port problems introduced in 1.03.4.9 with the ph_com??? functions.

Added new screen where users can define custom timed event formulas for calculating holidays such as thanksgiving or birthdays. Timed Events screen updated to allow use of these custom timed event formulas.

Added new Control Center Action Type allowing navigation between Control Center ID's. Works both in client and web versions of CC.

Small change to Insteon controller where Group Broadcasts sent with SENDINSTEONRAW command now utilize blocking to prevent SDM overruns when rapidly sending group broadcasts.

Created version 1.1 of the PowerHome Generic Plugin interface. A controller plugin interface will be forthcoming.

Created the first PowerHome Generic plugin for general handling of email via MAPI.

Since recent versions of the SDM are more stable, have reworked the Insteon DM controller restart settings so PowerHome doesnt hang while trying to start a dead SDM. Hopefully this will also fix the multiple SDM launching syndrome.

Fixed problem with Control Center where Text buttons would not always have a button border.

Clear PLC Database option in Insteon Explorer now prompts with an "Are you sure" dialog.

Fixed rare bug where CM11A could overrun buffer and cause a critical error.

Fixed bug in Control Center Details screen of PowerHome Explorer where Device Control or Raw Formula settings created using the helper windows would not be saved.

Added a new sort column for Insteon links allowing the user to optimize the order in which links are created in order to maximize response speed and work around KPL secondary button issues.

Optimized default Insteon link creation so that responder links are created first.

Changed Insteon behaviour so that when an Insteon device is dimmed to 0, it's status will now be OFF instead of dimmed 0%.

Added Insteon Groups to Device Status screen.

Changed function ph_devicebtn so that it can control Insteon Groups.

Redesigned Device Status screen to allow for easier navigation on small screen devices. Also enhanced to allow for on/off control of Insteon groups.

Enhanced WAP server pages to allow for IR control, Insteon, and Insteon Group control.

Changed Macro messagebox and input box windows to dynamically resize to text and appear more like standard windows messages.

Added new option to restrict PowerHome Explorer to a single window.

Fixed bug where PowerHome would sometimes shutdown with a hard error when opening the filter or sort windows for the Device Status screen.

Set "Overall COMM" as the default report for the Insteon Explorer Reports tab.

Modified ph_insteongroup and ph_insteonrawgroup functions so that group cleanup commands can be controlled on an individual basis regardless of the global group cleanup setting. Add 1000 to the standard Insteon command to force group cleanups. Add 2000 to the standard Insteon command to send without group cleanups.

Added new function ph_getinsteonlevelrt which allows you to get the status/level of an Insteon device in realtime (ie. the device is sent a status request and the function waits until the data is returned)

Added "Play Sound" command to macros.

Added ability to selectively send/not send Insteon group cleanup commands when using the ph_insteongroup functions.

Added multi-x buffer for incoming X10 extended RF commands (W800RF32A).

Combined Devices and Device Maint tabs in Insteon Explorer into a single Devices Tab.

Added buttons to allow for direct control of Insteon devices and PLC groups directly from Insteon Explorer.

Changed all popup help windows in Insteon Explorer to clickable HTML Help launch icons.

Reworked backend Insteon prospering to improve link reliability and "Checking" problems.

Changed Insteon database so that instead of both status and level columns, all data is contained within the level column. Whenever a device level is changed, the previous level is stored.

Enhanced Insteon Device Chg trigger with [ALL] command. Also returns current and previous levels.

New Functions:
ph_comopensimple,ph_gethandle,ph_picmd,ph_webds,ph_webml,ph_webmu,ph_websl,ph_getmultistate,ph_getothermultistate,ph_setanalogdisplay,ph_ctlrcmd1,ph_createpluginpt,ph_ctlrsq,ph_msgbox,ph_getinsteonlevelrt,ph_fixjsquotes,ph_genctlrtrigger,ph_pitrigger,ph_sendudp

Changed Functions:
ph_ccmapinfo,ph_devicebtn,ph_ctlrcmd,ph_insteongroup,ph_insteonrawgroup,ph_clearx10hist,ph_multix,ph_multixtime

Removed Functions:

PWRHOME.INI Changes:

    [System]
    LoadPlugins=YES
    SingleExplorer=NO



Whats new for PowerHome version 1.03.4.9

Fixed bug in Insteon Explorer where a database error could result in the loss of data.

Enhanced Insteon Explorer close and save routine.

Added Refresh button to KPL Config screen.

Added checking to KPL Config screen to ask to save changes if made.

Changed KPL Config to use default Insteon DM rather than controller specified in Insteon Devices screen.

Updated Insteon Maint screen to flag changes made when doing a select all by clicking a header column.

Modified Control Center for new setup option to only register button click on mouse up.

Fixed problem where Control Center tab would not show up if 0 objects existed. Also fixed Control Center Design screen that would not show if 0 object existed.

Enhanced PowerHome Explorer so that double-clicking a column will bring up any helper windows for that column such as all Device Control columns, formula columns, and Timed Event datetime column.

Fixed popup menu for PowerHome Explorer so helper windows on enabled and activated for the proper columns.

Fixed bug in PowerHome Explorer "Controllers" screen where using the tab-key to auto-insert a new row causes a critical error.

Added ability to blacklist IP's in PowerHome Webserver.

Added new "Insteon Device Chg" trigger that fires on any command sent/received that would affect a particular device.

Fixed problems in Control Center where rectangle and round rectangle width > 1 would not show.

Fixed Control Center Design problems where "Save" icon was not enabled when making changes from the properties window.

Fixed Control Center Design problem where copying a "Text" type object would not make the item visible until after saving.

Fixed Control Center Design problem where Web CC would not be updated with changes until after PH CC was reopened.

Added COMM Reliability column to Insteon Devices screen in Insteon Explorer.

Double-clicking in Control Center design outside of an object will alternate between deselecting and reselecting objects.

Add toolbar icon for Insteon Explorer.

Added new user configurable option of maximum allowed critical failures for Insteon communications (overrides previous default value of 2).

ph_winampinfo function enhanced with new "listpath" command. Also, listfilename, listtitle, listpath, listartist, listtitle, listalbum, listyear, listbitrate, listlength enhanced so that passing a list value of - 1 will return data for the currently playing track.

Fixed Database Upgrade Utility so that ControLinc and KeypadLinc flags are set properly.

Enhanced Database Upgrade Utility so that Controllers do not need to be redefined.

Changes made to the sunrise, sunset, dawn, dusk calculation routines to take into account the new law for daylight savings time going into effect in 2007.

Fixed bug where a "SetTrans" or "SetTransObject" error would occur if the Insteon Explorer is open and ph_backupdb function is executed.

Corrected incoming Insteon command flags where NAK flags were not being recognized. Added event logging for NAK flag messages.

Changed behaviour of Links tab in Insteon Explorer where device types with a flag of "Control Only" could not be set as a link responder. Changed this behaviour so that only devices with a flag of "ControLinc" cannot be set as a link responder. Duhhh...what was I thinking?

Fixed user COM control where a critical error would sometimes occur depending upon the data. This affects the ph_com??? functions.

Added PowerHome Explorer and Insteon Explorer to list of Startup Screen options.

Enhanced the ph_closewindow function to send a WM_SYSCOMMAND in addition to the WM_CLOSE message. Now works with Internet Explorer Windows.

Fixed problem in new ph_setccobj??? functions where graphic button types would not update properly (the down graphic would not move with the up graphic).

Added ability to "Save PLC Settings" in the Insteon Explorer window.

Changed color settings on Insteon Log window so that TX messages are blue and EVENTRAW=05 are red. Red is bad.

Added Insteon device spidering. As device links are discovered, PowerHome can now optionally create device ID's to new addresses.

Added ability to read device addresses from PLC and create PowerHome Insteon devices.

Updated Insteon Explorer so that manually adding Insteon devices will automatically create the ID's in the attached PLC.

Added ability to have PowerHome create Insteon devices for existing [ID NOT FOUND] link ID's.

Insteon Devices screen will now have a default Description and will auto-populate the currently attached controller. When manually entering devices, the only required fields to be touched will be ID, Address, and Device Type.

Re-colored all Insteon communication graphs so that default series is now blue instead of red. Second series is now red. Red is bad.

New Functions: ph_runsync, ph_insteonclearfailed

Changed Functions: ph_backupdb

Removed Functions: ph_lookupccbtn

PWRHOME.INI Changes:

    [Control Center]
    clickup=NO

    [WebServer]
    BLACKLISTIPS=

Database Changes:

    Modified dropdowns.sql
    Modified all_id_data.sql
    Modified all_id.sql



Whats new for PowerHome version 1.03.4.8

Completely new Insteon interface titled "Insteon Explorer". This single tabbed screen will allow you to completely manage your Insteon network. Can now assign ID's to PLC group numbers. Program the local level, local ramprate, and X10 address of Insteon devices.

Rewrote the entire Insteon backend to allow for multiple new features and enhanced communications.

New Control Center. You can now place graphics and other objects on the Control Center for enhanced customization. Change button and text font sizes, graphical buttons, etc. New button actions too.

Timed Events, triggers, Control Center and others have a new "Device Control" option so that simple device control can be done directly without having to resort to formulas or macros.

Fixed problem where sending multiple X-10 commands using the Insteon PLC would cause the commands to eventually become garbled.

Fixed bug where phantom and corrupted Insteon links would sometimes spontaneously appear when using the Insteon PLC.

Fixed bug where a missed ACK from the Insteon PLC would cause PowerHome to lockup.

Fixed bug with long range IR detection when using the USB-Uirt. Also fixed bug where incoming code could not be learned on certain remotes that send a short repeat value instead of the entire sequence.

Fixed bug where Insteon locations would not show in the location dropdowns.

Fixed bug in Insteon Raw Group macro command where dim/bright could not be specified for a Start Manual Change command.

Fixed bug where multiple "NOT FOUND" devices were being incorrectly grouped together in Insteon Group by Controller/Responder screens.

Fixed bug where PowerHome Explorer treeview control would sometimes show children out of place depending upon ID name.

Fixed registration name bug where certain registration names would create invalid registration numbers.

Minor wording changes made to Insteon Create/Edit/Clone window to enhance clarity.

Modified main window Macro dropdown player to do double duty for both Macros's and formulas. Prefix a formula with a ' to have a formula evaluated without the result returned. Prefix the formula with a " to have the formulas result returned in a message box. Entries without either prefix will be executed as a macro ID.

Modified Insteon auto discover so that the lowest matching typeid will be automatically selected.

During Insteon auto discover, if the device is dimmable, then the locallevel will default to 255 instead of 0. Non-dimmable devices will always default to 0.

Added link totals to Insteon Device Links report.

Fixed problem where changing the ID of a Control Center tab would not update the Control Center buttons thereby creating orphan records in the ccbuttons table.

Fixed bug where creating KeyPadLinc links to itself would not create the Master Links.

Added new eventlog flag for Trusted IP web access.

Corrected bug where ph_reinitialize function would cause PowerHome to hang.

Fixed critical error when trying to duplicate an insteon type record.

Fixed occasional critical error that would occur on controller when restarting.

Fixed critical error that occurs when out of range X10 values are received.

Fixed critical error that could occur when working with the Formula Builder window.

Fixed problem with webserver where a premature disconnection of a client could cause the webserver to hang for up to 10 seconds.

Fixed bug in CTLRS table where column named ORDER would cause fatal errors with certain region settings. Renamed column to LOAD_ORDER.

Fixed bug where Insteon dim and bright commands originating from PowerHome using the PLC would not update the Insteon level.

Fixed bug in ph_seconds function.

Assigned webserver files ending in .asp and .html to also be interpreted as PSP pages in addition to .psp. PSP files ending in .html use the same authorization level as HTM files.

Enhanced ph_winampinfo function so that list filename and list metadata are now able to be returned.

New, enhanced TTS functionality using SAPI 5. Change the voice on the fly, alert (priority voice), Synchronous speaking, pause, resume, and more.

Add new messagebox type of control where a URL can be given to display user specified data. Accessed with ph_openiewindow function.

New ph_regexdiff1 function allows for returning the matched strings start position and length as well as allowing to specify what matching occurence number to return.

New Functions:
ph_ctof, ph_ftoc, ph_fixjsquotes, ph_regexdiff1, ph_sendsocketdata1, ph_openiewindow, ph_closewindow, ph_ttsctrl, ph_ttsgetstatus, ph_ttspause, ph_ttsresume, ph_ttssetvoice, ph_ttssync, ph_ttswait, ph_getcclastobj, ph_getccobjbcolor, ph_getccobjborder, ph_getccobjfcolor, ph_getccobjheight, ph_getccobjtext, ph_getccobjwidth, ph_getccobjx, ph_getccobjy, ph_setccobj, ph_setccobjbcolor, ph_setccobjborder, ph_setccobjfcolor, ph_setccobjheight, ph_setccobjtext, ph_setccobjwidth, ph_setccobjx, ph_setccobjy, ph_insteongroup, ph_insteongroupcu, ph_insteonrawgroupcu

Changed Functions: ph_winampinfo

Removed Functions:
ph_getccbtnbcolor, ph_getccbtnborder, ph_getccbtnfcolor, ph_getccbtnheight, ph_getccbtntext, ph_getccbtnwidth, ph_getccbtnx, ph_getccbtny, ph_getcclastbtn, ph_setccbtn, ph_setccbtnbcolor, ph_setccbtnborder, ph_setccbtnfcolor, ph_setccbtnfheight, ph_setccbtntext, ph_setccbtnwidth, ph_setccbtnx, ph_setccbtny

Database changes:

    Changed Table Structures:
    cctabs
    ccbuttons
    ccbuttonstemp
    insteondevices

New Tables:

    fonts
    insteongroups

What didnt make this release:

    Elk M1 Gold as a controller
    Elk - Insteon utility integration
    New Insteon triggers
    Ability to set preference of link record numbers
    Some New Control Center objects like rectangle, ellipse, and group box do not appear in Web version /ph-cgi/controlcenter (they do appear in /ph-cgi/ccmap)
    Updated help file showing new functions
    Solving PowerHome's display of Window's uptime



Whats new for PowerHome version 1.03.4.7

Added the ability to select portrait or landscape printing from the print preview window.

Added option to copy critical error messages to clipboard.

Added error catching code to eliminate critical errors when the SmartHome Device Manager crashes or closes while PowerHome is running.

Upgraded to lastest version of SmartHome Insteon Device Manager version 163.

Made changes to Insteon group Controller screen and Insteon group Create/Edit window so that level can now be set all the way to 255.

Changes made to avoid confusion with ramprates. Ramprates will always have a maximum value of 31.

Added the ability to link KeypadLinc buttons to themselves in the Create/Edit Insteon Links window.

Added Icon Lamp and Appliance modules to Insteon TYpes.

Added changes such that if an Insteon Status Request fails, PowerHome moves on to the next device instead of hanging on the same failing device.

When sending PLC group commands, direct group cleanup commands are now sent as well.

Added options to rescan an Insteon Devices database or rescan all Insteon Devices database.

Added extra functionality to the Create/Edit Insteon Links window so groups can now be cloned.

Fixed bug in Insteon Rebuild Links and Replace Device windows where you could not choose devices that have a device type with 0 groups (lamp and appliance modules).

Added a hotkey (F5) to quickly reselect reports and the eventlog.

Changed incoming Insteon eventlog algorithm so background tasks are not logged.

Insteon triggers (Insteon Group In, Insteon Group Out, Insteon Direct In, Insteon Direct Out) have been added.

Fixed bug where PowerLinc RS-232 (1132) was not responding to All Units Off command.

Eventlog now shows incoming and outgoing Insteon messages decoded.

Added new macro command for controlling X-10 devices using ID's.

Added new macro commands for Insteon and Insteon Raw Group control.

Changed Insteon control algorithm for more reliability.

Added code to prevent webserver connection object overflow.

Fixed problem where sending a series of X10 commands to Insteon PLC caused garbage X10 commands.

Fixed serious problem where PowerHome would crash if ccimage or ccmap was called from the webserver on a CC ID without detail rows.

Fixed problem in X10 send routine of CM11A and Insteon DM controllers where out of range values would cause an array boudary exceeded error.

If SmartHome Device Manager crashes or is not open, PowerHome should detect and attemp to restart the DM.

Fixed create database link and delete database link so extra bytes associated with ControLincs are now properly updated.

Added a KeypadLinc Configuration Utility.



Whats new for PowerHome version 1.03.4.6

Fixed problem where previous versions of the Insteon Device Manager may be launched instead of the PowerHome version.

Streamlined link discovery and link creation.

Added support for Insteon KeypadLinc extra buttons to be linked as responders.

Added support for Rebuilding a devices links. Useful if a device has been reset or it's links are fragmented.

Added support to reverify a devices links.

New report showing details of individual Insteon devices link databases.

Added the ability to replace an Insteon device with another Insteon device and rebuild all of the original devices links into the new device.

More options for the Insteon DM controller. You can now turn off background link discovery and status checking.

Frame and individual windows now remember their state and position.

Numerous minor bug fixes.

New Functions:
ph_setframe



Whats new for PowerHome version 1.03.4.5

INSTEON SUPPORT!!! Added support for both the serial and USB versions of Smarthome Insteon PowerLinc Controllers.

Added support for the PowerLinc USB (1132CU). This is essentially the same unit as the PowerLinc USB (1132U) and utilizes the same code, just a different USB Product ID (2). This unit also includes the ability to have commands downloaded to the unit. PowerHome, however, does not support this ability and will effectively use the unit as a stand-alone controller.

Fixed a critical error that occurred when opening the PowerHome Explorer with a floating toolbar.

Fixed problem in webserver where NULL values in Global Variables would cause the GV page not to display.

Added a true source code editor (Scintilla) to the Script Editor screen.

Fixed bug where web info would not be shown in real-time on the PowerHome Status screen.

Changed the messagebox that appeared when turning Timed Events On (with past due events) to an auto response messagebox.

Corrected problem with limited Menu Titles and Menu URL's in Web Server Setup Screen.

Fixed bug in Windows Script Control that prevented calling PowerHome functions from any language other than vbscript.

Added new method of generating the Control Center for the web using image maps. This new method is now compatible with web browsers that do not support CSS such as Pocket IE and the browser on a 3Com Audrey.

The webserver WAP formula page will now return the result of the previous formula.

New Functions:
ph_irnumseq, ph_winampctrl, ph_winampinfo, ph_ping, ph_getipfromhostname, ph_timedeventsctrl, ph_ccimage, ph_ccmapinfo, ph_getwindowstate, ph_convertimage, ph_savedesktopimage, ph_insteon, ph_insteonraw, ph_sendsocketdata, ph_regex, ph_replaceregex, ph_replaceallregex, ph_regexdiff, ph_regexsnap, ph_replaceallmulti, ph_x10lookup, ph_getinsteondt, ph_getinsteonlevel, ph_getinsteonstat, ph_getinsteonseconds, ph_insteonrawgroup, ph_ctlrcmd

Changed Functions:
ph_x10, ph_x10btn, ph_getx10dt, ph_getx10level, ph_getx10seconds, ph_getx10stat, ph_setotheranalogout, ph_setotherdigitalout, ph_setothertimer, ph_setothervar, ph_getotheranalog, ph_getotherdigital, ph_getothertimer, ph_getothervar, ph_disconnect, ph_connect, ph_devicebtn, ph_lookupccbtn

New Webserver ph-cgi commands:
ccimage, ccmap, convertimage, desktopimage

Added new PBD file phctlrs.pbd



Whats New for PowerHome Version 1.03.4.4:

Modified CPU-XA/Ocelot module so that bad data does not reset the buffer. Also streamlined performance by performing X-10 status updates only when necessary. Also corrected problem where CPU-XA/Ocelot would hang if 606 repsonse code was not received.

Fixed support for the PowerLinc USB. The last release was missing a "timer" object and would not work when selecting PowerLinc USB. This is now corrected.

"Any (Before Buffer)" and "Any (After Buffer)" added to "X-10 Out" and "Virtual X-10" triggers.

Modified ph_x10btn function and Device Status Screen ADIM function so PRESET DIM commands will be sent when absolute dimming if the module supports it.

Support for Velleman K8000 computer interface added.

New flag for the web Control Center added. By adding 16 to the flags parameter, the control center will be constructed using "

New Digital Input/Output screen and Analog Input/Output screen.

Triggers for Digital In and Digital Out have now been implemented.

Triggers for Analog In and Analog Out have been implemented.

The X-10 Status screen has been replaced by the Device Status screen.

Added 14 new custom color entries.

PSP page formulas will no longer be executed once the return code is changed from 200.

PSP pages now include a blob output page so that binary data can be built and returned from a PSP.

Added new parameter to the Setup->Email screen so the user can specifiy the End of Message string for incoming email. The default is: {}

Enhanced the ph_sendsmtpemail and ph_sendsmtpemailfile functions to allow for SMTP servers that require authentication.

Changed the /ph-cgi/formula webpage so that it will return the result of the formula. It no longer uses /ph-cgi/evalformula for formula evaluation. /ph-cgi/evalformula still exists with all functionality.

Added context sensitive help for PowerHome Functions to the Formula Evaluator and Formula Builder windows. Accessed by pressing F1 or Shift F1 while the cursor is on the appropriate function.

Documented the DEC and DOUBLE functions.

New Functions:
ph_seconds, ph_secondsdiffsec, ph_iseven, ph_isodd, ph_exporteventlog, ph_forloopwinc, ph_setotheranalogout, ph_irdesc, ph_irchain, ph_devicerefreshstat, ph_setdigitalout, ph_setanalogout, ph_getdigital, ph_getanalog, ph_setdevicefilter, ph_getdevicefilter, ph_setdevicesort, ph_getdevicesort, ph_devicebtn, ph_getdigitalstat, ph_getanalogstat, ph_getanalogcalcstat, ph_getphdir, ph_getphwebdir, ph_webaddblob, ph_webclearblob

Removed Functions:
ph_ocelotgetanalog, ph_ocelotgetdigital, ph_ocelotgettimer, ph_ocelotgetvar, ph_ocelotsetdigitalout, ph_ocelotsetvar. These functions have been replaced by the ph_setother??? and ph_getother??? functions.



Whats New for PowerHome Version 1.03.4.3:

Added support for the PowerLinc USB.

Fixed the ph_comsendchar function.

Enhanced the ph_comsendstring and ph_comrecvstring functions to allow sending and receiving of non-printable characters using the \ (backslash) as an escape character.

Fixed bugs with the System Volume routines.

Fixed bugs with ph_postmsg_s and ph_sendmsg_s functions.

Added extra flags parameter to Web based Control Center to use an external style sheet.

Modified the ITC control so that state 10 (icDisconnected) will also trigger the callback macro in ph_itcexecuteftp and ph_itcexecutehttp functions.

New Functions:
ph_keybd_event, ph_checktrigger, ph_createdirectory, ph_removedirectory, ph_clearvars



Whats New for PowerHome Version 1.03.4.2:

Changed Email Critical Error message so that version number is sent as well.

Corrected problems with ph_com??? functions where incoming serial traffic was not recognized or accessible.

Changes made to socket objects to eliminate occasional critical error.

Modified W800RF32A support to include more triggers for incoming X-10 RF Extended codes.

Fixed bug where X-10 RF Ext In triggers had no trigger id's in the dropdown.

Changes made to Voice Recognition so the user can specify the ID of the global grammar.

Changes made so the user can now specify when the Control Center buttons temporary changes table (CCBUTTONSTEMP) is reset.

Added a new Windows Spy window so that you can snoop on Window handles, classnames, and titles.

Fixed the main PH webpage so that when typing an ADIM value you can immediately hit enter or click the ADIM button.

Rewrote the PowerLinc Serial controller routines to eliminate hanging and timeouts.

Corrected Preset Dim command logging for CM11A, PowerLinc, and Ocelot.

Added a new control structure utilizing the Microsoft ITC (Internet Transfer Control). This new structure allows yet another way to access HTTP information as well as allowing access to FTP.

Added a new helper application: PowerHome Distributed Client Control (DCC). This application utilizes the PowerHome Socket Server and allows PowerHome to remotely control applications on another PC.

New Functions:
ph_findwindowex, ph_ccclearchgs, ph_setforegroundwindow, ph_getforegroundwindow, ph_getclassname, ph_getwindow, ph_getwindowtext, ph_getparent, ph_enabletrigger, ph_disabletrigger, ph_sendkeysmq, ph_getitcurl, ph_saveitcurl, ph_itccancel, ph_itccreate, ph_itcdestroy, ph_itcexecuteftp, ph_itcexecutehttp, ph_itcgetdata, ph_itcisbusy, ph_itcisvalid, ph_itcsavedata, ph_itcseturl, ph_itcsetuserpass, ph_ssrequest



Whats New for PowerHome Version 1.03.4.1:

Modified macro wait methodolgy.

Added support for USB-Uirt IR controller.

Modified CPU-XA/Ocelot IR methodology to reflect parameter 17 (auto IR) only returning the acutal IR number mod 256.

Fixed the CPU-XA IR out so that if a blank code is sent (#), the IR out trigger will be fired.

You can now send extended X-10 commands with the CPU-XA/Ocelot.

Fixed major bug with PowerLinc RS-232 where incoming X-10 triggers would not fire and status would not be updated.

Changed timeout routines on the PowerLinc RS-232 controller so that the controller has up to 10 seconds to send X-10 commands. This should fix X10send timeout problems when a lot of X-10 traffic is being received.

Removed the "Send Keys" window from the client. This was of limited use and can be accomplished using the Formula Evaluator window and the ph_sendkeys function.

Removed the "Send Keys" link from the PowerHome Web server main page. The ph-cgi/sendkeys command still exists however and is still available for use.

In the PowerHome Explorer, when navigating to a screen with 0 detail records, the first record is now automatically created.

Added the ability to "undo changes" made in the Explorer.

When choosing "Auto Learn" from the IR screen, PowerHome will now save any changes before opening the Auto Learn window.

Minor change to the naming convention within the PowerHome Explorer when "Copying" records.

Added an extra link to the PowerHome main web page so that the "auto refresh" can be disabled.

Reworked the webserver so you can define the main page as well as the menu in the default main page.

Fixed bug where macros or X-10 commands would be repeated when the PowerHome main web page refreshed.

Added an extra menu option for the Control Center so you can snapshot a copy of the Control Center to the clipboad without the keystroke definitions.

Added new IR Out / IR In trigger (Any) for a specific piece of equipment.

You can now copy highlighted text to the clipboard using Ctrl-c in Macro message and input boxes. You can also select all text by pressing ctrl-a.

Fixed the "relay" ph-cgi web function.

Fixed the ph_backupdb function.

Fixed the ph_sendkeysbtn function.

Fixed the ph_processemailthread function so that instead of a new thread, a mini application opens for processing email.

Added new functions:
clipboard, ph_relativedtprecise , ph_addtoglobal, ph_concatglobal, ph_pos, posw, ph_wcisbusy, ph_postmsg_s, ph_sendmsg_s, ph_getwburl, ph_getcctabid, ph_setcctabid, ph_formulabtn, ph_ccdescribeid, ph_ccmodifyid, ph_xp2u, ph_yp2u, ph_xu2p, ph_yu2p

Changed functions:
ph_extendmacrowait, ph_directsql, ph_sqlselect, ph_sqlselectinto, ph_getccbtnbcolor, ph_getccbtnborder, ph_getccbtnfcolor, ph_getccbtnheight, ph_getccbtntext, ph_getccbtnwidth, ph_getccbtnx, ph_getccbtny, ph_getcclasttab, ph_setccbtn, ph_setccbtnbcolor, ph_setccbtnborder, ph_setccbtnfcolor, ph_setccbtnheight, ph_setccbtntext, ph_setccbtnwidth, ph_setccbtnx, ph_setccbtny, ph_lookupccbtn

Removed functions: ph_lookupcctab

Added new WSH function ph.wcgethtml

Changed the ph_x10btn function so that absolute dim levels will accept values > 100 and < 0 for non-extended modules.

Fixed Direct SQL and SQL Select checking for unauthorized access checking.

The pos function has a problem searching for strings at positions greater than 33000. The new ph_pos function does not have this problem. Also, the newly documented posw function does not suffer either.

Modified the SAPI5 TTS pitch interface. SAPI5 does not have a direct parameter for modifying the pitch of a voice like SAPI4 does. However, it does support inline tags that affect pitch. Re-enabled the pitch controls for SAPI5 so that these inline tags are used to control pitch.

Added new trigger for Global Variable Modification.

Added support for reinitialize macro. Enhanced support for STARTUP and SHUTDOWN macros so user can now declare which macro to use.

Fixed major bug with ph_runscript_1 through ph_runscript_5 functions. When programming with Windows Script Host, if any script error occurred while using these functions, PowerHome would return a Critical Error. This is now fixed. Note that this problem did not affect ph_runscript_0.

Major improvements in all WSH functions that passed single quotes. Whenever a function was called from within WSH and a passed string contained embedded single quotes, the function would fail. This should now be fixed.

Corrected problem in webserver where serving local files containing spaces in the filename would fail.

A slew of new Windows messaging options and triggers added.

Cleaned up the webserver eventlog so that only 100 page links show at the top and bottom. Added First and Last Links.

Changed the entire Control Center interface. All buttons have been relocated to a single table. Changes made to the Control Center via the ph_setcc functions are now visible in the web interface as well. A user defined macro can be executed everytime the Control Center is opened. Additional parameters defined for controlling the visual presentation of tabs in the Control Center.

X-10 hex codes are now decoded in the PowerHome status screen as well as the eventlog.

Added new report "PowerHome Database Where Used". This report will allow you to search the database for a user specified wildcard string. Find where you call that macro or reference a global variable.

Changes made to the PowerHome client X10 Status screen so that animated GIF's can be used for status graphics.



Whats New for PowerHome Version 1.03.4:

Added the Web Center window.

Added new formula functions to support the Web Center: ph_wcclose, ph_wcgethome, ph_wcgethtml, ph_wcgoback, ph_wcgoforward, ph_wcgohome, ph_wcgourl, ph_wcopen, ph_wcrefresh, ph_wcsethome, ph_wcsethtml, ph_wcshow, ph_wcstop, ph_processemailthread

Changed the ph_setmode function to allow setting the main window in kiosk mode.

Added new Macro command "SubMacro"

Changed the macro commands Message Box and Input Box so that the displayed text is in a multi-line edit control.

Removed toolbar references from the Preferences screen. Toolbar style and locations are now automatically saved and loaded for both the frame and all sheets that have independent toolbars.

Changed functionality so that when in Kiosk mode, if PowerHome is minimized (ph_windowstate), the tray icon is disabled.

Changed the functionality of the ph_windowstate function. If in Kiosk mode, ph_windowstate(0) will return a 1 and NOT set the window to normal. If PowerHome is minimized to the system tray, ph_windowstate will now bring it back with values of 0 and 2.

Added the ability to bypass the timed event startup messages by using the QUIETSTART parameter.

Added new /ph-cgi/relay command. Allows the user the ability to serve web content from multiple servers all via the PowerHome webserver.

Added new /ph-cgi/directhtml command.

Improved the functionality of the ph_geturl and ph_geturlviaproxy functions so they would be more compatible with various websites.



Whats New for PowerHome version 1.03.3:

Fixed a security hole for users who allow GUEST access to their PowerHome webserver. If you enable GUEST access on your webserver, then a user with a cellphone or other WAP device could control your X-10 devices using the GUEST account. This is now fixed.

Added an additional webserver parameter ENABLESMARTNEXTURL. With version 1.03.2, web functions that use the NEXTURL will employ a smart retrieve of the NEXTURL HTML rather than returning javascript to perform a “location.replace” function. This parameter allows the user to choose whether to use the new smart nexturl method or the older “location.replace” method.

Changed the algorithm for detecting mouse clicks on the Control Center. The Control Center buttons are built in a specific order starting with IR, then X-10, then Macros, and finally Send Keys. The checking of mouse clicks was performed in the same order. The new algorithm instead checks for mouse clicks in the reverse order of how the buttons were built. This enables one to use “buttons” without code on them as a means to build backgrounds for other buttons.



Whats New for PowerHome version 1.03.2:

Fixed bug in MR26A automatic update status routine where all updates were treated as a bright command.

Fixed problem in Control Center and Design mode where buttons were not accessible after scrolling.

Added automatic "SHUTDOWN" macro.

Improved Timed Events!! Can now specify absolute or random offsets as well as sunrise, sunset, dawn, dusk and weekdays, weekends, Monday, Tuesdays, Wednesdays, Thursdays, Fridays, Saturdays, and Sundays.

Fixed problem in nexturl of execsendkeys where location replacement would not operate properly with proxy servers.

Changed the database connection to DSN-less. Added new ini parameter DBF to handle the change.

Now can read and set the system volume programmatically

The passthru feature of the CM17A is now supported.

Added support for setting timers in the CPU-XA/Ocelot.

PowerHome now minimizes to the system tray.

Added support for the PowerLinc module

Moved most entries in the control table to the pwrhome.ini file

Fixed bug where eventlog would suddenly jump from the first row to the very end while scrolling up with a wheel mouse

Modified internal webserver so that unauthorized guest account access will now load the appropriate page rather than always going to the main page.

Fixed webserver timed event and global variable screens so that values containing single and/or double quotes would not cause errors.

Added ability for user to define up to 5 custom web links to be added to the PowerHome Main internal web page.

Added new timed event frequencies: Daily Sunrise, Daily Sunset, Daily Dawn, Daily Dusk, Weekdays, Weekends, Sundays, Mondays, Tuesdays, Wednesdays, Thursdays, Fridays, Saturdays

Added new functions ph_windowstate, ph_getmode, ph_setmode, ph_getcctab, ph_setcctab, ph_macroparm, ph_macroparmret, ph_openframe, ph_saveframe, ph_sendsmtpemail, ph_getsysvolmin, ph_getsysvolmax, ph_getsysvol, ph_setsysvol, ph_isdaylightsavings, ph_htmlescape, ph_htmlunescape, ph_writefile, ph_saveurl, ph_saveurlviaproxy, ph_deletefile, ph_movefile, ph_copyfile, ph_filelength, ph_fileexists, ph_ismacrowaiting, ph_secondsafter, ph_secondsdiff, ph_extendmacrowait, ph_sendemailfile, ph_sendsmtpemailfile, ph_sqlselectinto, ph_gettickcount, ph_reinitialize, ph_powerhomeuptime, ph_relativetime, ph_backupdb, ph_setfileattrib, ph_rtnes, ph_getotheranalog, ph_getotherdigital, ph_getothertimer, ph_getothervar, ph_setotherdigitalout, ph_setothertimer, ph_setothervar, ph_getx10dt, ph_getx10seconds, ph_killmacrowait, ph_killallmacrowait, ph_minutesafter, ph_relativedatetime, ph_getwebmethod, ph_getwebheader, ph_getwebheaderparm, ph_getweburl, ph_createglobal, ph_deleteglobal, ph_ccdescribe, ph_ccmodify, ph_base64decode, ph_combuffercount, ph_combufferptr, ph_combufferreset, ph_comclose, ph_comdtr, ph_comopen, ph_comrecvchar, ph_comrecvstring, ph_comrts, ph_comsendchar, ph_comsendstring, ph_getccbtnbcolor, ph_getccbtnborder, ph_getccbtnfcolor, ph_getccbtnheight, ph_getccbtntext, ph_getccbtnwidth, ph_getccbtnx, ph_getccbtny, ph_getcclastbtn, ph_getcclasttab, ph_hextonum, ph_lookupccbtn, ph_lookupcctab, ph_numtohex, ph_prontotorr2, ph_rr2topronto, ph_setccbtn, ph_setccbtnbcolor, ph_setccbtnborder, ph_setccbtnfcolor, ph_setccbtnheight, ph_setccbtntext, ph_setccbtnwidth, ph_setccbtnx, ph_setccbtny

Changed function ph_gethtmlcolor to ph_htmlcolor.

Changed function ph_x10btn so that dim value is an integer instead of a string and supports devices that use extended dim.

Fixed problem with base64 encode routine where problems occurred when trying to encode ascii characters greater than 127.

Changed the formula function ph_sendemail and the Macro command Send Email so that multiple recipients can be specified by separating them with a comma.

The Control Center is now available on the web.

Added new ph-cgi functions: ph-cgi/blank, ph-cgi/controlcenter, ph-cgi/ccbutton, and ph-cgi/evalformula.

Removed unactivated links "Macros" and "Triggers" from main PowerHome web page.

Full support for WAP pages with WML have been added to the internal webserver. Access and control PowerHome from your web enabled cell phone.

Added the ability to set the text for dimmed and unknown X-10 status. Also added the ability to choose a graphic which will display on the main web page and X-10 status screen for each of the 4 X-10 status types.

Internal web pages redesigned and include support for CSS.

Added a "Macro Jump Limit" in the Setup->Scripts maintenance screen. This parameter will limit the number of times a macro can jump or Goto a label if the value is greater than 0. Useful for preventing infinite loop situations.

Reinitializing will now fully reset PowerHome and enable any changes made via the PowerHome Explorer. It is not necessary to restart PowerHome in order to see changes now.

Added a new column to macro detail called skip_line. This allows you to flag lines to be skipped for debugging purposes.

The ph_createtimedevent function can be used to created timed events of type formula as well as macros and send keys.

A bug has surfaced within the PowerBuilder environment. The relativetime function returns a time with microsecond precision. If you try to insert this time into a datetime field within the database, it will most likely crash as the database only wants millisecond precision. The new ph_relativetime function fixes this bug by returning the time to milliseconds precision.

Registration routine has been rewritten. You no longer have to contact the author for a new unlock key when you reinstall.

Updated all dropdowns to retrieve data from a new dropdowns table rather than hard-coded internally.

Added a confirm shutdown preference.

The Key number in the IR maintenance screen can now be changed and resequenced.

Added support for the WGLDesigns W800RF32 and W800 modules.

Added a new trigger: X-10 RF In Ext. This adds support for the W800RF32 extended RF commands.

Added support for the RedRat3 IR interface.

Added a new triggernumber for X-10 In and X-10 RF In: Any (After Buffer). This fires after the previous X-10 incoming buffers are updated. The 'Any' triggernumber was also relabeled to Any (Before Buffer).

Changes made to the ph_connect and ph_disconnect functions to handle "Other" controllers.

The macro command "Formula" has been changed so that you can choose either post or immediate processing.

The "last" unit is passed in X-10 Any (on, off, dim, bright) After Buffer triggers and is available in [TEMP3].

The X-10 status window is updated differently so that it does not scroll or refresh when an X-10 status is updated.

The explorer can now connect to PowerHome databases other than the default.

New macro command "End Macro" added.

Enhancements made to the PLAYPLAYLIST and PLAYSLOTTRACK macros.

Fixed the macrowaiting functions to handle resumed macros in the execution queue.

Fixed the [TEMP1] variable for actions in a trigger. It now will show the ID of the trigger.

Additional info in [TEMP6] thru [TEMP9] system variables for actions from a trigger.

Added the ability to select the border for Control Center buttons.

Added ability to email critical error messages to support@myx10.com

Passwords in the pwrhome.ini file are now encrypted.



Whats New for PowerHome version 1.02.2

Bug Fixes:

Fixed problem with WSH function ph.getsuntime.
Fixed problem with WSH functions ph.getvar_dt and ph.getglobal_dt.
Fixed date problems with WSH functions ph.setglobal_a and ph.setvar_a. Date, time, or datetime will now be formatted as datetime.

Fixed bug in Timed Events maintenance screen where you cannot directly enter a frequency.

Fixed bug in RedRat2 controller where IR codes could not be learned.

Enhancements:

The internal webserver has been enhanced so that you can declare up to 5 trusted IP masks. Requests from these IP's will be treated as if they logged in with the Master password.
Security can now be defined based upon the type of web page.
Enhanced PSP functionality allowing for greater control over the webserver. PSP pages can now set the content-type and the return code. PSP pages also have access to the remote IP, the user authorization level, and the userid and password passed to the webserver.

The Socket Server has been enhanced so that you can restrict access by up to 5 IP masks. Adds an additional level of security.

Added new MR26A INI parameter to ignore CM17A commands.

Added option to have the X-10 Status set to unknown if a status request is sent to an X-10 device that supports status request.

A little more CPU-XA/Ocelot functionality is available via the ph_ocelotgettimer function.

Limited support for SAPI 5.1 TTS.

New formula functions:

ph_sendmsg, ph_postmsg, ph_sendcopydata, ph_postcopydata, ph_ocelotgettimer, ph_base64encode, ph_setwebcontenttype, ph_setwebreturn, ph_getwebremoteip, ph_getwebbase64auth, ph_getwebauth

New WSH functions:

ph.sendmsg, ph.postmsg, ph.sendcopydata, ph.postcopydata, ph.ocelotgettimer, ph.base64encode, ph.setwebcontenttype, ph.setwebreturn, ph.getwebremoteip, ph.getwebbase64auth, ph.getwebauth, ph.setglobal_n, ph.setglobal_d, ph.setglobal_t, ph.setglobal_dt, ph.setvar_n, ph.setvar_d, ph.setvar_t, and ph.setvar_dt

REMINDER: The Send Keys commands and formula functions listed below in 1.02.1 will be deleted in the next version. Please update your databases before the next release.



Whats New for PowerHome version 1.02.1

Fixed an obscure bug where PowerHome would lockup if a toolbar was dragged and dropped onto the menu border.

Added a new Socket Server Interface. This allows users the ability to remotely control PowerHome from other programs either on the same machine or over a network (including the web). These programs do not have to be limited to Windows programs either.

Added a Windows Messaging Interface. This also allows users the ability to remotely control PowerHome from other programs on the same machine. Don't be limited to controlling PowerHome with just one method. Now take your pick of either the Socket Server or Messaging Interface.

Enhanced the Process Email Macro command so that formulas and macros can be executed in addition to sendkeys.

New triggers have been added to handle triggers for the Windows Messaging Interface and the Socket Server.

Added support for Windows Script Host. Choose your language of choice now. You can now control PowerHome with VBScript, JScript, or any other language supported by Windows Script Host.

Added 8 new formula functions: ph_processemail, ph_handle, ph_runscript_0, ph_runscript_1, ph_runscript_2, ph_runscript_3, ph_runscript_4, and ph_runscript_5.

NOTE: The following Send Keys commands will be removed in version 1.03.1 as they have been replaced by equivalent formula functions.
{tts}
{delay}
{macro}
{global}
{system}
{setglobal}
{setsystem}
{directsql}
{launch}
{file}
{switchto}
{chggrammar}
{chgspeaker}
{ir}
{x10}
{x10-1}, {x10-2}, {x10-3}, {x10-4}, {x10-5}
{playlist}
{vrdisable}
{x10setstat}
{disconnect}
{connect}
{usermessage}
Please update your Send Keys code if you are currently using any of these functions. All of these inline commands have formula function equivalents which can either be processed during the formula evaluation of Send Keys or processed during the Send Keys interpretation by using the inline command {#}.

NOTE: The following formula functions have been renamed. The old versions still exist but will be removed in version 1.03.1. Please update any formula that use these functions.
f_findata renamed to ph_finddata
f_getdata renamed to ph_getdata
f_geturl renamed to ph_geturl
f_multix renamed to ph_multix
f_multixtime renamed to ph_multixtime



Whats New for PowerHome version 1.01.3

What happened to version 1.01.2? Version 1.01.2 was a quick bug fix which was made available to a few people who were having problems using the CPU-XA/Ocelot controller. These bugs are now properly fixed in version 1.01.3.

A bug was introduced in version 1.01.1 which prevented the macro commands messagebox and inputbox from returning values properly. This has now been corrected.

A bug with the internal webserver which allowed remote users to possibly access files outside of the webserver directory structure has been fixed.

The communication routines for all controllers has been rewritten. This was done to solve some problems with communication and to handle the special requirements of the CPU-XA/Ocelot controller. Also, speed improvements should be seen on all controllers. Most noticeable will be the speed and reliability of the CM17A “firecracker” module.

Support for the additional Adicon modules associated with the CPU-XA/Ocelot controller has been added. You can now use the SECU-16, SECU-16I, and RLY8-XA modules. Support is enabled for reading digital inputs/outputs and analog inputs, setting digital outputs, and reading/writing the internal CPU-XA/Ocelot variables.

Additional support for the MR26A “mouse remote” has been added. Three new parameters in the pwrhome.ini file for this device are now available. You can now have the X-10 status screen automatically updated for devices with the status only flag set. You can also select which housecodes and X-10 controller you would like to have received commands automatically echoed to.

Seven new formula functions have been added.

    ph_postformula allows you to post a formula to the execution queue for later processing.
    ph_x10refreshstat will query the database and refresh the X-10 status screen. This is useful for when you use Direct SQL to update the X-10 statuses.
    ph_ocelotgetanalog will retrieve an analog input value from the CPU-XA/Ocelot.
    ph_ocelotgetdigital will retrieve the status of a digital input/output from the CPU-XA/Ocelot.
    ph_ocelotgetvar will retrieve the value of an internal CPU-XA/Ocelot variable.
    ph_ocelotsetdigitalout will turn a remote relay associated with a CPU-XA/Ocelot controller either on or off.
    ph_ocelotsetvar will set the value of an internal CPU-XA/Ocelot variable.

No changes were made to the database so a database upgrade is not necessary.



Whats New for PowerHome version 1.01.1

All fields that were not formulas but supported variable substitution are now formulas. This is a major change to a lot of macro commands. A number of commands that supported variable substitution only such as the TTS command required the user to first set a system or global variable to a formula and then place that system or global variable in the variable substitution field. These fields are all formulas now. The database upgrade utility will have already made this conversion for you by placing quotes around your variable substitution fields to convert them to formulas. This should handle the majority of fields but depending upon how the user set the field up, this may require some tweaking.

All Send Keys fields are now formulas. Previously, the only formula Send Keys field was in the macro command Send Keys with a type of formula. Previously, this was the only way to achieve dynamic Send Keys other than using the Send Keys command {global} or {system}. This change extends the power of the Send Keys field and allows truly dynamic Send Keys processing wherever a Send Keys action occurred. The database upgrade utility will have already made the conversion for you by placing quotes around your Send Keys to convert them to formulas. Some tweaking may be required on these fields as well.

PowerHome Server Pages (PSP). The internal web server now includes support for PSP. A PowerHome Server Page is an HTML file with PowerHome formulas embedded within. These formulas are evaluated before the page is served and replaced with the result of the evaluation. This allows the advanced user to create their own dynamic content tailored specifically to what they want to see and how they want to see it. The complete internal set of PowerHome web pages have been written as PSP pages and included in the PSP directory below the default web server directory as samples.

The variable substitution system variables ([X10P0] through [X10P5]) for the Multi-X global buffer have been expanded to access all 20 entries of the multi-x buffer ([X10P0 through X10P19]) and multi-x time buffer ([X10P0TIME] through [X10P19TIME]).

The local system variable for macros has been renamed from MACRO to LOCAL. MACRO still works but will be removed in a later version.

Send Keys and formulas now have access to their own LOCAL system variables.

The LOCAL and TEMP system variables have been doubled. The GLOBAL system variables have been quadrupled. The 5 MACRO variables (now LOCAL variables) have been expanded from 5 to 10. The 5 TEMP variables have been doubled for a total of 10. The 5 GLOBAL variables are now 20. The 5 data retrieval areas have been expanded to 10. All variable substitutions for these expanded variables have been expanded as well.

The internal mechanism of variable passing and storing has been completely rewritten. This should result in a slight speed increase.

A slew of new formula functions. Too many to list here but they all start with ph_ and can be found in Appendix A of the PowerHome users manual.

A new Control Center Design window with more options including drag and drop capability.

Support for the CM11A with fast macros loaded. Previously, PowerHome would not always interpret an incoming X-10 command properly if that X-10 command fired a fast macro stored within the CM11A. This should be fixed.

Virtual X-10 Codes. Housecodes Q through Z can now be declared each with unitcodes 1 through 99. These virtual X-10 codes behave just like real X-10 devices. You can use these instead of Global Variables and see them update in real time on the X-10 status screen.

Proxy server support for freedb and the geturl formula function.

Custom Colors. No longer are you limited to the same generic colors. Define up to 14 colors in whatever shade you like.

The PowerHome Explorer has a small facelift with the ability to set the color scheme. Spice up those dull maintenance screens.

Add horizontal and vertical scrollbars to Control Center tabs if you like.

Transparent foreground colors on Control Center buttons. Create truly transparent buttons so your background graphics show through.

Send Keys buttons have a separate Key Description from the ID now.

NOTE: The following Send Keys commands will be removed in version 1.03.1 as they have been replaced by equivalent formula functions.
{tts}
{delay}
{macro}
{global}
{system}
{setglobal}
{setsystem}
{directsql}
{launch}
{file}
{switchto}
{chggrammar}
{chgspeaker}
{ir}
{x10}
{x10-1}, {x10-2}, {x10-3}, {x10-4}, {x10-5}
{playlist}
{vrdisable}
{x10setstat}
{disconnect}
{connect}
{usermessage}
Please update your Send Keys code if you are currently using any of these functions. All of these inline commands have formula function equivalents which can either be processed during the formula evaluation of Send Keys or processed during the Send Keys interpretation by using the inline command {#}.

NOTE: The following formula functions have been renamed. The old versions still exist but will be removed in version 1.03.1. Please update any formula that use these functions.
f_findata renamed to ph_finddata
f_getdata renamed to ph_getdata
f_geturl renamed to ph_geturl
f_multix renamed to ph_multix
f_multixtime renamed to ph_multixtime



Whats New for PowerHome version 1.00.1

Background Pictures on Control Center tabs can now be Bitmap, GIF, JPEG, RLE, or WMF files.

New formula functions: acos, asin, atan, lastpos, f_multix, and f_multixtime.

The X-10 Status window within PowerHome now has control buttons the same as the web page.

Solved bug when doubleclicking newly entered rows in the Explorer not taking you to the proper child.

Expanded Multi-X capabilities: Multi-x buffer now stores last 20 incoming X-10 commands. Also multi-x buffers for each housecode which stores 20 commands. New f_multix function allows access to all buffers and all commands. New f_multixtime function allows access to the time component of multi-x. Original multi-x system variables still allow access to the first 6 commands in the global buffer. Macro command Clear X-10 History Variables updated to allow more flexibility with the new buffers.

New global system variables: [GLOBAL1] thru [GLOBAL5] are now available from within macros, sendkeys, and triggers. These new variables have global visibility.

Added export capability from within PowerHome Explorer. Email your favorite macros, etc to others.

Changes made to controller communication routines to handle rare bug with unknown characters.

Rewrote the communication routines for the MR26A controller to handle inconsistencies with the timeout value based upon triggers of variable execution time.

EMail control can now specify up to 5 restricted email addresses.

EMail control had a bug in the restrict sendkeys email address. The lookup was on the Email name. This has been fixed and the lookup is now on the address.

CDDB support has been dropped in favor of freedb support.

Macro commands Message Box and Input Box will now have the macro id as the title of the message box and input box windows instead of being blank.

The System Error message in the eventlog has now been implemented.



Whats New for PowerHome version 0.0.12

PowerHome has been rewritten and compiled in PowerBuilder verision 8.0.1. The good news: This is the latest version of the PowerBuilder development environment allowing for the use of the latest operating systems and features which were not able to be programmed in PowerBuilder 6.5. The bad news: You cant just upgrade your PowerHome executables and must install all the PowerBuilder 8.0.1 runtimes meaning a rather large download.

Added right-click to left pane of PowerHome Explorer. This toggles between hiding and restoring the Explorer tree view control and allows you to maximize your visible maintenance space.

Added the ability for the palm pad control to remember the last controller, last house, and last switch settings.

Added the ability to disable double-clicking in the detail pane of PowerHome Explorer.

Added a button to Explorer datawindows that have children. Single clicking will move you to the child just as if you had double-clicked.

Equipment list in Explorer window is now sorted.

Deleting rows in Macrodetail and Playlistdetail in the Explorer window will not change the displayed rows or your location. This was really annoying when deleting rows in a large macro several pages down.

New Eventlog events. System Shutdown, Critical Error, System Message, and User Message are new events that can be logged when enabled from the preferences screen within the PowerHome Explorer. System Shutdown is logged when PowerHome exits, Critical Error whenever a critical error occurs, and User Message can be any message a user wants from within a macro or sendkeys. System Message is currently not generated but will be used for non-critical errors in a future release.

New Sendkeys commands: disconnect, connect, and usermessage. Connect and Disconnect allows you to individually connect and disconnect any of the IR and X-10 controllers programatically. Usermessage will create an event in the eventlog.

New Macro command: User Message. Allows for the creation of a User Message event in the eventlog.

Additional voice recognition control settings in the VR screen under Setup in the PowerHome Explorer allows further tweaking of your VR settings. ECHO will ignore low level noise associated with your environment. Real Time adjusts the amount of time the processor uses for voice recognition. A value of 100 will use 1 minute of processor time for 1 minute of speech. A value of 50 will use 30 seconds of processor time for 1 minute of speech. Energy Floor allows you to compensate for noisy environments by raising the noise floor. A new hidden value is Threshold. When adjusting recognition settings, the threshold value would be lost when PowerHome exited. It is now preserved.

Changes to the internal webserver. Gone are the dim and bright buttons from the X-10 main page. They are replaced by an absolute dim button. Also, all pages that were previously queued are now auto refreshed.

When updating or refreshing data in the PowerHome Explorer, rows from the database will be re-retrieved. To see changes, you no longer have to click off of your current detail and click back. You can simply hit F5 or double-click to get the changes.



Whats New for PowerHome version 0.0.11

Completely rewritten X10 processing modules. Multiple X10 controllers are now supported as well as adding support for extended codes, preset dim, and status request commands. The X10 status screen now tracks all supported commands. Better support for a variety of devices including X10 modules such as the LM14A which has a memory for its last brightness level. Also support for a location field has been added.

More controllers supported. Support has been added for the CPU-XA/Ocelot for both infrared and X10, infrared support for the Red Rat 2, limited untested support for the Slink-e, support for the MR26A mouse remote, and updated support for the CM17A firecracker. Routines have been updated for all existing controllers including the CM11A, CIR, and Multi-CIR.

More connected controllers supported. PowerHome 0.0.10 only supported 1 X10 controller and 2 infrared controllers. Version 0.0.11 now supports up to 5 X10 controllers and 5 infrared controllers.

New maintenance interface. Gone are the individual maintenance screens. All maintenance and configuration is now performed via the PowerHome Explorer allowing you to rename and copy most entries as well as giving you an expanded view of your configuration rather than just one at a time.

More web interface functions. The internal webserver has received a minor face lift as well as additional functions. Now you can send any Sendkeys command as well as Direct SQL commands right from the web. Pull reports using the new SQL Select command. No more problems with viewing large eventlogs online. The eventlog page will display 50 events at a time and allow you to page forward, backword, jump to the beginning, end, or any page in between.

Improved Voice Recognition. Same engine but now you can create grammars using the same syntax as Microsoft Agent allowing you to create complex recognition possibilities. Also able to utilize complex grammars unable to fit within the PowerHome framework that are saved as files.

New System Variables and variable passing. Macros had 5 macro variables for internal use within the macro. Now triggers, sendkeys, and macros have 5 temp variables with variable passing. You can set values to a temp variable from within a macro and then call a sendkeys routine and access that value from within the sendkeys. That sendkeys could call another macro and that macro will now have the sames values in the temp variables. The same happens with triggers. When certain triggers are executed, some of these temp variables are pre-populated with trigger specific values such as a dim value, preset dim value, or an extended code. The macro or sendkeys called from the trigger will now have access to these values. In voice recognition, two of the temp variables will be populated with the voice command and the actual recognized voice phrase.

Choose whether you want the Control Center and X10 Status Screens to be treated as backgrounds or ordinary windows.

Choose whether or not you want to display a toolbar and where you want it displayed.

Events in the eventlog are now properly sorted. Previously, if multiple events happened almost simultaneously, the event log could not differentiate the proper order. Now all events are displayed in the correct order that they occurred.

Selectable eventlog logging. Choose which events you want logged and which ones you dont.

Send EMail to PowerHome. You can now enable whether or not you want PowerHome to check for EMail. EMail addressed for PowerHome can contain sendkeys sequences that you would like to have executed.

New sendkeys commands. Directsql, launch, switchto, file, system, setsystem, x10setstat, and comment are all new allowing the sendkeys command set much greater functionality.

New button controls for the Control Center. Now you can define sendkeys buttons which can be placed on any control center tab. Create a universal remote for all your components on a single tab without having to declare macros for each and every button.

New palmpad window. Quickly send standard X10 commands to any of the 5 X10 controllers just by pushing buttons like on a real palmpad.

New Global and System variable substitution and evaluation algorithm. Problems with nested variables containing single and double quotes are eliminated. System variables containing global variables are now properly evaluated.

New geturl function from within macros. Get the HTML of a webpage and parse its information from within macros. Have PowerHome announce the forecast for you.

New Triggers. New trigger types X-10 Out, X-10 RF In, and IR In. With the X-10 types, now you can trigger on All Units Off, All Lights On, All Lights Off, Extended Code, Preset Dim, and when a unit is addressed. All this in addition to the standard On, Off, Dim, and Bright.