MQTT2+Shelly: erste Konfiguration und template-Entwicklung

Begonnen von miggun, 03 Dezember 2018, 21:05:34

Vorheriges Thema - Nächstes Thema

miggun

Funktioniert....und wie genial das funktioniert. Besonders schön, die Abfrage nach der Seriennummer.
Top.
Werde ich direkt mal für den 4er umbauen.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

miggun

#91
Werde das jetzt so mal für den 4er eingeben und hoffe, dass ich mich nicht vertan habe.

Edit: 21:44 getestet und alle 4 Kanäle funktionieren. Somit Shelly2 und Shelly4Pro in Ordnung. Shelly1 muss ich noch verbauen, dürfte aber ähnlich sein...außer das Shelly1 keine Messwerte erfasst.
Edit: 09.12.2018 06:59: Bei den Ausgaben von power und energy noch nen Fehler entdeckt. Die muss man durch nummerieren. Teste ich noch, bin im Moment etwas zu müde, nach der Nachtschicht.

# shelly4pro using original firmware.
# NOTE: for each of the second to fourth channel, a new device will be created
name:shelly4pro
filter:TYPE=MQTT2_DEVICE
par:CHIPID;serial number of this ESP chip;{ AttrVal("DEVICE","readingList","") =~ m,shellies/.*_(.*)[/]?:, ? $1 : undef }
attr DEVICE setList\
  off:noArg shellies/shelly4pro-CHIPID/relay/0/command off\
  on:noArg shellies/shelly4pro-CHIPID/relay/0/command on
attr DEVICE readingList shellies/shellyswitch-CHIPID/relay/0:.* state
attr DEVICE getList shellies/shelly4pro-CHIPID/relay/0/power power1\
  shellies/shelly4pro-CHIPID/relay/0/energy energy1
attr DEVICE comment Channel 1 for DEVICE, see also DEVICE_CH2, DEVICE_CH3 and DEVICE_CH4
copy DEVICE DEVICE_CH2
attr DEVICE_CH2 readingList shellies/shelly4pro-CHIPID/relay/1:.* state
attr DEVICE_CH2 comment Channel 2 for DEVICE
attr DEVICE_CH2 setList\
  off:noArg shellies/shelly4pro-CHIPID/relay/1/command off\
  on:noArg shellies/shelly4pro-CHIPID/relay/1/command on
attr DEVICE_CH2 readingList shellies/shellyswitch-CHIPID/relay/1:.* state
attr DEVICE_CH2 getList shellies/shelly4pro-CHIPID/relay/1/power power2\
  shellies/shelly4pro-CHIPID/relay/1/energy energy2
attr DEVICE_CH2 comment Channel 2 for DEVICE, see also DEVICE, DEVICE_CH3 and DEVICE_CH4
copy DEVICE_CH2 DEVICE_CH3
attr DEVICE_CH3 readingList shellies/shelly4pro-CHIPID/relay/2:.* state
attr DEVICE_CH3 comment Channel 3 for DEVICE
attr DEVICE_CH3 setList\
  off:noArg shellies/shelly4pro-CHIPID/relay/2/command off\
  on:noArg shellies/shelly4pro-CHIPID/relay/2/command on
attr DEVICE_CH3 readingList shellies/shellyswitch-CHIPID/relay/2:.* state
attr DEVICE_CH3 getList shellies/shelly4pro-CHIPID/relay/2/power power3\
  shellies/shelly4pro-CHIPID/relay/2/energy energy3
attr DEVICE_CH3 comment Channel 3 for DEVICE, see also DEVICE, DEVICE_CH2 and DEVICE_CH4
copy DEVICE_CH3 DEVICE_CH4
attr DEVICE_CH4 readingList shellies/shelly4pro-CHIPID/relay/3:.* state
attr DEVICE_CH4 comment Channel 4 for DEVICE
attr DEVICE_CH4 setList\
  off:noArg shellies/shelly4pro-CHIPID/relay/3/command off\
  on:noArg shellies/shelly4pro-CHIPID/relay/3/command on
