blob: 74ac093c6aa38769351944ca9ea1f21362328d2d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# 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
### Homematic IP
[Homematic IP][1] with the [OpenCCU][2] as central device is supported with
these IoT products:
- [HmIP-SWDO-2][3] - optical window or door contact
### Shelly
[Shelly][8] is supported with the following product:
- [Shelly 2PM Gen3][7] - twin relay e.g. for roller shutter control
The implemented API is documented [here][6].
## 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/
[6]: https://shelly-api-docs.shelly.cloud/gen2/
[7]: https://www.shelly.com/de/products/shelly-2pm-gen3-1/
[8]: https://shelly.com/
|