Skip to content

Releases: mochipon/pysesame3

v0.6.0

30 May 03:57
Compare
Choose a tag to compare

⚠️ Noticeable changes for CognitoAuth users

I don't think I have received any official notification yet, but it seems that users are now charged to use the Web API from CANDY HOUSE as pointed at #79 (comment).

Following their clear statement, we decided to use their official (Paid) API to operate the device. However, this library will continue to provide the ability to connect to AWS IoT Core and receive real-time device state changes. This is the only feature that this library implements that is not officially provided.

I have tried to maintain all backward compatibility, so you will be able to continue to use this library without any particular changes.

公式には発表されていないと思いますが、CANDY HOUSE は SESAME デバイスの Web API を有料化しました。

このライブラリでは CognitoAuth という認証方法を使うことで公式に提供されている Web API 以上の機能を利用することができましたが、その一環として非公式な API を活用していました。

しかし、CANDY HOUSE の利益に明確に反することは、このライブラリの意図するところではありません。そのため、このリリースから、デバイスを操作する全ての API は公式の (有料化された) Web API を利用することにしました。唯一、公式では提供されていないリアルタイムな鍵の状態変化を受け取る機能 (subscribeMechStatus) は、オープンソースで公開されている公式の SDK に基づいた (Web API を利用しない) 実装となっています。

後方互換性を維持するように努めているので、このライブラリを利用するユーザへの影響はありません。

What's Changed

  • Drop Python 3.6 support and Bump dependencies by @mochipon in #80
  • Fix typo: getBatteryPrecentage -> getBatteryPercentage by @mochipon in #81
  • Update codecov/codecov-action action to v3 by @renovate in #75
  • Update actions/setup-python action to v3 by @renovate in #73
  • Update actions/checkout action to v3 by @renovate in #72
  • set UUIDv4 as AWSIoT Client ID by @konikoni428 in #78
  • Use official Web API to control SESAME devices by @mochipon in #82
  • Use master site (GitHub) for flake8 by @mochipon in #85
  • Update dependency mkdocstrings to ^0.19.0 by @renovate in #68
  • Update dependency mkdocstrings-python to ^0.7.0 by @renovate in #84

New Contributors

Full Changelog: v0.5.1...v0.6.0

v0.6.0-rc.1

24 May 13:45
Compare
Choose a tag to compare
v0.6.0-rc.1 Pre-release
Pre-release

⚠️ Warning

This is a pre-release version! By default, pip only finds stable versions. If you want to try this version, please use pip install --pre pysesame3[cognito].

If you find any problem, kindly report it to me. Thank you!

このバージョンは正式リリース前のリリース候補版です。もし問題を発見したら、どうか Issue として報告してください。

pip は標準でリリース版しかインストールしません。このリリース候補版をインストールするためには pip install --pre pysesame3[cognito] コマンドを実行してください。

⚠️ Noticeable changes for CognitoAuth users

I don't think I have received any official notification yet, but it seems that users are now charged to use the Web API from CANDY HOUSE as pointed at #79 (comment).

Following their clear statement, we decided to use their official (Paid) API to operate the device. However, this library will continue to provide the ability to connect to AWS IoT Core and receive real-time device state changes. This is the only feature that this library implements that is not officially provided.

I have tried to maintain all backward compatibility, so you will be able to continue to use this library without any particular changes.

公式には発表されていないと思いますが、CANDY HOUSE は SESAME デバイスの Web API を有料化しました。

このライブラリでは CognitoAuth という認証方法を使うことで公式に提供されている Web API 以上の機能を利用することができましたが、その一環として非公式な API を活用していました。

しかし、CANDY HOUSE の利益に明確に反することは、このライブラリの意図するところではありません。そのため、このリリースから、デバイスを操作する全ての API は公式の (有料化された) Web API を利用することにしました。唯一、公式では提供されていないリアルタイムな鍵の状態変化を受け取る機能 (subscribeMechStatus) は、オープンソースで公開されている公式の SDK に基づいた (Web API を利用しない) 実装となっています。

後方互換性を維持するように努めているので、このライブラリを利用するユーザへの影響はありません。

What's Changed

  • Drop Python 3.6 support and Bump dependencies by @mochipon in #80
  • Fix typo: getBatteryPrecentage -> getBatteryPercentage by @mochipon in #81
  • Update codecov/codecov-action action to v3 by @renovate in #75
  • Update actions/setup-python action to v3 by @renovate in #73
  • Update actions/checkout action to v3 by @renovate in #72
  • set UUIDv4 as AWSIoT Client ID by @konikoni428 in #78
  • Use official Web API to control SESAME devices by @mochipon in #82

