Hi
ich bekomme es nicht so hin.
wie kann ich denn in einem ESPEasy Device den Colorpicker enablen für
das Device :
set [espdevice] neopixel|neopixelline|neopixelall
so ist mein device definiert.
defmod ESPEasy_ESP_Easy_167_NP_Candle ESPEasy 192.168.0.167 80 espBridge ESP_Easy_167_NP_Candle
attr ESPEasy_ESP_Easy_167_NP_Candle IODev espBridge
attr ESPEasy_ESP_Easy_167_NP_Candle Interval 300
attr ESPEasy_ESP_Easy_167_NP_Candle colorpicker RGB
attr ESPEasy_ESP_Easy_167_NP_Candle colorpickerCTcw 6000
attr ESPEasy_ESP_Easy_167_NP_Candle colorpickerCTww 2000
attr ESPEasy_ESP_Easy_167_NP_Candle group ESPEasy Device
attr ESPEasy_ESP_Easy_167_NP_Candle presenceCheck 1
attr ESPEasy_ESP_Easy_167_NP_Candle readingSwitchText 1
attr ESPEasy_ESP_Easy_167_NP_Candle room ESPEasy
attr ESPEasy_ESP_Easy_167_NP_Candle setState 3
Danke Thomas
Nicht ohne selbst etwas zu programmieren, da der ESP Easy neopixel Befehl keinen rrggbb Hexwert erwartet, sondern drei getrennte Werte von 0-255.
Hi,
ich habe den 6 stelligen Hex-Wert "RGB" in 3 einzelne zerlegt, welche espeasy versteht.
Zusätzlich habe ich noch den RGBv für die Helligkeit eingerechnet.
RGBr {(hex(substr(ReadingsVal("WeMos_S3","RGB",0),0,2))*ReadingsVal("WeMos_S3","RGBv",0)/100)},
RGBg {(hex(substr(ReadingsVal("WeMos_S3","RGB",0),2,2))*ReadingsVal("WeMos_S3","RGBv",0)/100)},
RGBb {(hex(substr(ReadingsVal("WeMos_S3","RGB",0),4,2))*ReadingsVal("WeMos_S3","RGBv",0)/100)},
Hallo zusammen
Ich verzweifel gerade an diesem Thema.
Ich habe ESPEasy D1MiniPro Modul mit einen LED Ring als NeoPixel konfiguriert.
ESPEasy : Output - NeoPixel (Basic) LED GPIO-12
Die Steuerung in ESPEasy Commandline mit z.b.
Zitat
neopixelall 200 10 20 schaltet alle LEDs in einen Rotton
neopixel 2 10 10 20 schaltet LED 2 in einen Blauton
Meine Frage nun wie binde ich es nun richtig in FHEM ein um die LEDs alle bzw. einzeln mit dem colorpicker zu steuern. ON und OFF wäre auch noch schön.
Irgendwie habe ich mich festgefahren.
Kann mir da bitte jemnd heraus helfen.
define ESPEasy_D1MiniPro_203_LED ESPEasy 192.168.0.203 80 espBridge D1MiniPro_203_LED
auch hier funktioniert
Zitat
set ESPEasy_D1MiniPro_203_LED neopixelall 200 10 20
set ESPEasy_D1MiniPro_203_LED neopixel 2 10 10 20
Gruss
Stefan
Hi,
ich mache das mit MQTT.
Ich zerlege in FHEM die Farbe in 3 zahlenwerte, da ESPEASY nur zahlen empfangen konnte (oder kann).
Diese werden per MQTT gesendet, in espeasy einem MQTT-Import device zugeordnet und über rules zusammengebaut und die LED geschaltet.
Code gibt es, wenn die Idee gefällt.
Hi Dirk
Deine Idee würde ich mir schon mal ansehen.
LG
Stefan
Ok,
hier schon mal der Teil aus FHEM:
defmod WeMos_S3 MQTT_DEVICE
attr WeMos_S3 DbLogInclude Luftfeuchtigkeit,Temperatur,valveposition,desiredTemperature,uptime
attr WeMos_S3 IODev mqtt_local
attr WeMos_S3 alias WeMos_S3 Wohnzimmer
attr WeMos_S3 autoSubscribeReadings fhem/sensors/ESPEasy_03/in/#
attr WeMos_S3 event-min-interval Luftfeuchtigkeit:600,Temperatur:600,WLANRSSI:600,desiredTemperature:600
attr WeMos_S3 event-on-change-reading .*
attr WeMos_S3 icon icoTemp
attr WeMos_S3 publishSet_AlarmLevel fhem/sensors/ESPEasy_03/setALERT
attr WeMos_S3 publishSet_RGB fhem/sensors/ESPEasy_03/setRGB
attr WeMos_S3 publishSet_RGBb fhem/sensors/ESPEasy_03/setRGBb
attr WeMos_S3 publishSet_RGBg fhem/sensors/ESPEasy_03/setRGBg
attr WeMos_S3 publishSet_RGBr fhem/sensors/ESPEasy_03/setRGBr
attr WeMos_S3 qos 1
attr WeMos_S3 readingsWatcher 7200,???,Temperatur,Luftfeuchtigkeit
attr WeMos_S3 retain 1
attr WeMos_S3 room 8.2_ESP,1.1_Wohnzimmer
attr WeMos_S3 stateFormat Temperatur °C, Luftfeuchtigkeit %
attr WeMos_S3 subscribeReading_Firmware fhem/sensors/ESPEasy_03/in/sysbuild_time
attr WeMos_S3 subscribeReading_LWT fhem/sensors/ESPEasy_03/in/LWT
attr WeMos_S3 subscribeReading_Luftfeuchtigkeit fhem/sensors/ESPEasy_03/in/Sensor1/Humidity
attr WeMos_S3 subscribeReading_Temperatur fhem/sensors/ESPEasy_03/in/Sensor1/Temperature
attr WeMos_S3 subscribeReading_uptime fhem/sensors/ESPEasy_03/in/UPTIME
attr WeMos_S3 userReadings RGBr {(hex(substr(ReadingsVal("WeMos_S3","RGB",0),0,2))*ReadingsVal("WeMos_S3","RGBv",0)/100)},\
RGBg {(hex(substr(ReadingsVal("WeMos_S3","RGB",0),2,2))*ReadingsVal("WeMos_S3","RGBv",0)/100)},\
RGBb {(hex(substr(ReadingsVal("WeMos_S3","RGB",0),4,2))*ReadingsVal("WeMos_S3","RGBv",0)/100)},\
attr WeMos_S3 webCmd RGB:RGB ff00ff:RGB ff0000:RGB ffff00:RGB 8CFF08:RGB 00ff00:RGB 05FF82:RGB 00FFff:RGB 088CFF:RGB 0000ff:RGB 000000:RGB FFFFFF
attr WeMos_S3 widgetOverride RGB:colorpicker,RGB
Der Geräte-teil:
RulesOn System#Boot do //When the ESP boots, do
timerSet,1,5 //Set Timer 1 for the next event in 5 seconds
NeoPixel,1,50,50,50
endon
On Rules#Timer=1 do
NeoPixel,1,0,0,1
delay 1000
NeoPixel,1,0,1,0
delay 1000
NeoPixel,1,1,0,0
delay 1000
NeoPixel,1,0,0,0
endon
//on Clock#Time=All,**:30 do //will run half past every hour
on Clock#Time=All,**:*5 do //will run alle 10 minuten
Publish fhem/sensors/ESPEasy_03/in/OTAIP,%ip%
Publish fhem/sensors/ESPEasy_03/in/WLANRSSI,%rssi%
Publish fhem/sensors/ESPEasy_03/in/UPTIME,%uptime%
Publish fhem/sensors/ESPEasy_03/in/sysbuild_time,%sysbuild_date%
endon
on UPTIME#UPTIME do
TaskValueSet 12,1,%uptime%-[MQTT-IN#uptimePong]
if [Dummy#Watchdog] > 30
reboot
endif
endon
On MQTTRGB#LEDRed do
// NeoPixel,1,2,0,0
NeoPixel,1,[MQTTRGB#LEDRed],[MQTTRGB#LEDBlue],[MQTTRGB#LEDGreen]
endon
On MQTTRGB#LEDGreen do
// NeoPixel,1,0,0,2
NeoPixel,1,[MQTTRGB#LEDRed],[MQTTRGB#LEDBlue],[MQTTRGB#LEDGreen]
endon
On MQTTRGB#LEDBlue do
// NeoPixel,1,0,2,0
NeoPixel,1,[MQTTRGB#LEDRed],[MQTTRGB#LEDBlue],[MQTTRGB#LEDGreen]
endon
On MQTTRGB#ALERT=7 do
NeoPixel,1,255,0,0
timerSet,7,1 //Set Timer 7 for the next event in 10 seconds
endon
On MQTTRGB#ALERT=0 do
NeoPixel,1,[MQTTRGB#LEDRed],[MQTTRGB#LEDBlue],[MQTTRGB#LEDGreen]
timerSet,7,0
endon
//create an actual warning signal, every time timer 7 expires:
On Rules#Timer=7 do
//repeat after 3 seconds
timerSet,7,3
NeoPixel,1,0,255,0
delay 500
NeoPixel,1,0,0,0
delay 50
NeoPixel,1,0,255,0
delay 500
NeoPixel,1,0,0,0
delay 50
NeoPixel,1,0,255,0
delay 500
NeoPixel,1,0,0,0
delay 50
NeoPixel,1,255,0,0
delay 500
NeoPixel,1,0,0,0
delay 50
NeoPixel,1,255,0,0
delay 500
NeoPixel,1,0,0,0
delay 50
NeoPixel,1,255,0,0
delay 500
NeoPixel,1,0,0,0
endon
Gibts da mittlerweile eine andere Lösung als dieses MQTT verfahren?
Colorpicker und ON/OFF wäre super!!!
Kann man nicht hex2rgb irgendwie mit rein bauen?
:-\
Zitat von: locutus am 22 August 2020, 13:22:37
https://forum.fhem.de/index.php/topic,50174.0.html
Einfach ein Link hinklatschen kann ich auch :o
.... das Modul 98_LEDStripe.pm scheint noch nicht offiziell dabei zu sein, jedenfalls finde ich es auf meiner Raspberry nicht. Gibt auch noch keine Command_ref dazu, obwohl es 2017 schon verwendet wurde.
Für mich als nicht programmierer und user ist das alles sehr wirr und unübersichtlich..
Hallo,
ich mache es immer noch wie früher, da ich die Flexibilität von MQTT brauche.
Mit dem Modul für ESPEASY sollte es aber auch möglich sein, direkte Befehle per HTTP Aufruf zu übermitteln.