All of my TP15s updated to the following firmware the morning of (I believe) Feb 4th. Since then I've been unable to access them using python-kasa (and all of my Home Assistant integrations for these devices has failed as well).
1.4.2 Build 251204 Rel.103056
Running kasa -v -d discover:
...
DEBUG:kasa.device_factory:Finding protocol for 192.168.3.80
DEBUG:kasa.device_factory:Finding protocol for DeviceFamily.SmartTapoPlug
DEBUG:kasa.device_factory:Finding transport for SMART.AES
DEBUG:kasa.transports.aestransport:Created AES transport for 192.168.3.80
DEBUG:kasa.discover:[DISCOVERY] 192.168.3.80 << {'error_code': 0,
'result': {'device_id': 'REDACTED',
'device_model': 'TP15(US)',
'device_type': 'SMART.TAPOPLUG',
'factory_default': False,
'ip': '192.168.3.80',
'is_support_iot_cloud': True,
'mac': '7C-F1-7E-00-00-00',
'mgt_encrypt_schm': {'encrypt_type': 'AES',
'http_port': 80,
'is_support_https': False,
'lv': 2},
'obd_src': 'matter',
'owner': 'REDACTED',
'protocol_version': 1,
'tpap_preferred': False}}
DEBUG:kasa.device:Initializing 192.168.3.80 of type <class 'kasa.smart.smartdevice.SmartDevice'>
...
DEBUG:kasa.protocols.smartprotocol:192.168.3.80 multi-request-batch-1-of-1 >> '{"method"(12 results) 18:35:58 [100/1016]
_milis":1770510958484,"terminal_uuid":"yBlTFZ60fa3oz1F4QpkwoA==","params":{"requests":[{"method":"component_nego"},{"met
hod":"get_device_info"},{"method":"get_connect_cloud_state"}]}}'
DEBUG:kasa.transports.aestransport:Will perform handshaking...
DEBUG:kasa.httpclient:Posting to http://192.168.3.80/app
DEBUG:kasa.transports.aestransport:Generating keypair
DEBUG:kasa.transports.aestransport:Handshake request: {'method': 'handshake', 'params': {'key': '-----BEGIN PUBLIC KEY--
---\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDXR6r/fU60VJaw5rhmvf8ckEk1xr891tm9jXHxQ9BRCddNu7mYQvaG++o6mF1wZsHRTe+dSMMdi+
kMwe7bvUMkAHJ8WLdkkTCtbQxjacxFoevadQh5EhznPn30JbHfitbW7gWX0xIAL5JK9YKcJIx5ahlP47CXq6nxTYgVCfdcwIDAQAB\n-----END PUBLIC K
EY-----\n'}}
DEBUG:kasa.transports.aestransport:Device responded with: {'error_code': 1003}
DEBUG:kasa.protocols.smartprotocol:Unable to authenticate with 192.168.3.80, not retrying: Unable to complete handshake:
192.168.3.80: TRANSPORT_UNKNOWN_CREDENTIALS_ERROR(1003) (error_code=TRANSPORT_UNKNOWN_CREDENTIALS_ERROR)
== Authentication failed for device ==
== Discovery Result ==
Device Type: SMART.TAPOPLUG
Device Model: TP15(US)
IP: 192.168.3.80
MAC: 7C-F1-7E-3C-B8-8E
Device Id (hash): xxxxxxxxx
Owner (hash): xxxxxxxxx
Supports IOT Cloud: True
OBD Src: matter
Encrypt Type: AES
HTTP Port: 80
Login version: 2
My guess is that the device doesn't like the public key for some reason. Edit: that doesn't really make sense. I tried 2048-bit keys just for the sake of trying, but that had no impact. I have no idea what's wrong.
I can move these devices to Matter, but I think restoring functionality for these devices through python-kasa is still important. I'll see if I can get a packet capture of working authentication to the devices from the app.
All of my TP15s updated to the following firmware the morning of (I believe) Feb 4th. Since then I've been unable to access them using python-kasa (and all of my Home Assistant integrations for these devices has failed as well).
1.4.2 Build 251204 Rel.103056Running
kasa -v -d discover:My guess is that the device doesn't like the public key for some reason.Edit: that doesn't really make sense. I tried 2048-bit keys just for the sake of trying, but that had no impact. I have no idea what's wrong.I can move these devices to Matter, but I think restoring functionality for these devices through python-kasa is still important. I'll see if I can get a packet capture of working authentication to the devices from the app.