Premise [download] Module: ELK M1

Motorola Premise

123

Senior Member
index.php
File Name: Module: ELK M1
File Submitter: 123
File Submitted: 27 Feb 2009
File Updated: 9 Aug 2009
File Category: Premise
Author: 123
Contact: PM me
Version: Beta2-2

A Module-based driver for the ELK M1 Gold Security and Automation Controller.

Features

Discovery
The driver will discover the name, and configuration, of M1 resources such as Areas, Zones, Outputs, PLC Devices, Keypads, Function Keys, Tasks, Thermostats, and Temperature Probes. The Discovery process can be automatically triggered after an RP session ends (i.e. the end of Installer Programming Mode) or scheduled to run on a periodic basis.

Clock Sync
Can be scheduled to synchronize the M1's clock with the host PC's time.

Log Control
Any logged M1 event (date, time, event code, full description) can be accessed via the driver. The driver displays the last logged event for each Area.

Miscellaneous Information
Displays the M1's Time mode (12/24 hr), Date mode, if DST is in effect, and what Temperature scale is in use (Fahrenheit/Celsius).

Areas
Provides a complete account of an area's arming mode, readiness for arming, and current alarm state. You can arm (all variations) and disarm an area, and initiate a Fire, Medical, or Police alarm. The driver also displays the last logged event for each area. It also shows the area's last state change, last function executed, and last zone triggered.

Zones
Displays each zone's name, physical and logical states, its definition, assigned area, and if a Trouble condition is in effect. You can bypass an individual zone or all violated zones. You can also unbypass all bypassed zones.

Outputs
Displays an output's name and current state. You can control the output's state and its autoreset period.

PLC Devices
Displays the names and states of all PLC Devices (i.e. Lighting). You can control a device's state, brightness, and autoreset interval. Devices may be identified by name, numeric address, or X10-style House and Unit Code. A device may be a Dimmer, Appliance, or X10 Dimmer.

Keypads
Displays each keypad's name and assigned area. It also displays the keypad temperature for KP1 keypads. You can display a two-line message on all keypads assigned to a given area.

Function Keys
Dsplays all Function Key names; you can activate any Function Key. It also displays the current state of the function key's status light.

Thermostats
Displays each thermostat's name, temperature, set points, fan state and control, plus operating mode and status.

Temperature Probes
Displays the names and values of all temperature probes.

Tasks
Displays all Task names and allows you to trigger any task.

Voice
You can have the M1 play Phrases or Sentences. Phrases are predefined by ELK whereas Sentences are defined by you. A Sentence consists of one or more words chosen from the M1's lexicon of over 450 words.

Wherever possible resources are implemented as true Premise objects. For example, you can bind an Area to a SecuritySystem object and instantly have a browser-based keypad allowing you to arm/disarm and trigger a Fire/Medical/Police alarm.

------------------------------------------------------------------------------------------

  • The attached zip archive contains the ELK M1 Driver (Beta2), a detailed Reference Manual, and a Tester's Guide.
  • The Reference Manual contains a detailed description of installing, configuring, and using the driver. It remains unchanged for the Beta2 version.
  • The Tester's Guide is a companion manual designed to assist you when testing the driver. It remains unchanged for the Beta2 version.
  • The Beta2 driver contains several minor, mostly invisible, improvements. The most notable change is the ability to quietly discard garbled packets. The Beta1 driver would fail if the first two bytes, of the received packet, weren't a hexadecimal number.
  • Please note that, in the Beta2 driver, two properties have reduced "units of time" (i.e. Days are actually Hours) in order to observe their operation more conveniently. Please see page 5 of the Tester's Guide to learn how to set them to the correct time period.

If you find an operating error, documentation error, or require assistance, please post to the associated Support Topic (see link below).
The original thread for this driver may be found here.
------------------------------------------------------------------------------------------
2009-02-28
Posted Beta2-2 version. Beta2 was rejecting several valid packets. Beta2-2 includes a corrected version of the IsHex() function.
2009-08-09
Posted Beta2-2A. Driver is unchanged from Beta2-2. Zip archive now contains "ELK_M1.mdb" file (omitted in the previous zip archive).

Click here to download this file
 
The following adjustments to SerialSettings may be needed if:
  • The ELK M1 and the Premise server PC are connected via a serial cable.
  • You can send commands to the ELK but cannot receive anything.
If you fall into this category, try enabling RTS and DTR in Devices > CustomDevices > M1_Panel > SerialSettings.
 

