<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sia-server/meson.build, branch v0.2.0</title>
<subtitle>IoT backend server</subtitle>
<id>https://cgit.xengineering.eu/sia-server/atom?h=v0.2.0</id>
<link rel='self' href='https://cgit.xengineering.eu/sia-server/atom?h=v0.2.0'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/'/>
<updated>2026-03-27T13:30:51Z</updated>
<entry>
<title>Add version to start / stop log messages</title>
<updated>2026-03-27T13:30:51Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-03-27T13:30:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=5b64946098839d3df679bdc7ef1c4cc4e692323a'/>
<id>urn:sha1:5b64946098839d3df679bdc7ef1c4cc4e692323a</id>
<content type='text'>
This makes it more transparent which version is executed.
</content>
</entry>
<entry>
<title>Move version string to VERSION.txt</title>
<updated>2026-03-27T13:28:51Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-03-27T13:28:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=6c920f59a20849deb882f60a3eab42b069914a7e'/>
<id>urn:sha1:6c920f59a20849deb882f60a3eab42b069914a7e</id>
<content type='text'>
This new files can easily be included into Meson and Go. Passing it from
Meson to Go or vice versa is not that easy.

Thus the version string is now maintained in a dedicated file.
</content>
</entry>
<entry>
<title>Add TP-Link HS100 support</title>
<updated>2026-03-26T16:46:54Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-03-26T16:46:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=5c7284640a6f0ddc0aa80178d5a3b91a5123b6c8'/>
<id>urn:sha1:5c7284640a6f0ddc0aa80178d5a3b91a5123b6c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add MQTT subscription for /cover/&lt;id&gt;/movement</title>
<updated>2026-03-25T20:09:11Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-03-23T19:53:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=1bd2833f81379f25b29ab5d929f14e51700fa471'/>
<id>urn:sha1:1bd2833f81379f25b29ab5d929f14e51700fa471</id>
<content type='text'>
This let's the Sia server receive cover movement commands. For now they
are simply logged.
</content>
</entry>
<entry>
<title>tools: websocket: Add dummy and build integration</title>
<updated>2026-03-23T15:55:47Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-03-21T15:06:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=1a953af65ca5b3a83e7a50407a0c480ab22cc924'/>
<id>urn:sha1:1a953af65ca5b3a83e7a50407a0c480ab22cc924</id>
<content type='text'>
Adding support for Shelly devices requires usage of the Websocket API.

To make development easier a debug tool is created.

Since it is not relevant for users it is not an artefact included into
the deploy file archive. This also avoids later removing it which is by
definition of the public API (see README.md) a breaking change.
</content>
</entry>
<entry>
<title>Add `-dev` version suffix</title>
<updated>2026-03-23T15:54:18Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-03-23T15:54:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=6b101a7fe8f2c9e4d608f68de773c423bf83a89b'/>
<id>urn:sha1:6b101a7fe8f2c9e4d608f68de773c423bf83a89b</id>
<content type='text'>
This makes clear that the current version is not a clean release.
</content>
</entry>
<entry>
<title>Release version 0.1.0</title>
<updated>2025-12-20T14:38:31Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T14:38:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=b3092e759896ec038e6b42ee2310036fedcde41f'/>
<id>urn:sha1:b3092e759896ec038e6b42ee2310036fedcde41f</id>
<content type='text'>
This is the first release of the Sia server. It is the Minimal Viable
Product (MVP).
</content>
</entry>
<entry>
<title>Add CHANGELOG.md</title>
<updated>2025-12-20T14:23:33Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T14:23:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=134991968b8661aef17468aa3358af29a21b9f32'/>
<id>urn:sha1:134991968b8661aef17468aa3358af29a21b9f32</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Deploy README.md</title>
<updated>2025-12-20T14:13:17Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T14:13:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=f2e6dee6000258c95b5e0e52a9e17fafc35f6a5b'/>
<id>urn:sha1:f2e6dee6000258c95b5e0e52a9e17fafc35f6a5b</id>
<content type='text'>
This information is useful in the deploy tar archive. Thus it is copied
there.
</content>
</entry>
<entry>
<title>systemd: Add service and sysusers configuration files</title>
<updated>2025-12-20T13:59:15Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:59:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=b1bd87926098e03ffd983666d0746055122854fd'/>
<id>urn:sha1:b1bd87926098e03ffd983666d0746055122854fd</id>
<content type='text'>
This makes it possible to run the Sia server executable on systemd-based
Linux distributions with systemd making system administration easier.

