Announcement

Collapse
No announcement yet.

UltraM1G HSPI For HomeSeer 2.2

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    UltraM1G HSPI For HomeSeer 2.2

    UltraM1G HSPI For HomeSeer 2.2

    UltraM1G HSPI is a new HomeSeer2 plug-in for the Elk M1 Alarm Panel. A lot of my time and effort went into the development of this plug-in. It is now stable and ready for release. I would like to thank Jon Ort (Oman) for his code contriubutions which helped improved the overall efficiency of this plug-in.


    This plug-in is available from the HomeSeer 2 updater. I recommend you test it with HomeSeer 2.2 or greater.

    UltraM1G HSPI Features:
    • Connects to Elk M1 Panel via serial port or Elk-M1XEP ethernet interface.
    • Elk M1 command queue executed in its own thread.
    • Verification and retry logic to verify commands sent to the Elk M1 are processed.
    • Elk M1 real-time clock updated on startup.
    • Error Try/Catch logic to ensure plug-in doesn't fail with an unhandled exception.
    • Web page is non-code behind ASP.Net to allow the user to easily customize the code and interface.
    • Create only the HomeSeer devices you want (Area, Keypad, Zones, Outputs, Thermostats).
    • Defined areas, keypads, zones, outputs, users, thermostats, logs obtain from panel on startup and kept updated as plug-in runs.


    UltraM1G Triggers Supported:
    • Elk M1 Alarm Trigger
      • No Alarm Active
      • Entrance Delay is Active
      • Alarm Abort Delay Active
      • Fire Alarm
      • Medical Alarm
      • Police Alarm
      • Burglar Alarm
      • Aux1 Alarm
      • Aux2 Alarm
      • Aux3 Alarm
      • Aux4 Alarm
      • Carbon Monoxide Alarm
      • Emergency Alarm
      • Freeze Alarm
      • Gas Alarm
      • Heat Alarm
      • Water Alarm
      • Fire Supervisory
      • Verify Fire
    • Elk M1 Arm Status
      • Disarmed
      • Armed Away
      • Armed Stay
      • Armed Stay Instant
      • Armed to Night
      • Armed to Night Instant
      • Armed to Vacation
    • Elk M1 Arm Up State
      • Not Ready To Arm
      • Ready To Arm
      • Ready to Arm, but a zone is violated and can be Forced Armed
      • Armed with Exit Timer working
      • Armed Fully
      • Force Armed with a force arm zone violated
      • Armed with a bypass
    • Elk M1 Zone Status
      • Normal
      • Trouble
      • Violated
      • Bypassed
    • Elk M1 Output Status
      • On
      • Off
    • Elk M1 Task Trigger
    • Elk M1 User Trigger
      • Disarmed
      • Armed Away
      • Armed Stay
      • Armed Stay Instant
      • Armed to Night
      • Armed to Night Instant
      • Armed to Vacation
    • Elk M1 Custom Codes (trigger on non-defined user codes or Weigand data codes).
    • Elk M1 Keypad KeyChange
    • Elk M1 Event Trigger (supports events 1000-1386)
    • Elk M1 Watchdog Trigger.
    • Elk M1 ELKRP Trigger (trigger when ElkRP software connects/disconnects).
    • Elk M1 Thermostat setpoint trigger.
    • Elk M1 System Trouble trigger (requires firmware > 4.5.2, 5.1.2)

    UltraM1G Conditions Supported:
    • Elk M1 Arming Status
      • No Alarm Active
      • Entrance Delay is Active
      • Alarm Abort Delay Active
      • Fire Alarm
      • Medical Alarm
      • Police Alarm
      • Burglar Alarm
      • Aux1 Alarm
      • Aux2 Alarm
      • Aux3 Alarm
      • Aux4 Alarm
      • Carbon Monoxide Alarm
      • Emergency Alarm
      • Freeze Alarm
      • Gas Alarm
      • Heat Alarm
      • Water Alarm
      • Fire Supervisory
      • Verify Fire
    • Elk M1 ArmUp State
      • Not Ready To Arm
      • Ready To Arm
      • Ready to Arm, but a zone is violated and can be Forced Armed
      • Armed with Exit Timer working
      • Armed Fully
      • Force Armed with a force arm zone violated
      • Armed with a bypass
    • Elk M1 Current Alarm State
      • Disarmed
      • Armed Away
      • Armed Stay
      • Armed Stay Instant
      • Armed to Night
      • Armed to Night Instant
      • Armed to Vacation
    • Elk M1 Zone Status
      • Normal
      • Trouble
      • Violated
      • Bypassed
    • Elk M1 Output Status
      • On
      • Off

    UltraM1G Actions Supported:
    • Elk M1 Keypad Display (Send Text to LCD Keypad)
    • Elk M1 Function Key Press
    • Elk M1 Arming Action
      • Disarmed
      • Armed Away
      • Armed Stay
      • Armed Stay Instant
      • Armed to Night
      • Armed to Night Instant
      • Armed to Vacation
    • Elk M1 Output Action
      • On (with number of seconds output will be active)
      • Off
      • Tottle
    • Elk M1 Speak Words (supports up to 5 words)
    • Elk M1 Speak Phrase
    • Elk M1 Task Activation
    • Elk M1 Email Trigger
    • Elk M1 Timesync (Real Time Clock Update)

    UltraM1G Interfaces Supported:
    • Serial Port via Port 0
    • Ethernet via Elk-M1XSP


    Quick Start Documentation:

    http://automatedhomeonline.com/HomeS...t_ultram1g.htm

    Regards,
    Ultrajones
    Last edited by Ultrajones; February 9, 2012, 07:27 PM.
    Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

    #2
    Change Log

    Version 1.1.2616 - Released Mar 01, 2007
    • Added ethernet support.
    • Added thermostat support.
    • Loads and saves Elk configuration to INI file to improve startup performance.
    • HomeSeer devices use images in the /html/images/hspi_ultram1g folder.
    • Other coding enhancements.

    Jon contributed a great deal of time and effort into adding Ethernet and Thermostat support. Thank you Jon.

    Version 1.1.2618 - Released Mar 03, 2007
    • Fixed thermosat heat and cool setpoint issues when setting value.
    • Fixed temperature format bug when setting value from Options web page. Removed Deg.F and Deg.C as an option.
    • Added ability to create a HomeSeer device for each user. DeviceString is updated with KeyPad number when user enters valid user code.
    • Added ability to create a HomeSeer device for each task.
    • Added task activation action.
    • Added ability to create a HomeSeer device for each custom setting.
    • Added read only support for custom settings. Write support coming soon.
    • Other coding enhancements.


    Version 1.1.2631 - Release March 16, 2007
    • Suppressed warning messages for output control.
      Note: An ouptut does not send an output change update if you attempt to set an output to it's current state (e.g. On or Off).
    • Suppressed warning messages for commands received before plug-in has finished initializing.


    Version 1.1.2637 - Release March 22, 2007
    • Added the ability to change the Elk M1XEP non-secure port.


    Version 1.1.2656 - Release April 10, 2007
    • Fixed an error message on startup that was written to the log if the Elk M1 had less than 20 log entries.
    • Added support for reading and writing the "Custom Settings" stored in the Elk M1.
    • Fixed an issue with how I was creating devices that would prevent you from using hs.SetDeviceValue.
    • Added new "Elk M1 Email Trigger" HomeSeer action (requires the Elk M1XEP).


    Version 1.1.2661 - Released April 15, 2007
    • Added Elk M1 Watchdog timer. If the Elk M1 has not reported the XK status for over 60 seconds, the plug-in will attempt to reconnect every 30 seconds until successful.
    • Added Elk M1 Watchdog Trigger. This new trigger will allow you to create events so you can take futher action if necessary to restore the Elk M1 connectivity.


    Version 1.1.2673 - Released April 27, 2007
    • Added scripting support for Elk M1 Lighting (tested with Insteon devices). See the Documentation thread for scrpting API.
    • Added the ability to display Elk M1 Lighting defined in the Elk M1.
    • Added ability to create a HomeSeer device (allowing status display and on/off commands) for up to 99 Elk M1 Lighting devices.


    Version 1.1.2833.33437 - Released October 4, 2007
    • Added feature to rebuild HomeSeer devices when a new version is installed. This allows for changes I make to a HomeSeer device to be applied without having to delete and re-add a device (which caused issues with events and triggers).
    • Many other internal code enhancements to address various isolated issues.


    Version 1.1.2884.17109 - Released Nobember 24, 2007
    • Added "Elk M1 User" trigger that allows you to trigger a HomeSeer event when a particular user arms/disarms the system.
    • Fixed "Error DeviceExists error, Object reference not set to an instance of an object., Scheduler" error using the "Stay", "Exit" buttons on a keypad.


    Version 1.1.2885.40729 - Released Nobember 25, 2007
    • Added Real Time timesync action.
    • Added ability to track Program and Quick Arm Elk M1 Users.
    • Added tracking of LastKeypad and LastAction for Elk M1 Users on the ASPX webpage.
    • Added System Trouble Status triggers.
    • Other internal code enhancements to address various isolated issues.


    Version 1.1.2908.37658 - Released December 18, 2007
    • Fixed send to keypad issue using latest Elk M1 firmware.
    • Added ability to specify HomeSeer user roles (admin, guest, normal, local) that can access the web page.
    • Fixed issue with the watchdog panel restore trigger that could cause it to run when it made an ethernet connection to the Elk M1XEP, but not the ELK M1 system itself.


    Version 1.1.2911.14944 - Released December 21, 2007
    • Fixed issue when several Elk M1 devices are changed with HomeSeer's multi-device actions. (e.g. One HomeSeer event that turns on/off lighting, outputs, etc. for Elk M1 HomeSeer devices)
    • Fixed thermostat setpoint dropdown values (so they don't repeat).


    Version 1.1.2922.27929 - Released January 1, 2008
    • Added Area, Keypad, User, Zone, Output and Task names to triggers, conditions and actions.
    • Output names 65-208 will not be overwritten with "Unknown" by plug-in.


    Version 1.1.2927.38513 - Released January 6, 2008
    • Fixed "condition" trigger bug introduced in version 1.1.2922.27929 that prevented conditions from working correctly.


    Version 1.1.2933.18853 - Released January 13, 2008
    • Added the ability to speak words or phrases from the scripting interface.
    • Added the ability to read custom values.
    • Added support to allow non valid Keypad codes or Weigand data cards to trigger a HomeSeer event.
    • I corrected a coding issue that *could* cause an issue when turning on/off an output or speaking words and/or phrases.


    Version 1.1.3011.29001 - Released April 8, 2008
    • Added direct dimming support for lighting devices.
    • Added plug-in help file link to HomeSeer help web page pointing at the included UltraM1G HSPI User's Guide PDF file.


    Version 1.1.3052.28958 - Released May 10, 2008
    • Added call to "Alarm by Zone Request" when a zone status changes to keep the zone "Alarm Status" properly updated. Calls to GetZonesInAlarm should now return accurate status.


    Version 1.1.3056.34294 - Released May 14, 2008
    • Removed previously added MISC_NO_STATUS_TRIG from HomeSeer devices because it also would hide the device from the trigger conditions list!


    Version 1.1.3060.26371 - Released May 18, 2008
    • Added GetZoneState() and GetOutputState() to the UltraM1G HSPI API.


    Version 1.1.3060.26371 - Released June 03, 2008
    • Added replacment variables to the Elk M1 Keypad Display action.
    • Other minor coding enhancements.


    Version 1.1.3096.26709 - Released June 23, 2008
    • Fixed issue causing a light dimmed locally to result in an off command being sent to the light.
    • Fixed issue causing HomeSeer to ignore on/off/dim commands sent to Elk connected lighting.


    Version 1.1.3123.12830 - Released July 20, 2008
    • Added support for ALL ELk M1 areas, keypads, tasks, custom settings, users, inputs, outputs, lighting and thermostat devices.
      • Base Code: 1-99 (Areas (8), Status (1), Keypads (16), Tasks (32), Custom (20))
      • User Codes: 1-99, 1-99, 1-99 (covers 199 + Elk built in user devices)
      • Input Codes: 1-99, 1-99, 1-99 (covers all 208 input devices)
      • Output Codes: 1-99, 1-99, 1-99 (covers all 208 output devices)
      • Lighting Codes: 1-99, 1-99, 1-99 (covers all 256 lighting devices)
      • Themostat Code: 1-99, 1-99 (total 16 thermostats)


    ** 15 HomeSeer housecode would be needed for a fully built out Elk M1 **

    Testing shows 1062 HomeSeer devices successfully built with a fully populated Elk M1 system.

    Version 1.1.3136.17868 - Released August 03, 2008
    • Fixed Elk M1 Keypad Display action for additional keypads.
    • Added support for Elk M1 counters.


    Version 1.1.3138.27679 - Released August 04, 2008
    • Fixed WriteCounterValue HSPI API function.
    • Added trigger support for all Elk M1 counters (without needing HomeSeer device).
    • Added ability to write to counters using HomeSeer action (without needing HomeSeer device).
    • Fixed issue that caused issue saving Homeseer devices.


    Version 1.1.3138.37853 - Released August 04, 2008
    • Fixed issue that caused error saving Homeseer devices.


    Version 1.1.3162.35134 - Released August 29, 2008
    • Fixed an issue related to the "Elk M1 User" trigger when using an Elk keyfob.


    Version 1.1.3190.38259 - Released September 25, 2008
    • Added support for "Any Arm Status Change" to the "Elk M1 Arm Status" and "Elk M1 User" HomeSeer triggers.
    • Modified the HomeSeer house code verification routines so codes are not shown as assigned when no underlying devices are using the house code.


    Version 1.1.3245.36138 - Released November 19, 2008
    • Modified FormatKeypadText function to trim leading and trailing spaces before attempting to center text for display.


    Version 1.1.3293.35622 - Released January 06, 2009
    • Added logging of output devices (simliar to inputs). You can disable HomeSeer device logging for outputs by selecting the "Do not log commands from this device" checkbox.


    Version 1.1.3300.36752 - Released January 13, 2009
    • Added 2 new API functions that allows you to get the last valid user and last valid user arming action.
    [/LIST]

    Version 1.1.3353.26286 - Released March 07, 2009
    • Added option to increase the amount of time the plug-in will wait for the Elk M1 to respond to a command. The default is 1.5 seconds. The new option added 2.0, 2.5, 3.0 and 3.5 seconds.


    Version 1.1.3377.32985 - Released April 01, 2009
    • Added work-around to allow HSTouch to get notified when an area is armed or disarmed from the keypad.
    • Added code to handle the Elk Entry and Exit delay timers.
    • Added code to query for the Elk M1 firmware on startup.


    Version 1.1.3493.21237 - Released July 25, 2009
    • Added GetPLCStatus API function to return the current status of a PLC device.


    Version 1.1.3502.38033 - Released Aug 05, 2009
    • Added code to ignore the EE checksum error introduced with Elk M1 firmware 5.01.20. The "EE" is a new feature added by Elk to provide automation equipment the exit and entry timer information.


    Version 1.1.3595.24966 - Released Nov 04, 2009
    • Removed references to the deprecated Status properly of the HomeSeer DeviceClass.


    Version 1.1.3595.24966 - Released Nov 21, 2009
    • Added a System Status web page allowing you to create a HomeSeer device for the Elk M1 Trouble Status devices.


    Version 1.1.3647.19798 - Released Dec 26, 2009
    • Added code to use current date/time if an invalid log date/time is returned by the Elk M1.


    Version 1.1.3661.18801 - Released Jan 09, 2010
    • Fixed System Status error introduced in version 1.1.3595.24966.


    Version 1.1.3698.16612 - Released Feb 15, 2010
    • Added the ability to bypass/unbypass a zone from the HomeSeer status page.
    • Added the ability to trigger a zone using the new Elk M1 firmware feature available in 4.5.24 and 5.1.24.
    • Modified Elk M1 Event log to display zone, keypad, user when possible.
    • Added option to log Elk M1 Events to the HomeSeer log.
    • Other code improvements.


    Version 1.1.3698.16612 - Released Feb 17, 2010
    • Added Elk M1 / M1XEP firmware to status web page.
    • Resolved issues with HomeSeer house codes being reused by another device class when all devcies for previous device class were deleted.


    Version 1.1.3700.35900 - Released {unknown}

    Version 1.1.3698.16612 - Released July 30, 2010
    • Added option to poll temperature devices if fimware doesn't report temperature changes.
    • Added option to poll zone devices if fimware doesn't report analog voltage changes.
    • Added option to poll all defined counters or only if the counters has an assoicated HomeSeer device.


    Version 1.1.3930.35427 - Released Oct 06, 2010
    • Added AreaStatus devices to track Arming Status, Arm Up State, Current Alarm State, Last User and Last User Action for each Elk M1 Area.


    Version 1.1.4031.24574 - Released Jan 14, 2011
    • Updated the display on keypad function to remove  
    • Added support for the HomeSeer thermostat API.


    Version 1.1.4039.29793 - Released Jan 22, 2011
    • Added GetLastInvalidUserCode function which returns the last user code entered that was not recognized by the Elk M1 system.


    Version 1.1.4082.26173 - Released Mar 06, 2011
    • Updated icons to 32x32 png (renamed to .gif)


    Version 1.1.4246.36116 - Released Aug 17, 2011
    • Fixed issues assoicated with HP Touchpad



    Version 1.1.4404.25339 - Released Jan 22, 2012
    • For reasons unknown, the Elk M1 API disarms your system if you attempt to send an arming action if your system is already armed. This update changes that unexpected behavior. Once your system is armed, you must send a disarm action before you can send a different arming action.


    Version 1.1.4422.34202 - Released Feb 09, 2012
    • Added new HomeSeer trigger: "Elk M1 Task Trigger"


    Version 1.1.4502.19008 - Released April 29, 2012
    • Fixed issues caused by the Insteon / ISY device using firmware versions that support the Elk M1.


    Version 1.1.4698.33588 - Released Nov 11, 2012
    • Documentation updates to match recently added features.
    • Modified Elk M1 Connection device.
    • Modified Elk M1 Data Reload function allowing it to work on low power HomeSeer systems.
    • Modified device creation functions so the HomeSeer device is updated with the current status.
    • Many other small code improvements.


    Version 1.1.4783.33257 - Released Feb 4, 2013
    • Fixed error preventing the UltraM1G plug-in from connecting to Elk M1 Panel via serial connection.


    Version 1.1.4783.33257 - Released Sep 2, 2013
    • Fixed issue with the Elk M1 Custom Code trigger preventing the use of the Weigand Prox Card Codes.
    Last edited by Ultrajones; September 2, 2013, 11:38 AM.
    Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

    Comment


      #3
      Screen Shots

      Screen shots ...
      Attached Files
      Last edited by Ultrajones; March 1, 2007, 11:59 PM.
      Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

      Comment


        #4
        Screen Shots

        Additional Screen Shots ...
        Attached Files
        Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

        Comment


          #5
          Elk M1 Lighting Support Screenshots:
          Attached Files
          Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

          Comment

          Working...
          X