"lock.open: door_lock" not working?

So I’m trying to use the new Lock component with my old K2000 RFID panel and a magnetic lock. I’ve got it working using this and I can lock and unlock it through home-assistant

  - platform: gpio
    pin: 5
    id: 'door_lock'
  - platform: output
    name: "Front Door"
    output: 'door_lock'

I’ve also connected the “Bell” outputs to gnd and to D4 on my wemos mini and it registers. So while I figure out how to get it to unlock when the right code is entered I tried using a “double click” action:

  - platform: gpio
    pin: 2
    name: "Doorbell"
      - invert:
      min_length: 50ms
      max_length: 350ms
        - lock.open: door_lock

But that gives me an error ID 'door_lock' of type gpio::GPIOBinaryOutput doesn't inherit from lock::lock. Please double check your ID is pointing to the correct value
I checked All actions list but there doesn’t seem to be any for locks or maybe it’s just not updated yet?

I tried using the Lambda examples from the lock page and ended up with this:

        - lambda: |-
            // Within lambda, get the lock state and conditionally do something
            if (id(door_lock).state == LOCK_STATE_LOCKED) {
              // Lock is LOCKED, do something here

But when compiling that I get the following error

/config/esphome/front-door.yaml: In lambda function:
/config/esphome/front-door.yaml:52:22: error: 'class esphome::gpio::GPIOBinaryOutput' has no member named 'state'
   52 |             if (id(door_lock).state == LOCK_STATE_LOCKED) {
      |                      ^~~~~
/config/esphome/front-door.yaml:54:20: error: 'class esphome::gpio::GPIOBinaryOutput' has no member named 'unlock'
   54 |               id(door_lock).unlock();
      |                    ^~~~~~
*** [/data/front-door/.pioenvs/front-door/src/main.cpp.o] Error 1
========================= [FAILED] Took 27.11 seconds =========================

Here are som pics :smiley: I think the rx/tx might be a wiegand interface but havn’t even started on that yet!