Skip to content

Unofficial Python Library to control smart devices running Sesame OS2.

License

Notifications You must be signed in to change notification settings

mochipon/pysesameos2

Repository files navigation

pysesameos2

Unofficial Python Library to communicate with SESAME products via Bluetooth.

PyPI PyPI - Python Version GitHub Workflow Status (branch) Documentation Status codecov PyPI - License

Introduction

This project aims to control smart devices running Sesame OS2 via Bluetooth. If you want to control them via the cloud service, please check pysesame3.

To be honest, this is my first time to use Bleak which provides an asynchronous, cross-platform Bluetooth API. PRs are heavily welcome.

Tested Environments

  • macOS 10.15.7, Python 3.9.5
  • Raspberry Pi Zero W (Raspbian GNU/Linux 10, Raspberry Pi reference 2021-05-07), Python 3.7.3

Supported devices

Features

  • Scan all SESAME locks using BLE advertisements.
  • Receive state changes (locked, handle position, etc.) that are actively reported from the device.
  • Needless to say, locking and unlocking!

Consideration

  • The results of pysesameos2 are merely from reverse engineering of the official SDK. We have implemented just a small part of it, so you might run into some issues. Please do let me know if you find any problems!
  • pysesameos2 only supports devices that have already been initially configured using the official app. That is, pysesameos2 cannot configure the locking position of your device.
  • pysesameos2 does not have, and will not have, any functionality related to the operation history of locks. According to the document, your lock's operation history is not stored in the lock itself, but on the cloud service. I personally recommend you to bring a Wi-Fi module to get the operation history uploaded and retrive it by the API.

Usage

Please take a look at the example directory.

Related Projects

Libraries

Name Lang Communication Method
pysesame Python Sesame API v1/v2
pysesame2 Python Sesame API v3
pysesame3 Python Web API, CognitoAuth (The official android SDK reverse-engineered)
pysesameos2 Python Bluetooth

Integrations

Name Description Communication Method
doorman Control SESAME3 from Homebridge by MQTT Web API
Doorlock iOS widget for Sesame 3 smart lock Web API
gopy-sesame3 NFC (Felica) integration Web API
homebridge-open-sesame Homebridge plugin for SESAME3 Cognito integration
homebridge-sesame-os2 Homebridge Plugin for SESAME OS2 (SESAME3) Web API
sesame3-webhook Send SESAME3 status to specified url. (HTTP Post) CognitoAuth (based on pysesame3)

Credits & Thanks