Home AMX User Forum AMX General Discussion

GE Caddx NetworxNX8E UI needed

I need to control an alarm system (NetworxNX8E) with 40 zones via a NI-3100 and would appreciate if anybody wouldn't mind sharing their UI. I am having a hard time adapting the current AMX module, which is limitted to 8 zones to support all 40 zones in my project. Any help will be very appreciated. Thanks,

Ricardo
ricardo@advancedanomaly.com

Comments

  • TurnipTruckTurnipTruck Posts: 1,485
    Unfortunately, I do not have a UI to share at this point. However, I would like to ask you about working with the NX8E. I will be installing a resi system in the next month in a home that just had an NX8E put in. I have not yet worked with the NX8E

    Have you been able to effectively control the alarm system using the AMX module? If so, did you run into any bugs in establishing proper communication?

    Once I get the system up and running, I would happy to share anything that I create with you.
  • We are using it for a small system, it arms and disarms just fine.

    Curt
  • Did you use the AMX module or create your own? If you created your own, can you share the NX8's protocol?

    I have tried to control two of these systems at different times and in each case, all that I would get was the string that I sent would be echo'd back from the NX8, even when I used my laptop to communicate. CADDX engineering wasn't much help at all either.

    I have a new system that we have just started to work on this interface again and the same thing is happening on this system as before.

    Thanks.

    Sheldon Samuels
  • I am still having trouble communicating with the NX8E. It looks like there is bad documentation and info. Like the wire. AMX module notes says to use:
    2 to 3
    3 to 2
    5 to 1,7

    I tried that and no communications. When I try 2 to 3, 3 to 2 and 5 to 5. I get some info back, but not usefull yet. Can anybody out there who has successfully communicate with the NX8E tell the correct wire? I am connexcting straight to the alarm panel, no NX584 interface box.

    Now, we have the AMX NI-3100 connected to the NX8E and there are some settings on the NX8E that need to be set. What are the correct settings:
    Location 207: "0" (Disabled), "1"(NX584 enabled) or "2"(Serial Printer Enable)?
    Location 208: I am using "2"=9600 Baud(9.6K)
    Location 209: Option 1 = Binary(LED Off) or Option 2 = ASCII(LED on)?
    Location 210: Segment 1: 2, 5, 7?

    We are not using the NX584 interface box as mentioned by the AMX module not "Not to use it" and use the built-in serial port on the NX8E, which has a rinbow cable with a DB9 adapter connected on the board.

    Any suggetions will be very, very appreciated. Thanks,

    Ricardo
  • Spire_JeffSpire_Jeff Posts: 1,917
    Ricardo,

    I'm not in my office right now, but let me see if I can remember the things you are asking.

    Loc 207: I am pretty sure that this should be 1. I think 1 refers to enabling Home Automation functionality, not just the NX584

    Loc 208: 9600 sounds right

    Loc 209: 2 - Definately need ASCII, otherwise it will look like gibberish :).

    Also, I just looked at the documentation that comes with the module. If you scroll all the way to the bottom, it gives you a list of all of the locations and segments that need to be programmed. I would recommend starting with everything they have listed. After it's functioning, you can work with the security guy to disable any of the features you don't want available to the AMX panel.

    Hope this helps,
    Jeff.
  • Spire_Jeff,

    Do we need the the NX584 interface box with the NX8E or the connection is straight to the bulit-in port? I am connecting it straight. When you are at your office could you please check your settings and get back to me. Any possibility of sharing your UI with us as well?

    Thanks,

    Ricardo
  • Spire_JeffSpire_Jeff Posts: 1,917
    With the NX8E, you do not need the NX584.

    As for UI, here is the code that I have dealing with the virtual device, but I am only monitoring the security system on this job.
    DEFINE_DEVICE
    
    dvNetworxNX8E_1 		=	5001:1:0													
    vdvNetworxNX8E_1		=	33001:1:0
    
    DEFINE_VARIABLE
    VOLATILE INTEGER nZoneCount_1    =   25
    
    
    DEFINE_MODULE 'GE_CADDX_Networx_Comm' mdlNetworxNX8E_APP(vdvNetworxNX8E_1, 
                                                          dvNetworxNX8E_1, 
                                                          nZoneCount_1)
    
    DEFINE_CALL 'ALARM EVENT' (INTEGER nPANEL, INTEGER nZONE, INTEGER nSTATUS)
    {
      IF(nEVENT_POINTER[nPANEL] - 1 = 0 OR nEVENT_POINTER[nPANEL] > NUMBER_OF_EVENTS_TO_TRACK+1)
        nEVENT_POINTER[nPANEL] = NUMBER_OF_EVENTS_TO_TRACK
      ELSE 
        nEVENT_POINTER[nPANEL]--
    	SWITCH(nPANEL)
    	{
    		CASE 1:
    		{
    			uSECURITY_EVENTS1[nEVENT_POINTER[nPANEL]].STATUS = nSTATUS
    			uSECURITY_EVENTS1[nEVENT_POINTER[nPANEL]].ZONE_ID = nZONE
    			uSECURITY_EVENTS1[nEVENT_POINTER[nPANEL]].TIME_STAMP = TIME
    			uSECURITY_EVENTS1[nEVENT_POINTER[nPANEL]].ZONE_TYPE = nZONE_TYPE[nPANEL][nZONE]
    			uSECURITY_EVENTS1[nEVENT_POINTER[nPANEL]].LOCATION = nLOCATION[nPANEL][nZONE]
    			IF(nSTATUS)
    				nACTIVE_FAULT[1] = nLOCATION[nPANEL][nZONE]
    		}
    		CASE 2:
    		{
    			uSECURITY_EVENTS2[nEVENT_POINTER[nPANEL]].STATUS = nSTATUS
    			uSECURITY_EVENTS2[nEVENT_POINTER[nPANEL]].ZONE_ID = nZONE
    			uSECURITY_EVENTS2[nEVENT_POINTER[nPANEL]].TIME_STAMP = TIME
    			uSECURITY_EVENTS2[nEVENT_POINTER[nPANEL]].ZONE_TYPE = nZONE_TYPE[nPANEL][nZONE]
    			uSECURITY_EVENTS2[nEVENT_POINTER[nPANEL]].LOCATION = nLOCATION[nPANEL][nZONE]
    			IF(nSTATUS)
    				nACTIVE_FAULT[2] = nLOCATION[nPANEL][nZONE]
    		}
    		CASE 3:
    		{
    			uSECURITY_EVENTS3[nEVENT_POINTER[nPANEL]].STATUS = nSTATUS
    			uSECURITY_EVENTS3[nEVENT_POINTER[nPANEL]].ZONE_ID = nZONE
    			uSECURITY_EVENTS3[nEVENT_POINTER[nPANEL]].TIME_STAMP = TIME
    			uSECURITY_EVENTS3[nEVENT_POINTER[nPANEL]].ZONE_TYPE = nZONE_TYPE[nPANEL][nZONE]
    			uSECURITY_EVENTS3[nEVENT_POINTER[nPANEL]].LOCATION = nLOCATION[nPANEL][nZONE]
    			IF(nSTATUS)
    				nACTIVE_FAULT[2] = nLOCATION[nPANEL][nZONE]
    		}
    	}
      CALL 'DISPLAY ALARM EVENTS' (nPANEL)
    }
    
    
    DATA_EVENT[vdvNetworxNX8E_1]
    {
    
      STRING:
      {
    		STACK_VAR INTEGER nZONE
    		STACK_VAR INTEGER x
       
    		SELECT
        {
          ACTIVE (FIND_STRING(DATA.TEXT,'ZONE',1)):
    			{
    				REMOVE_STRING(DATA.TEXT,':',1)
    				nZONE=ATOI(DATA.TEXT)
    				
    				SELECT
    				{
    					ACTIVE (FIND_STRING(DATA.TEXT,'BYPASS',1)):
    					{
    						IF(FIND_STRING(DATA.TEXT,'FAULT',1))
    						{
    							nZONE_STATUS[1][nZONE] = 2
    							nZONE_STATUS_HALO[1][nZONE] = nHALO_TIME
    						}
    						ELSE 
    							nZONE_STATUS[1][nZONE] = 3
    					}
    					ACTIVE (FIND_STRING(DATA.TEXT,'SECURE',1)):
    						nZONE_STATUS[1][nZONE] = 0
    					ACTIVE (FIND_STRING(DATA.TEXT,'FAULT',1)):
    					{
    						nZONE_STATUS[1][nZONE] = 1
    						nZONE_STATUS_HALO[1][nZONE] = nHALO_TIME
    					}
    				}
    				CALL 'ALARM EVENT' (1,nZONE, nZONE_STATUS[1][nZONE])  
    			}
    			
    			
    			ACTIVE (FIND_STRING(DATA.TEXT,'ALARM',1)):
    			{
    				REMOVE_STRING(DATA.TEXT,'ALARM=',1)
    				SELECT
    					{
    						ACTIVE (FIND_STRING(DATA.TEXT,'FIRE:1',1)):
    						{
    							nALARM_STATUS[1] = 1
    							SEND_COMMAND vdvHVAC,"'T-1 MODE-OFF'"
    							WAIT 50 SEND_COMMAND vdvHVAC,"'T-2 MODE-OFF'"
    							WAIT 100 SEND_COMMAND vdvHVAC,"'T-3 MODE-OFF'"
    							WAIT 150 SEND_COMMAND vdvHVAC,"'T-4 MODE-OFF'"
    							WAIT 200 SEND_COMMAND vdvHVAC,"'T-5 MODE-OFF'"
    							WAIT 250 SEND_COMMAND vdvHVAC,"'T-6 MODE-OFF'"
    							WAIT 300 SEND_COMMAND vdvHVAC,"'T-7 MODE-OFF'"
    							WAIT 350 SEND_COMMAND vdvHVAC,"'T-8 MODE-OFF'"
    							WAIT 400 SEND_COMMAND vdvHVAC,"'T-9 MODE-OFF'"
    							ON[dvTP_SYS,100]
    							CALL 'SEND FIRE LIGHTING MODE'
    							SmtpQueMessage('sending@email.com',
    									'receiving@email.com',
    									"'Fire Alarm - ',TIME,'  ***AUTOMATED NOTIFICATION***'",
    									'Fire Alarm was activated automatically',
    									'')			
    						}
    						ACTIVE (FIND_STRING(DATA.TEXT,'FIRE:0',1)):
    						{
    							nALARM_STATUS[1] = 0
    							OFF[dvTP_SYS,100]
    						}
    						ACTIVE (FIND_STRING(DATA.TEXT,'INTRUSION:1',1)):
    						{
    							nALARM_STATUS[1] = 2
    							ON[dvTP_SYS,101]
    							SmtpQueMessage('sending@email.com',
    									'receiving@email.com',
    									"'Security Alarm - ',TIME,'  ***AUTOMATED NOTIFICATION***'",
    									'Security Alarm was activated automatically',
    									'')			
    							SEND_COMMAND vdvHWI,"'S:1'"
    							WAIT 10 SEND_COMMAND vdvHWI,"'S:1'"
    						}
    						ACTIVE (FIND_STRING(DATA.TEXT,'INTRUSION:0',1)):
    						{
    							nALARM_STATUS[1] = 0
    							SEND_COMMAND vdvHWI,"'S:0'"
    							WAIT 10 SEND_COMMAND vdvHWI,"'S:0'"
    						}
    					}
    				
    			}
    			ACTIVE (FIND_STRING(DATA.TEXT,'PARTITION',1)):
    			{
    				REMOVE_STRING(DATA.TEXT,'PARTITION=',1)
    				SELECT
    				{
    					ACTIVE (FIND_STRING(DATA.TEXT,'ARMEDHOME',1)):
    						sALARM_STATE[1] = 'ARMED HOME'
    					ACTIVE (FIND_STRING(DATA.TEXT,'ARMEDAWAY',1)):
    						sALARM_STATE[1] = 'ARMED AWAY'
    					ACTIVE (FIND_STRING(DATA.TEXT,'DISARMED',1)):
    						sALARM_STATE[1] = 'DISARMED'
    					ACTIVE (FIND_STRING(DATA.TEXT,'EXITDELAY',1)):
    						sALARM_STATE[1] = 'ARMING-EXIT NOW'
    				}				
    			}
        }
      }
    }
    

    Have you tried the location and segment programing info listed at the bottom of the documentation?

    Jeff
  • That and make sure you have the correct serial wiring? I don't remember if it is straight or crossed over, I just remember I had it wrong the first time.

    With that said, we use the AMX module and it is used here daily without issue.

    Curt
  • Thanks guys. I will be at the job site on Friday and I will try communicating with the panel again. I will report my results next week. Again, thank you.

    Ricardo
  • I worked with this system last year and had a terrible time with it. We involved the engineers at GE as well as some guys from AMX and the Security company. It truly was a team effort and although we got it working %70 the other %30 were filled with false alarms, imagine the customer's response :(
    I will see what I can dig up from the job and post it. Also, I am not sure if AMX posted the revised modules since the earlier revisions had many bugs that were discovered while we worked on this system with them. BTW we used a modified version of the already written module and I believe the system had 34 Zones, although we didn't get it working with all zones. Arming/Disarming worked even with multiple codes. Use extreme caution controlling this system with a lot of zones. We ended up ditching it in the end due to the problems with unexplained false alarms.
  • Spire_JeffSpire_Jeff Posts: 1,917
    Were the zones mainly wireless? I have used this panel a few times and have not had any problems. The only problem I did have was with the panic buttons (they don't send any information as far as I could see when watching the serial port comms).

    We even have 1 job that is using three separate panels and the only problem we ever had was with one of the panels and it was related to a malfunctioning wireless device. I know that the information is being reported correctly as there is a full time security staff staring at a couple of touch panels monitoring the status of everything and they do regular testing of all motion and door sensors.

    This panel is VERY good at sending quick updates of the zone status. In fact, it was too quick on some of the motion sensors, so I had to write some code to keep the touch panels indicating motion for a few seconds so you could even have a chance of seeing where the motion took place if you weren't focused on that area :)

    Jeff
  • Hi Jeff,
    I am glad to hear that you had very positive experiences with this panel. Most of the panels were wired in the jobs that we worked on and keep in mind that there were probably many other factors that influenced our results (i.e. the security team that installed the system in the first place, the security system's firmware, etc...). We just couldn't be put in a situation where AMX could even be questioned when it came down to false alarms and the customer's faith in our integration. It may be coincidence but there were no more false alarms when we pulled the plug.

    How long ago were these jobs that you worked on? I hope that all of the testing and troubleshooting that we did had a positive impact on the future modules that were written for this unit.

    Sorry, I originally thought that these systems were done last year but after digging around found that we worked on these jobs a couple of years ago and have since not integrated with these panels. I know of a few other programmers that had very similar results as ours.
    Maybe it is time to revisit this system in a test environment :)

    Did you write your own module or use one of AMX's?
  • Spire_JeffSpire_Jeff Posts: 1,917
    I used the AMX Modules. Most of the jobs containing these panels were completed 2-4 years ago. I think we are going to be working with this panel in an upcoming job (probably 3-4 months away), but the most recent jobs have been using the Ademco FBP panels. The security companies we have been working with seem to prefer them over the GE panels.

    The latest firmware on the Ademco panels does provide for a lot of information to be gathered from the panel, but they are a little slow to update zone changes.

    Jeff
Sign In or Register to comment.