attr DEVICE_CH4 readingList shellies/shellyswitch-CHIPID/relay/3:.* state
attr DEVICE_CH4 getList shellies/shelly4pro-CHIPID/relay/3/power power4\
  shellies/shelly4pro-CHIPID/relay/3/energy energy4
attr DEVICE_CH4 comment Channel 4 for DEVICE, see also DEVICE, DEVICE_CH2 and DEVICE_CH3
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Beta-User

 :)
Danke für die Rückmeldung!
Hoffe, du findest meine eingangs mal gemachte These bestätigt, dass du dabei auch was wichtiges lernen wirst :P :-* ...

Dass hier habe ich evtl. überlesen/bisher ignoriert:
Zitat von: rudolfkoenig am 06 Dezember 2018, 12:51:07
Weiterhin wuerde ich readingList automatisch anlegen lassen, und nicht explizit spezifizieren (und damit das vorher automatisch Angelegte entfernen)
Mir ist zwar im Moment noch nicht so klar, wie dann erkannt wird, welcher Wert zu welchem Device gehört, aber wenn Rudi das so schreibt, lasse ich mich gerne überraschen.

Versuchst du dich dann noch an einem 4-er "unified"-template? Das wäre m.E. einfacher zu handhaben für den von dir beabsichtigten Zweck, zwei Rolläden damit zu steuern ;) . Da solltest du die readingList in jedem Fall weglassen. Und dann schau dir ROLLO an, ich bin mir ziemlich sicher, dass dir das ziemlich viel von dem abnimmt, was du bisher noch gar nicht "auf dem Schirm" hast.

Dann noch den 2-er im roller-Modus?

Wäre echt klasse!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

Habe shelly4pro in mqtt2.template eingebaut und eingecheckt.
ZitatMir ist zwar im Moment noch nicht so klar, wie dann erkannt wird, welcher Wert zu welchem Device gehört
Das wird nicht erkannt, und alle Readings landen damit in allen kopierten FHEM-Instanzen, nur fuer die Anzeige (und Steuerung) wird der passende Wert verwendet. Aber ich sehe es ein, dass das explizit spezifizierte readingList weniger verwirrend sein kann.

miggun

Ich lerne durch die Aktion hier unheimlich viel, auch wen ich für jede Kleinigkeit etliche Stunden brauche, geht es Stück für Stück voran.
Shelly2 muss ich noch einen bestellen, da der eine in der Küche für die Beleuchtung verbaut ist. Den Rollo-Mode kann ich nicht nutzen, da ich damit wirklich nur verriegelungs-Relais ansteure, somit nur on-for-timer. Läuft aber jetzt auch schon perfekt mit sunrise und sunset.
Shelly 2 bestell ich noch und Shelly1 verbau ich noch.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Christian Uhlmann

Hallo zusammen,

ich bin sehr angetan von den MQTT2.* Modulen und möchte nach und nach umsteigen.
Auch benötige ich bei einigen geplanten einsatzorten der Shelly sofort eine Info, wenn geschaltet wurde, daher kommt das Shelly Modul nicht überall in Frage.

Leider bekomme ich meinen Shelly 2 trotz diesem Template
Zitat von: Beta-User am 08 Dezember 2018, 17:44:54
@miggunHabe mal versucht, das umzusetzen, was Rudi geschrieben hat (und den Backslash ergänzt ;) ). Kannst du das mal versuchen?

# shelly2 using original firmware.
# NOTE: a second device will be created for the second channel
name:shelly2
filter:TYPE=MQTT2_DEVICE
par:CHIPID;serial number of this ESP chip;{ AttrVal("DEVICE","readingList","") =~ m,shellies/.*_(.*)[/]?:, ? $1 : undef }
attr DEVICE setList\
  off:noArg shellies/shellyswitch-CHIPID/relay/0/command off\
  on:noArg shellies/shellyswitch-CHIPID/relay/0/command on
