summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-12-20Refactor with Start() and Stop()xengineering
This reduces the lines of code of the main() function significantly and groups all start and stop actions.
2025-12-20Add logging for init and de-init stepsxengineering
This helps to debug potential issues.
2025-12-20Run go fmtxengineering
2025-12-20Refactor MQTT connect / disconnectxengineering
2025-12-20Change topic structurexengineering
The new structure for the contact states is the following. <prefix>/contact/<id>/state The reasoning is: - `<prefix>` allows using multiple (Sia) services on the same broker - `contact` as device type indicates contact-specific semantics - `<id>` makes different contacts distinguishable - `state` is the actual payload
2025-12-20Change topic prefix to `sia`xengineering
The old prefix `sia-server` was longer and not completely correct. The topics under this prefix never belong more to the server or the clients. Thus only `sia` seams to be a good solution.
2025-12-20Refactor with OPENCCU constantxengineering
This unifies the HOST and PORT constants used so far and removes the need for a fmt.Sprintf() call.
2025-12-20Publish contact state with MQTTxengineering
This demonstrates the ability to take information from the Homematic system to MQTT. It is a major proof of concept step towards a minimal viable product (MVP) Sia server.
2025-12-20Add github.com/eclipse/paho.mqtt.golangxengineering
This dependency is required to use MQTT with Go.
2025-12-10Adopt homematic-go examplexengineering
This requests a list of devices from the Homematic central device and then queries the state of every `SHUTTER_CONTACT`. This is a good starting point for the server logic.
2025-12-10Add homematic-go v0.1.0xengineering
This is the minimal viable product (MVP) of this library suitable to build the MVP of the sia-server.
2025-12-10Add Go module xengineering.eu/sia-serverxengineering
This allows to add dependencies to this Go project.
2025-12-08Add Meson build systemxengineering
Meson as a general purpose build system is mightier than what the Go tool can provide. Furthermore it makes it possible to unify build, run and other workflows across projects with different languages.
2025-12-08Add hello world as main.goxengineering
This is just a minimal starting point for the repository.
2025-12-08Add AGPL as LICENSE.txtxengineering