LZW45 LED Strip Toolbox

I’m releasing the first version of a web application that will assist in calculating configuration parameters for the recently released LZW45 RGBTW Smart LED Strip & Controller Kit. This first release supports building custom animation programs that currently utilize configuration parameters 22, 23, 24 and 30.

:dizzy:    Features

  • Create custom animation programs with up to 4 different effect steps
  • Save, Load, & Update custom animations on your device (These are saved to the local storage of the device not the cloud!)
  • Import custom programs from other sources using the parameter values
  • Share programs here in the forums or other locations with links that will automatically import the custom animation program into the application
  • Calculate values in Decimal, Hex, or Binary
  • Light and Dark Themes
  • PWA - Can be installed as an application on your device

:houses:    Home Assistant Integration

You can connect your Home Assistant instance to this application via a Long Lived Access Token to send custom animation programs to an LED controller with a single click. In order for this to work you must either be on the same network as your Home Assistant instance or have an externally exposed installation. It supports both the new OZW Z-Wave integration and the legacy Z-Wave integration.

Make sure you have properly installed your device and it is properly identified in Home Assistant before attempting to use this integration or it won’t work.

:computer:    Application URL


As always feedback is welcomed and report any issues via GitHub: https://github.com/nathanfiscus/inovelli-led-strip-toolbox


What am i doing wrong with your connection? Im confused about the url. Am I putting the local url, as in what i type in when Im home??

Also how did your strip come across when you included it in HA? I got unknown device and toggle switch doesnt work.

First I would suggest adding your protocol (http:// probably) to the URL. You will also need to make sure you have the proper XML configuration for the strip to be detected correctly before you can send parameters to the device I think. It doesn’t look like @EricM_Inovelli hasn’t had a chance to get the XML merged into the OpenZWave repo yet, but you can get it from the Inovelli repo: https://raw.githubusercontent.com/InovelliUSA/OpenZWave/master/config/inovelli/lzw45.xml.

It looks like you are using the new OZW integration, do you know how to add xml config files into that integration’s config? Its not as straight forward as the legacy ZWave since it has to be in separate container.

No i do not know how to add config files to OZW. I thought it wasnt possible (right now at least)

It is, give me a few minutes to put some stuff together on the process. What type of install do you have?

Im using HA on their new “blue” hardware. So I guess Im running HassOS?

Someone linked me to this to follow? Seem correct? I just went thru it, appeared to do everything right. I tried to add again, but still unknown. Perhaps I have to restart OZW addon; im doing that now but it will take about 15min to come back up fully

Edit: I dont think that is gonna work as it has me listing config folder in my configuration.yaml file, which is how I did it for Z wave 1.4

Ill wait to see your instructions…

The process is similar, but you need access to the host system and if i remember correctly the SSH addon doesn’t provide that level of access. I don’t have a HassOS install so it wasn’t too terrible to get access to the data folder for the OZW:

I use a different terminal add-on which says I have full access. What do I need to type in? (Im HORRIBLE at command line). Says there is no hassio folder in share


Supervised Install

sudo curl -o /usr/share/hassio/addons/data/core_zwave/ozw/config/inovelli/lzw45.xml https://raw.githubusercontent.com/InovelliUSA/OpenZWave/master/config/inovelli/lzw45.xml
sudo sed -i -r 's/(.*<Manufacturer id="031E" name="Inovelli">.*)/\1\n    <Product type="000a" id="0001" name="LZW45 Light Strip" config="inovelli/lzw45.xml"/>/g' /usr/share/hassio/addons/data/core_zwave/ozw/config/manufacturer_specific.xml

HassOS (Not tested)

sudo curl -o /mnt/data/supervisor/addons/data/core_zwave/ozw/config/inovelli/lzw45.xml https://raw.githubusercontent.com/InovelliUSA/OpenZWave/master/config/inovelli/lzw45.xml
sudo sed -i -r 's/(.*<Manufacturer id="031E" name="Inovelli">.*)/\1\n    <Product type="000a" id="0001" name="LZW45 Light Strip" config="inovelli/lzw45.xml"/>/g' /mnt/data/supervisor/addons/data/core_zwave/ozw/config/manufacturer_specific.xml

Once you run those lines, the addon needs to be restarted and then you should be able to refresh the node from the UI to pick-up the xml.

1 Like

Edit: It didnt click in my head, your last reply was showing the supervised install method (even though I read it) and then your untested, HassOS installed method. I tried the supervised method and it failed; of course, since Im not runnig a supervised install. I will try HassOS method tonight when I get home from work and see what happens.

Tried remote login from work and just running the commands, but no go on first command.

Trying to enter the directoty path one by one, I can only make it into /mnt/data before it tells me there is no supervisor directory.

There is an /mnt/data/addons/data folder, but no /core_zwave after that.

Thats about the extent of my self-directed troubleshooting. I’ll try anything else ya go, but if you think i just need to wait for @EricM_Inovelli to add the XML to the repo, so be it.

Yeah I was guessing based off another forum post in the home assistant community where that directory was located. You could try a search and see if it can pull up the location: sudo find / -name core_zwave

Read this page for how to enable host-level SSH: https://developers.home-assistant.io/docs/operating-system/debugging/

I did that and now can SSH directly to my HassOS install, and have normal host-level SSH, not SSH access through a docker container which is inherently limited. Be careful though if not good on command line, as you don’t have the protections of a disposable docker container giving you somewhat safe access to HA related files.

1 Like

@nathanfiscus it doesnt show any results??

I’m using a SSH client made by HA developer, Frenck. I have protection disable and at top of addon, it says I have full access. Or am I am not understanding something fully?

I searched for manufacturer_specific.xml and I got 2 results, both those are both configs I set up that are not good for OZW beta.


Addons are docker containers behind the scenes. Docker containers by design (security) don’t allow access to host system. Think of them like mini VMs. The “protection mode” most likely maps to something called “privileged” mode with docker which I read does indeed give you access to host OS. But to me it’s still kind of abstracted and I personally would rather just SSH to the host itself when I need to change/tweak/test host level things.

I’d still try to follow that guide I posted on getting host level access to your HassOS install and see if you can find what you want. I will say I’m not using the OZW beta stuff so I don’t know what the architecture is, or how the components are managed by HA. I do know it can run independent of HA (no more zwave restarts when HA restarts, yay!!), but don’t know if that means the components are running on the host or in docker containers. Could impact where you look once you have host access. OZW beta docs or HA’s discord would probably be best place to ask about where/how to modify the OZW beta config.


Thanks for that explanation. I’m new to linux so dockers confuse me. But that makes sense. Yah I’ll try generating a key with putty on my windows machine and then see if I can SSH into “blue” and find those config files that Nathan listed.


Trying to follow the guide, but getting connection refused on 2222. I downloaded putty keygen and generated a new key. Followed the steps of saving the private key, loading the private key back up in order to get the public key to display correctly

Copied the public key into a txt file, saved the txt file as ANSI as instructions say.

Removed the file extension from the txt file

Went to supervisor > control > import from usb. tried to putty in on port 2222, no dice.

You may not want to post your actual public key for security reasons…

Also the guide says port 22222 not 2222

Thats just example, not using that exact one. Yes, I meant port 22222