Mit diesem Modul lassen sich Geräte, Entitäten und Dienste aus dem Home-Assistant-Umfeld komfortabel in Symcon nutzen.
Das Modul unterstützt dafür zwei klar getrennte Anwendungsfälle:
- die klassische Bridge, um bestehende Elemente aus einer Home-Assistant-Installation nach Symcon zu übernehmen
- MQTT Discovery, um kompatible Geräte und Dienste direkt per MQTT in Symcon einzubinden
So kann Symcon entweder mit einer vorhandenen Home-Assistant-Installation zusammenarbeiten oder Geräte und Dienste direkt über MQTT einbinden. Beide Wege können parallel genutzt werden.
- Betriebsarten
- Module
- Voraussetzungen
- Installation und Konfiguration
- Unterstützte Domains und Komponenten
- Überblick
- Fehlersuche
- FAQ
Die klassische Bridge ist der richtige Weg, wenn in Home Assistant bereits Geräte, Entitäten oder Dienste vorhanden sind, die auch in Symcon genutzt werden sollen.
- Vorhandene Elemente aus Home Assistant werden in Symcon übernommen.
- Zustände und zusätzliche Informationen bleiben aktuell.
- Viele Funktionen lassen sich anschließend direkt aus Symcon bedienen.
- Geeignet für bestehende Home-Assistant-Installationen, die in Symcon eingebunden werden sollen.
Typische Module in diesem Pfad:
- Home Assistant Discovery
- Home Assistant Configurator
- Home Assistant Splitter
- Home Assistant Device
- Home Assistant Entity
MQTT Discovery ist der richtige Weg, wenn Geräte oder Dienste direkt über MQTT in Symcon eingebunden werden sollen.
- Es ist keine bestehende Home-Assistant-Installation erforderlich.
- Geräte und Dienste werden automatisch erkannt.
- Aktuelle Werte kommen direkt über MQTT.
- Ein
mqtt_statestreamist dafür nicht nötig. - Geeignet für Geräte oder Dienste, die Home Assistant MQTT Discovery unterstützen und ihre Daten an den MQTT-Broker senden.
Typische Module in diesem Pfad:
- Home Assistant MQTT Discovery Splitter
- Home Assistant MQTT Discovery Configurator
- Home Assistant MQTT Discovery Device
| Thema | Klassische Bridge | MQTT Discovery |
|---|---|---|
| Ausgangspunkt | bestehende Home-Assistant-Installation | Gerät oder Dienst mit MQTT Discovery |
| Woher kommen die Geräteinformationen? | aus Home Assistant | aus den MQTT-Discovery-Meldungen |
| Woher kommen die aktuellen Werte? | aus mqtt_statestream |
direkt über MQTT |
| REST erforderlich | ja, für Einrichtung und viele Befehle | nein, im Normalfall nicht |
mqtt_statestream erforderlich |
ja | nein |
| Home Assistant erforderlich | ja | nein |
| Typische Nutzung | vorhandene HA-Geräte und Entitäten nach Symcon holen | Geräte oder Dienste direkt per MQTT einbinden |
| Wichtige Module | Splitter, Configurator, Device, Entity | MQTT Discovery Splitter, Configurator, Device |
- Home Assistant Discovery: findet Home-Assistant-Installationen im Netzwerk
- Home Assistant Configurator: zeigt Geräte und Entitäten aus Home Assistant zur Auswahl an
- Home Assistant Splitter: verbindet Home Assistant mit den Symcon-Modulen
- Home Assistant Device: bildet ein Gerät in Symcon ab
- Home Assistant Entity: bildet eine einzelne Entität in Symcon ab
- Home Assistant MQTT Discovery Splitter: empfängt die Discovery-Meldungen und bereitet sie für Symcon auf
- Home Assistant MQTT Discovery Configurator: zeigt gefundene Geräte zur Auswahl an
- Home Assistant MQTT Discovery Device: bildet ein gefundenes Gerät in Symcon ab
- Symcon ab Version 9.0
- MQTT-Broker
- bestehende Home-Assistant-Installation
- MQTT Client oder MQTT Server in Symcon
mqtt_statestreamin Home Assistant aktiv- passender Long-Lived Access Token für den Zugriff auf Home Assistant
- Optional mDNS/DNS-SD für das Modul
Home Assistant Discovery
- MQTT Client in Symcon
- Wenn der Symcon MQTT Server als Broker genutzt wird, bleibt fuer den Discovery-Pfad trotzdem ein MQTT Client erforderlich. Der MQTT-Client kann dabei direkt auf den lokalen MQTT Server zeigen, z. B.
127.0.0.1:1028. - ein Gerät oder Dienst, das bzw. der Home Assistant MQTT Discovery an den Broker meldet
- passende Subscription für die Discovery-Meldungen, typischerweise
homeassistant/# - zusätzlich die MQTT-Topics des Geräts oder Dienstes, damit aktuelle Werte ankommen, bei Zigbee2MQTT typischerweise
zigbee2mqtt/#
- MQTT Client oder MQTT Server in Symcon einrichten.
Home Assistant Splitteranlegen und mit diesem Parent verbinden.- Im Splitter
MQTTBaseTopic,HAUrlundHATokensetzen. Home Assistant Discoveryoder direktHome Assistant Configuratornutzen.- Im Configurator gewünschte Geräte oder Entitäten auswählen und anlegen.
Damit Zustände und zusätzliche Informationen in Symcon ankommen, muss mqtt_statestream aktiv sein und das base_topic zu MQTTBaseTopic passen.
mqtt_statestream:
base_topic: homeassistant
publish_attributes: true
publish_timestamps: true- MQTT Client in Symcon einrichten.
Wenn der Broker als Symcon MQTT Server laeuft, kann der MQTT Client direkt auf diesen Server verbunden werden, z. B. per
127.0.0.1:1028. - Subscription so setzen, dass mindestens
homeassistant/#empfangen wird. - Zusätzlich die Topics des Geräts oder Dienstes abonnieren, bei Zigbee2MQTT typischerweise
zigbee2mqtt/#. Home Assistant MQTT Discovery Splitteranlegen und mit diesem MQTT-Client verbinden.- Im Splitter
MQTTDiscoveryPrefixauf den literalen Discovery-Prefix setzen, typischerweisehomeassistant. Home Assistant MQTT Discovery Configuratoröffnen und darausHome Assistant MQTT Discovery DeviceInstanzen erzeugen.
Der Home Assistant MQTT Discovery Splitter kann statt Live-MQTT auch ein exportiertes Discovery-Bundle laden.
- gedacht für Entwicklung, Support und Analyse
SourceMode = bundleBundlePathauf ein V2-Bundle setzen- optional
BundleCurrentSessionOnlyundReplayTopicsOnApplyverwenden
Im Bundle-Modus werden aktuell keine Befehle an Geräte gesendet.
| Domain | Status | Hinweise |
|---|---|---|
light |
voll | Attribute und Schreibzugriffe unterstützt |
switch |
voll | schaltbar |
binary_sensor |
voll | device_class und Icons |
number |
voll | Slider, Min/Max/Step, REST set_value; gilt auch für input_number |
input_text |
voll | String-Wert, REST set_value |
datetime |
voll | Integer-Zeitwert, REST set_value |
input_datetime |
voll | Integer-Zeitwert, REST set_datetime |
sensor |
voll | Units, Suffixe, enum als Enumeration |
select |
voll | Enumeration |
climate |
voll | Solltemperatur, Modus, Preset, Lüfter, Swing, Ein/Aus, Zielfeuchte |
lock |
voll | lock, unlock, open, Aktionsvariable |
cover |
teilweise | Position, Tilt, open/close/stop, set_position |
valve |
teilweise | Status oder Positionsventil, open/close/stop, set_position |
event |
teilweise | Enumeration aus event_type |
fan |
teilweise | Status und zentrale Attribute |
humidifier |
teilweise | Status und zentrale Attribute |
vacuum |
teilweise | zentrale Services wie start, stop, pause, return_to_base |
lawn_mower |
teilweise | Status plus start_mowing, pause, dock |
media_player |
teilweise | Status, Aktionen, Attribute, Cover |
camera |
teilweise | Status plus Bild-Vorschau als Medienobjekt |
image |
teilweise | Bild-Entität als Medienobjekt |
button |
voll | press |
input_button |
voll | press |
Aktuell unterstützt der MQTT-Discovery-Pfad folgende Komponenten:
sensorbinary_sensornumbercoverclimateswitchselectbuttonlight
Zusätzlich werden einfache Zigbee2MQTT-device_automation-Trigger unterstützt.
Home Assistant
| Geräteinformationen + aktuelle Werte
v
MQTT Broker
v
IP-Symcon MQTT Client/Server
v
Home Assistant Splitter
| verteilt Daten an die Symcon-Module
v
Home Assistant Configurator / Device / Entity
Gerät oder Dienst mit MQTT Discovery
| Discovery-Meldungen + aktuelle Werte
v
MQTT Broker
v
IP-Symcon MQTT Client
v
Home Assistant MQTT Discovery Splitter
| bereitet die Daten für Symcon auf
v
Home Assistant MQTT Discovery Configurator / Device
- Wenn im
Home Assistant SplitterKein aktiver MQTT Parent gefundensteht: Verbindung zum MQTT-Client oder MQTT-Server prüfen. - Wenn keine Werte ankommen:
mqtt_statestreamin Home Assistant prüfen und sicherstellen, dassbase_topiczuMQTTBaseTopicpasst. - Wenn der Zugriff auf Home Assistant fehlschlägt:
HAUrl,HATokenund die Erreichbarkeit von Home Assistant prüfen.
- Wenn Discovery-Geräte nicht auftauchen: prüfen, ob der MQTT-Client mindestens
homeassistant/#empfängt. - Wenn Discovery-Geräte angelegt werden, aber keine Werte bekommen: zusätzlich die Topics des Geräts oder Dienstes abonnieren, bei Zigbee2MQTT typischerweise
zigbee2mqtt/#. - Wenn bereits vorhandene Discovery-Meldungen nicht vollständig eingelesen wurden: im
Home Assistant MQTT Discovery SplitterMQTT-IO reconnectenausführen. - Für Analyse und Support stehen im Discovery-Splitter zwei Exporte bereit:
Discovery-Bundle herunterladenDiscovery-Bundle aktuelle Session herunterladen
Die klassische Bridge übernimmt bereits vorhandene Geräte und Entitäten aus Home Assistant nach Symcon. MQTT Discovery bindet Geräte oder Dienste direkt per MQTT ein.
Nein. Beim Discovery-Pfad kommen die Werte direkt über MQTT.
Nein. Es reicht ein Gerät oder Dienst, das bzw. der Home Assistant MQTT Discovery unterstützt und seine Daten an den MQTT-Broker sendet.
Ja. Die Modulgruppen sind absichtlich getrennt und können parallel genutzt werden.
Der MQTT-Discovery-Pfad baut seinen Discovery-Cache aus den retained homeassistant/.../config Topics auf. Dafuer braucht der Splitter einen abonnierenden MQTT Client als Parent, der die Discovery- und Runtime-Topics aktiv vom Broker empfaengt und bei einem Reconnect erneut als retained Replay bekommt. Genau darauf basiert auch die Funktion MQTT-IO reconnecten.
Der Symcon MQTT Server kann dabei weiterhin der Broker sein. Fuer den Discovery-Pfad wird dann zusaetzlich ein MQTT Client verwendet, dessen IO direkt auf den lokalen MQTT Server zeigen kann, z. B. 127.0.0.1:1028.
Die Nutzung des Moduls ist kostenfrei. Niemand sollte sich verpflichtet fühlen, aber wenn das Modul gefällt, freue ich mich über eine Spende.
