Skip to main content

A Python library for controlling Sesame smart locks over Bluetooth Low Energy.

Project description

gomalock

PyPI - Version Python Version from PEP 621 TOML License Test

SesameスマートロックをBluetooth Low Energyで操作するPythonライブラリ

機能説明

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

インストール

通常のインストール

pip install gomalock

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

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

使用方法

開錠例

import asyncio

import gomalock

MAC_ADDRESS = "XX:XX:XX:XX:XX:XX"
SECRET_KEY = "0123456789abcdef0123456789abcdef"


async def main():
    async with gomalock.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 Touch
⚠️ Sesame Touch Pro (未検証)
Sesame Face
Sesame Face Pro

対応環境

OS

対応状況 OS
Windows 11 version 22000 以降
Linux with BlueZ 5.82 以降
⚠️ macOS 10.15 以降 (未検証)

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.1.1.tar.gz (24.6 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.1.1-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gomalock-1.1.1.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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.1.1.tar.gz
Algorithm Hash digest
SHA256 f814cd5ce1ad9e129ab0fdda15ea67685fb9a1228c26f2a91ee318252c0970f9
MD5 85c1f2e8911c6c21862824099a5815a7
BLAKE2b-256 56e337bc2373a56f7cd328a668f7c224eb26eb328b68107d73aaba3b2fc4a13a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gomalock-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 03a3060594097d6a938517cdacf056fb86a7a30f67cf51eaaf314b54fa80014c
MD5 d217548c83eb1316706174f1490270d6
BLAKE2b-256 ed4f7f817f8e4d89bc9648ebad30cdd8836046929c71bac6cac983db549a34dd

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