[RELEASE/BETA] Unofficial Sifely S WiFi Lock Cloud Driver for Hubitat

[BETA DRIVER] Unofficial Sifely S WiFi Lock Cloud Driver for Hubitat

Let me start by setting expectations: I am about 1,000 miles from being any type of developer. I have almost zero current-day coding experience, and I am new to Hubitat within the last 6 months. With regard to smart home automation, I am not the most experienced person here — honestly, I am still a pathetic NOOB in a lot of areas.

This is my first attempt at writing any type of integration, driver, or custom Hubitat code. Heck, I cannot even get all of my own automations to work yet.

That said, I have had wildly good success with Sifely locks. They have been flawless for me, and I wanted very badly to integrate these superb locks into Hubitat. Since I could not find a native Hubitat integration for them, I decided to see if it could be done.

This is an unofficial cloud-based Hubitat driver for Sifely S WiFi locks. It allows Hubitat to talk to Sifely built-in WiFi locks through the Sifely cloud API. I have successfully tested lock state, battery, online/offline status, lock, unlock, and refresh from Hubitat.


Credit / Background

I do not want to take 100% credit for the code.

I had the idea to see if these locks could be made to work with Hubitat, and I did the testing on real locks. I confirmed the API behavior, validated the endpoints, mapped the lock states, and tested everything live on my Hubitat hub.

I used ChatGPT/Jarvis to help generate and iterate the Groovy driver code while I tested each step on my system.

So this was a human + AI-assisted integration effort. I provided the locks, Hubitat environment, testing, debugging feedback, endpoint validation, and real-world confirmation. ChatGPT/Jarvis helped with the driver code.


Tested Hardware

I tested this with Sifely S models that include built-in WiFi.

Tested/owned models:

  • ASIN: B0DYN249DW

    • Model Number: Sifely S Model WiFi
  • ASIN: B0G2S815CN

    • Model Number: Sifely S WiFi

These are the models with built-in WiFi. I do not need the Sifely gateway for these locks.


Important Note About BLE-Only Sifely Locks

I am 99.99% sure this same approach would likely work with the Bluetooth/BLE-only Sifely models if and only if the user has purchased and installed the Sifely WiFi gateway.

However, I do not own the BLE-only models or the Sifely gateway, so I cannot test or confirm that yet.

If someone has a BLE-only Sifely lock plus the Sifely gateway and wants to test, that would be very helpful.


What Works So Far

Confirmed working from Hubitat:

  • Login to Sifely cloud
  • Store Sifely cloud token
  • List locks
  • Read battery level
  • Read online/offline status
  • Read lock state
  • Map lock state correctly:
    • 0 = locked
    • 1 = unlocked
  • Lock command from Hubitat
  • Unlock command from Hubitat
  • Refresh command from Hubitat

Cloud Timing Behavior

One thing I found during testing:

After changing lock state from the Sifely Android app, the Sifely cloud may need about 10–20 seconds before Hubitat can query the updated state reliably.

If you poll too fast, the API may return an error. Waiting around 20 seconds and refreshing again works.


Security Defaults

Because this is a door lock driver, remote unlock should be treated carefully.

Recommended defaults:

  • Remote lock: enabled
  • Remote unlock: disabled by default
  • Enable remote unlock only after testing
  • Do not use unlock automations until you add guardrails

For example, if using arrival-based unlock, I would recommend conditions such as:

  • Only when a specific presence device arrives
  • Only when mode is not Night
  • Only when an Auto Unlock Enabled virtual switch is on
  • Auto-lock again after a defined time period
  • Send notification when unlock is triggered

Remote unlock is disabled by default in the driver.


Cloud Dependency

This is a cloud-based integration.

It is not local LAN, Z-Wave, Zigbee, or Matter. If Sifely cloud or internet access is down, Hubitat control may not work.


Current Status

This is beta code and currently tested only on my two Sifely S built-in WiFi locks.

I am sharing this because I could not find a native Hubitat integration for these locks, and I thought others might benefit from it.

Feedback, cleanup suggestions, and testing from other Sifely users are welcome.


GitHub / Driver Code

Here is the GitHub repository:

https://github.com/howarddavidp/hubitat-sifely-wifi-lock

Raw driver file for Hubitat import:

https://raw.githubusercontent.com/howarddavidp/hubitat-sifely-wifi-lock/refs/heads/main/Sifely-WiFi-Lock-Driver.groovy

Hubitat Import URL tested successfully from my hub.

This is my first GitHub project, so if I set anything up incorrectly, please let me know. I am learning as I go.


Installation

Option 1: Hubitat Import URL

In Hubitat:

  1. Go to Drivers Code
  2. Click + Add Driver
  3. Click Import
  4. Paste the raw GitHub URL:
https://raw.githubusercontent.com/howarddavidp/hubitat-sifely-wifi-lock/refs/heads/main/Sifely-WiFi-Lock-Driver.groovy
  1. Click Import
  2. Click Save

Option 2: Manual Install

  1. Open Sifely-WiFi-Lock-Driver.groovy
  2. Copy the entire file contents
  3. In Hubitat, go to Drivers Code
  4. Click + Add Driver
  5. Paste the code
  6. Click Save

Creating a Lock Device in Hubitat

After installing the driver:

  1. Go to Devices
  2. Click Add Device
  3. Choose Virtual
  4. Create a new virtual device
  5. Set the device type/driver to:
Sifely WiFi Lock
  1. Open the new device
  2. Enter your Sifely account email and password in device preferences
  3. Enter the Sifely lockId
  4. Save preferences
  5. Click Refresh

Finding Your Sifely Lock ID

The driver currently requires the Sifely lockId for each lock.

For my initial testing, I used a temporary test driver to list my Sifely locks and identify their lock IDs. Future versions may make this easier.

This is one of the rough edges in the current beta. If you cannot identify your lockId, post in this thread and I will try to help as best I can.

Do not publicly post your lock IDs unless you are comfortable sharing them.


Important Security Warning

Do not post logs or screenshots containing:

  • Sifely tokens
  • Access tokens
  • Password hashes
  • Account email
  • Phone number
  • Home IP address
  • Lock IDs, unless you intentionally want to disclose them

Known Limitations

  • Cloud-based only
  • Not local control
  • Requires Sifely cloud availability
  • Requires a valid Sifely account login
  • Requires manual entry of the Sifely lockId
  • Tested only on built-in WiFi Sifely S models so far
  • BLE-only models with gateway are likely possible but untested
  • This is beta code from a first-time Hubitat driver/integration attempt

Disclaimer

This is an unofficial community driver.

Use at your own risk. Door lock automation should be handled carefully. Remote unlock is disabled by default in the driver and should only be enabled after testing and with appropriate safeguards.

I am not affiliated with Sifely, Hubitat, or Amazon. This is just a community beta driver based on my own testing.


BLE / Gateway Testing Help

If someone wants me to test the Bluetooth/BLE Sifely locks with the Sifely WiFi gateway, I am open to helping.

I do not currently own any BLE-only Sifely locks or the Sifely gateway, and I am not looking to buy locks I do not personally need. If a user wants to contact me and provide a BLE lock and gateway for testing, I can test the hardware and return it. I will not keep anyone’s gear.

If someone chooses to purchase test hardware from Amazon or another retailer, they should handle the purchase and any return according to that retailer’s normal return policy. Amazon commonly has a return window, but I do not want anyone violating a retailer’s rules or assuming I can guarantee anything about returns.


License

MIT

1 Like