McLighting (Steuerung für WS2812B)

Begonnen von The-Holgi, 16 März 2018, 11:43:03

Vorheriges Thema - Nächstes Thema

The-Holgi

Hallo,
habe gerade mal einen Wemos D1 damit geflasht, über das webinterface sieht es schonmal sehr gut aus.
Leider ist es mir noch nicht gelungen die Steuerung über mqtt oder http in fhem zu integrieren.
Vielleicht hat jemand mit ein bißchen mehr ,,know how" als ich Lust dazu. https://github.com/toblum/McLighting
Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

Fritz!Maxi

Hallo Holgi,

du hast im Thema: "ESP RGBWW Wifi Led Controller - Sammelbestellung 3" geschrieben das du es jetzt mit MQTT zum Laufengebracht hast. Da ich damit nicht wirklich weiter komme möchte ich dich bitten mal einige Beispiele bereitzustellen. Wärst du so nett?

VG,
Christoph
FHEM im Debian Container uaf QNAP, diverse Homematic Komponenten

The-Holgi

#2
Hallo Christoph,
wo genau liegt denn das Problem?
Beim flashen des ESP oder bei der Steuerung mit fhem?
Ich benutze jetzt diese Version mit amqtt https://github.com/debsahu/McLighting (läuft stabil) die andere
Version war nach ein paar Stunden nicht mehr erreichbar.
Habe im Moment noch das Problem, dass soweit alles läuft aber im log noch eine Warnmeldung erscheint.
So sieht das device bei mir aus:
define mclight1 MQTT_DEVICE mclight
attr mclight1 IODev MyBroker
attr mclight1 eventMap =off:off =rainbowCycle:Regenbogen =all:on =theaterchaseRainbow:Theater =wipe:Wipe =tv:TV
attr mclight1 group McLighting
attr mclight1 icon hue_filled_lightstrip
attr mclight1 publishSet mclight/in
attr mclight1 qos 0
attr mclight1 retain 1
attr mclight1 room MQTT,Terasse
attr mclight1 stateFormat state
attr mclight1 subscribeReading_state mclight/out
attr mclight1 webCmd * ff0000:* 14ff00:* 0000ff:* ffbf00:off:on/code]




Zur Steuerung von Helligkeit, Geschwindigkeit und Effekten habe ich dummys angelegt die die Werte an ein DOIF übergeben.

Problem ist hier das webCmd attr mit den *. Es funktioniert zwar aber wie gesagt taucht im log ein Fehler auf.
Hier habe ich das beschrieben: https://forum.fhem.de/index.php/topic,86329.0.html

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

Fritz!Maxi

Hallo Holgi,
die generelle Ansteuerung über FHEM/MQTT war das Problem. Aber auf Basis deines Beispiels habe ich es jetzt geschafft!


Vielen Dank!


PS: Der von dir beschriebene Fehler taucht auch bei mir im Log auf.
FHEM im Debian Container uaf QNAP, diverse Homematic Komponenten

The-Holgi

#4
Schön das ich auch mal helfen konnte.
Habe es nun mit einem dummy gelöst, jetzt taucht auch kein Fehler mehr im log auf.
Sieht dann so aus wie auf dem screenshot. Geht bestimmt noch schöner.



Gruß Holger
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

Fritz!Maxi

Sehr gute Idee zur komfortablen Steuerung! Magst du mal die Dummy Details dazu zeigen?
FHEM im Debian Container uaf QNAP, diverse Homematic Komponenten

The-Holgi

Kein Problem, hier ein Auszug aus fhem.cfg:
define McLight_Helligkeit dummy
attr McLight_Helligkeit event-on-change-reading .*
attr McLight_Helligkeit group McLighting
attr McLight_Helligkeit room MQTT,Terasse
attr McLight_Helligkeit setList state:slider,0,50,255
attr McLight_Helligkeit webCmd state
define mclightbri_doif DOIF
([McLight_Helligkeit] eq 10) (set mclight1 %10) DOELSEIF\
([McLight_Helligkeit] eq 50) (set mclight1 %50) DOELSEIF\
([McLight_Helligkeit] eq 100) (set mclight1 %100) DOELSEIF\
([McLight_Helligkeit] eq 150) (set mclight1 %150) DOELSEIF\
([McLight_Helligkeit] eq 200) (set mclight1 %200) DOELSEIF\
([McLight_Helligkeit] eq 250) (set mclight1 %255)\
attr mclightbri_doif do always
attr mclightbri_doif event-on-change-reading .*
attr mclightbri_doif room MQTT

