Hi all! I’ve created some quick how-to videos to show the build and configuration of my homemade NodeMCU LED Strip controller, which I use for kitchen under-cabinet lighting and holiday lights. The complete project is written up on the Thingiverse site, but I wanted to post the openHAB specific configuration sample files here for easy linking.

The following items/sitemap and rules entries comprise a single strip and a “group” of strips (if more than one strip is defined and they’re required to be controlled as a group). Single strips are defined by their own MQTT topic, but all strips also subscribe to the “group” MQTT topic and react to commands posted to that topic as a group.

Ugh, I know you’re right, but I did the sitemap file using code fences last night, and I just hate how it splits every line into a separate fence if you select them all and click the formatting button (and you have to remove every single one to make it look right). It does look much better, so I went and re-edited just now.

Just a quick update to the first post, to add direct links to the how-to videos, and also to add [ “Switchable” ] tags to Power/Color items (this exposes those items to Google Assistant/Home) and allows voice activated power/color selection, as seen in this demo video:

@killercorny Those all seem like warnings I usually get when compiling my code. Does it actually go into the “Uploading” state and finish saving the code to your NodeMCU? If so, you could check to make sure it’s connecting to your wifi and sending out MQTT message using something like MQTT.fx…If it’s connecting to your Wifi and sending out MQTT messages, I would say it is fine!

Ok, so if it’s connected to Wifi, that’s a good sign…Now, I’m assuming you have a MQTT broker set up on your network that you configured in the Arduino code, right?

I’ve actually just published a video on my channel that shows how to use MQTT.fx to see messages from my sensors:

Watch it and let me know if you have any questions afterwards.

As for the serial monitor, you’d need to make sure it’s set to the correct baudrate, but then again, I’ve not been using mine either (I usually just program these with the OTA setup, and then use over the air programming for new updates).

Are you definitely hooked up to the d4 pin? Does the first led light up the first time you power on the Nodemcu?

You may be having an issue with the ws2812b strip requiring 5v data to light up…the Nodemcu puts out 3v3. I’ve never encountered a problem but there are strips that have this problem. You can either use a level shifter ( 74hct245 works), or put a diode between the 5v power supply and the first led only (and 5v directly to the rest)…this is a known workaround for these (see https://hackaday.com/2017/01/20/cheating-at-5v-ws2812-control-to-use-a-3-3v-data-line/ ), since the first leds brings up the signal level to the required 5v…you’re only making the 3v3 act on a smaller range (-4.4v, due to diode forward bias).

This sounds confusing, but make sense, somehow. What I dont get is, in the Strandtest-example in the Arduion-IDE, the library Adafruit_NeoPixel.h is used, and I dont need to change anything. Its hooked up directly to pin D4 and I dont use a level shifter. How that?

Whatever, I dont want to cut the strip, because there is an presolded connector for power. So I will order some level shifter, Amazon is my friend.

It is weird if it’s working with another project file (are you still attached to the same board, same way?) Instead of getting the level shifter, you could try moving the signal wire between outputs (D0-D10) on the NodeMCU board, and seeing if the LEDs flicker on. Perhaps you just have it connected to the wrong pin on the nodeMCU?

Yep, I don’t change anything. I’m still using D4, in your sketch and the strandtest example. I will try an other pin, maybe this works.

EDIT:
I meassured the voltage between GND and the Data pin. It´s around 3,3V in both cases. The difference in my eye is only the used library to controll the strip. Adafruit_NeoPixel.h with 3.3V works but FastLED.h with 3.3V not. Even WS2812B are supported by both libraries.

Interesting! Might be the way Fastled sends their data/pwm (might be faster so overall voltage is lower than the ws2812b threshold). I’m pretty sure a level shifter will solve your problem (just make sure to get the 74hct245 since the i2c level shifters are too slow).

I’ll be updating the pcb board design soon to swap out the level shifters among other things/ideas I have in mind.