HSPI_IPPhoneXML Beta README
===========================
~~~ Current Beta is 0.9.5787.41110 (2015-11-05) ~~~
Requirements
--------------
- Support for Cisco IP Phone 79xx with firmware 8.3(2) or higher
* The plugin has been tested with Cisco IP Phone models 7941, 7961, 7942, 7962, 7975, and 9971
* The plugin should also work with models 7945, 7965, 7970, 7971, 8961, and 9951, however these have not been tested
- Support for Cisco Wireless IP Phone 7921, 7925, and 7926 with firmware 1.4(3) or higher
* Issues related to the XML API have been found in versions earlier than 1.4(3)
- One of the following backend systems is required:
* Cisco Communications Manager Express (CME) 7.1 or later
* Cisco Communications Manager (CallManager) 8.0 or later
New in this release
---------------------
- Changed the action URL syntax replacing the "|" separator with "," to resolve issue when using action URLs in custom softkeys
- Updated ipphonexml.aspx (version 1.0.0.0) to move majority of QueryString processing to plugin
- Added ability to see and change parameters for Index in "Configure Screens"
- Updated both "Configure Screens" page and Index screen to alphabetically sort list of screens
- Cleaned up unused "notify request" functions and parameters in plugin core and aspx files
Caveats / Limitations
-----------------------
- Automatic link handling assumes HTTP port 80, plugin will not function properly if HomeSeer Setup "Web Server" is configured with a custom Web Server Port or SSL Secure Server is enabled.
- Only 1 screen of history is kept for "Go Back" Exit softkey option. If "Go Back" is used within more than 1 level of navigation, the Screen Index will be displayed on the 2nd Exit press.
Installation Instructions
---------------------------
1. Verify HomeSeer is not currently running
2. Extract the ZIP file to your HomeSeer installation directory.
3. Verify the HSPI.IPPhoneXML.dll file exists within the HomeSeer base directory, and the ipphonexml.aspx file exists in the html\ directory.
4. IF RUNNING HOMESEER AS A SERVICE: Overwrite the HSPI.IPPhoneXML.dll file located in html\bin\ with the new version. When running as a service, this file does not automatically update.
Follow the instructions found within the Wiki guides to configure the plugin and your telephony system:
https://sourceforge.net/apps/mediawiki/ipphonexml/index.php?title=Plugin_Installation_and_Initial_Setup
Previous Releases
-------------------
0.9.5771.40058 (2015-10-20)
- After a control selection is made from a Devices screen, display the last device list/location rather than going to the top level
- Improvements to Back key functionality within Devices screens
- Resolve recent issue in Devices screen type where "No functions available for this device" option was displaying along with available functions
- Fix icon and text positioning of Custom Alert screen for Cisco 7921/25/26 Wireless IP Phones
- Resolve issue with title text too long causing parse error in Event action Custom Alert
- Custom Alert event action now supports adding a user-defined softkey to the alert (uses same syntax as Custom Softkey option in screen definitions)
0.9.5615.30504 (2015-05-17)
- Implemented threading for execution of push to phone events to allow simultaneous alerting on multiple devices and ensuring other HomeSeer events are not delayed
- Event action "push custom alert" now supports HomeSeer replacement variables allowing inclusion of device status and value text in the alert
- Discontinue use of Administrative XML query during normal operation to significantly increase responsiveness. AXL is still used within configuration screens
- Update "Devices" screen types to have separate "Back" and "Exit" softkeys. Back navigates up through selections in screen, while Exit returns to previous screen
- Further logging message improvements throughout the plugin
0.9.5588.33769 (2015-04-20)
- Updated ipphonexml.aspx (version 0.9.8.1) to add a screen expiration parameter. This will improve user experience while using Exit softkeys
- Updated Exit softkey and Expiration destination for Alert screens to use SoftKey:Exit to improve experience when closing
- Implemented a working refresh using onAppFocusGained, which will be used to update app screens when returning from use of "Exit" key
- Resolved issue where long location / device names and screen titles were causing a "Parse Error" on certain phone models
- Resolved issue where Device screens with Group By set to both location fields were not filtering based on first group choice
0.9.5559.33332 (2015-03-22)
- Resolved issue wehere using "--All Phones--" in Event Actions was not working proplery
- Removed TriggerUI support as IP Phone related Event Triggers are not supported yet
- Improved application title consistency across device types and incorporated default application title
- Log message enhancements: removed extraneous logging and added verbose messages for some functions
0.9.5546.38753 (2015-03-09)
- NEW: Added support for Cisco Wireless IP Phone models 7921 and 7925
- Device screen type now supports Values and Button device controls in addition to Status
- Resolved issue where when a Cisco CME type phone system was unavailable the XML application ceased to function
- When creating a new screen in HomeSeer the plugin now verifies that an existing screen does not exist with the same name first
- Fixed bug where when creating the first Screen the default close and expire destinations allowed and defaulted to a blank option
- Changing logging level now takes effect immediately instead of the next time HomeSeer was restarted
- On a new installation, the default logging level shown in setup (WARNING) is now honored within HomeSeer prior to configuration
- Optimized WriteXML code and added encoding parameter to resolve issue with special characters not displaying properly
0.9.5348.38262 (2014-08-23)
- Pushed alerts now utilize the IPPhoneImageFile object to provide a better looking alert message, including alert graphics
- Added Title Text and Alert Type options to the Push Custom Alert event action type
- Climate control screen type now displays current run state of the equipment
- Sidebar / buttons area on left side of screen has been disabled until this feature is complete
- Minor various visual tweaks and improvements
0.9.5343.31312 (2014-08-18)
- Appearance of color model phone screens has been improved (tested for 7975 and 9971 model layouts)
- Climate softkeys now disabled while thermostat is in "Hold" mode since thermostat cannot be set
- Resolved issue in climate screen where temperature would be set to 0 if a valid temperature is not provided
- Exit softkey from within the Index screen now closes the application
- Exit softkey now checks to ensure it is not re-loading the current page (found issue with pushed alerts where the Exit softkey would not function)
- Resolved issue where pressing "Exit" from a Push Custom Alert would close the application instead of returning to previous screen
- Removed MessageText aka "Default Message" parameter from config pages. Screen title is now the Prompt text and Title is now a global parameter
0.9.5335.26311 (2014-08-10)
- New ipphonexml.aspx (0.9.8.0) now passes expiration through to plugin in all cases to evaluate refresh vs expiration; plugin now properly expires all screens
- Climate screen "Set Temp" function now only allows setting temperature for active mode(s), and provides a backspace softkey
- Added Refresh parameter for Climate screen type, default is to now refresh every 60 seconds with options for 15, 30, or 60 seconds in screen setup
- Device status string in HomeSeer now reflects the last screen accessed by the device. This string is also used to allow plugin to determine previous screen
- Resolved issue in event action "Push Alert" where expiration parameter did not function
- Added color coding to log messages for easier reading: Critical and Error are red, Warning is orange, verbose is dark gray
0.9.5252.42945 (2014-05-20)
- Updated ipphonexml.aspx (version 0.9.7.6) to resolve issues with refreshing and expiring screens (detail below)
- Reverted back/refresh behavior to pre-0.9.5219 release (asp 0.9.7.5) due to poor user experience. All screens now expire immediately and so "SoftKey:Exit" is no longer used.
- Exit softkey "Go Back" option now utilizes a parameter in URL to navigate to previous page. Note that this only allows for 1 screen of back history.
- Sidebar items can now be any device instead of only accepting conditions, temp, and humidity. See new "Configure Sidebar" setup page for setup
- Event action "Set Backlight" now availble allowing automation control of power saving mode for supported phone models
- Title bar on supported screens correctly displays screen title if available, or screen's name if blank
- Screen Index now displays the screen name if Screen Title field is blank
- If no screens have been configured, Index screen message instructs user to create screens from web GUI
- Labels in config GUI for "Location" and "Location 2" filters now use the configured HS names (eg: Floor & Room)
- Cleaned up unused SubmitExecute and PushUserInput code in plugin and ASPX page (use SubmitAction and PushToCiscoPhone instead)
0.9.5228.39646 (2014-04-25)
- Resolved issue in Devices screen type that caused a Parse Error if the status string of a device was greater than 30 characters
- Resolved issue where it was possible to bypass js alerts and submit a blank screen name when creating a new screen
- Resolved issue with device codes being duplicated on phone import after HS restart
- When creating new screens, the Screen Name field now must contain only letters, numbers, and underscore
- Visual improvements, field validation and bug fixes within configuration pages
0.9.5219.39926 (2014-04-16)
- IMPORTANT: Thermostat plugin access methods updated, please re-select thermostat plugin within climate screens to prevent errors!
- NEW: Added model detection and enhanced appearance for color touch-screen phones!
- UCM AXL GetDeviceList updated to pull Description and Dev Type from Admin AXL, RisPort is only used for IP and status now
- Updated ipphonexml.aspx (ver 0.9.7.5) with optimizations and removed screen expiration
- Climate screen now provides built-in softkeys for thermostat functions, uses new thermostat control code in clsHSPI
- Custom softkeys now work for all screen types (only were allowed on Clock and Climate screens previously)
- Added parameter "Exit To" for screens defaulting to standard SoftKey:Exit functionality. Selecting (Disable) removes Exit softkey for this screen
- Screens can now be deleted, delete option is located within individual screen configuration page
0.9.5153.35928 (2014-02-09)
- Resolved issue with Climate screen type not loading properly
- Resolved issue in Events screen type where filter set was not actually filtering the list
- Resolved bug that was preventing devices from displaying if "Group items by" was set
- Added support for Proliphix and HAI thermostat plugins in Climate screen
- Updated ipphonexml.aspx (ver 0.9.7.4) to replace "response_type" param with new "png" and "notify" query types
- Date and Time parameters as well as Thermostat parameters are now screen-specific configurations
- Added support for wildcard (*) in Limit to Location and Location 2 fields for Devices screen type
0.9.5120.40169 (2014-01-07)
- IMPORTANT: As of version 0.9.5115, event actions using IPPX that existed prior to this release may need to be re-configured
- Resolved bug when adding phones from a CME phone system where the ephone ID was used instead of the SEP device name
- Resolved issue with Custom Alert event action not working properly due to invalid URL formatting
- Fixed problem with defined screen refresh / expirations, re-added URL-based refresh parameters for push functions in ipphonexml.aspx
- Added ability to play an audio alert within event action type "Custom Alert", tone filename must be manually specified
- Added a drop list of screens that can be pushed from event action type "Push Screen" instead of free text input
- Reworked device creation functions: fixed name on create issue, added control buttons to new devices, removed unnecessary functions
- Removed redundant and non-functional "Status" page in IPPhoneXML Config HS screens, use Device Management
0.9.5115.38582 (2014-01-02)
- IMPORTANT: Event action definitions were updated, and any IPPX event actions will need to be re-configured
- Enabled Devices screen type to load all devices, and include grouping and filtering capabilities
- Devices screen can now control any device using standard lighting capabilities through HS CAPI
- Updated PushToCiscoPhone functions to allow multiple simultaneous execute items
- Re-worked how paramters are sent through ipphonexml.aspx to be the same for all functions
- Resolved numerous issues form the TODO file, plus numerous cosmetic improvements
- Under the hood: re-named many functions for better code clarity
- Under the hood: converted XML-building functions to use XmlDocument objects
0.9.5097.38489 (2013-12-16)
- Completely new and more flexibile screens management! Manage through "Configure Screens"
- Re-worked WriteXML functions to work with new screen management model
- Added custom softkey capability, configured individually in each screen
0.9.5062.41522 (2013-11-10)
- Added expiration parameter to Display Message event action to control message automatic clearing
- Resolved issues with certain devices not being looked up and processed by event actions
- Events UI updated to use both name and IO misc, previously modifying device names broke event triggers and actions
- Added ability to name devices as they are added in Device Management, or use phone system name if none provided
- Updated AXL test on System Setup page to display number of devices found on AXL query
- In Device Management, device name from phone system is now displayed even if phone is unregistered
0.9.4544.39730 (2012-06-10)
- Implemented HTTPS PushToPhone functions within XML API to enable support for phone firmware versions 9.0 and up
- Significant improvements to logging messages, and error processing and recovery to simplify debugging and troubleshooting
- Improved compatibility with Cisco UCM (CallManager) AXL interface, and incorporated IP to Device lookup for HomeSeer status syncronization
- HomeSeer is now aware of the Phone's currently displayed screen, which can be used within conditions in Events
- Increased number of fields supported in Device Management and extended reach of AXL API functions to enable future plug-in capabilities
- Can now reference individual devices within the HomeSeer Event Actions pages
- Many bug fixes and lots of missing / half-working functionality has been added to plug-in
0.9.4433.463 (2012-02-20)
- Updated ipphonexml.aspx to automatically refresh home screen every 15 seconds instead of closing it after 90 seconds as a workaround to push refresh not functioning properly
- Added "Status" column to Device Management page to display current registration status
- Resolved issue where Device IP lookup functions were failing and preventing HomeSeer from sending Push requests to phones
- Added functionality to support "Send Message" and "Play Audio" actions from HS Events
0.9.4426.37548 (2012-02-13)
- Added Cisco CallManager host type in "System Setup" configuration page, and necessary functions to support Cisco CallManager AXL API as an integration method
- Updated phone system integration routines to show all configured phones instead of devices that are currently registered to the system
- Resolved issue with CME integration where having more than 6 devices in the reponse would overload the CME-XML service buffer and cause a failure
0.9.4363.42132 (2011-12-11)
- Resolved issue with AXL configuration not being used from ini file, values were hard-coded.
0.9.4362.29934 (2011-12-11)
- Added (incomplete) functions to permit phones to communicate their current status to the HS plugin, which will allow it to prevent the un-desired push of the phone UI while in a call or using the XML user interface.
- Massive re-work (also incomplete) across all classes to modify singleton instance behaviour in attempt to resolve ASP interconnetion issues discovered while attempting to implement the previous item. See known issues.
0.9.4075.41480 (2011-02-28)
- Resolve issue with missing triggers and actions from within HS
0.9.4058.345 (2011-02-15)
- Initial public release supporting plugin architecture and native webserver