KeyMaster Z-Wave lock manager and scheduler

Ditto. Identical error except occurrences (8) and logged time.

(I see an old version of the code on github, is the newer versions no longer up there? Asking to know where/how you want proper reporting.)

v0.0.93 is out now

Fixed ā€¦ Thanks :+1:

1 Like

No one has a solution?

Just double check that the name is the same. Sometimes I forget the ā€œ_ā€ and use spaces instead. It doesnā€™t like space.

It has something to do the the fake sensor, but Iā€™ve forgotten how to get rid of it.

Hi Andrew, came across your post here about remote home assistant. Iā€™m trying to pull the keymaster lovelace dashboard view from other instances of home assistant into a single one so i can manage all the locks from one webpage. Is this possible? Or is there another way to do this, having the dashboard view for locks from other instances of home assistant? @tykeal @jwsample

Iā€™ve never tried the Remote Home Assistant integration. I would assume that you need that before anything else would work.

While the idea of linking HA instances together seems great at first to me, I came to realize long before I ever implemented it, that I have a desire for each of my HA instances to be fully independent given that they are used for my home itself and then rental properties. I donā€™t want the possibility of one of my HA units in a rental property to have access to my home or other HA instances.

Instead what I do is manage them all independently and develop blueprints for common automations where I keep doing the same sort of thing in each system. The code management is primarily done by way of my Rental Control integration that I wrote and maintain for it driving the slots in Keymaster.

1 Like

I use Remote Home Assistant for this exact purpose.

Remote Homes Assistant with KeyMaster is perfect as a Dashboard view. To have a centralized location where you can very everything. For me this works perfectly as I use a separate HA install for testing purpose and as a central control, so it is not necessary to log into to each instance to get something done.

So I have several ā€˜centralā€™ automations, like those that tell me when a device is offline, which work better than each instance reporting which item is offline because the problem could be widespread. Like, recently one instance when offline, but it didnā€™t report anything because it was a whole house power failure. But the ā€˜centralā€™ instance reported the devices offline.

I have remote home assistant installed on each, and connected successfully. Iā€™m not sure how you import the dashboards though? All I see are how to import entities, and so far itā€™s imported all my automations but yeah, trying to just import the other Keymaster dashboards from the other instances

I didnā€™t import the dashboards, I created new ones on the central machine, it would be too much, not impossible, but too much for me to recreate all of the dashboards.
image

So, I created Dashboards with the important items I would need, lock/unlock, backup code, and the user lock codes, plus some other automation features.

This is all I needed in the central location, if I needed more I would go to the HA instances. But I apologize if I misread your question.

To be clear I have 4 instances of HA with KeyMaster running with Remote Home Assistant. 3 of the 4 are used to control locks and other features on rentals units. The other one is used as at home for testing and for home use. I use Remote Home Assistant to centralize some of the features of HA with Keymaster so I can see everything on one dashboard, like if the unit if occupied (rental control calendar), current condition of all locks, active lock code and user number, AC temp and setting, devices status, batteries status, light status and control.

With Remote Assistant I donā€™t know of anyway of mirroring dashboards, every one the cental unit has to be created. Not thatā€™s may not be anyway to mirror the dashboard but I didnā€™t want to do that as it may confuse the people who help me manage my rentals. This way I can give access to other to the central unit and they can see and interact with those dashboards.

Remote Home Assistant pretty much brings everything over, so I donā€™t see a reason why you canā€™t do it. I havenā€™t because it would be an overkill for me.

I hope this helps.

Right I see, I would like to have keymaster control on my main unit, so the ability to import dashboards and import Z-wave devices into my main unit would have been awesome! shame, but thank you for the reply

Hi, is it possible to get a notification when deleting or adding a code fails? My end goal - Iā€™d like to create an automation to rerun the user code syncing when it fails (they are failing quite often, but work after manually syncing it).

If you scroll up you will see my automation for this. You can use it as is or just delete the actions so you only get a notification.

Here it is:

