# Sia server Sia server is an Internet of Things (IoT) server. It should be compatible with multiple devices from different vendors. The user interface should be implemented by apps connecting to this central Sia server. ## Supported vendors and devices Currently only [Homematic IP][1] as a vendor and the [OpenCCU][2] as interface is supported. The currently only supported device is: - [HmIP-SWDO-2][3] - optical window or door contact Further device support is planned. ## Build instructions The Sia server is built and tested with the Meson build automation tool. ``` meson setup build meson compile -C build meson test -C build ``` Build artefacts can be shown with the `tar` archive tool and `less` pager. ``` tar -tf build/sia-server-v*.tar.zst | less ``` All relevant build results are part of this Zstandard-compressed tar archive. ## Usage On a `linux/amd64` machine the Sia server can be launched with default configuration in an unpacked deploy archive. ``` ./sia-server-linux-amd64 ``` The command line interface is documented in the help page. ``` ./sia-server-linux-amd64 -help ``` The configuration file format can be looked up based on the `configs/default.json` file. The files in the `systemd` folder are provided for integration into [systemd][4]-based Linux distributions. ## Versioning and public Application Programming Interface (API) This project adheres to [Semantic Versioning][5]. Only aspects explicitly stated here are part of the public API: - file and folder structure of the deploy archive - `sia-server-linux-amd64` command line interface - configuration file format - MQTT interface [1]: https://homematic-ip.com/ [2]: https://openccu.de/ [3]: https://homematic-ip.com/en/product/window-and-door-contact-optical [4]: https://systemd.io/ [5]: https://semver.org/