MQTT-API für RF-HUB

API Aktualisiert 2026-05-27

Die MQTT-API von RF-HUB stellt alle Funktionen über zwei Topic-Baumzweige bereit und folgt dem Home Assistant Discovery-Format. Das bedeutet, dass RF-HUB sich Plug-and-Play in Home Assistant integriert und mit praktisch jedem MQTT-Client funktioniert.

Für einfache Aufrufe und Skripte direkt gegen den Hub gibt es auch eine REST-API — siehe API für RF-HUB.

Voraussetzungen

  • Ein MQTT-Broker (typischerweise Mosquitto, oft zusammen mit Home Assistant).
  • RF-HUB konfiguriert auf denselben Broker — siehe RF-Hub mit Home Assistant verbinden.
  • Die UID Ihres Geräts — diese finden Sie in der RF-HUB-Weboberfläche unter dem Reiter Info.

Topic-Struktur

RF-HUB verwendet zwei Topic-Baumzweige:

  • styrahem/rfhub/<UID>/... — eigener Status und Befehle
  • homeassistant/... — Home Assistant Discovery-Konfigurationen (retained)

Status (was RF-HUB veröffentlicht)

styrahem/rfhub/<UID>/rfhub/info                          # Online-Status + Firmware-Version
styrahem/rfhub/<UID>/<device-id>-<nr>/<type>           # aktueller Status pro Gerät/Endpunkt

Befehle (worauf RF-HUB hört)

styrahem/rfhub/<UID>/<device>/<endpoint>/set/...        # Befehle hierher senden

Discovery-Konfiguration (retained, automatische Integration in HA)

homeassistant/<entity_type>/<unique_id>/<name>/config

Die Discovery-Nachrichten enthalten u.a. state_topic, command_topic und availability, sodass HA (oder ein anderer Client, der HA Discovery spricht) die Entitäten automatisch einrichtet.

Beispiel — Einen Schalter über mosquitto_pub einschalten

mosquitto_pub -h homeassistant.local -t   homeassistant/switch/rfhub_kok_taklampa/set -m ON

Beispiel — Events in Python abhören

import paho.mqtt.client as mqtt

UID = "ABCD1234"  # aus dem Info-Reiter in der RF-HUB-Weboberfläche

def on_message(client, userdata, msg):
    print(f"{msg.topic} -> {msg.payload.decode()}")

c = mqtt.Client()
c.connect("homeassistant.local", 1883)
c.subscribe(f"styrahem/rfhub/{UID}/+/+")
c.on_message = on_message
c.loop_forever()

WebSocket-API

Die Weboberfläche verwendet WebSocket für Echtzeit-Updates, aber es ist ein internes Protokoll, das sich zwischen Firmware-Versionen ändern kann. Für Integrationen empfehlen wir REST oder MQTT.

Fragen

Benötigen Sie Details zu einem bestimmten Topic oder Payload — kontaktieren Sie uns.