KeyMaster Z-Wave lock manager and scheduler

Thanks for that. The Zwave logbook only shows locked and unlocked. But maybe ill try the Telegram route. Just smazed that theres not this basic log within keymaster. Thanks.

If you want to log entries, you setup an automation for that yourself.
You can use the logbook.log action.

1 Like

Coming over from SmartThings and some pretty robust code management systems and trying to wrap my head around this tool and HomeAssistantā€™s basic operations. Iā€™ve read over the KeyMaster install page about a dozen times, gotten as far as searching/downloading the various lovelace add-ons via HACS, but seem to have only had the system dump a bunch of generic/nondescript time, date, and days of the week into my primary HA dashboard. Is this expected?

I see from the instructions that a lot of these values are presented as binary toggles, but how do I filter these down so thereā€™s not just an endless list of unlabeled options?

If youā€™re using the auto-generated dashboard, then I would strongly recommend you stop doing that if youā€™re using Keymaster, please take some time and build a more useful to you dashboard. Please note that you arenā€™t the only one that finds the abundance of entities that Keymaster creates a bit overwhelming :wink:

Now that that particular comment is out of the way, Keymaster does offer a generated dashboard that you can use the documentation related it is here. If you have a lot of code slots defined for management, the page can get very big and kinda slow so you may want to take that and create a more custom dashboard after the fact, but at least youā€™ll have a better understanding of what all the entities are for.

For instance, this is the dashboard Iā€™ve created for one of my rental properties:


the sections are roll-ups and by default all but the Airbnb section is rolled up, I expanded the others for the screen shot. Selecting one of the slots then brings me to a sub-view that is just that slots data
Selection_017
with the details exactly the same as they were from the Keymaster generated dashboard

Hi tykeal. My apologies for being such a noob but I am struggling with this one. If time permits and you are up for it can I ask for some additional help. So what I found is using the code below that whenever the bottom portion where it says ā€˜the2ā€™ is when I am manually keying in the code and would like for it to only show when these occur. Would you be able to help remove the Manual ones (or all others in this case). Also I purposely add ā€˜the1ā€™ and ā€˜the2ā€™ for testing and Iā€™ve yet to ever see ā€˜the1ā€™ pop up. Its either ā€˜the2ā€™ on manual code entry, and the others are ā€˜theā€™ which is not even listed in the code which confuses me.

alias: SS - Lock Logging2
description: Custom Keymaster Notification
mode: single
triggers:
  - event_type: keymaster_lock_state_changed
    event_data:
      state: unlocked
    variables:
      sn: |-
        {%- if trigger.event.data.code_slot_name == "" -%}
          Manual
        {%- else -%}
          {{ trigger.event.data.code_slot_name }}
        {%- endif -%}
      verb: |-
        {%- if trigger.event.data.code_slot_name == "" -%}
          unlock of
        {%- else -%}
          unlocked
        {%- endif -%}
      door: |-
        {%- if trigger.event.data.lockname == "front_door" -%}
          Front Door
        {%- elif trigger.event.data.lockname == "laundry_room" -%}
          Laundry Room Door
        {%- else -%}
          Garage Side Door
        {%- endif -%}
      code_slot: trigger.event.data.code_slot
      notify_state: >-
        {{ states('input_boolean.notify_' + trigger.event.data.lockname + '_ +
        code_slot | string') }}
    trigger: event
conditions: []
actions:
  - data:
      name: "{{ trigger.event.data.lockname }}"
      entity_id: "{{ trigger.event.data.entity_id }}"
      message: "{{ sn }} {{ verb }} the1 {{ door }}"
    action: logbook.log
  - if:
      - condition: template
        value_template: "{{ sn != 'Manual' }}"
    then:
      - metadata: {}
        data:
          message: "{{ sn }} {{ verb }} the2 {{ door }}"
          title: "{{ door }}"
          data:
            tag: "{{ door }}"
        action: notify.mobile_app_ss_s24u

Iā€™m confused by your statements here.

Youā€™re stating that you get a mobile notification when you use a door code correct?

Reading the code youā€™ve provided that should be the only time you get a mobile notification. You should not receive a mobile notification for any event except for when a code programmed into the lock is used.

As for your the1 that would be going to the Home Assistant logbook and should be capturing all unlock events, both manual, and code based. It is not going to go to your mobile notification.

ā€œManualā€ means that no door code was used. As in, a key was used or the lock was manually opened from the inside.

If you are still receiving other notifications as well then you probably have another notification script in play. The one above should be used in place of the manual notify script that Keymaster tries to use. Ideally you donā€™t have notifications turned on at all for your lock so Keymaster wonā€™t try to use any of the notify scripts and it just relies on the automation you have.

Getting the below error on my newly added second BE469ZP Schlage lock. Everything I look at seems to be setup correctly. I have the script and itā€™s formatted exactly the same as the existing front door script that Iā€™ve had. Anyone point me in the right direction?

alias: keymaster_back_door_manual_notify
sequence:
-data:
title: ā€œ{{ title }}ā€
message: ā€œ{{ message }}ā€
data:
ttl: 0
priority: high
action: notify.family
mode: parallel
description: ā€œā€

image

@tykeal thanks so much for providing this response and additional context, which sounds very similar to what Iā€™m trying to create inside of HA. Part of the challenge of HAā€™s documentation is thereā€™s al lot thatā€™s assumed which can steepen the learning curve with many of us coming from existing solutions with entirely different paradigms and terminology.

After re-pasting the Lovelace code into a new dashboard I can confirm I was able to get that custom dashboard usable for creating those lock codes, which was a great feeling to see working! However, it seems like if I change Keymasterā€™s settings to add additional slots, I do need to re-paste that Lovelace code back into the dashboard, which I assume is expected?

My next step is try and get a calendar of bookings incorporated as triggers for code generation. Since I couldnā€™t find anyway to do this with the native CalDAV tool (which wants an authenticated session versus open ICS feed), I setup the ICS Calendar HACS integration, which seems to work wonderfully to generate a calendar of bookings, which Iā€™m hoping I can use as a means to activate/deactivate guest codes (?).

You mentioned AirBnB codes youā€™re using, were you able to create those automatically off a calendar feed or are those just manually created by hand?

Thanks again for the help here. Definitely a great feeling when you see HA integrations like this working as shown and can see what might be possible if you could connect one tool to another.

Yes, Iā€™m using Rental Control which I wrote to sit in top of Keymaster.

You will probably want to uninstall the ICS integration as it uses an older version of the ICS library and will end up in conflict with Rental Control

Thank you! You were completely right. When messing around I had some other automation that I inconveniently named something different (no reference to lock in there) so my searching wasnt returning anything. Thanks again for the help.