I use docker HA just FYI, I also have special chars in my PWD for Kevo so I needed quotes around PWD always good practice anyway if quotes are allowed.
There are currently two methods, using the github home-assistant integration or getting the pykevoplus python manually setup. People have been having timeout issues with the integration, which IMO is the preferred method, but you may want to test both.
Read this thread for more info → https://community.home-assistant.io/t/kevo-plus-door-locks-now-working-in-home-assistant/9624
Manual:
I recommend getting pykevoplus setup and configured/tested etc and then setup via HA.
ATM: This didn't work for me, perhaps due to sourcing the vars, but vs fixing, I switched to integration method w/ scan_interval: 300 (5Min). Fingers crossed that fixes it!,
switch: - platform: command_line scan_interval: 350 switches: kevo_deadbolt: command_on: "python3 /opt/homeassistant/kevo/lock-front.py" command_off: "python3 /opt/homeassistant/kevo/unlock-front.py" command_state: "python3 /opt/homeassistant/kevo/status-front.py" value_template: > {% if value == "Locked" %} true {% elif value == "Unlocked" %} false {% else %} {% endif %} friendly_name: Kevo Deadbolt
card.yaml:
type: entities entities: - entity: switch.kevo_deadbolt show_header_toggle: false
"Integration" Method:
CONFIG="/opt/hassio/homeassistant/" cd $CONFIG wget https://codeload.github.com/gaggle331/home-assistant-kevo/zip/master unzip master mv home-assistant-kevo*/* . rm home-assistant-kevo* -R nano configurations.yaml
Configurations.yaml:
# Locks controls lock: - platform: Kevo email: "email@domain.com" # Your Kevo account Email password: "Pass&ASD" # Your Kevo account Password lock_id: "###-###-###-##" # Your Kevo lock id (obtained manually from kevo website*) max_retries: 3 # Optionally set how many times it should try to initalise the lock retry_delay: 2 # Optionally set the delay (in seconds) between each retry scan_interval: 330
My Card Yaml:
type: horizontal-stack cards: - type: entity entity: lock.home name: Kevo Deadbolt icon: 'null' - type: button tap_action: action: toggle hold_action: action: more-info show_icon: true show_name: false entity: lock.home icon_height: 75px