News 11-07-2014

Internet Explorer will drop cookies with domain names that are not RFC-Compliant Domain Names. For example my_domain.foobar.com.  The underscore in the domain name is not RFC-Compliant. 

Version v.11.61 (bash): July 2014 Download It Here!
1. Fixed text saving issue with some newer versions of Bash

Known Issues:
HTML range sliders on webkit mobile browsers and tablets are quirky and normally do not submit correctly unless pressed in just the right location.
This has been a known issue for sometime with webkit and only work around is to use html4 dimming.





Older Stuff

Version v.11.60 (bash): 01-21-2014
1. Added Heyu Log Control With Backup.
2. Camera Streams are fixed in this release.
3. Music Player is more polished and browser friendly.
4. Too many bug fixes and updates to mention.


Beta v.11.59.8_beta (bash): 07-28-2013
1. Updated download to include both bash and python 
2. Added camera URL configuration to the interface
3. Added Read Me to the top level directory.
4. Increased the text input size.
5. Added music player interface.
Known issues: 
1. Camera streams can crash webkit browsers.  Harmless but annoying bug in webkit
   * -  This is actually fixed in the the Nightly Build

2. HTML range sliders on webkit mobile browsers and tablets are quirky,  and normally do not submit correctly unless pressed in just the right location.
This has been a known issue for sometime with webkit and only work around is to use html4 dimming.

Stable  v.11.59.6 (bash) Dec, 2nd 2012
1. Rename config to overrides in header.cgi
2. Moved enginestate function to alerts.cgi.  Fixes some permission alerts not functioning correctly.
3. Removed ajax alert if status code was 200