Attachments

  • SerialSettingsEnableRTSandDTR.png
    SerialSettingsEnableRTSandDTR.png
    7.9 KB · Views: 30
I have just installed PHC2.1 and found your M1 module. The zip file doesn't contain a ELK_M1.mdb file and the manual says it needs to be copied into c:\Program Files\Premise\SYS\schema\modules... Looked around but cannot find it??

It sort of worked without it but I'm guessing its needed. ANy clues?

Why did Motorola just dump this product, on first reviews it looks very strong?

Cheers
Bruce
 
.... The zip file doesn't contain a ELK_M1.mdb file ...
Why did Motorola just dump this product, on first reviews it looks very strong?
Bruce,
Welcome to Cocoontech!

Thanks for bringing this to my attention. I've updated the posted driver package (Beta2-2A) and it now contains the missing ELK_M1.mdb file. For your convenience, I've also attached the MDB file to this post.

The MDB file contains the M1's Words, Phrases, and Events. The driver can work without it but will fail to display a few details. For example, it won't show the details of the last M1 event (only the event code) and it won't tell you what word is represented by a word code (i.e. it won't translate "186" into "Front"). Naturally, the driver works best if the MDB file is present. ;)

Regarding Premise's demise, the best answers I've seen are:
  1. It was purchased from Lantronix for its intellectual property. Premise's core engine (SYS Server) can be used for applications other than Home Automation.
  2. In Home Automation, the software vendor gets the smallest slice of the pie. Systems integrators and hardware vendors get most it. Given this arrangement, Motorola decided to cut its losses.
Whatever the reason, kudos to Motorola for releasing the last version to the public for free.
 

Attachments

  • ELK_M1_MDB.zip
    36.3 KB · Views: 33
Thanks a bunch. I have downloaded it and installed it but no time to play and see what it adds yet.

Cheers
 
This looks very nice and useful. I plan to be ordering an M1G this month (after I close on a house) and I'm looking forward to using your module!
 
The documentation for this driver is very nice 123! You must be a very well established consultant or something?

At any rate, am I following the intended way to use the function keys with Premise:

1. I linked automation tasks to each of the function buttons in Elk RP.

2. In Premise, I manually linked each of the four tasks created with four keypad buttons (with trigger) under home. I don't think the task property was labeled as "trigger" so I had to manually drag the boolean property into the home button's trigger property from within the binding properties window.

3. I wrote onchange scripts for the trigger property of each button.

It would appear this method matches your documentation and that there is no way to directly link the function keys under the M1_Panel device to buttons under home; the release, press, hold properties didn't appear to be implented yet?
 
Here's how I tested it:

I have two ELK keypads whose Function Key 6 is programmed (uses Rules and Tasks in the M1) to toggle an electric doorlock (it uses two of the M1's relays). Push F6 and the electric doorlock engages. Push it again and it'll disengage. Now I want to do the same thing using Premise Browser.

In Builder, I have a Device > CustomDevices > M1_Panel with two Keypads and each keypad has 6 FunctionKeys. The sixth key is called "Laundry_DoorLock".

In Premise Home, I created a new Keypads > Keypad.
I right-clicked the Keypad and created a new Button.
From the Pallette window, I dragged Devices > CustomDevices > M1_Panel > Keypads > Main_Entry > Laundry_DoorLockand dropped it on the newly created Keypad Button. Now Button is bound to "Laundry_DoorLock".

In Premise Browser, I double-click the Keypad and click the Button button. I hear the electric deadbolt locking the door. I click the Button button again and I hear the electric deadbolt unlocking the door. Ta-dah!

FYI
The M1's function keys are simply push-to-activate and do not support the concept of "Hold".
 
Thanks 123!

I think I see how you use the function key under Premise. You use the automation browser to set the function keys state within Elk and the keypad.

I'm kind of doing the opposite. I want to use the function key on the Elk keypad to change something in Premise. In this manner, the hard key F4 can be a good night key to turn off all lights, make sure all exterior doors are close etc... Using tasks and the trigger property, I'm able to do this :)
 
If life couldn't get any scarier, I finally got my Elk M1....so reading this thread is (and will be) extremely helpful!!

123, what an incredible job on this module!! Paypal coming to ya!
 
Now to install the ELK M1 - what wireless sensors are best use with the ELK? I'm looking at the smaller micro switches for most of the house..Motion Detectors (PIR)...just trying to get to the fastest path possible to install -
 
Back
Top