Skip to content

Update tapo requirement from <0.11,>=0.8 to >=0.8,<0.12 - #8

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/tapo-gte-0.8-and-lt-0.12
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/tapo-gte-0.8-and-lt-0.12

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updates the requirements on tapo to permit the latest version.

Changelog

Sourced from tapo's changelog.

[Rust v0.11.1][v0.11.1] - 2026-10-04

Added

  • ApiClient: added support for the TPAP protocol, which lights, plugs, power strips, hubs and cameras on recent firmware require when the Third-Party Compatibility option is switched off in the Tapo app. Such a device can now be used without changing that option, both when connecting by IP address and through ApiClient::discover_devices. A camera hub (H200, H500) is logged in to over TPAP only through ApiClient::discover_devices.
  • TapoResponseError::Unauthorized: added the TPAP_CREDENTIALS kind for a wrong password and the TPAP_AUTH_ATTEMPTS_LIMIT kind for a device that has locked itself after too many failed logins. A locked device refuses every login for a while, so neither error should be retried in a loop. A device that accepts the login but cannot prove that it knows the password as well is reported with the TPAP_HASH_MISMATCH kind.

Changed

  • ApiClient::discover_devices: a device that speaks the TPAP protocol is now returned like any other device, instead of being reported with an Error::UnsupportedProtocol error. That error is now reserved for a device that speaks TPAP in a way the library cannot handle yet, and its description names what the device announced.
  • ApiClient: connecting to a light, plug, power strip or H100 hub by IP address now starts by asking the device which protocol it speaks, so that a device that requires TPAP is logged in to over TPAP. This takes the place of the legacy protocol probe removed in v0.11.0, so connecting sends as many requests as it did before that release.
  • ApiClient: connecting to a camera by IP address now logs in over the TPAP protocol whenever the camera takes it, and sends one request more to a camera that does not. A camera hub is still logged in to over AES SSL. ApiClient::discover_devices logs in to a camera or camera hub over the protocol it announces.
  • Cameras and camera hubs: a request on an expired session now returns a TapoResponseError::Unauthorized error of kind SESSION_TIMEOUT, instead of a TapoResponseError::HttpError with status code 401. As for every other device, refresh_session recovers from it.

[Python v0.11.1][v0.11.1] - 2026-10-04

Added

  • ApiClient: added support for the TPAP protocol, which lights, plugs, power strips, hubs and cameras on recent firmware require when the Third-Party Compatibility option is switched off in the Tapo app. Such a device can now be used without changing that option, both when connecting by IP address and through ApiClient.discover_devices. A camera hub (H200, H500) is logged in to over TPAP only through ApiClient.discover_devices.
  • ApiClient: a wrong password on a device that speaks TPAP raises an exception of kind TPAP_CREDENTIALS, and a device that has locked itself after too many failed logins raises one of kind TPAP_AUTH_ATTEMPTS_LIMIT. A locked device refuses every login for a while, so neither should be retried in a loop. A device that accepts the login but cannot prove that it knows the password as well raises one of kind TPAP_HASH_MISMATCH.

Changed

  • ApiClient.discover_devices: a device that speaks the TPAP protocol is now returned like any other device, instead of raising an unsupported protocol exception. That exception is now reserved for a device that speaks TPAP in a way the library cannot handle yet, and its message names what the device announced.
  • ApiClient: connecting to a light, plug, power strip or H100 hub by IP address now starts by asking the device which protocol it speaks, so that a device that requires TPAP is logged in to over TPAP. This takes the place of the legacy protocol probe removed in v0.11.0, so connecting sends as many requests as it did before that release.
  • ApiClient: connecting to a camera by IP address now logs in over the TPAP protocol whenever the camera takes it, and sends one request more to a camera that does not. A camera hub is still logged in to over AES SSL. ApiClient.discover_devices logs in to a camera or camera hub over the protocol it announces.
  • Cameras and camera hubs: a request on an expired session now raises an exception of kind SESSION_TIMEOUT, instead of an HTTP error with status code 401. As for every other device, refresh_session recovers from it.

[MCP v0.5.2][tapo-mcp-v0.5.2] - 2026-10-02

Changed

  • get_device_state: TriggerLogs entries now carry triggered_at as an ISO 8601 UTC string instead of the Unix-seconds timestamp.
  • get_device_state: TemperatureHumidityRecords now reports the time the records were retrieved as retrieved_at and the time of each record as recorded_at, instead of datetime for both.
  • list_devices, check_device, get_device_state, control_device: a device that only accepts the TPAP protocol now fails with a message that points to the Third-Party Compatibility option in the Tapo app, instead of one from a failed handshake. In list_devices the device is reported under errors.

Fixed

  • list_devices, check_device, get_device_state: an H200 or H500 camera hub and the sensors paired to it no longer fail intermittently with error sending request. In list_devices this reported the hub under errors instead of listing it as a device.

Removed

  • list_devices, check_device, get_device_state, control_device: removed support for devices whose firmware only speaks the legacy AES protocol. Such a device now fails with a message that says its firmware needs updating in the Tapo app. In list_devices it is reported under errors instead of being listed.

[Rust v0.11.0][v0.11.0] - 2026-10-02

Added

  • Error::UnsupportedProtocol: added variant for a device that speaks a protocol the library does not support. It carries the protocol name and a description of what to do about it.

... (truncated)

Commits
  • 94410b5 chore(tapo): release v0.11.1
  • fea8119 Merge pull request #660 from mihai-dinculescu/feat/tpap-protocol
  • f0b7d7f feat(tapo, tapo-py): log in to discovered devices over the protocol they anno...
  • c5efde8 fix(tapo, tapo-py): report an expired camera session as SESSION_TIMEOUT
  • ed981c5 refactor(tapo): send each camera request under its own method
  • b5406b5 feat(tapo, tapo-py, tapo-mcp): add TPAP support for cameras and camera hubs
  • 9a444e3 feat(tapo, tapo-py, tapo-mcp): add support for the TPAP protocol
  • a0cddd8 chore(tapo-mcp): release v0.5.2
  • c99431a chore(tapo): release v0.11.0
  • 22797e4 chore(deps): bump serde_with from 3.23.0 to 3.24.0 (#655)
  • 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.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot requested a review from albond as a code owner October 11, 2026 19:44
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 11, 2026
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.

0 participants