WLED mit ESP32 über MQTT verbinden

Begonnen von stobor, 27 Juli 2024, 07:22:17

Vorheriges Thema - Nächstes Thema

stobor

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?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 29003
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

rudolfkoenig

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.

DeeSPe

Für WLED gibt es ein AttrTemplate in FHEM. Einfach anwenden und glücklich sein.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

stobor

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?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 29003
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

TomLee


stobor

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
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 29003
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

rudolfkoenig

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.

stobor

Das hatte ich gerade auch vermutet.
Ich finde aber nirgends das WLED Device. Muss ich vorher noch etwas ausführen?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 29003
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

rudolfkoenig

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.

TomLee

Irgendwas scheint ja unklar zu sein bzw. nicht zu passen.

Zeig doch mal ein
list TYPE=MQTT2_DEVICEund
list MQTT2

stobor

#10
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...
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 29003
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren