VeraLite, EVL-3, Vista 20P & openHAB

Does anyone know how or have managed to get the openHAB controller to arm/disarm a Vista 20P? I have the alarm status shown on my sitemap, but I am not sure how to tell it to arm/disarm.

I saw the post regarding a DSC system but nothing about Honeywell. I figured since I decided to keep my vera for the Z-Wave functions I would leave my alarm tied to it.

I am running 1.8.1 on my Pi3 and bound my VeraLite via the MiOS binding. The alarm is connected to the vera via an EVL-3 module.


The Alarm interfaces were standardized by the community, for Vera, a few yrs back so they all respond the same.

If you’ve got something that does it for DSC-on-Vera (or Paradox-on-Vera, etc) then the Alarm values are all exposed the same way… so they’re also exposed the same way to openHAB.

If you post what you have, or even what you’ve seen for the DSC, then folks can probably lend a hand getting you going.

The things I saw were over on the openHAB forum. They were the DSC binding and the alarmdecoder binding. I saw something promising in the DSC binding. The DSC has the following:

Number PARTITION1_ARM_MODE "Partition Arm Mode: [%d]" (DSCAlarmPartitions) {dscalarm="partition:1:partition_arm_mode"}

In my MiOS binding, I found:

String EVL3VistaPartition1ArmMode "EVL3 Vista Partition 1 Arm Mode [%s]" (GDevices) {mios="unit:home,device:8/service/AlarmPartition2/ArmMode"}

But I can’t seem to pass it values for disarm, stay, away, etc. It seems to be a read-only value.

After a few brickwalls, I created a few scenes on my Vera to handle the alarm modes for me. I added a switch to my sitemap for each scene. Now, I think I need to go back and create a rule or two to disable the other switches when one is activated. Example:

If [Away] then disable [Stay] and [Instant]

I know this isn’t the best way, but it works for now.

Can you map to a scene in your sitemap? I envision a switch with each scene listed mapped to a button and when you click on a button a specific scene would fire. Or am I getting too involved in the sitemap and should incorporate rule behavior behind the scenes?


Arming/Disarming are special. These [typically] require a PINCode, so they’re not a straight-up map to something like a switch.

For these you’ll need an openHAB Rule, using the MiOS Action, to trigger the call.

The TL;DR version is:

to Arm…

sendMiosAction(EVL3VistaPartition1ArmMode, 'Alarm/RequestQuickArmMode', newArrayList('State' -> 'Armed')

to Disarm…

sendMiosAction(EVL3VistaPartition1ArmMode, 'Alarm/RequestArmMode', newArrayList('State' -> 'Disarmed', PINCode' -> 1234)

a) The [tt]EVL3VistaPartition1ArmMode[/tt] item could be any of the generated Items with the [tt]EVL3VistaPartition1xxx[/tt] prefix (like [tt]EVL3VistaPartition1Id[/tt])
b) The “*Quick” variants don’t need a PINCode, but they don’t work for Disarming a Panel.
c) The “Alarm/” prefix is just a shortcut/alias for [tt]urn:micasaverde-com:serviceId:AlarmPartition2[/tt], as used in Vera Lua scripting.

Thanks, I will play around with this code tonight.

If I wanted to set the alarm to Instant, I would change the ‘Disarmed’ state to ‘StayInstant’ or any other the other modes listed in cybrmage’s post?


ARM MODES used in the Vera UI7 House Modes feature:

The modes that the modes page uses, and the actually arm mode they request are:

Off => Disarm
All ON DELAY => Armed
All ON INSTANT => ArmedInstant
Part ON DELAY => Stay
Part ON INSTANT => StayInstant
Force Arm => Force

But, the Vista panels does not have these modes, so the plugin has to translate them to modes that the panel understands:

Disarmed => Disarmed
Armed => Away
ArmedInstant => Maximum
Stay => Stay
StayInstant => Instant
Force => Away

Just to clarify, the PINCode item in your disarm code should be surrounded by single quotes correct? There is only one in your post above.

Thanks, guessed. That did the trick. Everything works now.

Good to hear! I added it as an example to the MiOS Action binding page so others can find it.