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-
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-remove,syste │
│ md-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-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.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
  • v0.8.0
    • 2024-04-12 - Add support for BrickletAnalogInV3
    • 2024-04-12 - Update requirements
Expand older history entries ...
  • 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.2.tar.gz (93.6 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.2-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tinkerforge2mqtt-0.9.2.tar.gz
  • Upload date:
  • Size: 93.6 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.2.tar.gz
Algorithm Hash digest
SHA256 038ada7512d65255e23833c53431f1112bd75afb8f1b7d91ab32a42c23be6a4b
MD5 090919931658b0f7b9815cff1ff615f6
BLAKE2b-256 ce28a83bca8f9e39ff3f70bf5f890910191e02db18c1e6b744c1d7f50181bcd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinkerforge2mqtt-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0f06a055477167f47886d8eb4ef4d65105596a204b19a13216c7cf2a7828c8a3
MD5 aa1da950a3c9a7cc7506e10640f88496
BLAKE2b-256 6bc1fa5cedca1324397e52392684ab0025bff081b377ba359df51807660b6a02

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