KeyMaster Z-Wave lock manager and scheduler

I’m not sure why binary_sensor.ozw_network_status showed off. I think I just checked it too early after the restart or something. I have restarted HA quite a few times now and binary_sensor.ozw_network_status always shows on but binary_sensor.allow_automation always shows off. There are no errors in the logs.

I just noticed that something. I restarted HA and then looked at binary_sensor.ozw_network_status.
The ozw_network_status shows it was connected at 9:23:25
image

Looking at binary_sensor.allow_automation shows it was “on” at 9:23:29 and then something turned it off in the same minute.
image

delete the homeassistant start-up automation.

Hi, I need help to add some logic in my notification script. I am able to get notification on my iphone with creating a LOCK_manual_notifiy script like this one :

serrure_des_monts_manual_notify:
  mode: parallel
  sequence:
    - condition: template
    - service: notify.mobile_app_iphone_de_jeff
      data_template:
        title: "{{ title }}"
        message: "{{ message }}"

But I need help to add logic like : only send if this is a user keypad event (alarmtype 19 I think) …

Any idea how ?
Jeff

Thank very much! That works perfectly. Now both are set to on after a restart.

The lock works fine. I can change codes and they work.

I restarted HA and manually locked/unlocked the lock. I did not see any errors. I then pressed the Schlage button and the locked locked. I entered my code and it unlocked. When I looked at my log, this is what I found.

2020-10-11 09:54:17 WARNING (MainThread) [homeassistant.components.automation.garage_door_lock_command] garage_door Lock Command: Already running
2020-10-11 09:54:26 ERROR (MainThread) [homeassistant.components.automation.garage_door_user_notifications] garage_door User Notifications: Error executing script. Service not found for call_service at pos 1: Unable to find service script/garage_door_manual_notify
2020-10-11 09:54:26 ERROR (MainThread) [homeassistant.components.automation.garage_door_user_notifications] While executing automation automation.garage_door_user_notifications
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/automation/init.py”, line 426, in async_trigger
await self.action_script.async_run(
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 985, in async_run
await asyncio.shield(run.async_run())
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 239, in async_run
await self._async_step(log_exceptions=False)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 247, in _async_step
await getattr(
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 457, in _async_call_service_step
await self._async_run_long_action(service_task)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 416, in _async_run_long_action
long_task.result()
File “/usr/src/homeassistant/homeassistant/core.py”, line 1285, in async_call
raise ServiceNotFound(domain, service) from None
homeassistant.exceptions.ServiceNotFound: Unable to find service script/garage_door_manual_notify
2020-10-11 09:54:26 ERROR (MainThread) [homeassistant.components.automation.garage_door_user_notifications] garage_door User Notifications: Error executing script. Service not found for call_service at pos 1: Unable to find service script/garage_door_manual_notify
2020-10-11 09:54:26 ERROR (MainThread) [homeassistant.components.automation.garage_door_user_notifications] While executing automation automation.garage_door_user_notifications
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/automation/init.py”, line 426, in async_trigger
await self.action_script.async_run(
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 985, in async_run
await asyncio.shield(run.async_run())
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 239, in async_run
await self._async_step(log_exceptions=False)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 247, in _async_step
await getattr(
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 457, in _async_call_service_step
await self._async_run_long_action(service_task)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 416, in _async_run_long_action
long_task.result()
File “/usr/src/homeassistant/homeassistant/core.py”, line 1285, in async_call
raise ServiceNotFound(domain, service) from None
homeassistant.exceptions.ServiceNotFound: Unable to find service script/garage_door_manual_notify
2020-10-11 09:54:31 WARNING (MainThread) [homeassistant.components.automation.garage_door_status_report] garage_door Status Report: Already running

See this issue. This information will get added to the README.

It will if you create an issue and assign it to me :wink:

1 Like

Thinking it might be beneficial to utilize the github wiki section as well perhaps?

Thank you! Issue fixed!

1 Like

Yup. The problem I’m finding is this still requires advanced knowledge to setup. People are having trouble with the allow automation boolean and adding the startup checks.

1 Like

We can add that to the wiki.

1 Like

I think this could be a nice evolution to the integration. I’m especially interested in the ability to connect a keypad like this one which provides an alarm level and alarm type sensor with a lock like this one. I get that the lock is zigbee but it seems like a couple of automations would allow the keypad and user defined codes to execute the lock service. Just a thought.

Right now we support both the native Home Assistant zwave implementation and OpenZWave, aka ozw. It’s a little bit lower on my todo list, but I plan on changing the code so it’s “blind” to the underlying implementation. With a true OO language, this would be simple. But programming in YAML is a different animal. The best we can do is have the implementation calls in scripts which chooses the correct implementation calls.

Right now we require objects to be defined by the end user that exist “above” the package hierarchy and system startup scripts to set things up. But the startup calls are different for zwave and ozw, so there has been a lot of confusion. This is my fault for not updating the README accordingly, but fortunately the user base here has been patient as well as helpful in pointing out issues.

But once we get things stable for zwave and ozw I’ll look into modifying the structure so we can stub in zigbee, or other implementations.

1 Like

I cannot get this to work, I have try everything nothing works

Are you getting errors in your home assistant log?

No Nothing it looks like it is not being called to tiger

Does input_boolean.allow_automation_execution show off or on in dev tools -> States?

it shows off

Post your automations that you’ve added for this.

- alias: homeassistant start-up
  initial_state: true
  trigger:
    platform: homeassistant
    event: start
  action:
  - service: input_boolean.turn_off
    entity_id: input_boolean.system_ready
  - service: input_boolean.turn_off
    entity_id: input_boolean.allow_automation_execution
  id: 6c34e62e4d2a41bc9bc4ce6677457b7b
- id: 16f7a75ed5cd44deae672cd7403788bf
  alias: open_zwave_network_down
  trigger:
  - platform: event
    event_type: zwave.network_stop
  action:
  - service: homeassistant.turn_off
    entity_id: input_boolean.allow_automation_execution
  initial_state: true
  mode: single
- id: ea8993fb46db42d3938cb93de50197d0
  alias: open_zwave_network_up
  trigger:
  - platform: event
    event_type: zwave.network_start
  action:
  - service: script.system_startup_cleanup
  initial_state: true
# feel free to add post startup calls here
system_startup_cleanup:
  sequence:
    - condition: state
      entity_id: 'input_boolean.system_ready'
      state: 'off' 
    - service: homekit.start
    - service: input_boolean.turn_on
      entity_id: 'input_boolean.allow_automation_execution'
    - service: input_boolean.turn_on
      entity_id: input_boolean.system_ready