flareman / homebridge-caddx-interlogix Goto Github PK
View Code? Open in Web Editor NEWA Homebridge plugin for the CaddX/Interlogic NetworX NX-595E and Hills ComNav network interface.
License: Apache License 2.0
A Homebridge plugin for the CaddX/Interlogic NetworX NX-595E and Hills ComNav network interface.
License: Apache License 2.0
Hello, I just purchased a water leak detection and shutoff system called NoWa360. This seems simply to be an implementation on top of the interlogix panel where the sensors are wireless Z-wave water sensors and the panel is set up to control a valve to shut off the water supply if any of the sensors activate. It uses the UltraSync app.
I'm able to connect to the panel over http on my local network and I've created a user and pin for homebridge. I've set my router to fix the IP address of the panel. I've verified that I can log in to the panel's web interface using that user and pin.
However when I add the plugin to my homebridge config via the web UI and restart, i get an error that indicates that the plugin is unable to log in to the panel.
Any suggestions on what might be wrong, or how to debug this?
Thanks for your help!
Hi there,
Is it possible to connect to a NX-596e-sim? it looks like te same as a 595 but whit a extra sim module.
I have this but when using the plugin I cannot connect.
I can access my system from a web interface no problem but using the created user and pin in homebrige cannot get it connecting.
Could not process zones; not logged in
Grz Marank
Any spaces in names (Area, etc) are shown as %20 in HomeKit.
eg, "Central Street" will show as "Central%20Street"
(This is the Hills Comnav (S2096A))
I have an NX 584 board that connects via a serial to tcp connector on ipaddress: x.x.x.:4999. Can this plug-in communicate that way or be modified to communicate to the NX584 board….I am pretty sure all the 595 boards are sold out
thanks.
Just a newbie question, but would you expect this plugin to also work with the NetworX NX-8SE alarm system? Or is it specific to your NX-595E?
Hi!
I was really excited to find your plugin and try it out on my Hills system with the ComNav board (version 2 possibly) however it doesn't seem to work with my system. As best I can guess from the Homebridge.io logs, it is trying to use http to talk to the board but the ComNav is insisting on requiring https so it's throwing back a 403 Access Denied requiring SSL and rejecting the login attempts.
Is this something your code already handles? I didn't see a simple way to enable https in the plugin configuration.
[07/11/2021, 01:03:31] Homebridge v1.3.5 (Homebridge 0B6B) is running on port 51492.
Error: Forbidden
at Request.callback (/usr/lib/node_modules/homebridge-caddx-interlogix/node_modules/superagent/src/node/index.js:879:15)
at IncomingMessage. (/usr/lib/node_modules/homebridge-caddx-interlogix/node_modules/superagent/src/node/index.js:1130:18)
at IncomingMessage.emit (node:events:402:35)
at endReadableNT (node:internal/streams/readable:1343:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
status: 403,
response: <ref *1> Response {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
res: IncomingMessage {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 4,
_maxListeners: undefined,
socket: [Socket],
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
rawHeaders: [Array],
rawTrailers: [],
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 403,
statusMessage: 'Forbidden',
client: [Socket],
_consuming: true,
_dumped: false,
req: [ClientRequest],
text: '403 Access Denied: SSL Required - use HTTPS\r\n',
[Symbol(kCapture)]: false,
[Symbol(kHeaders)]: [Object],
[Symbol(kHeadersCount)]: 2,
[Symbol(kTrailers)]: null,
[Symbol(kTrailersCount)]: 0,
[Symbol(RequestTimeout)]: undefined
},
request: Request {
_events: [Object: null prototype],
_eventsCount: 1,
_maxListeners: undefined,
_enableHttp2: false,
_agent: false,
_formData: null,
method: 'POST',
url: 'http://10.0.0.xxxx/login.cgi',
_header: [Object],
header: [Object],
writable: true,
_redirects: 0,
_maxRedirects: 0,
cookies: '',
qs: {},
_query: [],
qsRaw: [],
_redirectList: [],
_streamRequest: false,
_data: [Object],
req: [ClientRequest],
protocol: 'http:',
host: '10.0.0.xxxx',
_endCalled: true,
_callback: [Function (anonymous)],
_fullfilledPromise: [Promise],
res: [IncomingMessage],
_resBuffered: true,
response: [Circular *1],
called: true,
[Symbol(kCapture)]: false
},
req: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 3,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 20,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /login.cgi HTTP/1.1\r\n' +
'Host: 10.0.0.xxxxx\r\n' +
'Accept-Encoding: gzip, deflate\r\n' +
'Content-Type: application/x-www-form-urlencoded\r\n' +
'Content-Length: 20\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/login.cgi',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '10.0.0.xxxxx',
protocol: 'http:',
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
text: '403 Access Denied: SSL Required - use HTTPS\r\n',
body: {},
files: undefined,
buffered: true,
headers: { connection: 'close' },
header: { connection: 'close' },
statusCode: 403,
status: 403,
statusType: 4,
info: false,
ok: false,
redirect: false,
clientError: true,
serverError: false,
error: Error: cannot POST /login.cgi (403)
at Response.toError (/usr/lib/node_modules/homebridge-caddx-interlogix/node_modules/superagent/src/node/response.js:95:15)
at Response._setStatusProperties (/usr/lib/node_modules/homebridge-caddx-interlogix/node_modules/superagent/src/response-base.js:126:48)
at new Response (/usr/lib/node_modules/homebridge-caddx-interlogix/node_modules/superagent/src/node/response.js:41:8)
at Request._emitResponse (/usr/lib/node_modules/homebridge-caddx-interlogix/node_modules/superagent/src/node/index.js:928:20)
at IncomingMessage. (/usr/lib/node_modules/homebridge-caddx-interlogix/node_modules/superagent/src/node/index.js:1130:38)
at IncomingMessage.emit (node:events:402:35)
at endReadableNT (node:internal/streams/readable:1343:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
status: 403,
text: '403 Access Denied: SSL Required - use HTTPS\r\n',
method: 'POST',
path: '/login.cgi'
},
created: false,
accepted: false,
noContent: false,
badRequest: false,
unauthorized: false,
notAcceptable: false,
forbidden: true,
notFound: false,
unprocessableEntity: false,
type: '',
links: {},
setEncoding: [Function: bound ],
redirects: [],
pipe: [Function (anonymous)],
[Symbol(kCapture)]: false
}
}
Could not process zones; not logged in
Could not process zones; not logged in
Could not process zones; not logged in
Could not process zones; not logged in
I have some suggestions for the future.
I'd be happy to help implementing them. :)
Hi I’m very new to homebridge and plug-ins. I don’t have a very good knowledge of all of this yet but am keen to control my alarm system through Apple Home app.
I’m having trouble getting this plugin to work.
It has installed in Homebridge on Raspberey Pi and I have it showing in Home app as a bridge but am unable to use its functions in the Apple home app.
Kind regards.
Hi,
Thanks for the plugin! I've been wanting to do this for a long time.
I'm having problems running it though. I added the plugin to my Homebridge instance and configured it through the UI.
It can connect to my NX595e successfully because at first I entered the wrong password and it showed me a "Cannot connect" message and now it doesn't.
But as soon as it launches I get that error and it crashes.
Do you have any idea how to fix this?
Thanks again !
TypeError: Cannot read property 'push' of undefined
at /usr/lib/node_modules/homebridge-caddx-interlogix/src/NX595ESecuritySystem.ts:408:33
at Array.forEach (<anonymous>)
at /usr/lib/node_modules/homebridge-caddx-interlogix/src/NX595ESecuritySystem.ts:405:22
at Array.forEach (<anonymous>)
at NX595ESecuritySystem.processZones (/usr/lib/node_modules/homebridge-caddx-interlogix/src/NX595ESecuritySystem.ts:394:16)
at NX595ESecuritySystem.retrieveZones (/usr/lib/node_modules/homebridge-caddx-interlogix/src/NX595ESecuritySystem.ts:380:10)
at processTicksAndRejections (internal/process/task_queues.js:94:5)
at NX595ESecuritySystem.login (/usr/lib/node_modules/homebridge-caddx-interlogix/src/NX595ESecuritySystem.ts:85:7)
(node:114) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'bank_state' of undefined
at NX595ESecuritySystem.getZoneBankState (/usr/lib/node_modules/homebridge-caddx-interlogix/src/NX595ESecuritySystem.ts:571:30)
at /usr/lib/node_modules/homebridge-caddx-interlogix/src/platform.ts:180:41
at Array.forEach (<anonymous>)
at NX595EPlatform.discoverDevices (/usr/lib/node_modules/homebridge-caddx-interlogix/src/platform.ts:172:36)
at /usr/lib/node_modules/homebridge-caddx-interlogix/src/platform.ts:46:14
at processTicksAndRejections (internal/process/task_queues.js:94:5)
Hi there, wondering if you will be looking to enhance this for the new xGen range. I have this but when using the plugin I cannot connect.
Can access my system from a web interface and ultrasync app no problem but using the created user and pin in homebrige cannot get it connecting.
From the log im getting: Error: Unrecognized vendor
at NX595ESecuritySystem.login (/usr/local/lib/node_modules/homebridge-caddx-interlogix/src/NX595ESecuritySystem.ts:82:26)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
Could not process zones; not logged in
Could not process zones; not logged in
Could not process zones; not logged in
Could not process zones; not logged in
Could not process zones; not logged in
Not sure if this is something easily resolved.
Cheers
Hi. Since updating to the latest version of the plugin, the security system becomes unresponsive after an unspecified amount of time. This requires a reboot of the plug in to get working again.
my output switch 1 is wired to open the garage door and up until version 1.2.8 - this was working perfectly. However since version 1.2.9 and onwards - when you switch on the Output 1 via homebridge, it no longer opens the garage door. I have tried deleting the plugin and install a fresh version of 1.2.9 or 1.3.0 and still no luck. Is there anything I can provide you to help trouble shoot this please?
Hi again! So after your plug in was working very well for a number of days I started getting the dreaded SSL error again. They became more frequent after I reset the card from the security panel and now it's to the point that the card locks itself into SSL mode every few seconds. I downgraded to v1.22 and the same thing happens so I suspect it's a hardware thing. The only thing I haven't done is take the power off the card which I will probably try later, it's just awkward. Which card do you use? I remember you saying you had a different version to mine. I wonder if I can buy that and install it.
Hi again. So I got fed up with this malfunctioning card so I ordered a new card and installed it tonight. It has new firmware and the options are a little different. The biggest problem is that the web access only works when the panel is in program mode, this is supposed to be a security feature. Reading the manual (https://assets.hills.com.au/p/ComNavInstallationManual.pdf), it says that if option 6 is turned on, then web access will be on permanently...except that when I do that, it still doesn't work unless the panel is in program mode. This is so frustrating. Any ideas?
Is it possible to change the type of sensors detected by the plugin for HomeKit?
At the moment all sensors show as contact sensors (for doors, windows, garage doors etc) - however I only have motion sensors installed.
In Home they show incorrectly as contact sensors, so the status appears as open/closed rather than 'motion detected' as motion sensors show.
Not sure if this can be set on a per sensor/accessory basis in Homebridge, or if it has to apply to all sensors detected by the plugin
Hi,
Last week I installed a Hills ComNav on my security system (it's working well) then I installed this plugin a few days ago on Homebridge. I believe I have followed all the steps but HomeKit doesn't show anything with regards to the security system. Is there anything I'm missing?
I have setup the plugin with the following details
{
"name": "Comnav",
"username": "HA_user",
"pin": "3579",
"ip": "192.168.0.194",
"displayBypassSwitches": false,
"displayOutputSwitches": false,
"pollTimer": 500,
"radarPersistence": 60000,
"smokePersistence": 60000,
"ignoreZones": "5,8-16",
"platform": "homebridge-caddx-interlogix"
}
However, I get this error
[Comnav] timeout of 10000ms exceeded
When I put the alarm system in program mode, I get the error below
[Comnav] Could not retrieve areas; not logged in
I have setup the user with these permissions.
Hi, is it possible to add an option to remove the chime button? It's not working with my touchscreen keypad as the chime seems to be controlled directly in the keypad instead of the panel...
Thank you for this really good plugging!!
Partition/area 1 works correctly. A larger system with multiple partitions does not work correctly. They appear as accessories but the status is incorrect (ie showing armed when disarmed) and arming or disarming displays "no response" or "This accessory is not responding".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.