11.59.5 Latest stable release ( bash ) Nov, 27th 2012
1. Fixed dimming bug when dimming with HTML5 and below 40% would cause dimming to break ( bash only bug...python version okay ).
2. Update to current bash syntax for certain elements for newer version of bash compatibility. e.g., ${value//;/ } not ${value//;} to allow carriage returns in cookie headers.


Beta v.11.59.4_beta (bash): 
1. Added readonly to table data where editing is not needed, e.g., manual pages, top, x10 shedule report file.  This makes a big difference in speed and memory for mobile browsers that automatically pop up the internal keyboard for editing.

11.58 ( bash ) Aug. 20th 2012
Tweaked css info font size property. When greater than 10 buttons are kept together better. Odd.
Removed on/off status from buttons because dimlevel already shows the status and it was interfering with sensors.
Fixed multiple units/ alias not working
Use webhook config_dump to get alias, scenes, and usersyns.  Increases speed and easier to code.   Because of this we no longer need range() tweaks.
Use javascript to test html5 elements.  Because of this we no longer need html5/4 settings in control panel.
Use less complicated tables to manage button layout.  Because of this we no longer need static column settings in control panel
Fixed the way we process multiple alias codes, e.g., E1,2,3  Did not recognize E11,12,13 codes
Added margin width to the css properties of heyu_style.css to adjust the button rows so only three buttons max are viewed on any screen size.
Changed title link from cron_frontend save all button to plain text.
Slightly decreased default button css size so to fit better on smaller screens.
Fixed Alias button table row error causing tables rows to skip 2 buttons
Removed test for older versions now that we test via cookie
Increased css right margin to 150px.  This should help button rows wrapping properly with larger screen sizes but not adversely effect smaller screens >=1024X768
Updated the apache_readme file
Updated F.A.Q.s on the web site.
Fixed a small bug that was not wrapping the first row of buttons when hide scenes was true and html rheostat was true.
Fixed house_code_range not working if uppercase codes were not used.
Fixed static column bug.
Fixed alert_user bug when resetting cookies.  On restart would show alert message even though user had reset cookies.  
Added sleep 3s to heyu restart function.  The previous restart function was not allowing enough time for heyu to clean up.
Added meta refresh when switching from compact theme back to default theme.  This clears the query string from the url which in some cases can cause conflicts between the script when auto refresh in on.   


v.11.55 July 5th 2011
Major fixes:
1. Fixed Android webkit / malformed header bug. 
2. Added a test restart function to fix an unknown bug causing heyu to hang when heyu is restarted.
3. Corrected HTML layout so buttons correctly wrap to screen size
4. Removed javascript onclick event from example() in control_panel.cgi basic_button.
5. Updated x10config schedule file directive to be omitted.
6. Fixed auto_refresh reading QUERY_STRINGs in the URL
7. Added option to auto refresh all modules
Minor Fixes / Updates
1. Added support for BMB Electronic smoke alarms, Oregon, Digimax and Rfx sensors.
2. Changed heyu restart message.
3. Removed slider.js from javascript as this was never implemented.
4. Updated $time stamp variable
5. Moved sensors to sensors.cgi
6. Updated cookie overrides.
7. Updated and moved latitude and longitude directive to top of x10config.
8. Fixed typo low_battery_msg in sensors.cgi
9. Added User_Agent_Override.cgi
10. Added test for read/write permissions of TTY_Aux port
11. Fixed Query String test error when in compact mode and crontab was called
12. Fixed null string error when User Agent Override was called
13. Added heyu reload and heyu restart to Control Panel
14. Enabled verbose mode when doing heyu reload and heyu restart
15. Added All off A-P, Control Panel and Refresh buttons when viewing show_all_modules
16. Added auto refresh override in the tweak menu when viewing all modules
17. Added test of heyu version via cookie to alert user.
18. Added static column size option.  Especially useful when dimming is enabled, otherwise not so much.

v.11.54 March 25th 2011
1. Broke up the script into separate sources to simplify the overall project.
2. Moved major source codes to new CGI folder 

v.11.53 March 3rd 2011
1. Added test if TTY port is readable and writable

v.11.52 March 2nd 2011
1. Added test of x10state engine is running for initial startup.  Fixes warning

v.11.51 March 2nd 2011
1. Added test for $x10sched before reading into temporary var.  Fixes warning for initial startup when no $x10sched file exist.

v. 11.5 Feb 27th 2011
1. Fixed open form tag in alert function that test for ownership of heyu. 

v.11.4 Feb 20th 2011
1. Fixed show_all_modules not showing when auto_refresh was enabled. Also changed default refresh rate to 10.
2. Updated javascript files to load in the browser cache.
3. Updated the refreshInterval handler.
4. Added alert window using tinybox javascript when either x10config or x10shed files are changed.

v.11.3 Feb 19th 2011
1. Fixed table alignments caused from a typo.
2. Added cookie delete function to the tweak menu.  Also added it to the alert when old cookies are detected.
3. Change show_all_modules housecode and unit range back to default.  
4. Fixed initial startup showing blank screen due to null cookies

v.11.2 Feb 17th 2011
1. Removed erroneous "Height" from html headers
2. Moved test for bash4 to top of script to avoid any unwanted outcomes before the test should runs.

v.11.1 Feb 17th 2011
1. Fixed sub1cookie being overwritten by sub2cookie causing the "button" menu to fail

v.11 Feb 17th 2011
1. Added new overrides to the config.  
2. Added tweak menu
3. Fixed House code ranges and added Unit number ranges
4. Moved debug script to tweak menu
5. Added meta no-cache and expire tags to help stop browser caching
6. Fixed incorrect detection of old cookies

v.10.19 Feb 15th 2011
1. Adjusted html properties for moble html4 button height.

v.10.18 Feb. 15th 2011 
1. Changed default value of Show_Aliases cookie to True. 
2. Changed control panel exit button to match the save buttons css.
3. Added page break to correct mobile view of html 5 range sliders.
4. Implemented Auto-detection for incorrect bash version.
5. Fixed auto refresh bug.
6. Added initial check for ownership of heyu so we don't have any user conflict.
7. Added "Embedded Systems" menu to cut back on overhead for embedded systems.
8. Added rheostat option to the mobile config.
    

v.10.17 Feb. 10th 2011 
1. Added X10KAKU to the manual pages.
2. Implemented subcookies to work around certain browser cookie limitations.
3. Added HTML 5 rheostat controls.  Tested to work on Opera 11, Safari and Chrome.  Firefox maybe on bleeding edge though not sure yet. 
4. Added HTML 4 rheostat controls.  This should work on all browsers.
5. Moved static debug var into subcookie.

v.10.16 Dec. 30th 20010
1. Fixed cron_frontend.cgi from not saving because of bad query_string test strings
2. Fixed several query_string tests strings not working
3. Removed old code in the show_all_modules function
4. Tidied up HTML and CGI

v.10.15 Dec. 27th 20010
1. Fixed typo bug from showing x10schedule file

v.10.14 Dec. 27th 20010
1. Removed exclude filter from show all modules

v.10.13 Dec. 26th 2010
1. Minor css improvements.
2. Xitami package is reinstalled.

v.10.12. Dec. 22nd 2010
1. Updated the Scenes to include css definitions which fixes rendering while in mobile mode
2. Updated mobile css file to render better
3. Fixed "example" buttons background
4. Fixed Mobile Control Panel rendering
5. Fixed auto refresh while in mobile mode
6. Fixed Hide Popup javascript error when in moble mode and hide status popup is True

v.10.11 Dec. 17th 2010
1. Added mobile.css when mobile device is enabled which helps the user edit their own css when viewing on mobile devices
2. Added Show Aliases, Show Scenes and Show Config to mobile options
3. Updated a lot of the css properties.

v.10.10 Dec. 16th 2010
1. Removed Mobile User Agent from mobile settings as this was not necessary.
2. Fixed button settings not be stored in cookies
3. Moved default mobile settings out of config file and into the new look & feel mobile menu
4. Added test for manpage string to halt debug function spitting out warnings.  Not sure how to fix this one yet.

v.10.9 Dec. 15th 2010
1. Updated top.cgi and manual page textarea to readonly
2. Fixed case issues with Aliases, Scenes and Usrsysns 
3. Added Usrsyns ( is populated with Scenes )
4. Added a quick dirty debug function.
5. Added better support for CSS defined by css file and thus remove a lot of cookies that used to handle css functions
6. Added quick and dirty GUI friendly mobile settings
7. Removed Xitami package from download site
8. Added option to "Exclude" Aliases and Scenes from control panel by commenting the Aliases or Scene with the word #Exclude
9. Changed icon of the old "User Config" button and renamed to "Look & Feel"


v.10.8 Oct 25th 2010
1. Added path_to_report.txt to Interface Config.  This fixes the static path bug found by Luke when not using heyu config in root directory.
2. Increased default textarea width to 650 to fix some browsers not displaying manual pages properly. 
3. Changed default button width and height back to 32px as this is easier to read.
4. Changed Font_Family_* variables to Sans-serif only as this helps reading the User Config when first started and the default width is 650px.
5. Updated the Apache readme as follows: 
    - Added authentication example to the apache readme 
    - Reminded user that http://localhost is default
    - Reminded user .htaccess file is in heyu interface root directory for convenience.
6. Added UTF-8 support to the help & examples manual link under Control Panel / Schedule menu.
7. Changed show(this.value) to show(null) for control panels save button.  
8. Changed compact theme label 'Favourites' to 'SCENES'.
9. Fixed a bug in the way strong quotes are parsed through alias comments in Control Panels Config e.g., # This comment uses "strong" quotations.
10.  Fixed bug not allowing white spaces in pathnames e.g., path_to_x10config   /filename with spaces/x10config
11.  Gave testing of heyu engine better priority which fixes initial startup delay and errors of heyu engine not running. 
12.  Added button class to show_all_modules 'Return to Default View' button.  This correctly renders the button as defined by the css.
13.  Added normal mode and expert mode to the 'User Config' in Control Panel to simplify and prioritize the most important variables. 

v.10.7 ( Sept. 29th 2010 )
1.  Updated the restart function as the old one did not work

v.10.6 ( Sept. 29th 2010 )
1.  Updated the heyu restart function.  Added another restart instance to counter heyu lockups.  
2.  Corrected closing header tags on Scenes and Aliases. Chrome did not like the open header tags

v.10.5 ( Sept 8th 2010 )
1. Added  UTF-8 encoding to the manual pages to preserve character encodings in web display
2. Added #ALIAS A16 to config file.  This is reserved for Scene Water ( 20 min) and should not be used for any other purposes or Aliases.  
3. Added table class=button for the example button.  Fixes example button font not displaying correctly 
4. Fixed hiding status popup when clicking scenes while not in mobile view.
5. Rename Favourite  back to Scenes, changed case to all caps and lowered font size by 1, Increased CP_Text_Area_Width to 625px
increased button sizes to 42
6. Added javascript Status(); back to a Control Panel buttons that I removed while back.
7. Fixed a bug in the Control Panels "More" Focus script which would cause it to display incorrectly when a strong quote was submitted via X10config
8. Added new SCENE "Water_Level" and reserved A15 for activating the Scene via a heyu script. This is for my own personal use as I occasionally need to top off my pools water level.  The script is:
SCRIPT A15 on anysrc :: heyu turn B1 on && sleep 60m && heyu turn B1 off 
Now A15 is reserved because housecode A is often the default code in most X10 controllers, thus keeping one from having to switch the dails to a different house code.  Generally reserve numbers between 9-16 as they are not as common as say 1-8 on X10 controllers.   As a side note the script uses the GNU utility "Sleep" which I believe is mandatory on all Linux distributions. 


v.10.4. ( Aug 16th 2010 )
1. Updated control panel button "more/less" to stay in focus when top.cgi is running 
2. Added new icons for some control panel buttons
3. Fixed exit button in Control Panel when viewing in compact theme mode not working
4. Removed 'Theme Default' from compact theme options as it is better to change themes via Control Panel
5. Found some unnecessary html tags and removed.
6. Changed permissions of img files to -x+rw to work around Xitami not handling previous +x permissions
7. Updated the focus of more/less relative to QUERY_STRING but will eventually allow HTTP COOKE to manage the focus

v.10.3 ( July 6th  2010 )
1. Added X10RFXMETERS, X10DIGIMAX,  and X10OREGON to the manual pages
2. Updated the restart function ( please beware this may still crash heyu though I've not had it crash since my last update. ) 
3. Added a new feature "top" in the More options in Control Panel.   When you have "top" installed it will show you, um top

v. 10.2 ( June 19th 2010 )
1. Updated the restart function as it was catching errors too soon.
2. Updated crontab.cgi buttons
3. Removed crontab user from config. Default is www-data in crontab.cgi
4. Removed the xitami temp file option.  
5. Code clean up
6. Removed Debug_QUERY and and View_USER_AGENT from User Config

v.10.1 ( May 19th 2010 )
1. Modified x10config to use anysrc on the included script example

v.10.0 ( May 18th 2010 )
1. Code clean up
2. Edited config comments
3. Updated Control Panel Sched buttons
4. Hide crontab button if crontab.cgi does not exist
5. Removed examples from x10scheld file
6. Added manpages to Control Panel
7. Added button height=25  to compensate for Opera resizing the new manpage buttons

v. 9.9.9 ( April 20th 2010 )
1. Changed layout of Control Panels "More" function to show on current page making transitions smoother.
2. Added table to Control Panels Interface info function to correctly resize the table to the users defined width.
3. Edited the Interface config comments.
4. Changed the default fonts around a bit.
5. Renamed Scenes to favourites and Modules to Aliases

v.9.9.8 ( March 3rd 2010 )
1. Removed expires:0 from header and meta tag cache control ( I thought adding these tags would be helpful but can't remember why I added them and they don't really help. So they're gone )
2. Added closing table tag to help and update iframes ( fixes the white border on the bottom )
3. Changed the Heyu Restart icon back to original recycle icon.  ( I prefer the recycle icon in case you cared to know why )

v.9.9.7 ( Feb 24th 2010) Beta
1.  line 1000: changed $Show_All_Modules_Height to '20'

v.9.9.6 ( Feb 24th 2010 )Beta 
1. Fixed line 1121: improper order of displaying comments in QUERY_STRING when viewing compact theme

v.9.9.5 ( Feb 24th 2010) Beta
1. Merged Adams changes
  1. A few more IE fixes and some W3C compliance changes.
  2. added DOCTYPE and document encoding tags, added alt= to image tags removed height attribute from table tags
  3. removed form tags removed span tags changed main page buttons from type submit to type button added button class
  4. to css changed the way auto_refresh works moved auto_refresh()  to ajax.js disabled auto refresh on mobile devices.
  5. lots of little changes to make IE behave while running in compliance mode.

v.9.9.4 Beta
1. Updated the Interface comments and rearranged the name/values.  
2. Changed default height of textarea to 400px

v.9.9.3 Beta
1. Added textarea css.  This keeps all textareas the same size throughout the script  This also applies to the iframes.
2. Because of the change in $ctaw and $ctah values I had to add a test condition to update the values
3. Updated default values w/ the suffix 'px' e.g., Button Height  32px

v.9.9.2 Beta
1. Previous version I commented out all the Phone User Agents e.g.,  '#Phone1_User_Agent             Android'.  This caused a problem in reading all user agents and the script defaulted to mobile view regardless.  In this version, I put the comment on the value itself e.g., #Android.  This solves the issue.

v.9.9.1 Beta
1. Moved Interface info and heyu info buttons to 'more' menu
2. Moved help button to main menu
3. Changed help button to load iframe from main site
4. Disabled phone_user_agents as default
5. Merged Adams ajax.js changes
  1. added error handling
  2. tries newer Msxml2.XMLHTTP Active X object
  3. fixed HTTP POST, solves PS3 browser crashing.
  4. tested with:
  5. IE6 - XP SP2, IE8 - Win7, Chrome, Firefox, Android, PS3
Thanks Adam!

v.9.9.0 Beta
1. Fixed crontab bright and dimming settings
2. Removed test for action/bright/dimming in crontab
3. Removed xitami debug.
4. Removed path_to_xitami and  fixed xitami not deleting temp files
5. Changed bash ./cron_frontend.cgi to bash -f ./cron_frontend.cgi to prevent bash globbing

v.9.8.9 Beta
1. Added test condition if User Agent is *Opera* so as to not set Cookie Show_All_Modules_Height and Show_All_Modules_Color.  As of now I suspect Opera is having issues when these particular cookies   In the past I've notice Opera to handle cookies oddly.  So will just have to see what can be done.
2. Updated Help
3. Reset permissions on files

v.9.8.8 Beta
1. Fixed line 780:  \"show('Action=X10Config')\'> should read \"show('Action=X10Config')\">


v.9.8.7 Beta

~ Starting now and w/ future releases the title "Beta" or "Stable" will be in the heading of the change logs

1. Removed .textarea_styled
2. Merged Adam's changes
ajax.js
  1. added statusdestroy()  before  "alert ("Your browser does not support AJAX!")"
progressbar.js
  1. added code for IE
  2. added catch(err) {alert(err);} for debugging
  3. reordered if else statements to depreciate older browsers
phone.js
  1. changed to a more compatible  innerHTML
  2. added catch(err) {alert(err);} for debugging
heyu.cgi
  1. commented out line 315 MSIE to use compact theme
  2. changed progress CSS for IE compatibility
  3. changed show(this.value) to work around IE bug
  4. added option to show modules for phones
config
  1. added Show_Module

3. Add scrollbar to update textarea
4. Changed $((d++)) to ((d++)) to have less subshells
5. Changed $Show_All_Modules_Height in show_all_modules back to Height:20
6. Fixed # commit bug when sharing x10config between domus.link and heyu web interface
7. Added expires: 0 to the header to prevent caching
8. Added and to prevent caching
9. Added Show_All_Modules_Height and Show_All_Modules_Width to Interface Info
 
Known bugs ( some new some old ):
  1. Internet Explorer does not handle cookies the same way as other browsers, therefore some buttons wont work
  2. Opera has an interesting glitch handling the cookies Show_All_Modules_Height and Show_All_Modules_Color
  3. Restarting heyu not always but sometimes will lockup.  Only remedy is to manually kill heyu
  4. Auto Refresh sometimes causes anomalies , e.g., buttons turning off/on when they should not.  This is a harmless side effect of the two ajax threads competing w/ one another.  Its on my things to fix list but on the bottom of the list.
  5. Crontab dimmer/brighter settings are broken


v.9.8.6 (  Feb 14th 2010 )
1. Unset QUERY_STRINGS after scenes
2. Change value of $n to 0 and test if -gt 0 instead 1 for main()
3. Added function to get greatest value of $name in determining white spaces in user config
4. Unset var after javascript vars are called
5. Added comma after day of the month in timestamp and replace question mark if date was null w/ N/A

v.9.8.5 ( Feb 14th 2010 )
1. Put show_all_modules html code in a loop
2. Added 'show all modules color' and 'compact theme width' to user config
3. Made new variable' Show_All_Modules_Height'  and added to user config
4. Renamed some of the comments in the interface config to reflect the interface configs purpose

v.9.8.4 ( Feb 12th 2010 )
1. Fixed show all modules. variable not set correctly

v.9.8.3 ( Feb 12th 2010 )
1. Updated User Config to have tabbed spaces between the string and value.  This makes reading and editing the values a lot easier on the eyes.

v,9.8.2 ( Feb 12th 2010 )
1. Minor code clean ups
2. Added User Config Button in x10schedule button menu
3. Fixed phone button height variable
4. Moved example button to right side of save button.
5. Merged Adam's phone.js update
6. Updated the help file

v.9.8.1 ( Feb 10 2010 )
1. Taking a break from coding.  Hopefully this will be the final update for a while

v.9.8.0 ( Feb 10 2010 )
1. Fixed heyu_refresh_rate

v.9.7.9 ( Feb 10 2010 )
1. Updated Cookie Function to store fewer files, some that were conflicting w/ the Control Panel variables.
2. Updated Hide_Status_Popups

v.9.7.8 ( Feb 10 2010 )
1. Merged Adam's changes
added some animation to phone progress layer (see please_wait.html for example)
fixed hideURLbar java script
moved phone javascript to javascript/phone.js
moved progress layer to html body
cleaned up CSS, javascript area.
moved progress layer down a little

2. Fixed example button displaying status when  show_on_off_status was set to False

v.9.7.7 ( Feb 10 2010 )
1. Fixed button width and height not being initially set
2. Fixed $Font_Color_Button_Name
3. Changed $pa to $Page_Align and fixed not being initially set

.9.7.6 ( Feb 10th 2010 )
1. Hide debug and User Agent info when show_all_modules is True
2. Show A1 in Example Button
3. Added new icons for User Config, Compact,  Crontab  and Restart Buttons
4. Cleaned up .textarea css
5. Changed font-color to color in css .info
6. Fixed font labels in New Cookie Funtion
7. User Config can now set Control Panel css
8. Renamed variables for Control Panel css editing

v.9.7.5 ( Feb 10th 2010 )
1. Fixed Show All Modules, Change Theme and Auto Refresh not working in v.9.7.4

v.9.7.4 ( Feb 10th 2010 )
1. Rewrote Cookie Function to use less lines of code which now accomplishes the same thing more efficiently.
2. The User Config option in control panel now includes more options to configure.
3. Use bash brace expansion in favor of array 'x y z'
4. Added Hide_Status_Popup on mobile phone settings
5. Added example button
6. Removed User_Agent, User_Theme and Default_Theme options as User Config now replaces theme
7. Added again Debug_QUERY option
8. Fixed page align variable $PA to $pa
9. Fixed User Config button from not appearing after pressing save
10. Moved View User Agent to footer

v,9.7.3 ( Feb 8th 2010 )
1. Fixed auto refreshed
2. Increased width of textarea when checking for updates
3. Looks like Google Chrome's latest version supports ajax embedded in iframes so checking for updates works w/ Chrome now.
4. Oops! Show_QUERY_STRING was accidentally left out and seems it was never put in v.9.7.2 

v.9.7.2 ( Feb 8th 2010 )
1. Updated the recommendations when heyu fails to restart to include possible syntax errors in x10config
2. Fixed crontab.cgi exit button from carrying QUERY_STRING while existing
3. Added Show_QUERY_STRING option in interface config for debugging
3. Added new button "User Config" in control panel.  This adds ability to save settings independent of main config through cookie files ( width and height of text area  )
4. Merged Adam's changes:
1. Moved progress layer code from progress.js to heyu.cgi, The Android mobile browser was not
displaying the animated gif correctly so it needed to be written dynamically based on the user agent
2. I wanted to add font sizing for mobile browsers, the easiest way was with CSS, it worked so well
I extended it to the rest of the script and removed all the
3. Moved the hideURLbar code from the body tag to the block of code that writes the progress layer.
4. Added very subtle white drop shadow to the text on the site.
5. Added background color and a nice rounded corner box with drop shadow to the progress layer,
if you prefer it transparent  you can edit the CSS for the progress layer. the CSS stuff should work
on most browsers except internet explorer of course.
Thanks Adam!


v.9.7.1 ( Feb 6th 2010 )
1. Fixed bug version 9.7.0 in control panel exit button from reading query_string

v.9.7.0 ( Feb 6th 2010 )
1. Fixed showing cookies in the control panel while viewing interface variables
2. Adjusted order of  script function to achieve better performance while viewing show all modules
3. Adjusted html layout of show interface variables
4. Added sub-directories "readme" and "javascript" to tidy up the heyu_cgi folder
5. Adjusted the html layout of the control panel buttons and images
6. Adjusted the help file be easily read from any text editor and relocated into new readme  folder
7. Moved other text files that are non directly related to the function of heyu.cgi to the readme folder
8. Relocated javascript files to the new javascript folder
9. Incorporated Adam's Mobile phone settings which is designed to work w/ the Android and iPhone based mobile phones.
10. Incorporated Adam's x10sched path fix which allows it to be configurable in the control panel
11. Incorporated Adam's .htaccess file for those who use .htaccess
12. Cleaned up the bottom control panel hiding save button function

v.9.6.9 ( Jan 23rd 2010 )
1. Changed the restart function to print friendly error message and provide better help/restart info.
2. Changed the upload function to print friendly error message and provide better help/upload info.
3. Changed $ua to read all the elements in the array. This is just for user agent over rides which nobody ever uses.
4. Updated the x10schedule file w/ a new timer and better details/info.
5. Added HTTP_COOKIE variable to interface variable in control panel.  We can now see http cookies, waahoo.
6. Changed html width in control panel and tables to look a little better.

v.9.6.8 ( Jan 4th 2010 )
1. Fixed show_all_modules not working when aliases where higher than 10 due to $m variable not being unset.  Special thanks to Martin Desormeaux for pointing this out.
2. Removed 'Cancel' button from control panel as it was redundant
3. Using 'unset $var' instead of var=$null as this is logical
4. Removed background image from help menu and set width to 100%

v.9.6.7 ( Dec. 21 2009 )
1. Finished updating the control panel buttons ( reverted to old style )
2. Added test if report.txt exists and to inform user if it doesn't
3. Removed xitami variables from interface info if not using xitami
4. Html clean ups in control panel
5. Discovered Linux Chrome may not display the update page for reasons unknown.
6. Updated the help page a little and added some Unicode characters for fun ( removed Unicode characters )
7. Removed path_to_xitami from config file as this is discovered automatically w/ $CGI_ROOT
8. Increased the default width of the control panel textarea
9. Increased the default width of the update frame.

v.9.6.6 ( Dec. 16th 2009 )
( Mainly Xitami specific changes )
1. Changed images from executable to non executable.
2. Change xitami defaults.cfg to use root account and not www-data
3. Removed $Path_To_Xitami  and set static variable w/ $DOCUMENT_ROOT
4. Control Panel has unfinished buttons at top.

v.9.6.5 ( Dec 9th 2009 )
1. Fixed error in exporting crontab_heyu_user variable
2. Fixed error in crontab.cgi echoing carriage returns at beginning and end of file

v.9.6.4 ( Nov. 26th 2009 )
1. Added testing of heyu restart to see if heyu is actually owned by us.
2. Moved heyu restart button to left column
3. Changed $'\n' to \n in $decode to avoid misreading URL encoded carriage returns as single quotes 
4. Changed download URL to dynamic to prevent browser caching

v.9.6.3 ( Nov. 26th 2009 )
1. Fixed html syntax issues with variables and white spaces
2. Added interface info in control panel to view variables

v.9.6.2 ( Oct 16th 2009 )
1.  Removed $(#select_house_codes) from cron_frontend.cgi as it was generating an error w/ bash version 4.*

v.9.6.1 ( Oct 14th 2009 )
1.  Fixed Exit button in crontab cgi w/ Firefox
2.  Removed minimum  of 5 seconds for auto refresh
3.  Fixed interface config not allowing white spaces
4.  Fixed $USER_AGENT override not working

v.9.6 ( Oct 12th 2009 )
1. Fixed bash globbing w/ bash builtin -f 
2. Fixed crontab cgi not existing on first try

v.9.5.9 ( Oct 9th 2009 )
1. Moved heyu restart in place of exit button in control panel
2. Moved exit button to left column in control panel
3. Control Panel is no longer disabled when auto refresh is on
4. Added minimum  of 5 seconds for auto refresh

v.9.5.8 ( Oct 3rd 2009 )
1. Cleaned up the ajax javascript code.
2. Fixed compact theme not working w/ All off/on
3. Changed background color to white while checking updates

v.9.5.7 ( Sept 26th 2009 )
1. Updated the control panel layout
2. Fixed duplicate displays of control panel when saving interface config
3. Updated the interface config layout
4. Added page alignment to interface config
5. Added heyu restart to Control panel
6. Changed Autorefresh to seconds instead of 1000th of a second in interface config

v.9.5.6  ( Sept 16th 2009 )
1. Updated Control Panel Tabs when saving X10config to not show schedule buttons
2. Fixed a bug in the control panel when saving data ajax would display the default screen and the control panel screen.
3. Changed help background color to white
4. Added "heyu_refresh_rate" to Interface config
5. Added $(($hrr / 1000)) sec. to display the heyu_refresh_rate

v.9.5.4 ( Sept 14th 2009 )
1. Changed submit method for show_all_modules "return to default view" button to work w/ ajax auto refresh a little nicer
2. Changed Control Panel font color to grey when ajax auto refresh is enabled.
3. Added some more help info in the help section.
4. Removed the non-ajax refresh button
5. Changed x10 shedule check to x10 schedule report in Control Panel

v.9.5.3 ( Sept 13th 2009 )
1. Fixed control panel buttons not showing shedule buttons after a shedule was saved.
2. Fixed single unit aliases with no module type not being displayed.
3. Updated compact theme to use control panel and updated control panel to reflect the current themes status.
4. x10 shedule file was misleading... updated.
5. Updated crontab html buttons to align properly.
6. Removed unnecessary onsubmit tag from Scenes.
7. Cleaned up the progressbar.js by changing Statuscreate() to status().
8. Updated control panel css styles to hide scollbars w/ *cp_options*
9. Added auto refresh ajax. default is 10 seconds
10.  Added button to turn off auto refresh ajax and disabled control panel button if enabled.

v.9.5.2 ( Aug 18th 2009 )
1. Cleaned up progress bar javascript.
2. Updated the control panel with more options
3. Added html fix for opera w/ $show_all_modules

v.9.5.1 ( Aug. 14th 2009 )
1. Fixed $Path_To_Xitami if null to point to correct path
2. Added progress bar for ajax
3. Added control panel
4. Replaced some of the submit buttons with button tags to work w/ ajax
5. Removed ALIAS examples in x10 config
6. Renamed reload button to refresh
7. Renamed javascript.js to ajax.js
8. Known problems: Ajax sometimes causes a "race condition".  This  is when two concatenating threads compete w/ one another.  Your apache error log will read "echo: write error: Broken pipe".  This is harmless and I have yet to find a solution.

v.9.5.0 ( Aug 4th 2009 )
1. Fixed error in not showing javascript for compact theme

v.9.4.9 ( Aug. 4th 2009 )
1. Tweaked the ajax code as it was causing broken pipes in apache error logs
2. Fixed the macro cron.cgi from inputing selections as modules
3. Updated script to not use cookies w/ Internet Explorer
4. Javascript is now in separate files and only called when needed.
5. Added $Path_To_Xitami for running xitami in a different webroot then the default.

v.9.4.8 ( July 31st 2009 )
1. Fixed form buttons not displaying correctly w/ firefox
2. Fixed crontab cgi not informing the user when a selection and/or action is required
3. Removed old css styles
4. Added housecodes to $show_all_modules all on/off buttons
5. Scaled down the icons to fix distortion
6. Took new screenshots
7. Deleted icons from previous versions

v.9.4.7 ( July 29th 2009 )
1.  Added config $USER_AGENT and $USER_THEME to override default theme
2.  Fixed config error Default_Theme "Compact" should be lowercase "compact"
3.  Added strong quotes to echoing $QUERY_STRING during scenes to prevent possible bash globbing
4.  Fixed a lot of html tag mistakes
5. Added ajax support.
6. Updated button tags to support ajax
7. Updated cron cgi to work w/ ajax
8. Added help button to add help manual
9.  Added option to view $USER_AGENT in interface config
10.  Renamed $User_Agent to $User_Agent_Theme
11. Added the reload button again as it works good w/ ajax
12. Updated the "Update" button to use ajax

v.9.4.6 ( July 17th 2009 )
1. Added option to set Default_Theme in Interface config
2. Removed test [[ $reload heyu ]]
3. Set cookie date for longer than one day
4. Added disable html tag to "save" button in x10schedule editor
5. Added disable html tag to "save" button in x10config editor
6. Removed test [[ *wizard* ]]
7. Fixed crontab menu that isn't showing ALIASES that have multiple modules codes
8. Updated Apache help on adding chmod o+rw /dev/ttyS0 to /etc/rc.local
9. Fixed layout when showing Show_Module_Type was True
10. Fixed $show_all_modules for units greater than 9 not working.

v.9.4.5 ( July 8th 2009)

1. Added compact theme.
2. Updated Show_All_Modules_Color to correctly show the intended color
3. Added support for Internet Explorer w/ compact theme

v.9.4.4 ( July 8th 2009)
1. Added support for themes ( though no themes available yet.  - Will eventually  make Internet Explorer workable.)
2. Fixed an error w/ $show_all_modules
3. Updated layout of $show_all_modules
4. Added all on/ all off for $show all modules
5. Removed Refresh button
6. Removed Vote button
7. Added more css controls in the interface config menu
8. Updated the apache readme
9. Added support for removing crontab user for those switching to apache
10.  Added ALIAS support for multiple unit assignments, e.g., ALIAS Porch_lights A1,2

v.9.4.3 ( July 4th 2009 )
1. Updated crontab.cgi to print examples if $file did not exist.

v.9.4.2 ( July 3rd 2009)

Updated crontab.cgi ro reload the $user $file correctly

v.9.0 ( June 16th 2009 )
1. Fine tuned the button styles
2. Updated the macro layout to show current date and time in a easier to read format
3. Fixed check for updates button
4. Added css to some of the button values
5. Addressed an issue w/ certain phones the modules would report w/ (no_title) - fixed
6. Tidied up the script

v.08.9 ( June 2009 )
1. Removed Password function
2. Added bigger clickable buttons
3. Removed compact theme
4. Used new html button tag for buttons
5. Updated the scene function

v.08.8 ( 5-2-09 )
1. Fixed Username/Password. Did not save correctly.
2. Added access control via IP Address

v.08.7 ( 4-29-09 )
1. Removed macro features to own cgi file for those who just want to d/l the heyu.cgi
2. Finished updating the heyu.cgi to be entirely in bash, that means no grep, cat, awk or sed. W/ the exception of using the $Xitami_Temp variable in the config file which manually removes temp files that the xitami server stores.
3. Changed the show all modules function
4. Changed the scene function to not use Scene_1 Scene_2
5. Added username/password function for accessing the heyu server w/ third party software that does not do well w/ HTTP Authentication
  An example would be remotely controlling modules via a keypad (no monitor) that is hot-linked to the server.  
6. Fixed the theme function to not auto refresh.
7. Fixed an error in reading the config. #EOF is no longer needed

v.08.6 ( 2-9-09 )
1. Updated config file. Needs #EOF at the bottom for crontab to work.

v.08.5 ( 2-9-09 )
1. Fixed all units off/on Housecode assignment
2. Improved cookie function and fixed where it would not work if another cookie domain existed
3. Removed some unnecessary stuff and cleaned up script.
4. Fixed a nasty little glitch which was causing the cron file to carriage return empty lines.
5. Rewrote a lot of the script to use Bash builtins and not sed/awk/cat/grep for speed and less problems

v.08.4 ( 1-26-09 )
1. Added simple theme cgi
2. Removed default theme
3. Removed drop menu from config ( not needed w/ simple theme cgi )
4. Added simple update cgi.
5. Other things I forgot.

v.08.3 ( Sept 7th 2008 )
1. Fixed html formatting "red font" for on devices when use_drop_menu is false
2. Fixed Macro function when use_drop_menu is false.

v.08.2 ( Aug 13th 2008 )
1. Fixed some bugs in the Html Parser
2. Test for $SERVER_SOFTWARE for none Xitami servers
3. Added ISO 8859-1 Symbol Entity examples in the Html Parser
4. Remove the status info from the status page.
5. Cleaned up the Macro functions.
6. Added javascript link in the error page to go back in the browsers history and correct problem.
7. Other numerous enhancements and fixes
8. Fixed "All Units Off"
9. Added option to disable dropmenu which fixes some mobile phone bugs.

v.08.1 ( Feb 16th 2008 )
1. Fixed heyu engine state
2. Fixed potential security risk with scenes.
3. Thanks to everyone who tested.

v.08 ( Feb 14 2008 )
1. Rewrote 99% of all the script to correspond to proper bash syntax
2. Improved speed
3. The script empties xitami temp folder see xitami_tmp_fix
4. Modified the debug output. Now kills the current shell while informing you off the error.

v.07
 To-do
1. Added config file to $HTTP_COOKIE upon startup ( Not yet added )
2. Finish crontab update ( Done )
3. Add Scenes ( Implemented but not finished )

v.05 ( Dec 31st 2007 )
1. Adjusted HTML for show_all_modules ( Fixed tables and corrected width )
2. Put some but not all HTML in its on HTML file.
3. Added debug function and trying to sort it out to show current errors.
4. Testing out static HTML file functions which makes all the links appear on all queried pages.
5. Adding the ability to edit HTML on the front page. The macro html is however non-cgi editable.
6. Added chmod 777 to config and html files after editing.
7. Fixed some major errors in the cron wizard assigning proper variables to days, months and weeks.
8. Added Html_Header and Html_Footer editing
9. Added show_default_html in config
10. Removed hidden files in heyu_cgi directory and corrected spelling errors
11. Adding a little css and background
12. Removed ability to change the crontab user name. Bad idea to have this option.
13. Added kill_all_hc to the drop menu to kill all house codes
14. Added default_house_code to the config

v.04 ( Dec 16th 2007 )
1. Added proper locating of heyu binary via config file
2. Added onstate checking for all housecodes
3. Rewrote the macro cgi to include new selections
4. Optimized the cgi by 1 moving config function above the list function, and 2. Only showing modules that are assigned.
5. Added a status link to show some information.
6. Changed the look of the main layout. Did away with adjusting modules by dimming. Probably will add this back later.
7. Included in the package is a 64bit version of xitami. It also reflects the most current xitami available while the xitami 32 bit does not.

v.03 ( Nov 22nd 2007 )
1. Modified run function to use $(which heyu) for properly location of heyu binary
2. heyu web interface will now print cgi errors by reading cgierr.log
3. Renamed 'Save' in macro to 'Wizard'
4. Removed 'Shutdown' on front page.
5. Changed xitami.cfg IP variable to localhost.

v.02 ( March 4th 2007 )
1. No log of changes

v.01 ( March 4th 2007 )
1. The heyu web interface project is started.