concord4ws is a websocket server for interacting with the Concord4 alarm system. It is designed to be run in a container that has access to the serial port connected to the Interlogix SuperBus 2000. It is written in Rust and uses my concord4-rs library to communicate with the alarm panel. It was created to be used with Home Assistant via concord4ws-ha.
docker run --name concord4ws \
--device=/dev/ttyUSB0 \
-p 8080:8080 \
-e SERIAL_DEVICE=/dev/ttyUSB0 \
-e SOCKET_PORT=8080 \
ghcr.io/joeyeamigh/concord4ws:latest
Environment Variable | Description | Default |
---|---|---|
SERIAL_DEVICE | The serial device to use to communicate with the alarm panel. | (panic) |
SOCKET_PORT | The port to listen on for websocket connections. | 8080 |
- Setup the websocket server as described above.
- Setup the Home Assistant component as described in concord4ws-ha.
- Restart Home Assistant.
- On the integrations page, search for "Concord WebSocket", then enter the websocket server information.
This project is four projects in one. The first submodule is the library to communicate with the panel, and can be found at concord4-rs. The second is this project itself, which is the websocket server written in Rust that consumes that library. The third submodule is a python library that can be used to interact with the websocket server, and can be found at concord4ws-py. Finally, the Home Assistant integration is in the fourth submodule, and can be found at concord4ws-ha.
git clone --recursive https://github.com/JoeyEamigh/concord4ws.git
cd concord4ws
rustup default stable
cargo run -F dotenv # this will load the .env file
This project is still under construction, and more features will be added as I have time.