attr DEVICE readingList shellies/shellyswitch-CHIPID/relay/0:.* state
attr DEVICE getList shellies/shellyswitch-CHIPID/relay/power power
attr DEVICE comment Channel 1 for DEVICE, see also DEVICE_CH2
copy DEVICE DEVICE_CH2
attr DEVICE_CH2 readingList shellies/shellyswitch-CHIPID/relay/1:.* state
attr DEVICE_CH2 comment Channel 2 for DEVICE
attr DEVICE_CH2 setList\
  off:noArg shellies/shellyswitch-CHIPID/relay/1/command off\
  on:noArg shellies/shellyswitch-CHIPID/relay/1/command on
deleteattr DEVICE_CH2 getList

nicht richtig zum laufen.

Es werden 2 devices erzeugt (ich habe diese mal umbenannt, aber auch mit den default device namen ist das verhalten gleich:
Device Kanal 1:

defmod shelly2.ch01 MQTT2_DEVICE shellyswitch_32B11E
attr shelly2.ch01 IODev MQTT2_SERVER
attr shelly2.ch01 comment Channel 1 for MQTT2_shellyswitch_32_11_, see also MQTT2_shellyswitch_32_11__CH2
attr shelly2.ch01 getList shellies/shellyswitch-32B11E/relay/power power
attr shelly2.ch01 readingList shellies/shellyswitch-32B11E/relay/0:.* state\
shellyswitch_32B11E:shellies/shellyswitch-32B11E/relay/power:.* power\
shellyswitch_32B11E:shellies/shellyswitch-32B11E/relay/energy:.* energy
attr shelly2.ch01 room MQTT2_DEVICE
attr shelly2.ch01 setList off:noArg shellies/shellyswitch-32B11E/relay/0/command off\
  on:noArg shellies/shellyswitch-32B11E/relay/0/command on

setstate shelly2.ch01 on
setstate shelly2.ch01 2018-12-09 14:30:01 1 on
setstate shelly2.ch01 2018-12-09 14:27:09 announce_fw_ver 20181207-155525/v1.4.1@1142a57b
setstate shelly2.ch01 2018-12-09 14:27:09 announce_id shellyswitch-32B11E
setstate shelly2.ch01 2018-12-09 14:27:09 announce_ip 192.168.127.124
setstate shelly2.ch01 2018-12-09 14:27:09 announce_mac 86F3EB32B11E
setstate shelly2.ch01 2018-12-09 14:27:09 announce_new_fw false
setstate shelly2.ch01 2018-12-09 14:27:09 announce_online true
setstate shelly2.ch01 2018-12-09 14:43:29 energy 1
setstate shelly2.ch01 2018-12-09 14:43:29 power 42.91
setstate shelly2.ch01 2018-12-09 14:30:01 shellies/shellyswitch-32B11E/relay/0 on
setstate shelly2.ch01 2018-12-09 14:43:29 state on


Device Kanal 2:

defmod shelly2.ch02 MQTT2_DEVICE shellyswitch_32B11E
attr shelly2.ch02 IODev MQTT2_SERVER
attr shelly2.ch02 comment Channel 2 for MQTT2_shellyswitch_32_11_
attr shelly2.ch02 readingList shellies/shellyswitch-32B11E/relay/1:.* state\
shellyswitch_32B11E:shellies/shellyswitch-32B11E/relay/power:.* power\
shellyswitch_32B11E:shellies/shellyswitch-32B11E/relay/energy:.* energy
attr shelly2.ch02 room MQTT2_DEVICE
attr shelly2.ch02 setList off:noArg shellies/shellyswitch-32B11E/relay/1/command off\
  on:noArg shellies/shellyswitch-32B11E/relay/1/command on

setstate shelly2.ch02 on
setstate shelly2.ch02 2018-12-09 14:44:29 energy 1
setstate shelly2.ch02 2018-12-09 14:44:29 power 42.84
setstate shelly2.ch02 2018-12-09 14:44:29 state on


Kanal 2 läßt sich schalten, bei Kanal 1 kommen Daten aber das Schalten klappt nicht.
Auch der Status ist irgendwie falsch, wenn ich den Shelly 2 Kanal 1 manuell ausschalte, bleibt das reading "shellies/shellyswitch-32B11E/relay/0" auf on obwohl ich es auf off geschaltet habe.

Zitat von: miggun am 08 Dezember 2018, 21:02:27
Funktioniert....und wie genial das funktioniert. Besonders schön, die Abfrage nach der Seriennummer.
Top.
Funktioniert der Kanal 1 wirklich Schaltbar bei dir? Erkennst du einen Unterschied zu meinen Devices?

Ich hoffe hier kann mir jemand auf die Sprünge helfen.


Danke und Grüße

Christian


P.S.: Gibt es für Shelly 1 auch schon templates?
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

miggun

Das Problem bei Dir, bei Kanal 1 ist, dass bei Kanal 1 die /0/ hinter Relay fehlt.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Beta-User

Zitat von: miggun am 09 Dezember 2018, 15:00:45
Das Problem bei Dir, bei Kanal 1 ist, dass bei Kanal 1 die /0/ hinter Relay fehlt.
Kannst du (oder Christian Uhlmann) das template für den shelly2 dann kurz in einer Version liefern, von der du annimmst, dass alles paßt, oder ist das kein Problem des templates? (Am besten als diff einschließlich eines netten "headers" für den shelly-Abschnitt ;) ). Dann könnte Rudi das auch mit einchecken...

