Im sure you did, but can you verify that the ccustom card are are all loaded in to lovelace.
let’s try just a single slot
cards:
- cards: null
color: 'rgb(0, 0, 0)'
color_type: label-card
name: Entry Code 1
styles:
card:
- height: 20px
name:
- justify-self: center
- padding-left: 10px
- font-size: 16px
type: 'custom:button-card'
- cards: null
entities:
- entity: input_text.door_keypad_1_name
- entity: input_text.door_keypad_1_code
type: entities
- card:
entities:
- entity: input_boolean.code_1_notify
- entity: input_select.door_keypad_1_access_schedule
type: entities
cards: null
conditions:
- entity: input_text.door_keypad_1_code
state_not: Code Here
type: conditional
- card:
color: 'rgb(44, 109, 214)'
color_type: label-card
name: Lock Schedule (Only Shows when on)
styles:
card:
- height: 20px
name:
- justify-self: center
- padding-left: 10px
- font-size: 16px
type: 'custom:button-card'
cards: null
conditions:
- entity: input_select.door_keypad_1_access_schedule
state_not: Always
type: conditional
- card:
columns: 3
entities:
- entity: calendar.lock_code_1_schedule
name: Start Time
secondary_info: '[[ {entity}.attributes.start_time ]]'
type: 'custom:secondaryinfo-entity-row'
- entity: calendar.lock_code_1_schedule
name: End Time
secondary_info: '[[ {entity}.attributes.end_time ]]'
type: 'custom:secondaryinfo-entity-row'
show_icon: false
show_state: true
state_filter:
- 'on'
type: entity-filter
cards: null
conditions:
- entity: input_select.door_keypad_1_access_schedule
state_not: Always
type: conditional
- card:
entities:
- entity: input_boolean.door_keypad_1_front_switch
- entity: input_boolean.door_keypad_1_back_switch
- entity: input_boolean.door_keypad_1_garage_switch
- entity: script.door_keypad_1_delete
type: entities
cards: null
conditions:
- entity: input_text.door_keypad_1_code
state_not: Code Here
type: conditional
type: vertical-stack
Create a new manual card and paste this in
Yes, the single slot did work.
EDIT: I’m an idiot.
Ha, so is the whole thing working now? I know it is a lot of lovelace
OK so I’m missing something here next to the first toggle on the last portion, is that related to the schedule? I’m not getting anything to select date range when choosing Recurring or temp.
Edit: hahah thats the header toggle
Do you have google calendar set up this? I moved to google calendar a few months back. I posted the link details a few posts up
Oh crap, yes sorry. I do have that setup, sorry I thought something would show here, all good!
One last question, can I rename ‘door keypad # front switch’, etc?
I’d also like to buy you a beer or something of your choice, PM me you paypal email! Thank you so much for all your help!
No need for a beer, happy to help. I would just give the switch a different name in the lovelace like so
- card:
entities:
- entity: input_boolean.door_keypad_1_front_switch
name: Front Door
If you really want to rename the entity you can, but you’ll have to have a look through the packages. A lot of the automations expect the switch to be named that.
So here is the last test. Put in a name, a code, Set the time to reoccuring, turn on the switch, and then set a google event for that slot. When the event is true, the code should be loaded, and you should get a notification. Then when the time ends, it should clear the slot
edit: and of course you can also remove the garage switch from the lovelace.
I’m not bothered by the name of the entity itself, just want a friendly name. I was trying ‘friendly_name’.
I’ll test out the calendar shortly, it’s time for a break now that it’s working! Thank you so much!
You’ve motivated me to do a little “prettying up” of the Lovelace. I should have some new yaml uploaded tomorrow.
Minor changes: All UI based. I updated the lock packages to include friendly names for the input booleans for the door switches. I also included mdi icons for several entities. Probably biggest change is in the lovelace.txt. With the ability for have multiple lovelace configs now. You should be able to add a new lovelace vis configuration --> lovelace dashboards. You can even hide the panel so that it is only visible via admins. You can then edit the lovelace as raw and copy/paste the lovelace.txt from the github repository. The updated code includes a bit of conditional formatting, and will tell you if you dont have a calendar event set for a door code. I also set the clear code script to work with the button entity card to be Locked, so that it requires two taps/clicks to clear a code slot.
No other changes. Mostly just front end
A few more changes, and also a bit of code changes to all lock packages.
- I found that as I was playing around with my switches, and input selects in the lovelace, I was also sending zwave commands to clear codes, set codes, etc. Sometimes I was just looking to see what my options were or maybe it was a bad click choice. So… I added a 30 second delay in the automations before they run. So switch to ‘on’ for 30 seconds, etc. That way if you select something incorrectly, you can put it back without running the automaiton.
- I also noticed that if you set a schedule to recurring from Always and there was not a google calendar entry for the code slot, that it would delete the code. Kind of makes sense, and it did notify me, but… setting it back to always did not load the code back into the door because it was not a trigger. I added a second trigger so that selecting ‘Always’ also sets the code back in the door.
- I also added some safetly catches to keep automations from running before the zwave network is up and running. totally borrowed the idea from here
Simplified Zwave Lock Manager
I added one input boolean and two automations. I did not add them to my lock packages because I feel like the will be used in other automations outside of just locks.
Add these two automations to your automations.yaml (or recreate them in the UI if you prefer)
- alias: homeassistant start-up
initial_state: true
trigger:
platform: homeassistant
event: start
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.allow_zwave_automation_execution
- alias: Zwave_loaded_Start_System
initial_state: true
trigger:
- platform: event
event_type: zwave.network_ready
- platform: event
event_type: zwave.network_complete
- platform: event
event_type: zwave.network_complete_some_dead
action:
- service: input_boolean.turn_on # enable zwave automations again
data:
entity_id: input_boolean.allow_zwave_automation_execution
I then added on input boolean to my configutation. Like the automations I feel like this goes beyond the locks, so it is not in the lock.yaml files
input_boolean:
allow_zwave_automation_execution:
name: Zwave Network State
- I then added some custom markdown and a conditional card to the lock lovelace to tell you the zwave network is not started, so dont make changes. They wont work… The automations actually wont run until the network is started, but you could still change switches, input selects, etc and then end up in a state where things were as expected.
I’m pretty happy with the current state of this package. I personally really like the google calendar as the times. I find it easier to have more flexible scheduling. I wish there was a local calendar, for HA, that would make it perfect.
I may post a full update soon to this post so that people dont have to dig around to get the details.
Do I just need back_door_lock.yaml if I am just using a lock on my back door? I added it to my packages folder, and my entities are named correctly as stated in the yaml, but it seems the only things that I can see on my dashboard or in my entities config is the back door switch. Keypad slot names and codes show entity not available, and same with notify and schedule entities. Am I missing a file or do I need to grab something else?
you also need common lock.yaml.
Ah ok! I’ll give it a try!
Looks like it was added in 0.110!
Close. It’s not a local calendar, but will show any calendars you have added to HA. Still… pretty cool, nice to see what’s going on.
Hi All, thought I would put a small update as I have been playing around with all different lock managers (thanks @ptdalen and @FutureTense) and trying to build my own through node red. One thing I noticed is a lot of people saying that the lock.clear_usercode
service doesn’t work, but in my experience it has worked every time. I am using a yale touch yrd256 but I know most people posting are using the schalge locks so this may be different. But thought I would let anyone know who is using one of these Lock manager packages with a yale lock you could potential just call the clear code service instead of setting a random number. The only thing the service doesn’t do is remove the code from the zwave manager straight away. It seems you have to restart the zwave service before this code/deleted code is re-read.
Little confused on where I might find the latest version? I clicked on the github in the original post for the 1-lock iteration, but I got a 404