Maintaining these files in the source instead of packaging repository
was decided since systemd is the dominant init system across Linux
distributions and thus not every distribution-specific packaging repo
needs to re-invent the wheel.
</content>
</entry>
<entry>
<title>Deploy default configuration</title>
<updated>2025-12-20T13:54:42Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:54:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=5f3cd750b2867854a1e05f66312062426024f676'/>
<id>urn:sha1:5f3cd750b2867854a1e05f66312062426024f676</id>
<content type='text'>
The default configuration from the source tree is embedded into the
executable with Go's embed package to assume the correct defaults.
Furthermore it is now also part of the artifact tar archive to give
users an idea how a configuration file should look like.
</content>
</entry>
<entry>
<title>Add Meson-tracked project version</title>
<updated>2025-12-20T13:50:28Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:50:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=b9ae3f51309ff0b38e7291239a0334e8df76b9d1'/>
<id>urn:sha1:b9ae3f51309ff0b38e7291239a0334e8df76b9d1</id>
<content type='text'>
This allows to use the version of the project in the build system
independent from the version control system. Thus a source tar archive
can be built the same and also changing the version control system does
not change anything regarding the build process.
</content>
</entry>
<entry>
<title>Add tar archive generation for deployment</title>
<updated>2025-12-20T13:40:31Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:40:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=e66f5b43a41283ddf4c4dae10e3b32e1fa0be077'/>
<id>urn:sha1:e66f5b43a41283ddf4c4dae10e3b32e1fa0be077</id>
<content type='text'>
Bundling all build artifacts into one tar archive is good practise to
make deployment easier and underline which files in the build directory
are important.

zstd was picked for compression because of the very good compression
ratio.
</content>
</entry>
<entry>
<title>Make GOOS and GOARCH part of executable name</title>
<updated>2025-12-20T13:35:45Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:35:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=e4eeebd12a41b65da02087d93e19ee719723fd8b'/>
<id>urn:sha1:e4eeebd12a41b65da02087d93e19ee719723fd8b</id>
<content type='text'>
This renames `sia-server` to `sia-server-linux-amd64`. This makes clear
for which target environment the executable is built and allows to later
place additional executables for other environments too without name
collisions.
</content>
</entry>
<entry>
<title>Implement passing user configuration</title>
<updated>2025-12-20T13:20:42Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:20:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=167772b87698cce479090dbe5bd3d1cc7c1bc808'/>
<id>urn:sha1:167772b87698cce479090dbe5bd3d1cc7c1bc808</id>
<content type='text'>
This allows overwriting values of the default configuration with custom
ones.
</content>
</entry>
<entry>
<title>Add default config parsing</title>
<updated>2025-12-20T13:06:34Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:06:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=d6fa255b1df26a12329a614601a027e074aabeb2'/>
<id>urn:sha1:d6fa255b1df26a12329a614601a027e074aabeb2</id>
<content type='text'>
This is a first step towards configurability.
</content>
</entry>
<entry>
<title>Add Meson target `test` for unit testing</title>
<updated>2025-12-20T13:01:51Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T13:01:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=ba367f41077be88338db981c88802d7292ac7013'/>
<id>urn:sha1:ba367f41077be88338db981c88802d7292ac7013</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Separate Homematic code</title>
<updated>2025-12-20T12:47:56Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T12:47:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=6978bf0635372b0330629469fb86ddb640cdd863'/>
<id>urn:sha1:6978bf0635372b0330629469fb86ddb640cdd863</id>
<content type='text'>
Similar to a previous refactoring of the MQTT-related code this removes
all Homematic logic to a dedicated file.

The only connection to the outside is the `tx chan MQTTMessage` channel
and the `HomematicRun()` function.

This makes the code more modular.
</content>
</entry>
<entry>
<title>Separate MQTT logic</title>
<updated>2025-12-20T12:27:42Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T12:27:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=96299467958aaffdbef5cb8ae780d3abeddfcaba'/>
<id>urn:sha1:96299467958aaffdbef5cb8ae780d3abeddfcaba</id>
<content type='text'>
This reduces the coupling between the MQTT-related code and everything
else to a single `tx` channel of type `MQTTMessage`.

This improves the code quality significantly.
</content>
</entry>
<entry>
<title>Add cache implementation</title>
<updated>2025-12-20T12:00:52Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-20T12:00:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=853e3fd5f2b4e622d4e35c0e3c2fad6c358cb8ae'/>
<id>urn:sha1:853e3fd5f2b4e622d4e35c0e3c2fad6c358cb8ae</id>
<content type='text'>
This avoids frequent MQTT messages containing the same state.
</content>
</entry>
<entry>
<title>Add Meson build system</title>
<updated>2025-12-08T20:14:18Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-12-08T20:14:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/sia-server/commit/?id=1324f1efdbc9b34a6821be26a45c152d8afea614'/>
<id>urn:sha1:1324f1efdbc9b34a6821be26a45c152d8afea614</id>
<content type='text'>
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.
</content>
</entry>
</feed>
