This is a very simple Home Assistant add-on for the NX584/NX-8E Interface Server
I'm using Serial to TCP/IP to connect to the RS232 of the my NX8E. You can buy this on Amazon.com for around $26 and RS232 serial cable.
Amazon Link: https://a.co/d/8SudbqT
- You don't need to install any software for this item to work. It has a web based configuration that you can use to adjust the settings.
- First, you just need to connect it to your computer directly using ethernet cable.
- This device has static IP address assigned which is 192.168.0.7, so all you have to do is setup your computer to have static address on similar subnet for example: 192.168.0.2 and subnet of 255.255.255.0.
- Open any browser and visit http://192.168.0.7. Username: admin, Password: admin.
- Click the
Local IP Config
and set the IP Type to DHCP. Click Save. Don't click the Restart Module yet. - Click the
Serial Port
and adjust the following parameters similar below and click save.
- You can now remove the device from your PC. From here you can move the device to you alarm panel, connect the serial cable, ethernet to your switch hub and the power cable. On my setup, I'm using power cable that I made which has step-down DC converter (12v to 5v) so I don't need to use separate power source. This mod not required, you can just use the included 5v power adapter.
- Fork this repository (this is necesary, because currently this add-on does not have any user configuration)
- Refer to the configuration documentation of the NX584 server and:
- Change config.ini to describe your NX panel configuration (number of zones, zone names, ES vs US date-time format, etc.)
- Change run.sh to reflect how you'll connect the NX584 server to the NX pannel. (Where it says
--connect usr-tcp232-302:10000
)
- Push your changes to your forked repository
- Add your forked repository as a Third-Party Add-On in Home Assistant
- Configure your NX584 Alarm Panel and Binary Sensors in Home Assistant
- Restart HA.
HINT: If the add-on was installed successfully, you should see something like this in the Logs
section of the add-on:
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
2022-09-11 13:32:40,591 main INFO Ready
2022-09-11 13:32:40,654 controller INFO Loaded extensions []
* Serving Flask app 'nx584'
* Debug mode: off
2022-09-11 13:32:40,668 _internal INFO WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5007
* Running on http://172.30.33.3:5007
2022-09-11 13:32:40,669 _internal INFO Press CTRL+C to quit
2022-09-11 13:32:40,733 controller INFO Connected
2022-09-11 13:32:40,734 controller INFO Connected
2022-09-11 13:32:41,184 _internal INFO 172.30.32.1 - - [11/Sep/2022 13:32:41] "GET /partitions HTTP/1.1" 200 -
2022-09-11 13:32:41,790 controller INFO Zone 2 (VZ/Others) state is NORMAL
2022-09-11 13:32:42,013 controller INFO Zone 3 (VZ/Stairs) state is NORMAL
2022-09-11 13:32:42,192 controller INFO Zone 4 (VZ/Bedroom) state is NORMAL
2022-09-11 13:32:42,860 controller INFO System asserts Valid partition 1
2022-09-11 13:32:42,861 controller ERROR System asserts Fail to communicate
2022-09-11 13:32:42,862 controller INFO System asserts AC power on
2022-09-11 13:32:43,530 controller INFO Zone 1 (VZ/Door) state is NORMAL
2022-09-11 13:32:43,534 _internal INFO 172.30.32.1 - - [11/Sep/2022 13:32:43] "GET /events?index=226&timeout=60 HTTP/1.1" 200 -
2022-09-11 13:32:44,201 controller INFO Zone 2 (VZ/Others) state is NORMAL
2022-09-11 13:32:44,205 _internal INFO 172.30.32.1 - - [11/Sep/2022 13:32:44] "GET /events?index=226&timeout=60
If you get a log saying no reusable address, you might need to switch from DNS name usr-tcp232-302
to the actual IP address and re-install.