Ok…so I’m still navigating my way through HA…but I don’t have a users folder in my home directory…it’s empty. I’m running Hassio? Does that matter?
Either way here’s my ini (deck.ini) file:
#See README for more information.
[lockmanager]
#number of PINS to setup in lovelace
numcodes=6
#the name or location of the lock you are setting up (no spaces)
lockname="deck"
#the "lowest common denominator" of the factory lock name.
lockfactoryname="lock.lock"
#The name of the (optional) door sensor.
sensorname="sensor"
#the "lowest common denominator" of the factory door sensor name.
sensorfactoryname="vision_security_zd2105us_5_recessed_door_window_sensor"
#the Home Assistant EntityID of your (optional) garage door
garageentityid="binary_sensor.tilt_sensor_garage_sensor"
Just create a new directory in your home folder and put it there. Or you can clone it from the repo. Go to your home directory and issue the following:
Put your lock.ini file in there (and delete the original ini file) and then run setup.sh. You will need to make it executable before you call it. And I think your lockfactoryname is wrong. I strongly recommend you exclude it from your system and then include it again. Then do the renaming as mentioned in README. There are a lot of entities, so I suggest that you exclude all of your locks, then add one lock at a time. Once you exclude all of your locks, make sure you check your entities and verify there are no stragglers left over. So now include the deck lock, and go through every entity for this device and append _deck. Find the lockfactoryname “lowest common denominator”. It should be something like: schlage_allegion_be469zp_connect_smart_deadbolt
After you get this working for one lock, the process is the same for the other locks. So concentrate on getting the deck working and the others will be easy. After running the script, you will have 3 new directories in your lock-manager directory if you have 3 ini files. You only need those new directories copied over to the home assistant packages directory, but I find it easier just to copy the entire lock-manager directory.
I’ve never used Hassio, and I suspect that’s part of the problem. You might need to use a linux OS to run setup.sh, as Hassio might be missing some commands used in the script. If you have access to another Linux machine, try cloning the repo and running there. If you don’t get any errors, find a way of copying the new directories it created (or the entire lock-manager folder) to your Hassio packages directory.
FYI - I was about to switch to this package from ptdalen’s and got the same error message when I ran the script. I’m not using Home Assistant (formerly Hassio), I’m using HA Core in Docker.
I appreciate the time you’ve taken to help solve the problem but it seems to be something linked to the OS or Hassio that breaks the install/setup…I have a SAMBA share setup, would you be willing to break down the directory/file structure? Seems like it would just be easier to set it up manually rather than fiddling with the setup file at this point. Looks like a great little script…can’t wait to play with it! Thanks again!
Ok so I have been running one lock for a month or so. I just pulled the latest code down and made sure I had all the changes. My first lock still still working (However it doesn’t want to set a random value when I disable a user) Not sure why but I can change a user code and have it work.
My big problem is I added backdoor and now I am getting errors around the backdoor. These 2 errors show up in the log, and it never tries to update the lock on the zwave stack.
Error rendering data template: str: Invalid entity ID 'input_text.backdoor_pin_'
2:46 PM helpers/service.py (ERROR)
Error while executing automation automation.backdoor_clear_code. Invalid data for call_service at pos 1: expected int for dictionary value @ data['code_slot']
2:46 PM helpers/script.py (ERROR)
Ya not sure what is happening here looks like the code is expecting an int variable but not getting one. I have been slammed at work and had no free time to dig into it myself. I was hoping @FutureTense might have an ah-ha moment and go “Opps change this setting”
Your code could have typos, or other issues related to your configuration. Posting the link to the source in github does not help troubleshoot your issues. The code works for many others, so it could be something in your config that is causing the problem.
Fair enough here are the 3 ini files. FrontDoor is working the other two are not. The ini file is the only file you modify in this. The rest are auto generated by the setup.sh file in github:
FrontDoor.ini contents
#See README for more information.
[lockmanager]
#number of PINS to setup in lovelace
numcodes=6
#the name or location of the lock you are setting up (no spaces)
lockname="FrontDoor"
#the "lowest common denominator" of the factory lock name.
lockfactoryname="schlage_allegion_be469zp_connect_smart_deadbolt"
#The name of the (optional) door sensor.
sensorname="front_door"
#the "lowest common denominator" of the factory door sensor name.
sensorfactoryname="front_door_sensor"
#the Home Assistant EntityID of your (optional) garage door
garageentityid="cover.tess_2"
BackDoor.ini
#See README for more information.
[lockmanager]
#number of PINS to setup in lovelace
numcodes=6
#the name or location of the lock you are setting up (no spaces)
lockname="BackDoor"
#the "lowest common denominator" of the factory lock name.
lockfactoryname="schlage_be469zp_backdoor"
#The name of the (optional) door sensor.
sensorname="backdoor"
#the "lowest common denominator" of the factory door sensor name.
sensorfactoryname="backdoor_sensor"
#the Home Assistant EntityID of your (optional) garage door
garageentityid="cover.s2000_2"
Garage.ini
#See README for more information.
[lockmanager]
#number of PINS to setup in lovelace
numcodes=6
#the name or location of the lock you are setting up (no spaces)
lockname="Garage"
#the "lowest common denominator" of the factory lock name.
lockfactoryname="schlage_allegion_be469zp_connect_smart_deadbolt"
#The name of the (optional) door sensor.
sensorname="garage_door"
#the "lowest common denominator" of the factory door sensor name.
sensorfactoryname="garage_door_sensor"
#the Home Assistant EntityID of your (optional) garage door
garageentityid="cover.tess_2"
awk: line 9: syntax error at or near [
awk: line 10: syntax error at or near [
awk: line 11: syntax error at or near else
awk: line 12: syntax error at or near [
awk: line 16: syntax error at or near [
lock_manager.ini is incomplete or does not exist
./setup.sh: line 80: ((: i<=: syntax error: operand expected (error token is “<=”)
./setup.sh: line 97: ((: i<=: syntax error: operand expected (error token is “<=”)
creating
mkdir: missing operand
Try ‘mkdir --help’ for more information.
mv: missing destination file operand after ‘*.yaml’
Try ‘mv --help’ for more information.
mv: missing destination file operand after ‘_lovelace’
Try ‘mv --help’ for more information.
I can gladly give you access to the config if you want to try it.
when I run the setup.sh no new folder generate as the github instructions state would.
I am only trying to setup one lock, here is the ini:
FrontDoor.ini:
#See README for more information.
[lockmanager]
#number of PINS to setup in lovelace
numcodes=6
#the name or location of the lock you are setting up (no spaces)
lockname="FrontDoor"
#the "lowest common denominator" of the factory lock name.
lockfactoryname="kwikset_spectrum_brands_unknown_type_0003_id_0541"
#The name of the (optional) door sensor.
sensorname="frontdoor"
#the "lowest common denominator" of the factory door sensor name.
sensorfactoryname="lumi_lumi_sensor_magnet_aq2_7c804e04remind"
#the Home Assistant EntityID of your (optional) garage door
garageentityid="cover.garage_door_opener"
I might be overlooking something but I see not yaml files in the directory. There are .txt files. As far as I can tell the only thing edited from the Github is the FrontDoor.ini nothing else was touched.