Support for Simpled Smart Locks

Hi

Is anyone in the UK using this lock in Home Assistant? I can’t seem to find any HA integration that references the brand.

Apart from z-wave ( which would be ideal due to other integrations), it ticks all the boxes in terms of multipoint lock compatibility and having an integrated keypad.

Many thanks for any help

3 Likes

It’s OK, it looks like I’ve found a compatible ‘cloud’ integration.

3 Likes

How did this work out for you? I have a Simpled lock on order and, although it is not the end of the world if I can’t integrate with HA it would be nice to know whether this worked well.

Hi, the TTlock integration works very well. You need to purchase a TTLock BT to WiFi hub, and there are much cheaper ones than the Simpled Hub on Amazon.

The only downside is that you need to use the TTLock app to add new user codes, but unlocking and logging of unlock attemps work well.

1 Like

Thanks for the feedback. I have it up and running. The “Last Operator” and “Last Trigger” entities seem to remain at “Unknown” but otherwise everything seems to function (Lock status, passage mode, battery).

Just to clarify. I assume that even if I buy a Simpled BT to wifi hub (hardware) this would not change the issue with new user codes.

Adding temp codes via HA interface would be very useful IMO.

Just resurrecting this thread. Any further updates on ttlock ? does last operator and last trigger entities now work ?

And can you now add codes via HA ?

Can you also set passage mode in HA ?

Are you sure having your door connected to the cloud is a good idea?

1 Like

I’m also interested in this. What’s the deal with it using the TTlocks integration? Does it not have its own?
Really interested in this lock though as it looks like it would be a contender for my front door

Also, I currently have a switchbot lock that I want to move on from - this has Bluetooth connectivity which I connect to, does the Simpled lock have Bluetooth too, or would I need to get the WiFi hub / gateway?

Hi, my Simpled lock is Bluetooth only, but i have a generic bluetooth to wifi hub. all works ok and it does report the Last Operator, I can enable passage mode but you cant add codes.

1 Like

Has anyone tried this lock with the G6 matter hub?

I seem to be able to add it via matter and it works, the main issue is that the lock seems to default to an unlocked state after a few minutes. Basically the commands to lock and unlock work but it doesn’t have the correct status.

Can anyone think of a way around this?

@cnelson.sc

I assume with the G6 gateway, you no longer need the ttlock integration from GitHub - jbergler/hass-ttlock: Home Assistant integration for TTLock locks ?

Have you managed solve the issue of the incorrect status ?

I have the same issue. Works fine but shows as unlocked 2 mins after it’s locked. If you watch the logs in the matter addon, you can see the lock sending the unlocked code.

Simpled actually sell the matter hub (way more expensive than AliExpress) so surprised it’s not working correctly

Unfortunately I have not found a solution for the incorrect status. In regards to the TTlock integration, yes you don’t need it once the lock is connected via matter, but if the status is important to you, like it is for me, having it connected via matter isn’t ready yet.

I have contacted Simpled re this and received the following response -

As the software platform and the linked chip inside the lock is are both entirely managed by TTLock we have no way of directly interacting or changing any of those processes.

However, that Incorrect lock status showing in HomeKit seems to be an occasional issue with many different brands of smart locks in their interaction with HomeKit. It is generally associated with communications issues between the lock and HomeKit.

Basic troubleshooting steps

  • Check the lock’s battery. Low batteries are a frequent cause of connection failures and inconsistent status reports.

  • Restart the TTLock. Power-cycle the lock by removing all batteries for about 60 seconds, then reinserting them.

  • Restart the Home app and your iPhone.

  • Force-quit the Home app by swiping up from the bottom of the screen and closing the app card.

  • Restart your iPhone.

Open the Home app again and check the status.

Keen to know more. I have a lock now so anything to integrate this locally is much appreciated. Happy to help where I can.

I’m getting a G6 to get full local control, so I dont have to use the ttlock integration.
If I also get this issue when the G6 arrives, there is a simple workaround because I have a door/window sensor on the door as well.

