Autor Thema: AttrTemplate  (Gelesen 1737 mal)

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19808
AttrTemplate
« am: 18 November 2018, 00:22:54 »
Ich habe ein Template Mechanismus gebaut und eingecheckt.
Urspruenglich war das fuer MQTT2_DEVICE gedacht, aber ich habe es generalisiert, und damit hoffentlich auch fuer andere Module interessant gemacht.

Fuer die Anwender: es gibt fuer manche FHEM-Geraete-Instanzen zusaetzlich ein set Befehl mit dem Namen attrTemplate, mit dem man eine vordefinierte Liste an weiteren Attributen setzen kann. Z.Zt gibt es nur 3 Beispiele von der MQTT2 Praxisbeispiele Wiki Seite (die nur MQTT2_DEVICE Instanzen betreffen) ich hoffe aber, dass weitere Folgen werden.

Fuer die Entwickler:
- AttrTemplates ist aehnlich wie SetExtensions, wer aber bereits SetExtensions aufruft, der muss am Modul nichts mehr aendern, weil SetExtensions seinerseits AttrTemplates aufruft.
- es gibt ein neues Verzeichnis FHEM/lib/AttrTemplates, wo die Template-Dateien gespeichert sind, ich schlage vor, jeweils eine fuer ein Themengebiet anzulegen. AttrTemplates liest beim ersten Aufruf alle Dateien ein. Z.Zt. gibt es nur eine Datei fuer MQTT2, wo alle Eintraege den Einsatzgebiet per Filter auf MQTT2_DEVICE Instanzen beschraenken.
- in einer Datei sind mehrere Eintraege, die jeweils einen Namen, einen Filter, Parameterdefinitionen und FHEM-Befehle (sinnvollerweise attr,es gibt aber keine Einschraenkung) beinhalten.
- ein Parameter kann mit perl-code bestimmt werden, oder, falls das nicht moeglich ist, wird vom Benutzer per Dialog abgefragt.
« Letzte Änderung: 18 November 2018, 07:42:03 von rudolfkoenig »
Gefällt mir Gefällt mir x 7 Hilfreich Hilfreich x 1 Liste anzeigen

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4412
    • tech_LogBuch
Antw:AttrTemplate
« Antwort #1 am: 18 November 2018, 07:16:49 »
Sehr cool, danke  :D
So was in der Art wollte ich schon länger haben.
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z