[RELEASE] Pixelblaze addressable LED Controller Driver v1.00

Jstallone,
So I found this today and am going to order the parts and give it a go.
I looked, could not find, if/how any of the board GPIO & I/O's can be used or plans.
Thanks,
/Phil

I think i am finally ready to give this a try.

@zranger1 or anyone else does this integration work with the v3 device?

Also would anyone be kind enough to share detailed pictures of the wiring / setup with power supply. I am well out of my league and would greatly appreciate tips / tricks / advice.

I am simply looking to run a few strips down the facia on the front of the house. So tips for keeping things weatherproof also welcome.

Thanks in advance for any help.

It does indeed work with the v3 hardware!

As far as wiring and power supply, it depends on which LEDs you choose. There's a nice guide to the basics here, at Electromage.com as well as a lot of discussion and lots of people to help with wiring and power concerns on the Pixelblaze forums.

If you've never used an addressable strip before, I'd recommend getting a meter or two of inexpensive 5v WS2812b strip and a 5v 10 amp power supply from Amazon. That way you can learn, experiment and get comfortable with the setup before risking the somewhat more expensive 12v waterproof strips you'll likely wind up using outside.

@zranger1 thanks for the quick reply. Ive ordered a strip and pixelblaze device. Links below.

I am not sure exactly what sort of power supply. Should something like this be suitable for the strips i bought?

https://www.amazon.com/PHEVOS-Universal-Switching-Raspberry-Computer/dp/B074YHN8D1/ref=mp_s_a_1_6_sspa?crid=1ZRFKWPT8WH96&keywords=5v+10a+led+power&qid=1698078927&sprefix=5v+10a+led+power%2Caps%2C222&sr=8-6-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9waG9uZV9zZWFyY2hfbXRm&psc=1#aw-udpv3-customer-reviews_feature_div

Or should i get something like this and chop the ends?

https://www.amazon.com/Aclorol-100V-240V-Switching-Converter-5-5x2-1mm/dp/B07CMM2BBR/ref=mp_s_a_1_5_maf_2?crid=2BCA9MGGQ5WV5&keywords=5v+10a+power+supply&qid=1698079783&sprefix=5v+10a+power%2Caps%2C183&sr=8-5

Purchased strip

https://www.amazon.com/gp/aw/d/B01CDTED80?ref=ppx_pt2_mob_b_prod_image

I am going to be doing lots of reading as i have never attempted something quite like this. Again any help or guidance from anyone along the way is appreciated.

I have been perusing the electromage forums. You are right there is lots of good info there. It feels like it assumes a certain level of experience with this stuff.

I can usually glean what i need to do from schematics, help from experts and most helpful images of peoples final setup.

Going to keep reading while i wait for this stuff to arrive

Either of those power supplies will work. I like to use the open frame style for experiments because they're cheaper. (But you'll need to get an A/C cord for it - they usually don't come with them.)

The closed box style works too, and is nicer looking (and safer around random people), in case you build something you decide to keep.

For your final outdoor build, I'd recommend a sealed, IP67 rated power supply. Something like this:
Meanwell 12v power supply
I've used Meanwell supplies successfully in seriously awful environments, ranging from my house in the desert, to my current "hobby" project, this (160,000 LED, 10 lasers) beast.

1 Like

Just rounding back to say thanks to @zranger1. My initial test setup is going well. Not nearlt as difficult has i had envisioned in my head.

The strip is behaving beautifully and following pattersn appropriately as far as i can tell.

Many thanks for answering all my questions and helping give me the confidence to finally move forward on this.

Now for the real fun of setting up the production rig for outside on ny eaves.

I may post some pictures to ask for help on how to install everything. How many pixelblazes should i run and such.

Thanks again @zranger1

So I stumbled across this a few weeks ago, and I can't get it out of my head. I just bit the bullet and ordered one, and a cheap set of lights to play with.

What is the best bang for the buck, outdoor worthy strip? I need around 30-32 feet.

My plan is to put them along my deck railing, and set them up for different holidays.

Hi! I've been using the Pixelblaze driver for few weeks now, I love it! Thanks @zranger1 !
Recently, I checked the logs because my PixelBlaze was the only thing that didn't turn off with a rule that turns it and other things off at a certain hour. I noticed it spewing a few errors in my logs ...
Any ideas of what could cause this? Is it cause for concern?

