MQTT-API för RF-HUB

Avancerat Uppdaterad 2026-08-12

RF-HUB:s MQTT-API exponerar all funktionalitet via två topic-trädgrenar och följer Home Assistant Discovery-formatet. Det innebär att RF-HUB plug-and-play-integreras i Home Assistant och fungerar med praktiskt taget vilken MQTT-klient som helst.

För enkla anrop och script direkt mot hubben finns även ett REST API — se API för RF-HUB.

Förutsättningar

  • En MQTT-broker (typiskt Mosquitto, ofta tillsammans med Home Assistant).
  • RF-HUB konfigurerad mot samma broker — se Koppla RF-Hub till Home Assistant.
  • Din enhets UID — den hittar du i RF-HUB:s webbgränssnitt under fliken Info.

Topic-struktur

RF-HUB använder två topic-trädgrenar:

  • styrahem/rfhub/<UID>/... — egen state och kommandon
  • homeassistant/... — Home Assistant Discovery-konfigurationer (retained)

State (vad RF-HUB publicerar)

styrahem/rfhub/<UID>/rfhub/info                          # online-status + firmware-version
styrahem/rfhub/<UID>/<brand>-<addr>-<nr>/<type>           # aktuell status per enhet/ändpunkt

Kommandon (vad RF-HUB lyssnar på)

styrahem/rfhub/<UID>/<brand>-<addr>-<nr>/<type>/set        # skicka kommando hit

Discovery-konfiguration (retained, automatisk integration i HA)

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

Discovery-meddelandena innehåller bl.a. state_topic, command_topic och availability så att HA (eller annan klient som pratar HA-discovery) automatiskt sätter upp entiteterna.

Exempel — slå på en strömbrytare via mosquitto_pub

mosquitto_pub -h homeassistant.local -t "styrahem/rfhub/ABCD1234/telldus-3039-1/switch/set" -m on

Exempel — lyssna på events i Python

import paho.mqtt.client as mqtt

UID = "ABCD1234"  # från Info-fliken i RF-HUB:s webbgränssnitt

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:t

Webbgränssnittet använder WebSocket för realtidsuppdateringar, men det är ett internt protokoll som kan ändras mellan firmware-versioner. För integrationer rekommenderar vi REST eller MQTT.

Frågor

Behöver du detaljer på en specifik topic eller payload — hör av dig.