MQTT2_Discovery - nativer HA/Tasmota discovery Support

Begonnen von Guybrush, 19 August 2026, 23:50:58

Vorheriges Thema - Nächstes Thema

Guybrush

Ich hab mal meinen lokalen Stand meines MQTT2_Discovery jetzt auf github veröffentlicht. Vielleicht mag das einer mal auf einer parallel laufenden Fhem Umgebung testen  ;)

https://github.com/next81/fhem.MQTT2_Discovery

Bislang gibt es keine native Discovery in fhem. Das was dem am nächsten kommt ist die Umsetzung über fhempy. Die autocreates vom MQTT2_Server/Client funktionieren zwar halbwegs, aber die ganzen setLists etc musste man trotzdem alle händisch erstellen, was ja offensichtlich bei einigen zu Problemen führte. Mit dem MQTT2_Discovery muss man nichts mehr händisch machen. Es "verschluckt" auch die sonst nervigen homeassistant/config und tasmota discoveries. Dafür wird das Modul im Attribut clientOrder des MQTT2_Server oder MQTT2_Client voran gestellt. es reagiert nur auf die discovery topics, so dass MQTT2_Devices dann die übrigen Messages unverändert erhalten. Es ist da natürlich wichtig dass im MQTT2_Server/Client kein ignore auf die discoverytopics gesetzt ist. Hintergrund für die Entwicklung war meine Umsetzung eines Webclients auf FTUI Basis. Da brauch ich aber noch ein paar Tage, bis ich das Releasefertig hab. Funktioniert aber inzwischen wie HA.

Jinja Templates werden auch (noch beschränkt) unterstützt. Im Ergebnis funktioniert das aber schon sauber, ich hab jedenfalls kein device gefunden, wo es Probleme gab. (Meine) Shellys, Tasmota und ESPHome Devices funktionieren damit jedenfalls einwandfrei. Ich hab mich auch bemüht die Readme auf Github so vollständig wie möglich zu erstellen. Dort ist nochmal alles etwas detaillierter als hier beschrieben.

update add https://raw.githubusercontent.com/next81/fhem.MQTT2_Discovery/main/controls_MQTT2_DISCOVERY.txt
update
shutdown restart
define mqttDiscovery MQTT2_DISCOVERY <mqttServer>
set mqttDiscovery activate
mqttServer ist dabei das jeweilige MQTT2_Server oder MQTT2_Client device. Wenn man eine parallele FHEM Installation laufen hat, kann man ja bequem über MQTT2_Client parallel mitlesen.

SH_Heini

Hallo Guybrush,
ich bin interessiert und wollte gerade testen, jedoch kam diese Fehlermeldung:
2026.08.20 10:07:54 1: Downloading https://raw.githubusercontent.com/next81/fhem.MQTT2_Discovery/main/controls_MQTT2_DISCOVERY.txt
2026.08.20 10:07:54 1: MQTT2_DISCOVERY
2026.08.20 10:07:54 1: UPD FHEM/10_MQTT2_DISCOVERY.pm
2026.08.20 10:07:54 1: Got 72144 bytes for FHEM/10_MQTT2_DISCOVERY.pm, expected 73810
2026.08.20 10:07:54 1: aborting.

Gruß

Guybrush

sollte behoben sein. Der Generator zählte Windows-CRLF-Bytes. GitHub liefert das Modul mit LF aus: 72144 statt 73810 Bytes. Hatte für die generierung der controls noch keinen unittest hinterlegt. dadurch viel das nicht auf  ::)

alternativ kann man sich aber auch die dateien aus dem git runterladen. es werden die Verzeichnisse FHEM/ und lib/ benötigt, die so in den FHEM Root müssen.

SH_Heini

Funktioniert jetzt.
Wollte den Weg ohne Github gehen.
Werde testen und berichten.