PLUGIN: Ademco Vista Alarm Panel with EVL3

Yes, I revamped the mode processing code back in early November…

My VeraLite running UI5 highlights the status correctly, but I don’t (yet) use scenes with the alarm panel so I can’t speak to that… and I don’t recall any issues when I tested the events or when testing under UI7…

Is your alarm panel in “chime” mode?? I did have issue with alarm panels in “chime” mode with the panel programming code, so there could be an issue with status processing when in “chime” mode… Or it could be an issue with the json for the device under UI7…

That being said… Once I get my system(s) set up again (they are in a box, in storage, waiting for a moving truck), I’ll work on the issue…

The “PANEL BUSY” message means that you have tried to initiate a panel programming task while a previous programming task is still running.

[quote=“withay, post:76, topic:183436”]I unplugged it and plugged it back in. I got:

EVL3VistaAlarmPanel : Configuration Failed: No zones defined.

So I went to the plugin and clicked the button: “Read Panel” and got this message:

EVL3VistaAlarmPanel : Attempting to get zone data…

And then after a few minutes we’re back to: EVL3VistaAlarmPanel : Connection Down

I tried clicking the “Read Panel” button again and get: EVL3VistaAlarmPanel: PANEL BUSY. which goes away when I scroll or go back to dashboard.[/quote]

The “no zones defined” is normal… the plugin started, and the zones are not defined… so far, so good…
The “Attempting to get zone data” is the plugin starting the panel read process… Does your panel chime three times??? If yes, all is good… If no, there is a problem…

The “connection down” may or may not be a problem… During programming, the connection monitor is bypassed… the “connection down” message may be a previously scheduled connection check that starts running before the programming flag is set… or it may be a bug…

The “panel busy” means a previous programming task is still running… with indicated that this is not the same panel disconnect issue that others have experienced…

More information is needed to track down this issue. If you can set debug mode on and provide the log output, that would help.

I am a newbie and am trying to hook up a EnvisaLink 3 with a Vera Edge.

Prior to trying to get the Vera Edge interface to work, I got the EnvisaLink 3 working with the eyezon web site. I can connect to my Ademco alarm system, and arm and disarm it booth from the webserver in the EnvisaLink 3, and from the eyezon mobile access page.

I am now trying to get the EnvisaLink 3 to work with Vera Edge. I installed the “Ademco Vista Alarm Panel with EVL3” app. It sees the proper IP address for the EVL3. I have set the correct “installer code”, and have set the interface password to “user” which is the default password of the EVL3.

When I press the “read panel” button, the alarm panel does not beep or go into installers mode. I get a blue banner saying it is attempting to get zone information and then a panel in a unknown mode message. I have tried several times and I also get a panel busy message. I have tried and tried and it just won’t read the panel.

I SSH into the Vera and ran a “tail -f LuaUPnP.log” to see if I could see what sort of error message was happening, but the output is cryptic and I can’t see anything obvious. I have attached the output of the log file in a txt file.

I would sure appropriate some help in getting this working. ???

The reason it will not read the panel, and throws the “panel in UNKNOWN mode” message is due to:

50      01/15/15 22:21:10.351   luup_log:3: (EVL3VistaAlarmPanel::incoming) Unhandled data [%00,01,1C28,08,00,*** HILTON **** CHIME,Rdy to Arm$]

which indicated that your panel is programmed with a custom display message, or your panel was manufactured for a specific customer with a custom ROM…

The plugin is designed to work with standard panels… and standard panels display (some variation of) “DISARMED”…

Unfortunately, you will either have to reset (erase) the custom message or wait for me to figure out an easy way to handle custom messages. You could try to manually program the zones, but the custom message may prevent the plugin from properly recognizing what arm state the panel is in.

Things are working! Here’s what I did:

Deleted app
Installed app
entered “Interface Password” clicked “Set” button
entered “Installer Code” clicked “Set” button
clicked “Detect” button for IP Address
detected ok.
Clicked read panel
Several messages up top, worked ok, Panel time (incorrect) appeared next to “Sync Time” button.
“Backing up” message appeared up top.
“Backup Success” message appeared up top then went away.
Assigned to room: Basement, “Save Changes” Success
Clicked “Sync Time” button, correct day/time/date appeared.

And the alarm shows up in Devices!!

For the next part, please forgive me if I’m posting in the wrong place - as it may not have anything to do with the plugin/app.

Now, my devices seem… not what I expected.
When I first moved into the house (last April) I had: Front Door sensor, Living Room Motion sensor, Basement door Sensor, Basement Motion Sensor, Back Hall Motion Sensor. No instructions, no connection to an alarm company, no codes, just the panel and my curious brain.