[dev:77](https://remoteaccess.aws.hubitat.com/logs#)2023-12-13 06:41:13.957 AM[error](https://remoteaccess.aws.hubitat.com/logs#)java.lang.NumberFormatException: null on line 224 (method off)

[dev:77](https://remoteaccess.aws.hubitat.com/logs#)2023-12-13 01:39:11.225 AM[error](https://remoteaccess.aws.hubitat.com/logs#)groovy.lang.MissingMethodException: No signature of method: com.hubitat.hub.executor.LogWrapper.error() is applicable for argument types: (java.lang.String, java.lang.NullPointerException) values: [Exception while parsing json: , java.lang.NullPointerException]
Possible solutions: error(java.lang.String), error(java.lang.Object), grep(), every(), iterator(), info(java.lang.String) on line 717 (method parse)

[dev:77](https://remoteaccess.aws.hubitat.com/logs#)2023-12-12 04:43:01.231 PM[error](https://remoteaccess.aws.hubitat.com/logs#)java.lang.NumberFormatException: null on line 224 (method on)

[dev:77](https://remoteaccess.aws.hubitat.com/logs#)2023-12-12 10:01:05.977 AM[error](https://remoteaccess.aws.hubitat.com/logs#)groovy.lang.MissingMethodException: No signature of method: com.hubitat.hub.executor.LogWrapper.error() is applicable for argument types: (java.lang.String, java.lang.NullPointerException) values: [Exception while parsing json: , java.lang.NullPointerException]
Possible solutions: error(java.lang.String), error(java.lang.Object), grep(), every(), iterator(), info(java.lang.String) on line 717 (method parse)

I'm not seeing anything like this on my hub w/firmware 2.3.6.146. I can turn it on or off without seeing anything in the log at all.

How did AWS get involved in this? Are you using an external app to run your rules? It looks like a bad JSON packet got passed in, then failed to parse, then died in the exception handler because the pointer to the exception object was null?? That seems weird.

Edit: Forgot to ask: Is your rule doing anything besides simply turning the device off? Is it just setting the Pixelblaze driver to its "off" state, or is it powering everything down with a smart outlet too?

I just grabbed the log from a remote admin login. Normally it would just be a link to the device on a local network.

I run a Basic Rule, that turns things off at 11pm. The rule applies to a Group device, which contains the PixelBlaze in the group. The rule sends an OFF command to the Group which in turn sends an OFF command to the PixelBlaze. The PixelBlaze remains powered, there is no smart switch or outlet that powers it down, it just turns off the LED string.

The latest log message (first one in the listing) occurred when I turned the PixelBlaze connected light string off direct from the PixelBlaze Controller device page OFF button. They did turn off, but it does seem like something in the response from the PixelBlaze is null or malformed.
I suppose I should try to hard power-cycle the pixelblaze and see if the errors are still occurring.

Update: I power cycled my pixel blaze yesterday evening, but that did not correct the issues. I re-initialzed (using the Initialize button on the driver page) and that DID seem to stop the parse errors.

But sometime later in the evening the PixelBlaze driver threw this error:

dev:772023-12-13 09:51:16.636 PMerrorjava.lang.OutOfMemoryError: Java heap space on line 592 (method parse)

I'm debugging other errors with my hub where available system memory is decreasing over time (memory leak) and I now suspect these errors I see reported by the Pixelblaze driver are in fact an effect of that issue, and not an inherent issue in the Pixelblaze driver itself. I'll followup if I find anything different, but for now I'm looking at this from the hub side and not the Pixelblaze driver.

@zranger1 Jon, thank you so much for your driver. I've been using it for about a year to drive 3 strips I have inside my frosted-glass-door upper kitchen cabinets. It's so much fun to trigger a sunrise pattern in the morning, different patterns for recycle and trash day and a Christmas pattern in December. I simply love it. Thank you for the joy you are bringing to so many of us through your work!

@davidboisducafe, I'm glad to hear you're having fun with your Pixelblaze!

I've had them all over my house, inside and out, for about four years now. They still make me happy every time I turn them on.

2 Likes

@zranger1 Jon, is there a way to store and retrieve the current Pixelbalze pattern to a Hubitat variable? I'm struggling trying to figure out how to do this.

It would be really cool if I could have a pattern in play, then trigger an "alert" pattern for a number of seconds when the driveway sensor is triggered, and then return to the prior pattern.

Can you help a brother out? :smile:

OK, I see how to store the value of the pattern in a variable, but I don't know how to set a pattern from a variable.

I am not near my PC at a moment but Driver has a commands something like "Set active pattern number" and "Set active pattern name". Use a "name" because number may change if you are adding or removing patterns in the Pixelblaze.

Thanks, Vitaliy, I appreciate your reply. I have been able to set the pattern by name that way, but here's the scenario.

I have these strips in our upper kitchen cabinets (with glass doors). During different times of the year (e.g. Christmas, a birthday, New Year's eve, etc.), I could be running different patterns on the strips--it can change. But, I'd like to be able to momentarily change the pattern to some eye-catching one to signify an alert state, but then return to the pattern that was there before. Since the steady pattern could differ throughout the year, I'm hoping to be able to capture the existing pattern and place it in a variable (can do this), then play the alert pattern for a moment, then retrieve the name of the original pattern from the variable and display that one again. I can set a pattern to a string manually, but haven't been able how to set a pattern to a value that's stored in a variable. That's what's escaping me.

I guess, this could be done by using "custom actions". And variable type should be "string".

Just in case here is my rule:

Variable must be "string". And here is how to use it:

1 Like

THANK YOU!!!!!!!!!!

I didn't realize all I needed to do was to surround the variable name with percent signs to be able to use it. PERFECT!

I am most grateful to you. Thanks, once again!