Skip to main content

A library for controlling Sesame smart locks via BLE.

Project description

gomalock

Python License Platform test

Sesame スマートロックをPythonからBluetooth Low Energy (BLE)経由で操作するためのライブラリ。

機能説明

  • Sesame 5 (Pro)をBluetooth経由で施錠、開錠などの操作
  • 施錠状態、電池残量などの変化をリアルタイムで受信
  • Sesame Touchの電池電圧、残量の変化をリアルタイムで受信
  • 周囲のSesameデバイスをスキャンして情報を取得
  • 新規Sesameデバイスの登録
  • 施錠、開錠角度の設定
  • オートロック秒数の設定
  • 鍵の共有用QRコードの作成

インストール

最新のソースからインストール

pip install git+https://github.com/meronepy/gomalock.git

特定のバージョンをインストール(v0.0.0の部分を任意のバージョンに書き換えてください)

pip install git+https://github.com/meronepy/gomalock.git@v0.0.0

使用方法

開錠例

import asyncio

from gomalock.sesame5 import Sesame5

MAC_ADDRESS = "XX:XX:XX:XX:XX:XX"
SECRET_KEY = "1234567890abcdef1234567890abcdef"


async def main():
    async with Sesame5(MAC_ADDRESS, SECRET_KEY) as sesame5:
        await sesame5.unlock("gomalock")


if __name__ == "__main__":
    asyncio.run(main())
  • MAC_ADDRESSdiscover.pyを使用して周囲のSesameをスキャンして取得できます。
  • SECRET_KEYはmochipon様作成のQR Code Reader for SESAMEを使用して、マネージャー権限以上のQRコードから抽出できます。
  • 詳細な使用方法はexamplesおよびdocsをご覧ください。

MQTTとブリッジするサンプルコード

https://github.com/meronepy/ssm2mqtt

注意事項

  • Linuxで動作させる場合、 BlueZ 5.82以降を強く推奨します。 Raspberry Pi OS Bookwormにインストール済みのBlueZ 5.66では、バグによってSesame 5のGATT Serviceが取得できず正常に動作しません。
  • 履歴機能は公式アプリやクラウドとの連携が困難であるため実装しておりません。
  • 非公式のライブラリです。動作保証はありません。自己責任でご使用ください。

テスト環境

  • Windows 11 24H2, Python 3.13.3
  • Raspberry Pi Zero 2W, Raspberry Pi OS Trixie (64bit), Python 3.13.3
  • Sesame 5, 3.0-5-18a8e4
  • Sesame 5 Pro, 3.0-7-848a2d

対応機種

対応状況 機種
Sesame 5
Sesame 5 Pro
⚠️ Sesame 5 USA
Sesame 4以前

Sesame 5 USAは恐らく動作しますが、動作未確認です。
Sesame 4以前はOSが違うため動作しません。対応予定もありません。

対応状況 機種
Sesame Touch
⚠️ Sesame Touch Pro
Sesame Face
Sesame Face Pro

Sesame Touch Proは恐らく動作しますが、動作未確認です。
Sesame Faceシリーズは簡単な改修で対応できるはずなので、手に入れたら将来的に対応する予定です。

対応環境

OS

対応状況 OS
Windows 10 version 16299 以降
Linux with BlueZ 5.82 以降
⚠️ macOS 10.13 以降(動作未確認)

内部で使用しているbleakライブラリに準じますが、macOS環境は動作未確認です。
Linux環境では前述のバグが原因で、BlueZ 5.82以降が必要です。

Python

Python 3.12以降が必要です。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gomalock-1.0.1.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gomalock-1.0.1-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file gomalock-1.0.1.tar.gz.

File metadata

  • Download URL: gomalock-1.0.1.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gomalock-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f7996bccef06650781be141472e41097f63012abde9b2ce181ca127d63db8d87
MD5 4a76da53b8a553ab99c725a301556fc1
BLAKE2b-256 320b28efc76de34deda0e253367b36bbf928b62f894f13c334df0cf542d36728

See more details on using hashes here.

File details

Details for the file gomalock-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: gomalock-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gomalock-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc5b89f650c1dde136319df7f723188c749c51c583f9d62cf2cacd9186c8c872
MD5 85c959c2e6aa639006504e8b32aba6e9
BLAKE2b-256 5fc2e518567e88dc3188d4be654f9c85a8bd9bd825a77650330bcdc8cb85aef5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page