New Contributors

Full Changelog: v0.5.1...v0.6.0-rc.1

v0.5.1

03 Nov 06:07
Compare
Choose a tag to compare

Changelog

⚠️ Noticeable changes for CognitoAuth users

Candyhouse no longer issues a user-specific CLIENT_ID. It seems that we can continue to use the CLIENT_IDs that we have been using, but we no longer need to provide it to use CognitoAuth.

Old

auth = CognitoAuth(
    apikey="API_KEY",
    client_id="CLIENT_ID (like: `us-west-1:11111111-2222-3333-4444-555555555555`)",
)

New

auth = CognitoAuth(apikey="API_KEY")

v0.5.1 (2021-11-03)

Implemented enhancements:

  • [Request]: CLIENT_ID is no longer required for CognitoAuth #64

Merged pull requests:

v0.5.0

02 Sep 07:01
Compare
Choose a tag to compare

Changelog

I sincerely apologize for the delay of this release. Also, I would like to express my deepest thanks to all those who have tested the pre-release versions (v0.5.0-rc.1, v0.5.0-rc.2).

This release contains two major changes, the first is support for the SESAME BOT. Please refer to #45, #51, and the updated docs for details. Also, note that the APIs provided by SESAME Cloud are not fully disclosed in detail. I asked them about the documentation issues, but it has been left unanswered for over a month, and I decided to give up.

The second change affects all users who are using Cognito Auth. That is, we have moved the AWS IoT Device SDK from v1 to v2 at #41. This has significantly improved the stability of the connection to the cloud. In addition, it is now possible to connect to multiple locks simultaneously, which means that a door with two locks can be simply controlled (actually this is what I personally needed!).

If you find any problem, kindly report it to me. Thank you!


このバージョンの正式な公開が遅くなったことを深くお詫びします。また、このバージョンの候補版 (v0.5.0-rc.1, v0.5.0-rc.2) をテストしていただいた全ての方々に深く感謝申し上げます。「便りの無いのは良い便り」といいますし、このバージョンが安定していることを確信しています。

このバージョンでは 2 つの大きな変更がありました。まず 1 つ目は、SESAME BOT をサポートしたことです。詳細は #45, #51, 更新したドキュメント をご参照ください。注意していただきたいのは、SESAME Cloud が提供する API は、その仕様が完全に開示されているわけではないということです。実際に提供されている API の挙動を踏まえて実装しましたが、一部解決されていない問題があります。CANDY HOUSE に問い合わせてみたものの、1 ヶ月以上放置されましたので、諦めました。

