I wrote the Simplified Zwave Lock Manager project, just to manage my lock. I had no intentions of turning this into a community project, yet that’s exactly what happened. I’ve had a lot of help from the community, particularly from @firstof9 helping other users get started.
Unfortunately, to install the package requires you to have some basic Linux tinkering skills. My goal is to find a way to install/update/delete “the package” completely within HA, preferably using HACS.
The way the system works now works as follows:
-
The user downloads or uses
git clone
the project into theconfig/packages
directory. -
For each zwave lock the user wishes to control, they create a named ini file for that lock in the package directory. e.g.
- config/packages/lock-manager/FrontDoor.ini
- config/packages/lock-manager/BackDoor.ini
-
The user edits the ini file to determine how many “slots” the lock should create, which zwave lock to work with, etc.
-
The user runs from a bash prompt the included
config/packages/lock-manager/setup.sh
script. This script is dependent on certain packages be available to the shell. Including but not limited to sed, awk, grep. The script will look at each ini file and create a matching folder which will contain all the declarations, automations, scripts, etc. for that lock. It will also contain a file of lovelace UI representing a new view dedicated to that lock. So using the FrontDoor/BackDoor example from above you would see two new directories:- config/packages/lock-manager/frontdoor
- config/packages/lock-manager/backdoor
-
Restart HA and the entities, scripts, automations, etc will be active.
It’s not complicated, and with just a base set of linux skills and ha knowledge you can install this under a minute. However…
How can we help someone without linux knowledge install and maintain this? I believe in order to get from here to there we need at least the following:
- A way to load the code into
config/packages/lock-manager
. - A way for a user to create/update/delete ini files. Obviously a UI would be a requirement. Part of this would be selecting a zwave lock in the system to associate to this lock. When deleting a lock (ini file) we need to delete the directory associated with it.
- A way to execute the
setup.sh
script - A way to copy the contents of the lovelace file into clipboard memory, to paste into the lovelace UI editor.
- How can we notify the user when the package has been updated? How can they update to the latest code?
Is this something that HACS could handle?