alias: Reset_Code_(Code_number, I did one for each of the codes for guests)
description: Reset code XX if stuck at adding
trigger:

  • platform: state
    entity_id:
    • sensor.connected_(yourdoor_name_code_number)
      from: null
      to: Adding
      for:
      hours: 0
      minutes: 0
      seconds: 25
      condition:
      action:
  • service: input_boolean.turn_off
    target:
    entity_id: input_boolean.enabled_(yourdoor_name_code_number)
    data: {}
  • service: notify.mobile_app(your_notification, if you want)
    data:
    message: Code XX stuck at adding
  • service: zwave_js.clear_lock_usercode
    data:
    code_slot: ā€œXXā€
    target:
    device_id: (yourlock_device_ID)
  • delay:
    hours: 0
    minutes: 0
    seconds: 10
    milliseconds: 0
  • service: input_boolean.turn_on
    target:
    entity_id: input_boolean.enabled_(yourdoor_name_code_number)
    data: {}
  • delay:
    hours: 0
    minutes: 0
    seconds: 5
    milliseconds: 0
  • service: notify.mobile_(yourdoor_name_code_number)
    metadata: {}
    data:
    message: Code XX Reset Completed
    mode: single

Hi, thanks for your help. Iā€™ve just tested this and it seems to work! This would be one way of simplifying for all e.g. 20 lock codes in one automation for easier management:

description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - sensor.connected_5_a_lock_1
    to: Adding
    for:
      hours: 0
      minutes: 0
      seconds: 30
    id: "1"
  - platform: state
    entity_id:
      - sensor.connected_5_a_lock_2
    to: Adding
    for:
      hours: 0
      minutes: 0
      seconds: 30
    id: "2"
condition: []
action:
  - service: zwave_js.ping
    metadata: {}
    data: {}
    target:
      entity_id: lock.5_a_lock
  - delay:
      hours: 0
      minutes: 0
      seconds: 20
      milliseconds: 0
  - service: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.enabled_5_a_lock_{{ trigger.id }}
  - service: notify.mobile_app_pixel_7
    data:
      message: Adding stuck 5_a{{ trigger.id }}
  - service: zwave_js.clear_lock_usercode
    metadata: {}
    data:
      code_slot: "{{ trigger.id }}"
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: input_boolean.turn_on
    target:
      entity_id: input_boolean.enabled_5_a_lock_{{ trigger.id }}
    data: {}

There might be a way to simplify the triggers? Like for triggers from 1 to 20

You can make one automation instead of 20.

For the trigger set the state change for each lock code.

The in the action set the if this state then do this action.

Here an example of the same concept but with something else.

alias: notifications
description: Turn on notification when it has been turned off.
trigger:
  - platform: state
    entity_id:
      - input_boolean.notify_4785b_door_8
      - input_boolean.notify_4785b_door_9
      - input_boolean.notify_4785b_door_10
      - input_boolean.notify_4785b_door_11
      - input_boolean.notify_4785b_door_12
    from: "on"
    to: "off"
condition: []
action:
  - if:
      - condition: state
        entity_id: input_boolean.notify_4785b_door_8
        state: "off"
    then:
      - service: input_boolean.turn_on
        target:
          entity_id: input_boolean.notify_4785b_door_8
        data: {}
  - if:
      - condition: state
        entity_id: input_boolean.notify_4785b_door_9
        state: "off"
    then:
      - service: input_boolean.turn_on
        target:
          entity_id: input_boolean.notify_4785b_door_9
        data: {}
  - if:
      - condition: state
        entity_id: input_boolean.notify_4785b_door_10
        state: "off"
    then:
      - service: input_boolean.turn_on
        target:
          entity_id: input_boolean.notify_4785b_door_10
        data: {}
  - if:
      - condition: state
        entity_id: input_boolean.notify_4785b_door_11
        state: "off"
    then:
      - service: input_boolean.turn_on
        target:
          entity_id: input_boolean.notify_4785b_door_11
        data: {}

You can folllow this example and use it for the adding or deleting.

type or paste code here

Right, no if you read my code I did condense all 20 into one automation, I only wrote two in to make the code shorter but you can extrapolate to all 20. I was just wondering if there was a way to not write out all 20 as triggers

Hello,

Iā€™m not being able to add codes to the door. Whenever I set a new code the status gets stuck with the adding message. Has anyone had this problem?

If this is happening every time, youā€™re have a communication issue with the ZWAVE lock. I would recommend putting a repeater/forwarder within 20 feet of the lock.

If this is happening occasionally, use a automation to fix, as an example, use the one I posted above.