Danke!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

miggun

Bin jetzt zu Hause, auf dem Handy war das nur schwer zu analysieren, gucke jetzt mal, wieso gerade Kanal 1 nicht geht. Das ist ja eigentlich der Kanal, aus dem Kanal2 abgeleitet wird.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

miggun

#99
Probier den Kanal 1 mal so. erst mal nur gucken, ob es funktioniert:

defmod shelly2.ch01 MQTT2_DEVICE shellyswitch-32B11E
attr shelly2.ch01 IODev MQTT2_SERVER
shellies/shellyswitch-32B11E/relay/0:.* state
attr shelly2.ch01 readingList shellies/shellyswitch-32B11E/relay/0:.* state\
attr shelly2.ch01 room MQTT2_DEVICE
attr shelly2.ch01 setList off:noArg shellies/shellyswitch-32B11E/relay/0/command off\
on:noArg shellies/shellyswitch-32B11E/relay/0/command on



Ich habe bei mir eigentlich beim Shelly2 drei Devices angelegt. Kanal1, Kanal2 und da der Shelly nur die Messwärte summiert raus gibt, einen dritten für die Messwerte, weil ich die keinem Kanal eindeutig zuweisen kann.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Christian Uhlmann

#100
Hi,

bin gerade mal dazu gekommen einiges auszuprobieren. Leider bisher kein Erfolg.

Zitat von: miggun am 09 Dezember 2018, 15:00:45
Das Problem bei Dir, bei Kanal 1 ist, dass bei Kanal 1 die /0/ hinter Relay fehlt.
Das sehe ich nicht, in beiden Devices ist sowohl im readingsList als auch im setList beides exakt gleich außer dass hier die 0 bzw. 1 steht.
Seltsam finde ich auch, dass im Device 1 im reading state immer der tatsächliche state angezeigt wird.

Zitat von: miggun am 09 Dezember 2018, 20:37:18
Probier den Kanal 1 mal so. erst mal nur gucken, ob es funktioniert:

defmod shelly2.ch01 MQTT2_DEVICE shellyswitch-32B11E
attr shelly2.ch01 IODev MQTT2_SERVER
shellies/shellyswitch-32B11E/relay/0:.* state
attr shelly2.ch01 readingList shellies/shellyswitch-32B11E/relay/0:.* state\
attr shelly2.ch01 room MQTT2_DEVICE
attr shelly2.ch01 setList off:noArg shellies/shellyswitch-32B11E/relay/0/command off\
on:noArg shellies/shellyswitch-32B11E/relay/0/command on

Zeile 3 ist leider nicht valid, soll dies das attribute getList sein?
Selbst ohne Zeile 3, also nur readingsList und setList übernommen, klappt es nicht.