Rather than use the locks status, I can wrap the status in a template sensor, and if I get an unlocked notification, but the door is not opened within the autolock time, I can ignore it.

This does mean that if the door is genuinely unlocked and NOT opened, the status will not change (until the door is opened), but given I have autolock set, usually at 15 seconds, I am ok with that.

This is a clever work around. I’m not that great at creating templates, would this involve making a template lock?

I think this should do it:-

- trigger:
    - trigger: state
      entity_id:
        - binary_sensor.aqara_contact_front_door_opening
  sensor:
    - name: Front Door - Lock Status
      unique_id: front_door_lockstatus
      device_class: lock
      state: >
        {% if is_state('binary_sensor.aqara_contact_front_door_opening','on') and is_state('lock.front_door','unlocked') %}
          unlocked
        {% else %}
          locked
        {% endif %}  

Basically its a trigger based template sensor thats listening for the door/window sensor. If the door is opened AND the locks state is unlocked, then the sensor matches with unlocked.
In all other cases, it assumes the door is locked.

So… if the door is shut, or the lock state changes to locked, then the if fails and the template says ‘locked’. So you will have some time between the door shutting and autolock kicking in before its really locked.

If the lock state changes to unlocked after 2 minutes, but the door is not open, then the if also fails and the template stays ‘locked’.

Even if you then subsequently open the door (from the inside), the if will fail because the lock is still in unlocked state, so again, the template state remains ‘locked’.

I think that covers all the scenarios.

I did this to get a virtual lock that shows the correct state. It assumes the lock will lock after the built-in autolock time (mine is set to 30s but in reality it is 31s, hence the setting below). Seems to be working ok.


input_boolean:
  workshop_door_virtual_unlocked:
    name: Workshop Door Virtual Unlocked

timer:
  - workshop_door_unlock_window:
    duration: "00:00:31"
  - workshop_door_glitch_guard:
    duration: "00:02:00"   

automation:
  - alias: Workshop Door – Auto-lock virtual after 31s
    description: ""
    triggers:
      - entity_id: timer.workshop_door_unlock_window
        from: active
        to: idle
        trigger: state
    actions:
      - target:
          entity_id: input_boolean.workshop_door_virtual_unlocked
        action: input_boolean.turn_off
    mode: single

  - alias: "Workshop Door – Manual unlock (ignore glitches)"
    mode: restart
    trigger:
      - platform: state
        entity_id: lock.workshop_door_lock
        to: "unlocked"
    condition:
      # Only accept as "real" unlock if we're OUTSIDE the 2-minute glitch window
      - condition: state
        entity_id: timer.workshop_door_glitch_guard
        state: "idle"
    action:
      # Treat as a proper unlock, same as using the virtual lock
      - service: input_boolean.turn_on
        target:
          entity_id: input_boolean.workshop_door_virtual_unlocked
      - service: timer.start
        target:
          entity_id:
            - timer.workshop_door_unlock_window
            - timer.workshop_door_glitch_guard



- lock:
    - name: "Workshop Door Virtual Lock"
      unique_id: workshop_door_virtual_lock

      state: >
        {% if is_state('input_boolean.workshop_door_virtual_unlocked', 'on') %}
          unlocked
        {% else %}
          locked
        {% endif %}

      lock:
        - service: lock.lock
          target:
            entity_id: lock.workshop_door_lock
        - service: input_boolean.turn_off
          target:
            entity_id: input_boolean.workshop_door_virtual_unlocked
        - service: timer.cancel
          target:
            entity_id:
              - timer.workshop_door_unlock_window
              - timer.workshop_door_glitch_guard

      unlock:
        - service: lock.lock
          target:
            entity_id: lock.workshop_door_lock
        - delay: 2
        - service: lock.unlock
          target:
            entity_id: lock.workshop_door_lock
        - service: input_boolean.turn_on
          target:
            entity_id: input_boolean.workshop_door_virtual_unlocked
        - service: timer.start
          target:
            entity_id:
              - timer.workshop_door_unlock_window
              - timer.workshop_door_glitch_guard