ESP Easy NeoPixel (BusFX) with MQTT and OpenHab 3

Hi

Newbie here!! I was wondering if anyone had done any testing/implementation using ESP Easy with NeoPixel (BusFX) on an ESP8266 NodeMCU which has WS2811/WS2812/WS2813 LED strips attached to it and for it to be controlled via OpenHab 3? Ive got the ESP Easy configured with a small LED strip and its setup with a MQTT controller pointing to my MQTT Broker in OpenHab. I have managed to configure a new Generic MQTT Thing and I can see the same values in ESPEasy UI within OpenHab so the state topics are being read into OpenHab.

At this point I am a bit lost because what I would like it to do for example is to turn on the LED strip and for it to flash red if the temperature value exceeds a certain value. For this I have a DHT11 temperature sensor attached to the same ESP8266 device and I can also read in its value via MQTT into OpenHab. I am a bit perplexed because the only values I am seeing from ESPEasy NeoPixel UI is shown below.

Has anyone done much with ESPEasy and NeoPixel (BusFX) using OpenHab 3?

Thanks for taking the time to read this.

You need to figure out what command messages ESP Easy expects on which MQTT topics to control these devices. From there you can configure your Generic MQTT Things with MQTT Command Topic and outgoing configuration parameters.

ok cheers. I found this page and a list of commands

https://espeasy.readthedocs.io/en/latest/Plugin/P128.html#p128-page

I’ve tried creating a new channel and item which basically tried to turn on the LED strip using the above as a reference and this line is then placed on the MQTT Command Topic line with NeoPixel being the name of the ESP device and LEDStrip is the name of the device within ESPEasy. Now this MQTT path does work with the DHT11 temperature so I assumed it would be the same for the MQTT Command Topic with nfx,on proceeding it?

NeoPixel/LEDStrip/nfx,on

Its configured as a switch but nothing happens when i click the switch to turn it on. It does show the state as being OFF though. I have also tested the LED strip with a multi-meter and I can see 5v supply is supplied to it but looks like it just needs a command to turn the strip on.

Do you think I am on the right track though?

The paths are going to be dictated by ESP Easy. Usually the command topic is different from the state topic. The DHT11 only publishes messages, you can’t command it so I would expect the topic to be different to command the lights.

Use an MQTT client to see what is being published.

That isn’t very easy as expected first, but at the end read this:

https://espeasy.readthedocs.io/en/latest/Reference/Command.html

You read this:

MQTT

/cmd with payload:

Send commands over the MQTT protocol.

That meas some thing like this:

grafik

If you wan’t to control more things… you neet generic MQTT import.

You can send then a topic and you must set a rule for special things you want.

Something like this:

Important that you check:

grafik

Set a rule like something this:

grafik

What happens… I send via MQTT a luminance number between 0-1023 and control direct a GPIO and set a PWM.

I can dim a display via MQTT. If you want other stuff with easy commands just do it. But you need a working rule, if you don’t want use command!

Otherwise start first to send commands via MQTT as i posted before and you can do every thing what you want. The other method with MQTT import is an option to do maybe crazy things? :wink:

Have fun.

1 Like

Brilliant!! Thanks for your help :+1:

ah damn! just looked up generic MQTT import and its not available under NeoPixel (BusFX) only in Normal and Climate :roll_eyes:

Which chip and which bin are u using?

Edit: This bin will do the job: Build: ESP_Easy_mega_20230507_neopixel_ESP8266_4M1M May 7 2023