Switchbot Keypad Integration

Hi, is there a way to use the switchbot keypad (without lock) to arm/disarm alarmo??

I’ve connected the keypad to ha (bluetooth) but it’s shown as a Plug Mini 91AE with only one sensor for power thath doesn’t even trigger when i press some key on the keypad

7 Likes

Did you get this sorted?

2 Likes

anyone know if this will be supported anytime soon? would be great if we can detect code usage by user on HA.

4 Likes

+1 from me
Would be nice to use the keypad standalone together with my custom build lock.

3 Likes

Maybe this will be supported with the new Switchbot Cloud Integration

1 Like

are there any news on this feature?

i allready got the keypad and the hub mini…

I use this add-on to control the keypad touch and create new temporary codes with automations:

1 Like

@lflondonol is it working smoothly for you? I get issues all the time

Yes, it has been working fantastic for me. Here’s the script that I use:

alias: "Create One Time Password Keypad"
sequence:
  - action: button.press
    metadata: {}
    data: {}
    target:
      entity_id:
        - button.btn_2_reloadkeys_xxxxxxxxxx
    alias: Reload the existing keys
  - action: select.select_option
    continue_on_error: true
    target:
      entity_id: select.id_2_cmd_xxxxxxxxxx
    data:
      option: >
        {{ state_attr('select.id_2_cmd_xxxxxxxxxx', 'options') |
        select('search',':Password for') | list | first }}
    alias: Select the latest temporal key
  - if:
      - condition: not
        conditions:
          - condition: template
            value_template: "{{is_state(\"select.id_2_cmd_xxxxxxxxxx\", \"unknown\")}}"
    then:
      - action: button.press
        metadata: {}
        data: {}
        target:
          entity_id:
            - button.btn_2_cmd_xxxxxxxxxx
    alias: Delete the temp key only if it was selected
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - variables:
      startTime: >-
        {{ ((now() + timedelta(days=1)).replace(hour=5, minute=30, second=0,
        microsecond=0)).timestamp() | int }}
      endTime: >-
        {{ ((now() + timedelta(days=1)).replace(hour=17, minute=0, second=0,
        microsecond=0)).timestamp() | int }}
      code: "{{ {'value': states('sensor.random_code') } }}"
  - action: text.set_value
    metadata: {}
    data:
      value: Password for {{ (now() + timedelta(days=1)).date() }}
    target:
      entity_id: text.name_1_cmd_xxxxxxxxxx
  - action: text.set_value
    metadata: {}
    data:
      value: "{{code.value}}"
    target:
      entity_id: text.password_1_cmd_xxxxxxxxxx
  - action: select.select_option
    metadata: {}
    data:
      option: a temporary passcode.
    target:
      entity_id:
        - select.type_1_cmd_xxxxxxxxxx
  - action: number.set_value
    metadata: {}
    data:
      value: "{{startTime}}"
    target:
      entity_id: number.starttime_1_cmd_xxxxxxxxxx
  - action: number.set_value
    metadata: {}
    data:
      value: "{{endTime}}"
    target:
      entity_id: number.endtime_1_cmd_xxxxxxxxxx
  - action: button.press
    metadata: {}
    data: {}
    target:
      entity_id:
        - button.btn_1_cmd_xxxxxxxxxx
  - stop: Script finished
    response_variable: code
fields: {}
description: ""

The code are removed and created without any issues. I have been using this script the last 3 weeks.

1 Like

Does that require any hub or other SwitchBot device or can it connect directly via WiFi?

1 Like

I have the Mini Hub and it’s mandatory to use the add-on.

Are you using it standalone or is the keypad paired with a lock? I just want the Keypad Vision to unlock my existing lock.

As far as I can tell during the setup process the Vision Keypad connects to my phone for setup but then wants to pair to a lock for it to work.

I also have the Keypad Touch integrated to HA with the Switchbot-MQTT Add-On.
I can create new codes too.

But I am missing the Sensors:
All sensors exept “Polling” are unknown.

Do you have more sensors?

BR Tommes

@lflondonol Are you using the keypad and the hub alone? Or did you need a lock as well?

The keylock is paired with my lock

I’m wondering, is anybody aware of a way to use the keypad to trigger an automation?

2 Likes

One thing isn’t clear, do I need the hub to integrate?

Is there a way to know who used the Keypad ?

It doesn’t seem to be possible right now. I have sumbitted a feature request, not only for knowing which person unlocked, but also for other triggers like wrong pin entered, correct pin entered, custom button pressed, lock pressed etc. This would open up so many possibilities.
If you want the feature, submit the feature request to them. The more people do it, the greater the chances they implement it.

with the commandID can you differentiat between different codes entered?