FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: stobor am 27 Juli 2024, 07:22:17

Titel: WLED mit ESP32 über MQTT verbinden
Beitrag von: stobor am 27 Juli 2024, 07:22:17
Guten Morgen,
ich nutze einen ESP32 mit LED-Stripe (5m) konfiguriert nach dem WLED-Projekt https://kno.wled.ge/
Ich habe MQTT schon so konfiguriert, dass ich in FHEM was sehen kann:
Internals:
   BUF       
   FD         68
   NAME       MQTT2_192.168.179.13_50556
   NR         10000007
   PEER       192.168.179.13
   PORT       50556
   SNAME      MQTT2
   SSL       
   STATE      Connected
   TEMPORARY  1
   TYPE       MQTT2_SERVER
   WBCallback
   cflags     38
   cid        WLED-e5fedc
   keepalive  60
   lastMsgTime 1722057567.87522
   lwt        wled/e5fedc/status:offline
   protoNum   4
   protoTxt   MQTT
   READINGS:
     2024-07-26 19:13:05   state           Connected
   hmccu:
   subscriptions:
     wled/all   1722013985.76829
     wled/all/api 1722013985.76882
     wled/all/col 1722013985.76867
     wled/e5fedc 1722013985.75589
     wled/e5fedc/api 1722013985.76273
     wled/e5fedc/col 1722013985.76221
Attributes:
   room       MQTT,hidden
So wie ich es verstehe, benötige ich nun ein passendes Template, um das Gerät steuern zu können.
Hat jemand für dieses Vorhaben schon etwas? Ich konnte nicht finden.
Wie muss ich das dann einbinden?
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: rudolfkoenig am 27 Juli 2024, 09:12:12
ZitatWie muss ich das dann einbinden?
Das Attribut setList muss gesetzt werden, in der Art:
on:noArg            wled/e5fedc ON
off:noArg           wled/e5fedc OFF
toggle:noArg        wled/e5fedc T
rgb:colorpicker,RGB wled/e5fedc/col #$EVTPART1


Achtung:
#1 ungetestet, ich habe kein Geraet,
#2 laut Webseite:
ZitatThe MQTT implementation is currently being restructured to provide a better experience for users of Home Assistant and other automation software.
This will be a breaking change.
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: DeeSPe am 27 Juli 2024, 10:14:41
Für WLED gibt es ein AttrTemplate in FHEM. Einfach anwenden und glücklich sein.

Gruß
Dan
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: stobor am 27 Juli 2024, 10:36:11
Zitat von: DeeSPe am 27 Juli 2024, 10:14:41Für WLED gibt es ein AttrTemplate in FHEM. Einfach anwenden und glücklich sein.

Gruß
Dan

Was muss ich denn dann genau machen?
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: TomLee am 27 Juli 2024, 11:55:06
ZitatWas muss ich denn dann genau machen?
Einführung AttrTemplate (https://wiki.fhem.de/wiki/AttrTemplate#Einf%C3%BChrung)
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: stobor am 27 Juli 2024, 22:30:16
Wenn ich in meinem Fall
set MQTT2_192.168.179.13_63286 attrTemplate ? Aufrufe, kommt ein Fehler:


Unknown argument ?, choose one of clearRetain reopen publish
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: rudolfkoenig am 28 Juli 2024, 09:31:23
MQTT2_192.168.179.13_63286 representiert die aktuelle Verbindung, und ist normalerweise versteckt.

Anwenden sollte man attrTemplate in diesem Fall auf Instanzen des Typs MQTT2_DEVICE.
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: stobor am 28 Juli 2024, 10:00:32
Das hatte ich gerade auch vermutet.
Ich finde aber nirgends das WLED Device. Muss ich vorher noch etwas ausführen?
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: rudolfkoenig am 28 Juli 2024, 11:15:26
ZitatIch finde aber nirgends das WLED Device. Muss ich vorher noch etwas ausführen?
Ein MQTT2_DEVICE wird beim Aufbau der ersten Verbindung per autocreate angelegt.
Wenn man autocreate deaktiviert hat, dann nicht.
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: TomLee am 28 Juli 2024, 14:52:04
Irgendwas scheint ja unklar zu sein bzw. nicht zu passen.

Zeig doch mal ein
list TYPE=MQTT2_DEVICEund
list MQTT2
Titel: Aw: WLED mit ESP32 über MQTT verbinden
Beitrag von: stobor am 29 Juli 2024, 12:57:59
Es war tatsächlich das deaktivierte AUTOCREATE  :-[
Nun wurde das WLED Gerät angelegt:
Internals:
   CFGFN     
   CID        WLED_e5fedc
   DEF        WLED_e5fedc
   FUUID      66a77108-f33f-2cfb-26d5-8832a0afa74c373c
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_CONN MQTT2_192.168.179.13_63287
   MQTT2_MSGCNT 8
   MQTT2_TIME 2024-07-29 12:38:43
   MSGCNT     8
   NAME       MQTT2_WLED_e5fedc
   NR         1379
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 12
   READINGS:
     2024-07-29 12:38:00   IODev           MQTT2
     2024-07-29 12:38:43   c               #FFE6D4
     2024-07-29 12:38:43   g               5
     2024-07-29 12:38:43   status          online
     2024-07-29 12:38:43   v               <?xml version="1.0" ?><vs><ac>5</ac><cl>255</cl><cl>230</cl><cl>212</cl><cs>0</cs><cs>0</cs><cs>0</cs><ns>0</ns><nr>1</nr><nl>0</nl><nf>1</nf><nd>60</nd><nt>0</nt><fx>0</fx><sx>128</sx><ix>128</ix><fp>0</fp><wv>-1</wv><ws>0</ws><ps>0</ps><cy>0</cy><ds>WLED</ds><ss>0</ss></vs>
   hmccu:
Attributes:
   alias      WLED Wall Kinderzimmer
   readingList WLED_e5fedc:wled/e5fedc/g:.* g
WLED_e5fedc:wled/e5fedc/c:.* c
WLED_e5fedc:wled/e5fedc/status:.* status
WLED_e5fedc:wled/e5fedc/v:.* v
   room       MQTT

Jetzt kann ich auch set T2_WLED_e5fedc attrTemplate ? ausführen, und mir wird eine lange Liste an Templates angezeigt. Das universelle WLED template scheint hier zu funktionieren. :D

Danke an alle...