Zitat von: miggun am 09 Dezember 2018, 20:37:18
Ich habe bei mir eigentlich beim Shelly2 drei Devices angelegt. Kanal1, Kanal2 und da der Shelly nur die Messwärte summiert raus gibt, einen dritten für die Messwerte, weil ich die keinem Kanal eindeutig zuweisen kann.
Wenn das hilft sollte es mir recht sein, ein Device als Sensor Device und 2 weitere, je eins, für jedes Relais.
Das teste ich gleich mal, aber ich denke nicht das es was damit zu tun hat, das mein relay 0 nicht reagiert.

Zitat von: Beta-User am 09 Dezember 2018, 19:03:39
Kannst du (oder Christian Uhlmann) das template für den shelly2 dann kurz in einer Version liefern, von der du annimmst, dass alles paßt, oder ist das kein Problem des templates? (Am besten als diff einschließlich eines netten "headers" für den shelly-Abschnitt ;) ). Dann könnte Rudi das auch mit einchecken...
Wenn es denn läuft werde ich mich an einem patch versuchen ;) sollte aber klappen, habe irgendwann schon mal einen gemacht :)


Grüße Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

miggun

#101
Ups, da habe ich etwas vergessen, in den Code rein zu schreiben.

defmod shelly2.ch01 MQTT2_DEVICE shellyswitch-32B11E
attr shelly2.ch01 IODev MQTT2_SERVER
attr shelly2.ch01 getList  shellies/shellyswitch-32B11E/relay/0:.* state
attr shelly2.ch01 readingList shellies/shellyswitch-32B11E/relay/0:.* state\
attr shelly2.ch01 room MQTT2_DEVICE
attr shelly2.ch01 setList off:noArg shellies/shellyswitch-32B11E/relay/0/command off\
on:noArg shellies/shellyswitch-32B11E/relay/0/command on



Das mit der 0 war ein Fehler von mir. Über das Handy war das alles nicht so gut zu lesen. Warum das bei Dir nicht geht, verstehe ich gerade nicht.

Aber was richtig komisch ist, dass CH2 läuft und ausgerechnet der 1 nicht, der ja Basis für 2 ist und gleich aufgebaut ist.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

miggun

#102
Christian Uhlmann konntest Du Kanal 1 noch einmal testen?

Mir ist noch ein kleines Problem bei Shelly4Pro aufgefallen. Wenn das gute Stück nichts schaltet, sendet es auch nicht mehr viel an Messwerten. Der Shelly 2 macht das, obwohl alles aus, gibt es vom Shelly2 regelmäßig Meßwerte für Leistung und Arbeit, als Lebenszeichen.
Vom Shelly4Pro gibt es nur:
shelly4pro-062065 PINGREQ
Wenn man jetzt aus den Werten einen Plot erzeugt, ist es optisch doof, wenn der Messwert nicht 0 ist, sondern einfach nicht da. Ergibt ein Sägebild im Plot.
Jetzt suche ich etwas, um aus dem PINGREQ einen Messwert zu erzeugen. Also PINGREQ kommt setReading power1 0 bis setReading power4 0 so könnte man das Senden des Messwertes künstlich erzeugen. Die Frage ist halt, ob das ins Template rein müsste, weil es ja sehr wahrscheinlich ist, dass man aus einem gegebenen Messwert auch einen Plot erzeugt.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

gvzdus

Moin, dann nehme ich mal die Mütze für den Shellybulb auf.

Die Doku ist hier: http://shelly-api-docs.shelly.cloud/#bulb-mqtt

Mit der 8-Uhr-Version von FHEM funktioniert Publish prima! Danke für die Tipps hier im Thread bzgl. "attr verbose 5" und "Howto edit & re-apply a template"!

Folgendes Template ist mein ganz basaler Wurf:

