Das sollten wir hinbekommen. Also zuerst legst du eine Verbindung zu deinem vorhandenen MQTT Broker an. Kennwort und Benutzername vorher raussuchen und notieren.
Dann gehst du in FHEM und erstellst einen MQTT2_CLIENT. Ich kopiere mal die Raw definition. Hier sind auf jeden Fall die IP Adresse zu deinem HA MQTT Broker und der Benutzername anzupassen.
defmod ha_MQTT2 MQTT2_CLIENT 192.168.yy.xx:1883
attr ha_MQTT2 clientId fhem
attr ha_MQTT2 keepaliveTimeout 60
attr ha_MQTT2 msgAfterConnect -r fhem/connection/status connected
attr ha_MQTT2 msgBeforeDisconnect -r fhem/connection/status disconnected
attr ha_MQTT2 qosMaxQueueLength 100
attr ha_MQTT2 username BENUTZER_HA_MQTT
Anschließend noch mit “set ha_MQTT2 password PASSWORD” noch das Passwort für die Verbindung eingeben. Danach sollte sich FHEM zum HA MQTT Broker verbinden.
Nun wird die Bridge angelegt:
defmod mqttGeneric MQTT_GENERIC_BRIDGE mqtt room=HASS
attr mqttGeneric IODev ha_MQTT2
attr mqttGeneric globalDefaults sub:qos=2 pub:qos=0 retain=1 base={"fhem/$device"}
attr mqttGeneric globalPublish *:topic={"fhem/$device/$reading"}
attr mqttGeneric icon mqtt_bridge_2
attr mqttGeneric stateFormat in: incoming-count out: outgoing-count devices: device-count
attr mqttGeneric verbose 0
Ich habe als Raum HASS gewählt. Hier müssen später alle Geräte rein, die ihren Status mit HA austauschen sollen.
Jetzt kommen wir zu einem Beispielgerät in FHEM (hier ein Lichtschalter mit dem Name Kueche_Lampe). Da das Gerät bei dir ja schon vorhanden sein sollte, musste du nur ein paar (zusätzliche) Attribute hinzufügen.
attr Kueche_Lampe userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
attr Kueche_Lampe mqttSubscribe state:stopic={"$base/set"}
attr Kueche_Lampe room HASS
Das war der Teil in FHEM. Damit HA nun auch etwas damit anfangen kann, musst du in der configuration.yaml ein mqtt Objekt anlegen. Pro Gerät eins. Damit abonnierst du quasi das, was FHEM in den MQTT Broker schiebt.
Für das Licht oben also z.B.:
mqtt:
switch:
- unique_id: Kueche_Lampe
name: "Kueche_Lampe"
state_topic: "fhem/Kueche_Lampe/state"
command_topic: "fhem/Kueche_Lampe/set"
availability_topic: "fhem/connection/status"
payload_available: "connected"
payload_not_available: "disconnected"
payload_on: "on"
payload_off: "off"
state_on: "on"
state_off: "off"
optimistic: false
qos: 0
retain: false
Das Licht ist hier als Switch angelegt. Würde sicherlich auch als Light gehen.
Einmal die configuration.yaml neu laden und dann solltest du es sowohl in HA als auch in FHEM steuern können.
So, ich hoffe, ich habe nichts vergessen.
Viel Erfolg!