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 pre-commit run --all-files
# setup pre-commit to automatically run linters via git hooks
uv run pre-commit 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" }'