Skip to main content

Emit MQTT events from Tinkerforge devices

Project description

tinkerforge2mqtt

tests codecov tinkerforge2mqtt @ PyPi Python Versions License GPL-3.0-or-later

Connect Tinkerforge Bricks/Bricklets via MQTT to Home Assistant...

Currently only a few Bricks/Bricklets are supported. See existing /tinkerforge2mqtt/device_map/ files.

Forum threads:

Usage

Preperation

Setup APT repository for Tinkerforge: https://www.tinkerforge.com/doc/Software/APT_Repository.html

Install Tinkerforge Brick Daemon: https://www.tinkerforge.com/doc/Software/Brickd.html

sudo apt install brickd

Bootstrap tinkerforge2mqtt

Clone the sources and just call the CLI to create a Python Virtualenv, e.g.:

~$ git clone https://github.com/jedie/tinkerforge2mqtt.git
~$ cd tinkerforge2mqtt
~/tinkerforge2mqtt$ ./cli.py --help
usage: ./cli.py [-h]
                {discover,discover-map,edit-settings,local-hat-info,print-settings,publish-loop,systemd-debug,systemd-
logs,systemd-remove,systemd-setup,systemd-status,systemd-stop,update-readme-history,version}



╭─ options ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ -h, --help        show this help message and exit                                                                  │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ subcommands ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ {discover,discover-map,edit-settings,local-hat-info,print-settings,publish-loop,systemd-debug,systemd-logs,systemd │
│ -remove,systemd-setup,systemd-status,systemd-stop,update-readme-history,version}                                   │
│     discover      Discover Victron devices with Instant Readout                                                    │
│     discover-map  Discover Victron devices with Instant Readout                                                    │
│     edit-settings                                                                                                  │
│                   Edit the settings file. On first call: Create the default one.                                   │
│     local-hat-info                                                                                                 │
│                   Just print information about from `/proc/device-tree/hat/` files.                                │
│     print-settings                                                                                                 │
│                   Display (anonymized) MQTT server username and password                                           │
│     publish-loop  Publish Tinkerforge devices events via MQTT to Home Assistant.                                   │
│     systemd-debug                                                                                                  │
│                   Print Systemd service template + context + rendered file content.                                │
│     systemd-logs  Show systemd service logs. (May need sudo)                                                       │
│     systemd-remove                                                                                                 │
│                   Remove Systemd service file. (May need sudo)                                                     │
│     systemd-setup                                                                                                  │
│                   Write Systemd service file, enable it and (re-)start the service. (May need sudo)                │
│     systemd-status                                                                                                 │
│                   Display status of systemd service. (May need sudo)                                               │
│     systemd-stop  Stops the systemd service. (May need sudo)                                                       │
│     update-readme-history                                                                                          │
│                   Update project history base on git commits/tags in README.md Will be exited with 1 if the        │
│                   README.md was updated otherwise with 0.                                                          │
│                                                                                                                    │
│                   Also, callable via e.g.:                                                                         │
│                       python -m cli_base update-readme-history -v                                                  │
│     version       Print version and exit                                                                           │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

dev cli

usage: ./dev-cli.py [-h]
                    {coverage,install,lint,mypy,nox,pip-audit,publish,test,update,update-readme-history,update-test-sn
apshot-files,version}



╭─ options ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ -h, --help        show this help message and exit                                                                  │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ subcommands ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ {coverage,install,lint,mypy,nox,pip-audit,publish,test,update,update-readme-history,update-test-snapshot-files,ver │
│ sion}                                                                                                              │
│     coverage      Run tests and show coverage report.                                                              │
│     install       Install requirements and 'tinkerforge2mqtt' via pip as editable.                                 │
│     lint          Check/fix code style by run: "ruff check --fix"                                                  │
│     mypy          Run Mypy (configured in pyproject.toml)                                                          │
│     nox           Run nox                                                                                          │
│     pip-audit     Run pip-audit check against current requirements files                                           │
│     publish       Build and upload this project to PyPi                                                            │
│     test          Run unittests                                                                                    │
│     update        Update dependencies (uv.lock) and git pre-commit hooks                                           │
│     update-readme-history                                                                                          │
│                   Update project history base on git commits/tags in README.md Will be exited with 1 if the        │
│                   README.md was updated otherwise with 0.                                                          │
│                                                                                                                    │
│                   Also, callable via e.g.:                                                                         │
│                       python -m cli_base update-readme-history -v                                                  │
│     update-test-snapshot-files                                                                                     │
│                   Update all test snapshot files (by remove and recreate all snapshot files)                       │
│     version       Print version and exit                                                                           │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Screenshots

