Developer guide
Specifications
Generic DBus specifications:
Running from source
uv run main.py --config config.yaml
Activate Python virtual env
uv sync
source .venv/bin/activate
Linting
# run pre-commit linters
uv run prek run --all-files
# setup pre-commit to automatically run linters via git hooks
uv run prek install
Publishing and subscribing to MQTT messages
Multiple MQTT client exist that can be used for testing, e.g.
Using mqtt-cli
source .env
mqtt() {
uvx --from mqtt-cli mqtt \
--host "$MQTT__HOST" \
--user "$MQTT__USERNAME" \
--password "$MQTT__PASSWORD" \
"$@"
}
mqtt --help
mqtt subscribe --topic 'dbus2mqtt/#'
mqtt publish -t dbus2mqtt/org.mpris.MediaPlayer2/command -m '{ "method": "Play" }'