Skip to content

Update tapo requirement from <0.10,>=0.8 to >=0.8,<0.11 - #7

Merged
albond merged 1 commit into
mainfrom
dependabot/pip/tapo-gte-0.8-and-lt-0.11
Oct 8, 2026
Merged

albond merged 1 commit into
mainfrom
dependabot/pip/tapo-gte-0.8-and-lt-0.11

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 4, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on tapo to permit the latest version.

Changelog

Sourced from tapo's changelog.

[Rust v0.10.0][v0.10.0] - 2026-09-28

Added

  • CameraHubHandler: added handler for the H200 and H500 camera hubs. get_general_device_list lists the cameras paired to the hub, get_timezone reads the hub's timezone, get_recording_dates and get_recordings find the days and the recordings stored for a camera within a UTC time range, and download_recording saves a recording as a playable MPEG-TS clip to any AsyncWrite. The sensors and switches paired to the hub work the same way as on the H100, through get_child_device_list and the typed child handlers (t100, t31x, and the rest). Use h200 or h500 on the ApiClient to create it. (thanks to @​dominiquefournier and @​supermimai for testing)
  • DiscoveryResult::CameraHub and DeviceType::CameraHub: discover_devices now finds H200 and H500 camera hubs and returns them with a ready-to-use CameraHubHandler, instead of failing with an error.
  • PlugHandler and PlugEnergyMonitoringHandler: added add_schedule_rule, edit_schedule_rule, get_schedule_rules, get_max_schedule_rules, remove_schedule_rule, and remove_all_schedule_rules for plug schedule rules (the "Schedule" feature in the Tapo app). Construct rules with the ScheduleRule::clock_weekly / clock_once / sunrise_weekly / sunrise_once / sunset_weekly / sunset_once builders, which take a DaysOfWeek set for the days a repeating rule fires on and a ScheduleTime for when it fires. Rules read back from the device are ScheduleRuleResult, which to_editable converts into a ScheduleRule for editing. get_max_schedule_rules reports how many rules the device can store in total. (thanks to @​Hueburtsonly)
  • PlugHandler and PlugEnergyMonitoringHandler: added set_timer, get_timer, and clear_timer for the plug's countdown timer (the "Timer" feature in the Tapo app). The plug supports a single armed timer at a time, so set_timer replaces any timer currently armed. (thanks to @​Hueburtsonly)
  • ChildDeviceHubResult: added device_id(), nickname(), and model() accessors so callers can read these common fields without matching on every variant.
  • HubHandler: added ke100_unchecked, s200_unchecked, s210_unchecked, t100_unchecked, t110_unchecked, t300_unchecked, and t31x_unchecked for constructing typed child handlers without the validation round-trip. Use when the caller already has a valid device id.
  • PowerStripHandler and PowerStripEnergyMonitoringHandler: added plug_unchecked(device_id) for constructing the typed plug handler without the validation round-trip.

Changed

  • TriggerLogsResult: now derives Serialize so the type can be re-serialized by downstream consumers.
  • Device errors: the schedule rule error codes -1802, -1803 and -1805 now report as SCHEDULE_FULL, SCHEDULE_CONFLICT and SCHEDULE_INDEX instead of UNKNOWN. (thanks to @​Hueburtsonly)

Fixed

  • CameraPtzHandler: get_component_list (behind debug feature) now correctly returns the camera's component list rather than an error.
  • AES SSL protocol: an unexpected handshake1 error code (e.g. -40401 SESSION_EXPIRED) now surfaces as an Unauthorized error that reports the received code, instead of a confusing deserialization error about a missing nonce field.
  • ApiClient: logging in to a device no longer writes the password, a value derived from it, or the session token to the debug and trace logs.
  • Error::Http: the message and Debug output now show REDACTED in place of the session token in the request URL, so a failed request to a camera, camera hub or AES-protocol device no longer reveals it.
  • ApiClient: the Debug output now obscures the password and leaves out the session state, so formatting a client or a device handler with {:?} no longer reveals the password.
  • ApiClient and device handlers: a device reply too short to be valid now returns an error instead of panicking.

[Python v0.10.0][v0.10.0] - 2026-09-28