I found a manual online, and helpful forums, and got the installer code and made my master code and PIN codes to control it. I was then able to arm/disarm, and successfully set it off by accident with the front door twice!

A few months ago I removed the wires (bypassed with resistors) in the box from the Living Room Motion sensor, and the Back Hall Motion Sensor, as I didn’t want to use them.

From my keypads by the front door and upstairs, I am able to arm/disarm.

My Vera dashboard shows:
Zone #04 - picture of motion sensor
Zone #03 - picture of motion sensor
Zone #02 - picture of motion sensor
Zone #01 - picture of door sensor

They all have “bypassed” with the slide button greyed out. When I clicked one of the slide buttons to see what would happen (don’t judge!) I got a message up top: “Can’t remove zone bypass for a single zone. Perform a partition disarm to remove all zone bypasses.”

When I click “Away” to arm in Vera, I get a message: “Cannot arm/disarm without PIN code.”

I found where to add my PIN, did so.

Clicked “Away” and heard the beeps and my panel armed, and all 4 zones show “armed” in red.

I clicked “Disarm” and heard the beep and “disarm” is green… but all 4 zones still are red and say “Armed”.

So, let me TL;DR for my questions:
Why does Vera show 3 motion detectors for zones 1,2,3, and a door/window for 4, when it should show (as far as I know) 2 doors and 1 motion detector?
How DO I find out what I have?
Does a red “Armed” simply mean that the zone is not bypassed?
How do I get a zone back after clicking “bypass” and having it work and that zone disappeared? (again, don’t judge, I’m clicky!)

Thanks for the find about the custom message in the 1st line of the display. I reset the partition 1 description in partition descriptor 11. Now the panel displays “DISARMED CHIME” on the first row, and “Ready to Arm” on the second row.

So now I go to read the panel and it still won’t work. I captured a log and have attached it. It still shows an unhandled data error 50.

Any help would be appreciated. :slight_smile:

Removing just the wires is not enough… You need to delete the zone from the panel as well (otherwise you will get devices in Vera to control the disconnected zones)… enter programming mode. enter *56 (zone programming), go to the zone for the sensor(s) you removed, and enter 0 (zero) for the zone type - the panel will ask if you want to delete the zone, enter 1 for yes. repeat for other removed zones.

Because the plugin does a “best guess” of the sensor type based on the zone label from the panel and sometimes it makes a bad choice (i’ve spoken to it about the pitfalls of making bad choices in life, but it just won’t listen).

You can go to the panel device setup page, go to the zone tab and change the sensor type for the zones affected to the correct type of sensor installed for the zone.

By examining the panel and the sensors… trip a sensor and look at the panel for the report of which zone was faulted… you then know that the sonsor type that you just tripped is for the zone that just faulted.

Yes, the red “Armed” means that the sensor is active and is not bypassed… An Armed, or active, sensor can trigger an alarm on your panel if the partition the sensor is in is armed. A disarmed, or bypassed, sensor will not trigger an alarm on the panel if the partition that the sensor is in is armed.

You rearm a zone by disarming the partition that the sensor is configured to.

STOP CLICKING ON S***!!! 8-}

The unhandled data is normal behaviour (The “50” at the begining of the line is the log level, not an error number).

Basically, you do not yet have any zones defined in the plugin, so the plugin is idling… The incoming status information can not be processed, as there are no zones, so the data is logged as unhandled.

So… first… What model of panel do you have? second… what is displayed in the status box at the top of the screen?

Also, the log you attached does not show the plugin starting the “read panel” function, and without that I can’t tell what is going on…

In the mean-time, since we did determine that you had a custom message defined rather than a custom panel… you have the option of defining your zones manually using the zones tab…

My system is a Vista 20p (ADT Safewatch 3000)

I am still trying to get the read panel function to work. I got the following error in the log file.

01 01/16/15 23:12:47.105 LuaInterface::CallFunction_Timer-5 function discoverPanelConfig failed [string “–EVL3VistaAlarmPanel…”]:2568: attempt to index local ‘pData’ (a nil value) <0x767af520>

I have attached a log file if you need more information.

As always thanks for helping me get this working.

For some reason, your EVL3 does not have any data waiting for the plugin when it checks for keypad data… The plugin uses this data to determine what mode the panel is using (normal or chime mode)…

I’ve changed the routine that waits for this data… upload the attached file to your Vera, and reload the LuaUPNP engine, and see what happens (I disavow any responsibility if the magic blue smoke escapes from your Vera 8-} )

