|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged sesame_ros at Robotics Stack Exchange
|
sesame_ros package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | BSD-3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kei Okada
- Yuto Uchimi
Authors
- Yuto Uchimi
sesame_ros
ROS API for Sesame smart lock made by CANDY HOUSE, Inc.

API key
You have to create your authorization token by logging into the CANDY HOUSE Dashboard: https://my.candyhouse.co/
Note that you must be the owner of your Sesame in order to use Web API.
Please make sure you can see the list of Sesames on CANDY HOUSE Dashboard.
Python Package Requirements
This package supports catkin_virtualenv.
So pip dependencies written in requirements.txt will be automatically installed into virtualenv during build.
Scripts in this package
-
list_sesames.py
A script for listing your Sesames.
Arguments
-
auth_token(required): Your authorization token. Path to its file is also supported.
-
-
sesame_server.py
A node for controlling your Sesame.
Parameters
-
~auth_token(string, required): Your authorization token. Path to its file is also supported. -
~device_id(string, optional): UUID of your Sesame. -
~nickname(string, optional): Nickname of your Sesame.
~device_idand~nicknameare used for searching Sesame from your Sesame list.If neither of them matches or is specified, the first found Sesame will be used.
-
~command_timeout(intorfloat, optional): Timeout for executing commands. Default is 60 [sec].
Advertising services (See Usage section)
-
~get_status(sesame_ros/Status) -
~lock(sesame_ros/Command) -
~unlock(sesame_ros/Command) -
~force_sync(sesame_ros/Command)
-
Defined service list
- sesame_ros/Status
---
string nickname
string serial
string device_id
int32 battery
bool locked
bool responsive
- sesame_ros/Command
---
string status
bool successful
string error
Usage
To list your Sesames:
Just run below.
$ rosrun sesame_ros list_sesames.py YOUR_AUTH_TOKEN
To controll your Sesame:
- Start service server.
File truncated at 100 lines see the full file
Changelog for package sesame_ros
3.0.1 (2026-11-10)
- Merge pull request #583 from k-okada/rosdistro-55247-review rosdistro#55247 review: rename power_switching_tools_ros to jsk_power_switching_tools, fix licenses
- use SPDX license identifiers (BSD-3-Clause, Apache-2.0) in package.xml BSD -> BSD-3-Clause and Apache / "Apache License, Version 2.0" -> Apache-2.0 in all packages (ros/rosdistro#55247 review). The LICENSE files of all of them are BSD 3-Clause and Apache 2.0 respectively. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
- Contributors: Kei Okada
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge branch 'master' into voicevox-ros1-ros2
-
AMENT_IGNORE: do not add AMENT_IGNORE to packages already ported to ROS2 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros and switchbot_ros are already ROS2 packages on master, so this PR must not AMENT_IGNORE them. Also remove ros_speech_recognition/AMENT_IGNORE, as this PR ports it to ROS2. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into ros2-speech-recognition-only
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
AMENT_IGNORE packages ported to ROS2 in jsk-ros-pkg/jsk_3rdparty#575 chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, rospatlite, sesame_ros and switchbot_ros are ROS1 only here, so the ROS2 CI skips them until #575. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[sesame_ros] add ROS2 support Single package.xml/CMakeLists.txt branched on $ROS_VERSION, same as chaplus_ros and jsk_common's ROS2-ported packages.
- CMakeLists.txt: the ROS2 block is prepended and the ROS1 original is wrapped in else()/endif() unchanged. ROS2 generates
srv/*.srvwith rosidl_generate_interfaces() and installs sesame_server.py / list_sesames.py with a python3 shebang. ROS2 uses the system python3-requests instead of catkin_virtualenv (ROS1 only).- package.xml: format 2 -> 3 (needed for condition=).
- sesame_server.py: uses jsk_ros1_ros2_compat's rospy_rclpy_compat (get_param, create_service, create_response,
log*), with the same rospy-forwarding fallback as chaplus_ros when jsk_ros1_ros2_compat (jsk_common >= 3.0) is not available. The originalStatusResponse(*values)/CommandResponse(*values)lines are kept, with the response classes from ros_compat.get_response_class() (ROS2 responses take neither positional arguments nor None otherwise).- test/test_rospy_node.test (rostest) stays ROS1-only.
- The ROS2 scripts are installed with jsk_ros1_ros2_compat's jsk_ros1_ros2_compat_install_python() (python3 shebang), from jsk-ros-pkg/jsk_common#1832, as a ROS2-only buildtool_depend (>= 3.0.2) that stays off rosidl's build dependencies. Drop make_response(): StatusResponse/CommandResponse come from ros_compat.get_response_class(), which also takes positional fields on ROS2, so the original [return StatusResponse(*self._get_sesame_status())]{.title-ref} lines are kept. main with ros_compat.init_node()/spin(), no explicit private_name(). Uses jsk-ros-pkg/jsk_common#1831 (>= 3.0.2 on ROS2). Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Contributors: Kei Okada
2.1.31 (2025-05-13)
2.1.30 (2025-05-10)
- CI: add ROS-O testing on arm (#528), fix sesame_ros on arm64
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| message_generation | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| rosidl_default_generators | |
| jsk_ros1_ros2_compat | |
| message_runtime | |
| rosidl_default_runtime | |
| rclpy | |
| rostest |