2 つ目の変更は、Cognito Auth を使っている全てのユーザに影響します。それは、AWS IoT への接続に使っているライブラリ (AWS IoT Device SDK) を v1 系から v2 系に変更したことです (#41)。これによって、接続の安定性が著しく向上しました。加えて、複数のデバイスに対して同時に接続 (subscribe) することが出来るようになりました。いわゆる「ワンドアツーロック」環境において、このライブラリが使いやすくなりました。

なにか不具合や不明点があれば、遠慮なく Issue から日本語で質問してください。


v0.5.0 (2021-09-02)

Implemented enhancements:

  • [Request]: Support simultaneous subscriptions #40

Fixed bugs:

  • [Bug]: Missing the version menu on the docs site #49

Merged pull requests:

  • Implement CHSesameBotMechStatus for SESAME bot #51
  • Update dependency importlib-metadata to v4 #48
  • Update codecov/codecov-action action to v2 #46
  • 🎉 Support SESAME bot #45
  • Doc update for AWS IoT Device SDK v2 #44
  • Handle AWS_ERROR_MQTT_ALREADY_CONNECTED #43
  • Enable logging #42
  • Move from AWS IoT Device SDK v1 to v2 #41
  • Update precommit hook pre-commit/mirrors-isort to v5.9.2 #39

v0.5.0-rc.2

27 Jul 12:29
Compare
Choose a tag to compare
v0.5.0-rc.2 Pre-release
Pre-release

⚠️Warning

This is a pre-release version! By default, pip only finds stable versions. If you want to try this version, please use pip install --pre pysesame3[cognito].

If you find any problem, kindly report it to me. Thank you!

このバージョンは正式リリース前のリリース候補版です。もし問題を発見したら、どうか Issue として報告してください。

pip は標準でリリース版しかインストールしません。このリリース候補版をインストールするためには pip install --pre pysesame3[cognito] コマンドを実行してください。

v0.5.0-rc.2 (2021-07-27)

Fixed bugs:

  • [Bug]: Missing the version menu on the docs site #49

Merged pull requests:

  • Implement CHSesameBotMechStatus for SESAME bot #51
  • Update dependency importlib-metadata to v4 #48

v0.5.0-rc.1

21 Jul 01:53
Compare
Choose a tag to compare
v0.5.0-rc.1 Pre-release
Pre-release

⚠️Warning

This is a pre-release version! By default, pip only finds stable versions. If you want to try this version, please use pip install --pre pysesame3[cognito].

If you find any problem, kindly report it to me. Thank you!

このバージョンは正式リリース前のリリース候補版です。もし問題を発見したら、どうか Issue として報告してください。

pip は標準でリリース版しかインストールしません。このリリース候補版をインストールするためには pip install --pre pysesame3[cognito] コマンドを実行してください。

v0.5.0-rc.1 (2021-07-20)

Implemented enhancements:

  • [Request]: Support simultaneous subscriptions #40

Merged pull requests:

  • Update codecov/codecov-action action to v2 #46
  • 🎉 Support SESAME bot #45
  • Doc update for AWS IoT Device SDK v2 #44
  • Handle AWS_ERROR_MQTT_ALREADY_CONNECTED #43
  • Enable logging #42
  • Move from AWS IoT Device SDK v1 to v2 #41
  • Update precommit hook pre-commit/mirrors-isort to v5.9.2 #39

v0.4.1

05 Jul 09:59
Compare
Choose a tag to compare

Changelog

v0.4.1 (2021-07-05)

Fixed bugs:

  • [Bug]: Subscription to a device shadow cannot be continued after 24 hours #36

Merged pull requests:

  • Renew Cognito credentials on MQTT reconnection #37

v0.4.0

03 Jul 07:30
Compare
Choose a tag to compare

Changelog

⚠️ Breaking changes for all users

The lock module is renamed into chsesame2 in #31. This is a preparation to support new devices, so please bear with me.

Old

from pysesame3.lock import CHSesame2

New

from pysesame3.chsesame2 import CHSesame2

⚠️ Breaking changes for CognitoAuth users

Using subscribeMechStatus, you can set a function (callback) to be executed when the lock status changes. In previous releases, device shadows were not handled correctly within pysesame3 if you set your own callbacks. The issue is fixed at #27.

From this release, the callback must accept two inputs. The first will be a device object itself and the second will be a latest MechStatus of a device. Please take a look at the updated example script.

Old

def your_callback(client, userdata, message):
    ...

New

def your_callback(device: CHSesame2, status: CHSesame2MechStatus):
    ...

v0.4.0 (2021-07-03)

Fixed bugs:

  • [Bug]: subscribeMechStatus callback will not be executed #32
  • Fix for unexpected (imcomplete) device shadow #33

Merged pull requests:

  • Rename the module: lock -> chsesame2 #31
  • Ensure we have the latest pip version in build environments #30
  • Increase test coverage, correct type hints #29
  • Modernize issue templates #28
  • Support for setting the callback for MechStatus updates #27
  • Fix signed value conversion #26
  • Update precommit hook pre-commit/mirrors-isort to v5.9.1 #24

v0.3.1

21 Jun 13:21
Compare
Choose a tag to compare

Changelog

v0.3.1 (2021-06-21)

Closed issues:

  • history enumeration fails because of unexpected parameter in CHSesame2History. #19

Merged pull requests:

  • Cosmetic Changes #22
  • Update precommit hook pre-commit/mirrors-isort to v5.9.0 #20
  • Update dependency mkdocstrings to ^0.15.0 #18
  • Configure Renovate #17

v0.3.0

15 Jun 08:43
Compare
Choose a tag to compare

Changelog

v0.3.0 (2021-06-15)

⚠️ Important

CognitoAuth is now available from this release. Please take a look at the document.

Please note that CognitoAuth is not available by default. If you want to use it, you need to specify it explicitly when you install the library: pip install pysesame3[cognito].

Merged pull requests:

  • Implement CognitoAuth #15
  • setDeviceShadowStatus when acquiring mechanical state #14