Skip to content

v5.0.0 - V2 API Support

Choose a tag to compare

@piekstra piekstra released this 08 Feb 05:23
· 14 commits to main since this release
08b5040

What's New

V2 API Authentication (#101)

  • HMAC-SHA1 request signing for all API calls
  • V2 login with regional URL discovery
  • MFA (two-factor authentication) support via mfa_callback
  • Refresh token support with automatic token renewal
  • TP-Link private CA certificate chain bundled for SSL verification
  • Custom exception classes: TPLinkAuthError, TPLinkMFARequiredError, TPLinkTokenExpiredError, TPLinkCloudError

New Device Support (#102)

  • HS200 - Smart Light Switch
  • KP200 - Smart Outdoor Plug (2 outlets, with child device support)
  • KP400 - Smart Outdoor Plug (2 outlets, with child device support)
  • KL420L5 - Smart LED Light Strip (color, brightness, color temp)
  • KL430 - Smart Light Strip, Multicolor (color, brightness, color temp)

Updated Test Infrastructure (#103)

  • WireMock stubs updated for V2 authentication flow
  • Added V2 account status and login mock endpoints
  • Added sys_info stubs for all new device types
  • Relaxed header matching for V2 signing compatibility

Documentation (#104)

  • README updated with V2 API usage, MFA, token management, error handling
  • Device compatibility list expanded from 7 to 15 devices
  • Usage examples for light strips, outdoor plugs, and switches

Breaking Changes

  • Authentication now uses V2 API by default (V1 wap.tplinkcloud.com replaced by V2 n-wap.tplinkcloud.com)
  • TPLinkDeviceManager constructor accepts new mfa_callback parameter
  • Login may raise TPLinkAuthError or TPLinkMFARequiredError instead of generic exceptions
  • Python 3.10+ required

Full Changelog

v4.2.1...v5.0.0