# shellybulb using original firmware.
name:shellybulb
filter:TYPE=MQTT2_DEVICE
par:CHIPID;serial number of this ESP chip;{ AttrVal("DEVICE","readingList","") =~ m,shellies/.*_(.*)[/]?:, ? $1 : undef }
attr DEVICE setList\
  off:noArg shellies/shellybulb-CHIPID/color/0/command off\
  on:noArg shellies/shellybulb-CHIPID/color/0/command on
attr DEVICE readingList shellies/shellybulb-CHIPID/color/0/set:.* state
attr DEVICE genericDeviceType light
attr DEVICE icon light_control


Nach dem Löschen und Restart wird das Device automatisch angelegt.
Ich muss noch händisch das Template auswählen, und dann in einem Prompt die Chip-ID angeben.

Bleiben für mich folgende Fragen für's "Wie Weiter?"

a) Kann man das nicht elektrifizieren? Beim initialen Connect ließe sich doch das Gerät ausweislich des in die Welt gesetzten eindeutigen Status schon komplett zuordnen und Plug-N-Play-mäßig einbinden? Beispiel:
shellies/shellybulb-3CC533/color/0/status:{"ison":true,"mode":"color","red":224,"green":209,"blue":255,"white":0,"gain":100,"temp":6395,"brightness":100,"effect":0}

b) An / Aus ist ja mager. Wo klaue ich am besten für das Template, um - um es mit dem Mitbewerber zu sagen: "Die Möglischkeiten zu entdecken?"

Beta-User

Zitat von: gvzdus am 10 Dezember 2018, 08:44:44
Moin, dann nehme ich mal die Mütze für den Shellybulb auf.
Danke für die schnelle Initiative!

ZitatNach dem Löschen und Restart wird das Device automatisch angelegt.
Das geht auch mit einem simplen reload: { AttrTemplate_Initialize() }

ZitatIch muss noch händisch das Template auswählen, und dann in einem Prompt die Chip-ID angeben.
par:CHIPID;serial number of this ESP chip;{ AttrVal("DEVICE","readingList","") =~ m,shellies/.*-(.*)[/]?:, ? $1 : undef }
...einfach in der Regex den Unterstrich durch Bindestrich ersetzen...
Scheint evtl. schon die neue Form zu sein; damit könnte man auch den ganzen String samt "shellybulb-" verwenden (weiter oben in diesem Thread).
ZitatBleiben für mich folgende Fragen für's "Wie Weiter?"
a) Kann man das nicht elektrifizieren? Beim initialen Connect ließe sich doch das Gerät ausweislich des in die Welt gesetzten eindeutigen Status schon komplett zuordnen und Plug-N-Play-mäßig einbinden? Beispiel:
shellies/shellybulb-3CC533/color/0/status:{"ison":true,"mode":"color","red":224,"green":209,"blue":255,"white":0,"gain":100,"temp":6395,"brightness":100,"effect":0}

Ginge vielleicht, aber zwei Gedanken dazu:
a) "Attribute gehören dem user!" ist einer der Grundsätze hier. Sollten also eigentlich nur gesetzt werden, wenn der user das will (bzw. wenn erforderlich, dann erst mal nur im Minimal-Umfang).
b) Es kann durchaus Fälle geben, in denen mehrere templates passen könnten (ein "unified shelly4pro" fehlt z.B. noch). Wer entscheidet dann?
M.E. ist das hier schon eine Luxus-Variante mit dem set ... attrTemplate xy :) .
Zitatb) An / Aus ist ja mager. Wo klaue ich am besten für das Template, um - um es mit dem Mitbewerber zu sagen: "Die Möglischkeiten zu entdecken?"
Mager? Ein Anfang ;) . Schau dir mal die zigbee-templates an und den Beispielcode im Wiki zu den MiLights.
In der mqtt2.template ist irgendwo sogar ein Beispiel, wie Perl-Code aufgerufen wird (das topic ist da mit in den {...}).

@miggun:
Da der Thread jetzt irgendwie einen anderen Schwerpunkt hat: vielleicht nochmal umbenennen?
Vorschlag: MQTT2+Shelly: erste Konfiguration und template-Entwicklung?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files