Ademco Vista BP/FBP 128 & 250
Spire_Jeff
Posts: 1,917
This is the second comm module in the last two days that has caused me some grief. This one is definately due to a protocol change on the part of Honeywell (ademco). It seems that the protocol was changed for the better in that it now supports multiple partitions and also allows access to all 250 zones (or max of panel). The only problem is that the preliminary documentation that AMX used to create the new Java comm module is quite different than the actual implementation. It seems that the disarm/arm and partition reporting portions of the module function properly, but the zone information is completely useless. The comm module is unable to interpret the zones as anything other than active.
I was watching the internal diagnostic messages and saw that the java module was occasionally reporting a SYSTEM EVENT message, but this message wasn't being sent to the virtual device. These events are actually what I am after for this job, so I was wondering if anyone knows of a PROPERTY I can set to have the comm module send these events to the virtual devices?
Eventually, I have another job coming up that will be easier to code if I can query the current status of the zones individually, but I am hoping that by then an update module will be available.
I really hope that I am just spending too much time in the areas where they are still painting and that after this weekend, the fumes will subside and I will see the stupid errors I am making, but until then I decided to essentially whine to the forums
Jeff
I was watching the internal diagnostic messages and saw that the java module was occasionally reporting a SYSTEM EVENT message, but this message wasn't being sent to the virtual device. These events are actually what I am after for this job, so I was wondering if anyone knows of a PROPERTY I can set to have the comm module send these events to the virtual devices?
Eventually, I have another job coming up that will be easier to code if I can query the current status of the zones individually, but I am hoping that by then an update module will be available.
I really hope that I am just spending too much time in the areas where they are still painting and that after this weekend, the fumes will subside and I will see the stupid errors I am making, but until then I decided to essentially whine to the forums
Jeff
0
Comments
Kevin D.
Jeff
Can anyone tell me if I load just the module into my system and panel, will the module control the security? So the only thing I changed is the 232 port and user id, then compile and download...is this module supposed to be able to control the security system? If it is...it is not.
I see the TX light occassionally on the com port, but no RX, but if I use the same cable connected to my laptop and use a terminal emulator I send a poll command and get a reply. Also when I press buttons on the panel I dont see the TX light....???? Any ideas?
I also keep getting "DDD.physicalDeviceOffline: 5001:5:0 is offline" in my diagnostic window and/or in telnet with msg on. This device # is the port I am using.
Hour later......
Using just 2,3,5 did give make some of the module work and no longer is it falling offline. However when I send commands directly to the module using the format supplied in the help file...nothing happens. I see nothing going out of the 232 port. So I send the command SECSTATE-ARM HOME,021234 to the virtual device, but nothing comes out of the 232 port and nothing happens on the security system. Right now I cannot arm the system I am only getting zone status.
I also notice that when an event happens on the security system, like a door opens and a zone fault happens, I get a "command to" from the virtual device. Should'nt that be a command from? So that I can do something with the information coming from the security system.
If the module and panel file from AMX don't work, then it's most likely a problem with the communication. There is a possibility that the alarm firmware is the older version and it will not work. I know for a fact that a premade cable will NOT work and it will cause a problem. If all you ever see is the TX light, and never the RX light, then the alarm panel is not communicating. Double check to make sure that the alarm is configured to properly talk through the serial port. Also, double check the wiring on the serial port. We had one serial port where the sticker that labeled the wire connection points was on upside down and, as a result, the serial adapter was wired incorrectly and did not function (go figure ).
A good way to verify that commincation is happening with the panel is to connect your laptop and use hyperterminal or something to monitor the panel. If it has version 2.x firmware, it should be sending strings out when zone events happen (motion and door sensors trip).
Hope this helps,
Jeff
This is all despite the fact that the code downloaded with the AMX module completely does not work. The panel file it comes with is completely unusable, the code does not match the help file....it seems like this module and sample code needs a total redo. I am not even sure if this module supports keypad emulation on an FBP system...I do know Cre***** module does support keypad emulation and works great, right out of the box.
As for the panel/code from AMX as downloaded, there is no consideration for zone status or even a way to emulate the security keypad LCD. I now have a touchpanel that can arm if the system is ready, however if the system isn't ready, there is no way of knowing why or what zones are faulted, only that the "system not ready" is being displayed.
If anyone has any suggestions, please post them.
Well, I have a Vista 128 FBP unit here, and the module is acting kind of weird. I am using module version 1.07, which seems to communicate, but the module has a terrible memory. If I open a window, the module reports SECPOINTSTATUS-18,FAULT. But, when I ask the module, ?SECPOINTSTATUS-18, I get SECPOINTSTATUS-18,ACTIVE (even though the window is still open).
So, the module is not actually reflecting the current state of any of the zones. Of course, I have elevated this up to AMX support, and there is an RFI in process; hopefully we will see a slight update in the near future. I'll update this thread when I get further information.
Change Request: the module seems to be falsely reporting zones, too. It would be nice if the module was not online with the system, that zone information was not available, avoiding false positive/negative information. I mean, we ARE talking about security here. Or maybe use an UNKNOWN status for the zones if the communication link is down.
One thing to add to the module, there should be some information on getting in to and around in the programming mode of the Ademco keypad, just for the AMX programmer who is onsite without the security vendor... Does anyone have links to the related documents?
Sorry for the confusion.
PS Thx Joe for the documentation
We've been in the process of moving from the Destiny6100 to whatever. We originally thought that we'd obviously move to the VistaFBP.
We had to abandon it, however, due to some flaws in how the Vista works as far as external control is concerned.
Our main beef is that the internal panel controls and external controls do not operate the same. On the Vista commands do not have to be preceeded with a user number. Externally all arm/disarm commands need to have the user prefix.
We didn't like the idea of the client having to work the system two different ways. We liked the Destiny because keypad emulation worked flawlessly.
This is not a flaw in the AMX module. It is just how the Vista works. We did get the AMX module working quite well but didn't like the functionality.
After digging in and trying to roll our own module, we realized that the problem lies in how the Vista works.
Another big issue that is flaky about the vista is that it doesn't volunteer feedback when a sensor status changes. You have to poll it. This, oddly enough, is true even within the panel itself. When you select the zone status window on the Vista panel, you see an update button. So, if you're looking at the panel's status and open a door, that zone will not change until you hit the update button.
Here again, for us, this was not acceptable. We typically put a floor plan and door/window/fire pilot lights on the graphic to show open-closed status.
I have to admit, we found ourselves puzzled by Honeywell on this. We were of the understanding that they were not ditching the Destiny per se but trying to absorb it into the Vista line. They seemed to know the liimitations of the Vista as of a couple years ago. I guess they just gave up on re-tooling it.
By the way, we ended up going with the GE security system. It has worked wonderfully for us. It behaves much like the Destiny6100 but much faster and easier to program.
I was able to create a keypad on the touchpanel that functions pretty close to a real keypad, but I was writing my own code to talk to the unit, not using the module. The module was pretty useless.
I suppose it's a matter of how much liablility you want to take on. I personally do not want to store any security codes or other user information in my AMX system.
We did make a keypad emulator of sorts and I was able to get it done as long as I stored all the user IDs and their access codes in the AMX program.
I have a problem with the alarm honeywell 128.
I want to capture the code that throws the alarm from the RS232 port to my computer, I have the code done and charge the controller of AMX and I can not receive anything.
Someone will have some code that I can pass or at least, that can guide me?
The AMX module for this actually work for this pretty well. I'd ho with that.
My code:
MODULE_NAME='UI_Alarm' (DEV vdvADEMCO, DEV dvTP, INTEGER nBUTTONS[])
DEFINE_DEVICE
dvALARM_COM = 5001:1:0
DEFINE_CONSTANT
#INCLUDE 'SNAPI.AXI'
DEFINE_TYPE
DEFINE_VARIABLE
VOLATILE CHAR cTEST[2000]
VOLATILE CHAR cTEST_2[2000]
DEFINE_LATCHING
(***********************************************************)
(* MUTUALLY EXCLUSIVE DEFINITIONS GO BELOW *)
(***********************************************************)
DEFINE_MUTUALLY_EXCLUSIVE
(***********************************************************)
(* SUBROUTINE/FUNCTION DEFINITIONS GO BELOW *)
(***********************************************************)
(* EXAMPLE: DEFINE_FUNCTION <RETURN_TYPE> <NAME> (<PARAMETERS>) *)
(* EXAMPLE: DEFINE_CALL '<NAME>' (<PARAMETERS>) *)
(***********************************************************)
(* STARTUP CODE GOES BELOW *)
(***********************************************************)
DEFINE_START
//SEND_COMMAND dvADEMCO,"'SET BAUD 9600,N,8,1,485 DISABLE'"
DEFINE_EVENT
DATA_EVENT[dvALARM_COM]
{
STRING:
{
SEND_STRING 0,"'UI RECEIVED FROM COMM:',DATA.TEXT"
cTEST = DATA.TEXT
}
}
DATA_EVENT[ vdvADEMCO]
{
STRING:
{
cTEST_2= DATA.TEXT
}
}
DEFINE_PROGRAM
(*****************************************************************)
(* END OF PROGRAM *)
(* *)
(* !!! DO NOT PUT ANY CODE BELOW THIS COMMENT !!! *)
(* *)
(*****************************************************************)
Not getting the results for any of the two devices and also I should mention that integrated:
Ademmco_Vista_Comm.jar in another file named, main menu
Well, first off - that is the UI module and there is no UI code in it.
Secondly, this is not that kind of forum. You don't typically come here to get free code. We all do this for a living. Typically when you see example code here it is more along the lines of people sharing ideas and code snipets. If you are new to programming, you might want to have your employer (if they are an AMX dealer) get you to the classes. You'll find it very enlightening.
but - to answer your question: The way I'd do it myself is to add the xxx_comm module to your code. You can go ahead and use the provided UI module as well to give you helpful hints. But, I'd seriouconsider writing your own UI code. It's a very simple device. You'll basicaly just need a 10-key pad for the client to enter in their security code, a few buttons for "Alarm - Away", "Alarm Home" and "Disarm" You'll also need a few feedback buttons for the alarm status.
If you're feeling frisky, you can also get the status of each zone in the system and show when a door is opened or closed and that kind of thing.
Paul