Added

  • CameraHubHandler: added handler for the H200 and H500 camera hubs. get_general_device_list lists the cameras paired to the hub, get_timezone reads the hub's timezone, get_recording_dates and get_recordings find the days and the recordings stored for a camera within a time range given as timezone-aware datetimes, and download_recording saves a recording as a playable MPEG-TS clip to a file path. Each recording reports its video_type as a RecordingType. The sensors and switches paired to the hub work the same way as on the H100, through get_child_device_list and the typed child handlers (t100, t31x, and the rest). Use h200 or h500 on the ApiClient to create it. (thanks to @​dominiquefournier and @​supermimai for testing)
  • DiscoveryResult.CameraHub and DeviceType.CameraHub: discover_devices now finds H200 and H500 camera hubs and returns them with a ready-to-use CameraHubHandler, instead of failing with an error. DeviceType.CameraPtz is now also listed in the type stubs.
  • PlugHandler and PlugEnergyMonitoringHandler: added add_schedule_rule, edit_schedule_rule, get_schedule_rules, get_max_schedule_rules, remove_schedule_rule, and remove_all_schedule_rules for plug schedule rules (the "Schedule" feature in the Tapo app). Construct rules with the ScheduleRule.clock_weekly / clock_once / sunrise_weekly / sunrise_once / sunset_weekly / sunset_once factory methods, which take a DaysOfWeek set for the days a repeating rule fires on and a ScheduleTime for when it fires. Rules read back from the device are ScheduleRuleResult, which to_editable converts into a ScheduleRule for editing. get_max_schedule_rules reports how many rules the device can store in total. (thanks to @​Hueburtsonly)
  • PlugHandler and PlugEnergyMonitoringHandler: added set_timer, get_timer, and clear_timer for the plug's countdown timer (the "Timer" feature in the Tapo app). The plug supports a single armed timer at a time, so set_timer replaces any timer currently armed. (thanks to @​Hueburtsonly)
  • HubHandler: added ke100_unchecked, s200_unchecked, s210_unchecked, t100_unchecked, t110_unchecked, t300_unchecked, and t31x_unchecked for constructing typed child handlers without the validation round-trip. Use when the caller already has a valid device id.
  • PowerStripHandler and PowerStripEnergyMonitoringHandler: added plug_unchecked(device_id) for constructing the typed plug handler without the validation round-trip.

Changed

  • Device errors: the schedule rule error codes -1802, -1803 and -1805 now report as SCHEDULE_FULL, SCHEDULE_CONFLICT and SCHEDULE_INDEX instead of UNKNOWN. (thanks to @​Hueburtsonly)

Fixed

  • CameraPtzHandler: get_component_list now correctly returns the camera's component list rather than raising an exception.
  • AES SSL protocol: an unexpected handshake1 error code (e.g. -40401 SESSION_EXPIRED) now surfaces as an authentication error that reports the received code, instead of a confusing deserialization error about a missing nonce field.
  • ApiClient: logging in to a device no longer writes the password, a value derived from it, or the session token to the debug and trace logs.
  • HTTP errors: the exception message now shows REDACTED in place of the session token in the request URL, so a failed request to a camera, camera hub or AES-protocol device no longer reveals it.
  • ApiClient and device handlers: a device reply too short to be valid now raises an error instead of panicking.

[MCP v0.5.0][tapo-mcp-v0.5.0] - 2026-07-11

... (truncated)

Commits
  • 309e63c chore(tapo): release v0.10.0
  • 6ffc61f chore(deps): bump the rust-patch group across 1 directory with 5 updates
  • 2abcb7f chore(deps): bump uuid from 1.24.1 to 1.25.0
  • 09ea7fe chore(deps-dev): bump maturin from 1.14.1 to 1.15.0 in /tapo-py
  • b277277 feat(tapo, tapo-py, tapo-mcp): add H200 and H500 camera hub support
  • 278e6e8 chore(claude): extend the pre-commit checks
  • b71be50 fix(tapo): return errors instead of panicking on malformed device data
  • 531620f fix(tapo, tapo-py, tapo-mcp): redact the session token from HTTP errors
  • fbccc5a fix(tapo): drop Debug from protocol session structs and wrap the KLAP seq
  • 8c35917 fix(tapo): keep passwords and session tokens out of logs and Debug
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [tapo](https://github.com/mihai-dinculescu/tapo) to permit the latest version.
- [Release notes](https://github.com/mihai-dinculescu/tapo/releases)
- [Changelog](https://github.com/mihai-dinculescu/tapo/blob/main/CHANGELOG.md)
- [Commits](mihai-dinculescu/tapo@v0.8.0...v0.10.0)

---
updated-dependencies:
- dependency-name: tapo
  dependency-version: 0.10.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 4, 2026
@dependabot
dependabot Bot requested a review from albond as a code owner October 4, 2026 19:42
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 4, 2026
@albond
albond merged commit 901209e into main Oct 8, 2026
12 checks passed
@dependabot
dependabot Bot deleted the dependabot/pip/tapo-gte-0.8-and-lt-0.11 branch October 8, 2026 05:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant