Hallo zusammen!
Vorab: Dieser Thread betrifft (bislang) ausschließlich MQTT
2_DEVICE, nicht MQTT_DEVICE. Beachte dazu z.B.
diesen Wiki-Beitrag.
Bitte nutzt möglichst diesen Thread, wenn ihr
neue (im Prinzip ausentwickelte) templates für mqtt2.template vorschlagen wollt.
Für Fehlermeldungen, Diskussionen zu Verbesserungsvorschlägen zu vorhandenen und zum Anfragen von support für neue Devices ist ein
weiterer Thread gedacht, dieser hier sollte möglichst übersichtlich bleiben und sich auf das Wesentliche beschränken.
Generelle Anmerkungen zur attrTemplate-Funktion bitte
hier posten.
Folgende Wünsche hätte ich:
Parameter verwendenEin
template unterscheidet sich von einem
list insbesondere dadurch, dass es ggf. benötigte Parameter aus den vorhandenen Informationen extrahiert, so dass es nicht nur auf ein konkretes Gerät (z.B. mit einer Seriennummer) paßt, sondern auf - prinzipiell - alle Geräte eines Typs oder sogar mehrerer Typen.
Wer Hilfestellung braucht, um aus einem konkret konfigurierten Gerät (=list) ein template zu machen: Es ist ok, hier einen Link auf den Beitrag mit dem list oder einen neuen Thread zu posten und um Hilfe zu bitten. Danach sollte sich hier aber wieder nur das Ergebnis finden.
Schaut euch die vorhandenen templates an, da ist schon einiges an Beispielen zu finden, auch wie man mehrere Parameter rausfindet, v.a. bei mqtt2zigbee (BASE_TOPIC und DEV_ID) und MiLight.
Eine Sonderform der Parametrierung ist die
interne Weiterleitung auf bereits vorhandenen templates: Wenn es "nur" darum geht, ein bestimmtes Gerät anders oder erweitert zu konfigurieren, als ein bereits vorhandenes, kann man erst das vorhandene anwenden und dann einfach (nur) die abweichenden Attribute etc. setzen. Beispiel: A_10a_shellyplug. Dabei gilt die Regel, dass die letzte attr-Anweisung für ein bestimmtes Attribut sich am Ende tatsächlich auch im Device wiederfindet.
Defaults in der MQTT-Konfiguration der Geräte nutzenBitte laßt die MQTT-Einstellungen möglichst dort unverändert, wo sie sich auf den Empfang und die Auswertung in FHEM auswirken. Das betrifft z.B. den Namen des Geräts in den topics oder den Aufbau der topic-Struktur. Danach kann und darf man alles ändern, aber erst mal sollte es für andere in derselben Ausgangslage klappen!
Das gilt entsprechend für Modifikationen der firmware selbst.
Beschreibung hinzufügenAndere freuen sich darüber, wenn ihr schreibt, für welches Gerät ihr das konkret verwendet habt und was der Zweck ist. Das muß im template einzeilig sein, längere Beschreibungen lassen sich mit "<br>" dann in der "?"-Ansicht formatieren.
TestenEin template kann man am z.B. testen, indem man in eine eigene template-file (idR. in /opt/fhem/FHEM/lib/AttrTemplate) anlegt (Endung: .template, Linux-konforme Zeilenumbrüche). Dann nach jeder Änderung mit "{ AttrTemplate_Initialize() }" neu einlesen, was voraussetzt, dass der user fhem die Rechte hat, die Datei auch zu lesen.
Vorschläge möglichst als diffIst alles fertig, könnt ihr eine Kopie der vorhandenen mqtt2.template-Datei anlegen, und euer template in die bisherige einfügen. Ein
diff -u <original> <eure Kopie> > ~/mqtt2.template.<hinweis>.patch
ausführen, dann liegt im home-Verzeichnis eures users die neue Datei, die ihr nach Durchsicht dann hier anfügen könnt.
Wäre dabei schön, wenn gleich eine sinnvolle Einordnung in das Nummernsystem drin wäre.
(EDIT: Die Sortierung erfolgt neurdings über "order:", nicht mehr über den template-Namen)
Der erste Buchstabe steht für eine Hauptgruppe.
- A ist reserviert für ESP-Derivate (aktuell Shelly und Tasmota),
- B-M für Kaufgeräte, die nativ MQTT sprechen
- L-Z für eher seltene Geräte oder auch ESP-firmwares, z.B. X90_esp_milight_hub_bridge
Die zweite Angabe wäre dann ein bestimmter Grundtyp ggf. mit einer oder mehreren Varianten. Orientiert euch einfach an dem, was da ist und macht einen Vorschlag.
Aber selbstredend ist es auch ok, wenn ihr nur eine Datei liefert, die ausschließlich euer Device enthält.
Viel Spaß beim Entwickeln und Anwenden!
Beta-User
EDIT:
links zu diversen template-Threads
- zigbee2mqtt:
https://forum.fhem.de/index.php/topic,91394.0.html- tasmota:
https://forum.fhem.de/index.php/topic,94434.0.html- tasmota-shutter:
https://forum.fhem.de/index.php/topic,98366.0.html- shelly:
https://forum.fhem.de/index.php/topic,94060.0.html- eBus:
https://forum.fhem.de/index.php/topic,97989.0.html- MiLight@sidoh-Bridge:
https://forum.fhem.de/index.php/topic,86932.0.html