FYI: howto get realtime status of the chime on Elk M1 Gold/EZ8

In the advanced tab for each partition, you’ll see a variable at the bottom called ChimeEnabled. This seems to be always set to “1” no matter what the chime status is. I don’t think it’s pulling it. I wrote some LUUP code to pull the variable and speak it, and no matter what I have the chime set to, it always says “1”.

Since I’m using Vera Alerts to get voice alerts out of Vera, I need the chime status or my wife gets really mad when it gives minor alerts when the kids are asleep. I happen to have an Elk output/relay board. So I created two rules. One that says “Whenever Chime is enabled, turn output 16 ON” and the other says “Whenever Chime is disabled, turn output 16 off.” Then I used an unused zone, named it Chime Enabled, set it to type 14 Aux 2/24hr, and normally closed. I then ran a wire from the zone to the NO contacts on output 16. Now it shows up in Vera as a security sensor and it gets updated in realtime because the relay is tripping the zone or restoring it immediately based on the chime status. I can use this status in my LUUP scripts that do my voice announcements. I just put this at the top of the LUUP code to make it give up before getting to the speaking part:

local chimeDisabled = luup.variable_get("urn:micasaverde-com:serviceId:SecuritySensor1", "Tripped", 54)
if chimeDisabled == "1" then
     return false
end

<code that does the speaking here>

Even though our sensor is called “Chime Enabled”, I’m checking to see if it’s tripped, so I named my variable chimeDisabled.

As far as actually pulling this through the serial port on the Elk… The Elk only sends the status of the chime when the chime button is manually pressed. It does not send an update when the chime is disabled by a rule, you would have to query it.

It appears the KF message is the one that lists the chime mode for each area. For example:

  • 11KF01C030000000086 would be area 1 chime off and area 2 chime and voice
  • 11KF01C130000000085 would be area 1 chime only, and area 2 chime and voice

Like I said, this is sent only when the button is pressed. However, you could make the unit send it to you by querying it using the lowercase “kf” message. The info on how to construct the message is available in the Elk serial port programming guide. I figured it was just easier for now to run a wire and be done with it. Hopefully this will get implemented in the Elk plugin down the line.