Hi,

I’m having trouble connecting my EVL3 to my Vera (Honeywell Vista 20P). Installed the EVL3, Eyezon app is working properly, installed the plugin in Vera.

When I type the EnvistaLink IP address into the IP (Forced) field, I receive an “error no implementation” (The IP address is the one assigned to EnvistaLink by the router from my DHCP Tables, correct?). It’s also not able to detect the IP address (do the Vera and EnvistLink need to be next to each other; currently they are on opposite sides of the house).

Are there installation instructions and does anyone have additional thoughts for connecting the two?

Thanks.

Oops… Typo in the implementation file… a corrected version is attached…

Thanks. I had the same issue - thanks for the fix. However, what do I do with this file? I’m new to Vera.

Yes, I revamped the mode processing code back in early November…

My VeraLite running UI5 highlights the status correctly, but I don’t (yet) use scenes with the alarm panel so I can’t speak to that… and I don’t recall any issues when I tested the events or when testing under UI7…

Is your alarm panel in “chime” mode?? I did have issue with alarm panels in “chime” mode with the panel programming code, so there could be an issue with status processing when in “chime” mode… Or it could be an issue with the json for the device under UI7…

That being said… Once I get my system(s) set up again (they are in a box, in storage, waiting for a moving truck), I’ll work on the issue…[/quote]

Hi - thanks for replying. :slight_smile:

Yes, I’m in Chime mode - that’s critical to my system because I have a driveway sensor and talking panels that require it. I will be happy to test it without the chime on and let you know.

BTW, the scenes are VERY useful… when I arm the alarm with my keyfob, the Vera detects it and will turn out lights and lock doors. :slight_smile: I’d be so happy if we could figure this out - but I totally appreciate your situation and have no problem waiting for you to get things up and running.

Is there any diagnostic data I could provide for you that would help?

See the first post, under manual insallation - step 2.

I was afraid of that…

Testing would help considerably…

If you could first turn on debug mode and arm the panel in away and post the log… so I can see what’s going on…
Then turn off chime mode and rearm… so we can verify that it is chime mode causing the issue…

Once I look at the log, I should be able to see the problem…

Thanks.

Thanks for updating the typo in the plugin (and for being so responsive)!

With the new file, I was able to auto detect the IP correctly. When I now attempt to read the panel, I get, “FAILED: Zones or Outputs already configured.” When I attempt to sync the time, I get, “ERROR! NOT CONNECTED TO EVL3.”

Any additional help is much appreciated.

Thanks.

I’m also experiencing the “ERROR! NOT CONNECTED TO EVL3.” when I am attempting to do a “Read Panel.” I can confirm interface code, installer code are good. the Auto-Detect also works good.

I’m attaching the logs from my Vera.

I just wanted to thank cybrmage for the work on this plug in.

I was having trouble trying to read the panel. After working with cybrmage I managed to get it to work.

I have a ADT Safewatch 3000 alarm system, which is a Ademco Vista 20p system. My first issue, was there was a partition custom text line on the first line of the panel. I had to erase the partition custom text. In Program mode *82 1 1 1 11 then I had to delete the custom word by typing #32 for a space and then 6 to move to the right. See the programming menu if you need help.

Now my display shows he default

Line 1= DISARMED CHIME
Line 2 =Ready to Arm

Ok, now on to more issues. I was still having issues with reading the panel. cybrmage sent me a file “L_EVL3VistaAlarmPanel1.lua” that has the lua code for this plug in. I found that my panel was having problems when the lua sent out the “installers code” to the panel. The way my panel works is when the installers code + 1 is entered the panel gives an audible beep. If I enter a wrong installers code + 1 it does nothing.

The part of the code that my panel had trouble with is

pStatus, pData= doProgrammingRequest(lug_device, INSTALLER_CODE…“1”, beepResponse, true)
if ((pStatus == true) and (tonumber(pData:sub(16,17),10) >= 1)) then
log(“(EVL3VistaAlarmPanel::discoverPanelConfig) Installer Code accepted.”)
pStatus, pData = doProgrammingRequest(lug_device, INSTALLER_CODE…“1”, “DISARMED”)
pStatus, pData = doProgrammingRequest(lug_device, INSTALLER_CODE…“1”, “DISARMED”)
else
– the InstallerCode variable is incorrect or not set and the default code does not work
if (defaultCode) then
log(“(EVL3VistaAlarmPanel::discoverPanelConfig) FAILED: Default Installer Code incorrect.”,1)
task (“Default Installer Code incorrect. Please set InstallerCode variable”, TASK.ERROR_PERM)
PANEL_TASK_LOCK = false
–return false
else
log(“(EVL3VistaAlarmPanel::discoverPanelConfig) FAILED: Specified Installer Code incorrect.”,1)
task (“Installer Code incorrect. Please correct InstallerCode variable”, TASK.ERROR_PERM)
PANEL_TASK_LOCK = false
–return false
end
end