define McLight_effect dummy
attr McLight_effect event-on-change-reading .*
attr McLight_effect group McLighting
attr McLight_effect room MQTT,Terasse
attr McLight_effect setList state:on,off,Rot,Blau,Gruen,Gelb,Regenbogen,Feuer,Theater,rainbow,Puls,Feuerwerk,Random,TV,wipe
attr McLight_effect webCmd state
define mclightmode_doif DOIF
([McLight_effect] eq "on") (set mclight1 on) DOELSEIF\
([McLight_effect] eq "off") (set mclight1 off) DOELSEIF\
([McLight_effect] eq "Rot") (set mclight1 *FF0011) DOELSEIF\
([McLight_effect] eq "Blau") (set mclight1 *0400FF) DOELSEIF\
([McLight_effect] eq "Gruen") (set mclight1 *11FF00) DOELSEIF\
([McLight_effect] eq "Gelb") (set mclight1 *FFEA00) DOELSEIF\
([McLight_effect] eq "Regenbogen") (set mclight1 =rainbowCycle) DOELSEIF\
([McLight_effect] eq "Theater") (set mclight1 =theaterchaseRainbow) DOELSEIF\
([McLight_effect] eq "rainbow") (set mclight1 =rainbow) DOELSEIF\
([McLight_effect] eq "TV") (set mclight1 =tv) DOELSEIF\
([McLight_effect] eq "wipe") (set mclight1 =wipe) DOELSEIF\
([McLight_effect] eq "Feuer") (set mclight1 /48) DOELSEIF\
([McLight_effect] eq "Feuerwerk") (set mclight1 /46) DOELSEIF\
([McLight_effect] eq "Puls") (set mclight1 /2) DOELSEIF\
([McLight_effect] eq "Random") (set mclight1 /8)
attr mclightmode_doif do always
attr mclightmode_doif event-on-change-reading .*
attr mclightmode_doif room MQTT

define McLight_speed dummy
attr McLight_speed event-on-change-reading .*
attr McLight_speed group McLighting
attr McLight_speed room MQTT,Terasse
attr McLight_speed setList state:0,25,50,100,150,200,210,220,230,240,255
attr McLight_speed webCmd state
define mclightspeed_doif DOIF
([McLight_speed] eq 0) (set mclight1 ?0) DOELSEIF\
([McLight_speed] eq 25) (set mclight1 ?25) DOELSEIF\
([McLight_speed] eq 50) (set mclight1 ?50) DOELSEIF\
([McLight_speed] eq 100) (set mclight1 ?100) DOELSEIF\
([McLight_speed] eq 150) (set mclight1 ?150) DOELSEIF\
([McLight_speed] eq 200) (set mclight1 ?200) DOELSEIF\
([McLight_speed] eq 210) (set mclight1 ?210) DOELSEIF\
([McLight_speed] eq 220) (set mclight1 ?220) DOELSEIF\
([McLight_speed] eq 230) (set mclight1 ?230) DOELSEIF\
([McLight_speed] eq 240) (set mclight1 ?240) DOELSEIF\
([McLight_speed] eq 255) (set mclight1 ?255)
attr mclightspeed_doif do always
attr mclightspeed_doif event-on-change-reading .*
attr mclightspeed_doif room MQTT


Wobei ich mir noch nicht sicher bin ob Slider oder lieber Liste zum aufklappen.

Gruß Holger
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

raiderxxl

Hallo,

könntest du mir eine Raw definition deiner Devices posten?
Also MQTT und Alle Dummys und DOIFS?


Danke

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

The-Holgi

Hallo Pascal,
hier das MQTT device:
defmod mclight1 MQTT_DEVICE mclight
attr mclight1 IODev MyBroker
attr mclight1 eventMap =off:off =all:on
attr mclight1 group McLighting
attr mclight1 icon hue_filled_lightstrip
attr mclight1 publishSet off on *0000ff  *ff0000  *14ff00  *ffbf00 mclight/in
attr mclight1 qos 0
attr mclight1 retain 1
attr mclight1 room MQTT,Terasse
attr mclight1 stateFormat state
attr mclight1 webCmd off:on


Der rest steht ja schon im vorherigem Post

Gruß Holger
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP