Xiaomi Sherlock Smartlock

little update on my progress with tasker integration
the door status is sent as a ‘toast notification’ which can be intercepted by autonotification in android
this way you know the door is locked/unlocked successuflly

1 Like

Thanks for the contribution, you also solved my problem

Okay, so I’m on the other end of the spectrum: I wired ESP-01S into the smart lock like one of the previous posters, but also a constant power supply.
The need for all of that comes from inability to pair lock (softlock, haven’t found any way to mitigate the issue). Control module is connected to MQTT (running ESPHome firmware).

Sample code is below:

esphome:
  name: front_door_lock
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret devices_wifi_primary_ssid
  password: !secret devices_wifi_primary_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: !secret devices_wifi_fallback_ssid
    password: !secret devices_wifi_fallback_password

captive_portal:

web_server:
  port: 80

logger:
  level: debug

mqtt:
  broker: !secret devices_mqtt_hostname
  username: !secret devices_mqtt_username
  password: !secret devices_mqtt_password
  discovery: true
  discovery_retain: true

script:
  - id: lock_driver_engage
    mode: single
    then:
      - logger.log: "Lock engaging"
      - switch.turn_on: lock_driver_output
      - delay: 15ms
      - switch.turn_off: lock_driver_output
      - if:
          condition:
            switch.is_on: lock_switch
          then:
            - delay: 3000ms
          else:
            - delay: 11000ms
      - logger.log: "Lock engaged"
      - switch.template.publish:
          id: lock_switch
          state: ON
  - id: lock_driver_disengage
    mode: single
    then:
      - logger.log: "Lock disengaging"
      - switch.turn_on: lock_driver_output
      - delay: 50ms
      - switch.turn_off: lock_driver_output
      - if:
          condition:
            switch.is_off: lock_switch
          then:
            - delay: 3000ms
          else:
            - delay: 11000ms
      - logger.log: "Lock disengaged"
      - switch.template.publish:
          id: lock_switch
          state: OFF

switch:
  # Lock driver control
  - id: lock_driver_output
    name: "Lock Driver Output"
    platform: gpio
    internal: true
    pin:
      number: GPIO2
      inverted: yes
    restore_mode: always off

  # Publishing switch
  - id: lock_switch
    name: "Lock Engagement Switch"
    platform: template
    restore_state: true
    turn_on_action:
      - script.execute: lock_driver_engage
    turn_off_action:
      - script.execute: lock_driver_disengage

binary_sensor:
  - id: lock_sensor_button
    name: "Lock Sensor Button"
    platform: gpio
    internal: true
    pin: GPIO0
    filters:
      - invert
    on_click:
      - min_length: 5ms
        max_length: 34ms
        then:
          - if:
              condition:
                not:
                  or:
                    - script.is_running: lock_driver_engage
                    - script.is_running: lock_driver_disengage
              then:
                - script.execute: lock_driver_engage
      - min_length: 35ms
        max_length: 60ms
        then:
          - if:
              condition:
                not:
                  or:
                    - script.is_running: lock_driver_engage
                    - script.is_running: lock_driver_disengage
              then:
                - script.execute: lock_driver_disengage

# Enable Home Assistant API
# api:
#   password: !secret devices_api_key

ota:
  password: !secret devices_ota_key

There are a few choices made so the lock performs best in my local conditions:

  • hardcoded debouncing: you can’t trigger any lock action when existing action is running (estimated 10 seconds); this is required because my button does some finnicky voltage drops, and detection issues are a pain to control;
  • large button press estimation windows: there are noticable timing fluctuations, especially when locking;

… and there are also downsides to whatever setup I’m currently using:

  • power loss causes device lock action to be triggered;
  • there is a lot of additional circuitry involved (including an external 5V PSU wired into battery’s charger; an additional step down converter (to 3.3V); mangled UART connector; 5 additional holes in plastic);
  • lock cannot be manipulated when the device does; I am pretty sure it can be circumvented by using a solid-state relay, however I wasn’t in the mood to implement it (a jumper is sufficient enough).
  • Bluetooth keeps working, and it drains battery (you cannot kill the embedded chip, however you might be able to sever connection to the bluetooth interface part; not a problem for me due to beforementioned PSU).

All in all, the lock is working fine as-is, and looks marvellous (besides the hanging PSU part). I will attach images soon.

2 Likes

hey ahzazou and other smart home friends! I have a Raspi4 and use iobroker (ssh / Macintosh / terminal) But I am not able to find the configuration.yaml / skript.yaml and automation.yaml without your help. Can you describe for a pretty new-comer :open_hands :tired_face: I really want to do that sherlock remote program of you! Thanks a lot!!!

Does anyone have the pkk file downloaded ? I can not klick the download button.

New update: Sherlock 3.6.10 (Build 210506001)

http://d.7short.com/sherlock?spm=a2g0s.imconversation.0.0.1ad53e5fUJVlrP

1 Like

Thanks Android 11 ok

Why I get “Parse error” message when I trying to change my password?

Which is the latest device firmware version now?

Does anyone who knows a bit about hardware know whether there might be a way to boost the fob bluetooth signal or receiving antenna? With the goal to improve fob hack reliability?

Like check out this Mi Flora mod.

Posting a link to a good response I got on another thread…

It always tells me that I have the latest version, however I have version 3. Has it ever let you update the firmware of the lock?

Hi! Can U give link of this Store on AliExpress?

the store on Ali can be found here:
https://nl.aliexpress.com/store/4305008?spm=a2g0o.detail.1000061.1.4ef144faLHzelo

for me again the app stoppen working, cannot login anymore.

Hey Peter, do you know who is building these apks? It seems that the 3.6.10 version no longer works.

A mí la version 3.6.10 de la app SherLock me da un error Ssl y no me funciona

Hello andras,

I do not use the app. Did not know the app was not working anymore.
I have tested it, and indeed, the app is not working.
The device itself is working fine with the remote key’s.

Last time i contacted: POMIACAM autopvision Store for the update.
Have send them a message again.

Wenn i get a update, i wil contact u again.

Kind regards,

Peter

I got a reply from the reseller: GEEKDEER Store

Dear, wait a few days, because the domain name we submitted is still under review, and it can be downloaded from the new web page after it is approved.

Hallo Peter, David hier. Wat is er aan de hand met sherlock kan sinds 2 weken niet met de app in om mijn slot te kunnen gebruiken. Sherlock zelf is ook niet te bereiken. Op hun website zie ik een adres staan in Rotterdam. Misschien daar even heen gaan? Ben zelf een iPhone gebruiker. Krijg iedere keer de melding: can not find host. Hoop dat jij meer weet. Groetjes Ddavid

Hi, it’s the same with me. I even reset the device thinking it would help, but I can’t pair the lock with the phone again.