dswd / OctoPrint-PSUControl-Tapo

Adds TPLink Smart Plug support to OctoPrint-PSUControl as a sub-plugin
GNU Affero General Public License v3.0
7 stars 2 forks source link

v0.4.0 both new and old protocols do not work #12

Closed lub1q closed 9 months ago

lub1q commented 9 months ago

I have Tapo P115 (latest firmware 1.2.3 Build 230425 Rel. 142542) and I have just upgraded the plugin from 0.1.2 to 0.4.0. The PSU switch stopped working. Relevant logs:

2023-10-14 22:31:13,553 - octoprint.plugins.psucontrol_tapo - ERROR - Failed to initialize protocol NewProtocol
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 268, in _initialize
    protocol._initialize()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 99, in _initialize
    raise Exception("Failed to authenticate")
Exception: Failed to authenticate
2023-10-14 22:31:16,934 - octoprint.plugins.psucontrol_tapo - ERROR - Error: {'error_code': -1501}
2023-10-14 22:31:16,935 - octoprint.plugins.psucontrol_tapo - ERROR - Failed to initialize protocol OldProtocol
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 268, in _initialize
    protocol._initialize()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 248, in _initialize
    result = self._request("login_device", {
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 188, in _request
    raise Exception(f"Error code: {data['error_code']}")
Exception: Error code: -1501
2023-10-14 22:31:16,936 - octoprint.plugins.psucontrol_tapo - ERROR - Failed to get PSU state
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/__init__.py", line 114, in _fetch_psu_state
    self.last_status = self.device.get_status()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 295, in get_status
    return self._get_device_info()["device_on"]
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 281, in _get_device_info
    return self.request("get_device_info")
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 277, in request
    self._initialize()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 273, in _initialize
    raise Exception("Failed to initialize protocol")
Exception: Failed to initialize protocol
2023-10-14 22:31:16,936 - octoprint.plugins.psucontrol - ERROR - Error while executing callback <bound method PSUControl_Tapo.get_psu_state of <octoprint_psucontrol_tapo.PSUControl_Tapo object at 0x720c7a00>>
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol/__init__.py", line 292, in _check_psu_state
    r = callback()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/__init__.py", line 122, in get_psu_state
    self._fetch_psu_state()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/__init__.py", line 114, in _fetch_psu_state
    self.last_status = self.device.get_status()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 295, in get_status
    return self._get_device_info()["device_on"]
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 281, in _get_device_info
    return self.request("get_device_info")
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 277, in request
    self._initialize()
  File "/home/pi/oprint/lib/python3.9/site-packages/octoprint_psucontrol_tapo/tapo.py", line 273, in _initialize
    raise Exception("Failed to initialize protocol")
Exception: Failed to initialize protocol
lub1q commented 9 months ago

I removed and added Tapo plug in the app. I uninstalled and installed plugin and set it up as previous version. Seems like with the new version I had to use email address. I found out only when I later noticed Failed to authenticate in the trace.