2024-03-25tinkerforge2mqtt3.png

2024-03-25tinkerforge2mqtt3.png

2024-03-25tinkerforge2mqtt2.png

2024-03-25tinkerforge2mqtt2.png

2024-03-25tinkerforge2mqtt1.png

2024-03-25tinkerforge2mqtt1.png

  • v0.9.3
    • 2025-10-25 - Fix #27 BrickletHumidityV2Mapper AttributeError
    • 2025-10-25 - Add PyCharm config files
    • 2025-10-25 - NEW: Show systemd service logs via CLI
  • v0.9.2
    • 2025-10-25 - Cleanup: Remove obsolete files
    • 2025-10-21 - switch to uv-python
    • 2025-09-20 - Update requirements
  • v0.9.1
    • 2024-05-23 - Update requirements
    • 2024-05-23 - Remove rich_traceback_install()
    • 2024-05-23 - Bugfix Dew Point sensor
    • 2024-05-21 - Add bricklet LED config and analog in oversampling to HA
  • v0.9.0
    • 2024-05-20 - BrickletHumidityV2Mapper: Calculate "dew point"
    • 2024-05-20 - fix huminity log message
    • 2024-05-20 - Update requirements
Expand older history entries ...
  • v0.8.0
    • 2024-04-12 - Add support for BrickletAnalogInV3
    • 2024-04-12 - Update requirements
  • v0.7.0
    • 2024-03-27 - Update to ha-services==2.5.0
  • v0.6.0
    • 2024-03-26 - Update to ha-services>=2.4.0
  • v0.5.0
    • 2024-03-26 - Update ha-services>=2.3.0
    • 2024-03-25 - Update README.md
  • v0.4.0
    • 2024-03-25 - Update README.md
    • 2024-03-25 - fix prefixing
  • v0.3.0
    • 2024-03-25 - Use "via-device" from ha-services v2.1
  • v0.2.2
    • 2024-03-24 - Update requirements e.g.: ha-services v2.0.1
  • v0.2.1
    • 2024-03-23 - Bugfix wrong values in VoltageCurrentV2 bricklet
  • v0.2.0
    • 2024-03-23 - Use new ha-services v2
  • v0.1.0
    • 2024-03-16 - fix publising
    • 2024-03-13 - Emit some MQTT events
    • 2024-03-12 - WIP
    • 2024-03-10 - first commit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tinkerforge2mqtt-0.9.3.tar.gz (94.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tinkerforge2mqtt-0.9.3-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file tinkerforge2mqtt-0.9.3.tar.gz.

File metadata

  • Download URL: tinkerforge2mqtt-0.9.3.tar.gz
  • Upload date:
  • Size: 94.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tinkerforge2mqtt-0.9.3.tar.gz
Algorithm Hash digest
SHA256 e6fa9d3545947f23c8b08e2c2fbe61842ed5ceb3ee6e4fa90b9b07b7c720c9cc
MD5 9b4ca07c658b1406846920f0d6618852
BLAKE2b-256 fdad55b843bf1fe3408617c1795a6c409db724c7f0afd2d101fd2b814e711db0

See more details on using hashes here.

File details

Details for the file tinkerforge2mqtt-0.9.3-py3-none-any.whl.

File metadata

File hashes

Hashes for tinkerforge2mqtt-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c62297dd8e18b6c8570136df6b34f15da5dad365df6fff6e01a4531798957aac
MD5 2e28a5ef55b76aeb4156366e85193811
BLAKE2b-256 e6822527d3b12c68056a98e947969882b6b39728d6a41e82ff128eadff4b383f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page