The specific line it was having trouble with is “(pStatus == true) and (tonumber(pData:sub(16,17),10) >= 1)” I never could determine if it was a pStatus issue or a pData:sub issue.
To get the code to work, I eliminated this check in the code by placing “–” in front of the lines of code I didn’t want to run. Once I did this I was able to read my panel and the plugin seems to be working now.

I don’t know enough about lua or panels to make a recommendation on how to fix the code so it will work on panels like mine, but cybrmage thanks for helping me with enough support that I could figure out what was going on with my panel.

This means you have already manually configured the plugin. Once configured, it will not read the panels configuration again. This prevents unintended changed to the plugin configuration (IE: your panel has outputs configured, but you have manually deleted them in the plugin because you do not use them - re-reading the panel configuration will add the outputs back in). You need to go to the advanced tab and erase the data in “zones” and “outputs” before you can read the panel.

This was done to prevent “I clicked on read panel and it screwed up my configuration” complaints… I guess I didn’t plan on the “It wont read my panel” complaints… 8-}

The IS_CONNECTED variable is used to determine if the plugin has connected (performed the login procedure) to the EVL3. It is set to “true” only when it receives an “OK” response from the EVL3.

Most plugins, once installed, will terminate if their startup process fails… this plugin is different.

So… You install the plugin… it is not yet configured and does not know how to find your EVL3, so it can’t do the login process. the IS_CONNECTED variable is “false”… at this point, most plugins will report the failure to the OS and their thread will be terminated. This plugin lies to the OS and says that it completed successfully. This keeps the process thread running… allowing the autodetect, set username, set password and force ip functions to work.

The downside to this is that once you have autodetected (or manually set) the IP address, and set the password and installer code… The plugin is still not connected to the EVL3, even though it has all the correct information. Once you have detected the EVL3 (or manually set the IP) and the password and the installer code, you must reload the LuaUPnP engine so that the plugin can actually connect to the EVL3 and start the login process.

(probably TMI… but knowledge is good… i think…)

This line translates to: Did we receive a response from the EVL3 (pStatus == true) and did the EVL3 tell us that the panel beeped (tonumber(pData:sub(16,17),10) >= 1) in response to our disarm command… It basically ensures that the panel is disarmed, and in a known state before we start telling it to do things.

So… you eliminated the sections of the code that prevent your panel from being corrupted by the programming commands and other operations of the plugin… you commented out the “return false” after the “PANEL_TASK_LOCK = false”… The panel task lock prevents the plugin from trying to send commands to the panel during programming… such as arm/disarm, bypass, time set, etc…

Imagine what happens if you are programming the panel from the keypad, and someone comes along and starts pounding keys randomly… what would happen to your panel programming…

You are VERY lucky… During development of the “read panel” routines, I had to completely reprogram my panel many times due to corruption of the programming done by unexpected events… hence the extra programming to prevent them…

Yes, the ADT panel is a Vista 20P, but it has a different ROM, and obviously it does not have exactly the same responses as a stock Vista 20p… I understand that you are (were) eager to get it working, but turning on debug mode and logging the process would have been the more prudent option, and would have allowed me to discover exactly how the ADT responses differ from stock, so that everybody could benefit…

That being said, I am glad that you got it working, and that your panel did not suffer corruption…

The downside to this is that once you have autodetected (or manually set) the IP address, and set the password and installer code... The plugin is still not connected to the EVL3, even though it has all the correct information. Once you have detected the EVL3 (or manually set the IP) and the password and the installer code, you must reload the LuaUPnP engine so that the plugin can actually connect to the EVL3 and start the login process.

Hi cybrmage,

Reloading the LuaUPnP engine did not fix the IS_CONNECTED variable. Reading panel still shows no connection to EVL3. Ideas?

(BTW, thanks for the hard work on this plugin!)

Same. Still having the same issues as comment23.

“Reloading the LuaUPnP engine did not fix the IS_CONNECTED variable. Reading panel still shows no connection to EVL3.”

As well, attached is a screen shot of the only thing I’m seeing in my devices (Just the panel, no Partition). Is this correct/does it update once everything is connected?

Seriously, thank you for all of your support.