Commit Graph
25 Commits
Author SHA1 Message Date
mirsal 0ed1871042 Implement sensor status debouncing
This introduces a configurable debouncing delay before which no update
is sent to matrix, which avoids flooding the matrix room with updates
when the door is opened and closed in quick succession. It also allows
to quickly open and close the door without sending notifications.

The debouncing window can be configured in config.yml, see example.
2026-10-07 10:52:14 +00:00
mirsal bf6ccc6df1 src: matrix: Read user agent name and version from cargo env 2026-10-07 10:36:38 +00:00
mirsal 624d90f3c9 src: matrix: Slightly better error handling when pinning messages 2026-09-17 13:05:21 +00:00
mirsal db0eb7db5e src: matrix: Use unwrap_or_default() 2026-09-17 12:49:16 +00:00
mirsal 19877c0ac4 Update matrix_sdk to v0.18.0 and implement message pinning 2026-09-17 11:22:29 +00:00
mirsal 982fb7e091 src: matrix: Remove unneeded return statements 2026-09-16 11:24:15 +00:00
mirsal 9aee5ab2a5 Add README.md 2026-09-16 11:17:22 +00:00
mirsal 2de48b94d3 matrix-lolopener.service: Use cli flags
Set the working directory to /opt/lolopener and use the -c cli flag to
set the config file path
2026-09-16 11:15:54 +00:00
mirsal c4e32064e2 Add an example config file 2026-09-16 10:42:28 +00:00
mirsal 9d0490ec01 src: main: Implement commandline arguments parsing
Use clap for argument parsing, read the config file path from the
commandline and implement basic help and version options
2026-09-16 10:21:37 +00:00
mirsal 682ca3d38b src: main: Document a potential panic condition 2026-09-14 17:38:00 +00:00
mirsal b1a75727d4 Add a systemd unit file 2026-09-14 17:21:52 +00:00
mirsal d4b16451b9 src: main: Do not send a matrix message on duplicate status updates
Keep track of the last status update and post to the matrix room only if
it changes.
2026-09-14 16:54:56 +00:00
mirsal 0b700cabc4 src: matrix: Rewrite misleading error message 2026-09-14 16:05:30 +00:00
mirsal e28e963927 src: matrix: Remove useless return statement 2026-09-14 16:05:03 +00:00
mirsal 856ac37e45 src: matrix: Whitespace 2026-09-14 16:04:42 +00:00
mirsal 6169182aff src: mqtt: Replace single-branch match with if let 2026-09-14 16:03:57 +00:00
mirsal cdd841a681 src: mqtt: Use simpler struct instanciation syntax 2026-09-14 16:03:01 +00:00
mirsal e392067042 src: main: Remove useless type conversion 2026-09-14 16:02:04 +00:00
mirsal b343536032 src: main: Remove useless return statement 2026-09-14 16:01:40 +00:00
mirsal 57b0760c99 src: main: Remove redundant closure call 2026-09-14 16:00:52 +00:00
mirsal 9e4d6f2ed6 src: mqtt: Make clippy happy by renaming error enum variants 2026-09-14 15:59:43 +00:00
mirsal 8911bacdec src: config: Make clippy happy by renaming error enum variants 2026-09-14 15:58:37 +00:00
mirsal ae1cfa4666 src: Fix comment headers so that clippy is happy 2026-09-14 15:57:21 +00:00
mirsal aa47e38536 Initial release
This is a matrix bot which announces the lol hackerspace's
open / closed state to a list of matrix rooms, it is based
on rumqtt and matrix-rust-sdk. The bot connects to the
configured matrix homeserver and an MQTT broker broadcasting
changes in the door sensor state
2026-09-14 09:18:54 +00:00