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 kommandonhomeassistant/...— Home Assistant Discovery-konfigurationer (retained)
State (vad RF-HUB publicerar)
styrahem/rfhub/<UID>/rfhub/info # online-status + firmware-version styrahem/rfhub/<UID>/<device-id>-<nr>/<type> # aktuell status per enhet/ändpunkt
Kommandon (vad RF-HUB lyssnar på)
styrahem/rfhub/<UID>/<device>/<endpoint>/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 homeassistant/switch/rfhub_kok_taklampa/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.