API documentation

Hello,

Just order a Pixelblaze + extension card. I plan to use it connected to homebridge for interior lightning. Unfortunately, I can’t find Websocket/API documentation. Is there a place where I could find one?

My first usage is quite simple, I would like to turn on/off the led strip through the API and set a specific pattern but I can’t figure out how to do this based on the documentation available online.

Thanks

Where did you see an API was available? I don’t ever recall seeing that.

Hi @square,
Pixelblaze has a websocket API. The documentation for it can be found here:

In addition to that, Firestorm connects to all Pixelblaze on a network and provides a simpler JSON REST API. The information for that is here:

Getting the pattern list and changing patterns can be done. You can also get/set any exported variable as well. You could use this to control any aspect of a pattern. There is also a dedicated brightness API.

Some of the websocket frames are JSON text frames, while some are binary and need more work to parse. Firestorm handles these and is a good reference for how do handle them if you want to do that in your own code, though you are free to copy from Firestorm too!

Thank you Ben for your answer. Is there simple get queries I could simply pass to the controller in order to turn on / turn off the led strip to a default pattern so I can integrate this with existing home automation I already own like homebridge-http-switch Plugin for example?
Thanks

Firestorm has such an API. It is possible to issue commands with either an HTTP POST or an HTTP GET request. The HTTP POST API is documented on the Firestorm page. For the GET version, ids and command come from query paramters. Here is an example of using it via a GET request to change the pattern to “fast pulse”:

First you’ll encode the command in JSON, and send that along with the IDs of the Pixelblazes you want to control. The IDs don’t change, so you only need to discover that once.

/command?command={"programName": "fast pulse"}&ids=123456,789012

you have to url encode the json though, so it ends up looking like this:

/command?command=%7B%22programName%22%3A+%22fast+pulse%22%7D%0A&ids=123456,789012

Supported commands include setting the programeName, brightness, setVars, and anything else supported by Pixelblaze. To turn things off, you could either make an off pattern and switch to that, or change the brightness to zero.