Host:tennis.intern.k4cg.org

Aus k4cg.org
Version vom 26. März 2026, 20:00 Uhr von Karl (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Host:tennis.intern.k4cg.org
Hostname tennis.intern.k4cg.org
IPv4 192.168.5.41
Network 255.255.255.0
Gateway 192.168.5.1
DNS 192.168.5.1
OS Raspberry Pi OS
Location Raum

Generelles

Auf diesem Raspberry läuft ein Brickd und ein Brick-MQTT-Proxy um die Sensordaten von dem Tischtennisschläger ins MQTT zu bringen.

Es ist ein OverlayFS via raspi-config konfiguriert.

Hardwaremodule:

Modul ID
Master Brick 2.1 6rK33e
Sound Intensity Bricklet voE
UV Light Bricklet xpa
Accelerometer Bricklet v6Z
Temperature Bricklet tfj

brickd

brickd läuft auf dem RaspberryPi und kommuniziert via USB mit den Tinkerforge Modulen. Via TCP auf Port 4223 kann man die Daten abfragen. Tinkerforge stellt Bibliotheken für diverse Programmiersprachen bereit und bietet auch eine GUI brickv dafür an.

Die Installation ist am einfachsten über die von Tickerforge bereitgestellten APT Repos. Siehe hier: https://www.tinkerforge.com/de/doc/Software/APT_Repository.html#apt-repository

Danach einfach via apt install brickd installieren.

brickd MQTT Proxy

Tinkerforge stellt auch ein Programm bereit um die Daten zu einem MQTT Server zu schicken. Installation via apt install tinkerforge-mqtt ebenfalls aus den Repos, siehe oben. Mit dem Paket kommt ein Service tinkerforge_mqtt.service.

Konfiguration

/etc/tinkerforge_mqtt.cmdline:

--broker-host homeassistant.local
--broker-username mqtt_tennis
--broker-password SECURE
--init-file /etc/tinkerforge_mqtt.init
--debug

/etc/tinkerforge_mqtt.init:

{
    "tinkerforge/register/sound_intensity_bricklet/voE/intensity": {"register": true},
    "tinkerforge/request/sound_intensity_bricklet/voE/set_intensity_callback_period": {"period": 10000},
    "tinkerforge/register/uv_light_bricklet/xpa/uv_light": {"register": true},
    "tinkerforge/request/uv_light_bricklet/xpa/set_uv_light_callback_period": {"period": 10000},
    "tinkerforge/register/accelerometer_bricklet/v6Z/acceleration": {"register": true},
    "tinkerforge/request/accelerometer_bricklet/v6Z/set_acceleration_callback_period": {"period": 10000},
    "tinkerforge/register/temperature_bricklet/tfj/temperature": {"register": true},
    "tinkerforge/request/temperature_bricklet/tfj/set_temperature_callback_period": {"period": 10000}
}

Debugging

journalctl -f -u tinkerforge_mqtt

HomeAssistant

mqtt:
- sensor:
    device:
      identifiers:
      - 01KKHZGG8T15HFX6PJX7SB62GW
      manufacturer: Noqqe Inc.
      model: "Nicht-Tennisschl\xE4ger"
      model_id: https://k4cg.org/index.php/Host:tennis.intern.k4cg.org
      name: Tennis
    name: "Intensit\xE4t"
    qos: 0.0
    state_class: measurement
    state_topic: tinkerforge/callback/sound_intensity_bricklet/voE/intensity
    unique_id: 01KKHZGG8T15HFX6PJX7SB62GW_77a0f8ad7ef14c5da56a3fc169cd21b8
    value_template: '{{ value_json.intensity }}'
- sensor:
    device:
      identifiers:
      - 01KKHZGG8T15HFX6PJX7SB62GW
      manufacturer: Noqqe Inc.
      model: "Nicht-Tennisschl\xE4ger"
      model_id: https://k4cg.org/index.php/Host:tennis.intern.k4cg.org
      name: Tennis
    device_class: temperature
    name: Temperatur
    qos: 0.0
    state_class: measurement
    state_topic: tinkerforge/callback/temperature_bricklet/tfj/temperature
    unique_id: 01KKHZGG8T15HFX6PJX7SB62GW_8f2e017457304a6eb41c47749e491356
    unit_of_measurement: "\xB0C"
    value_template: '{{ value_json.temperature / 100 }}'
- sensor:
    device:
      identifiers:
      - 01KKHZGG8T15HFX6PJX7SB62GW
      manufacturer: Noqqe Inc.
      model: "Nicht-Tennisschl\xE4ger"
      model_id: https://k4cg.org/index.php/Host:tennis.intern.k4cg.org
      name: Tennis
    name: Beschleunigung X
    qos: 0.0
    state_class: measurement
    state_topic: tinkerforge/callback/accelerometer_bricklet/v6Z/acceleration
    unique_id: 01KKHZGG8T15HFX6PJX7SB62GW_613b8cc9e2204fb2acc81d40efc38e86
    unit_of_measurement: "m/s\xB2"
    value_template: '{{ value_json.x / 1000 }}'
- sensor:
    device:
      identifiers:
      - 01KKHZGG8T15HFX6PJX7SB62GW
      manufacturer: Noqqe Inc.
      model: "Nicht-Tennisschl\xE4ger"
      model_id: https://k4cg.org/index.php/Host:tennis.intern.k4cg.org
      name: Tennis
    name: Beschleunigung Y
    qos: 0.0
    state_class: measurement
    state_topic: tinkerforge/callback/accelerometer_bricklet/v6Z/acceleration
    unique_id: 01KKHZGG8T15HFX6PJX7SB62GW_7049587a3cdf42558b48e288bb8e93b9
    unit_of_measurement: "m/s\xB2"
    value_template: '{{ value_json.y / 1000 }}'
- sensor:
    device:
      identifiers:
      - 01KKHZGG8T15HFX6PJX7SB62GW
      manufacturer: Noqqe Inc.
      model: "Nicht-Tennisschl\xE4ger"
      model_id: https://k4cg.org/index.php/Host:tennis.intern.k4cg.org
      name: Tennis
    name: Beschleunigung Z
    qos: 0.0
    state_class: measurement
    state_topic: tinkerforge/callback/accelerometer_bricklet/v6Z/acceleration
    unique_id: 01KKHZGG8T15HFX6PJX7SB62GW_4f1f6af4a0ee4246aa6a38c0dee52699
    unit_of_measurement: "m/s\xB2"
    value_template: '{{ value_json.z / 1000 }}'
- sensor:
    device:
      identifiers:
      - 01KKHZGG8T15HFX6PJX7SB62GW
      manufacturer: Noqqe Inc.
      model: "Nicht-Tennisschl\xE4ger"
      model_id: https://k4cg.org/index.php/Host:tennis.intern.k4cg.org
      name: Tennis
    name: UV-Licht
    qos: 0.0
    state_class: measurement
    state_topic: tinkerforge/callback/uv_light_bricklet/xpa/uv_light
    unique_id: 01KKHZGG8T15HFX6PJX7SB62GW_0cecbc60bf4e4b7d8d87a7c735b9e698
    unit_of_measurement: "mW/cm\xB2"
    value_template: '{{ value_json.uv_light }}'