sdamasoc / domoticz_panasonic_CZ-TACG1

A Python plugin for Domoticz to communicate with Panasonic Cloud Confort throught CZ-TACG1 WiFi adapter
MIT License
8 stars 2 forks source link

API Changed Again Pluging not working #17

Closed Hypermobile12 closed 4 days ago

Hypermobile12 commented 1 week ago

Home Assistance has the same issue i Guess. https://github.com/sockless-coding/panasonic_cc/issues/333

error message in Logs: Data: {"code":"4106", "message": "New version app has been published"}

I've tried to Set the AppVersoinSetting to 1.22.0. But no luck so far.

sdamasoc commented 1 week ago

Hi, Indeed, they changed their API again... I will have a look. Thanks to report it

Olifant1990 commented 6 days ago

See also https://github.com/sockless-coding/panasonic_cc/issues/331

GSVGreyAreaUK commented 6 days ago

@sdamasoc Thanks man, your support is greatly appreciated. I upgraded HA and reinstalled the integration to find what everyone else is experiencing.

sdamasoc commented 6 days ago

See also https://github.com/sockless-coding/panasonic_cc/issues/331

I'm following that thread, I hope they will find something or that Panasonic answers... On my side I'm blocked 😞

Olifant1990 commented 4 days ago

Solved with https://github.com/sockless-coding/panasonic_cc/pull/336. I can confirm it is working again!

sdamasoc commented 4 days ago

I've applied the same changes. Thank you all

Hypermobile12 commented 4 days ago

What is the easiest way to update the Plugin?

go to plugin folder 'Git pull' or something?

sdamasoc commented 4 days ago

What is the easiest way to update the Plugin?

go to plugin folder 'Git pull' or something?

yes, that should be enough but you have to restart Domoticz afterwards

Hypermobile12 commented 4 days ago

it worked but only 1 time

restarted the Plugin:

got this in the Log

2024-11-08 19:20:00.671 Status: Airco: Stop directive received. 2024-11-08 19:20:00.720 Status: Airco: Exiting work loop. 2024-11-08 19:20:00.771 Status: Airco: Stopping threads. 2024-11-08 19:20:00.771 Status: Airco: Stopped. 2024-11-08 19:20:06.098 Airco: Worker thread started. 2024-11-08 19:20:06.098 Status: Airco: Started. 2024-11-08 19:20:06.098 Status: Airco: Entering work loop. 2024-11-08 19:20:06.622 Status: Airco: Initialized version 2.0.0, author 'sdamasoc' 2024-11-08 19:20:06.624 Airco: Getting latest Comfort Cloud version from the App Store... 2024-11-08 19:20:06.939 Airco: get_app_version=1.22.0 2024-11-08 19:20:10.318 Error: Airco: Call to function 'onStart' failed, exception details: 2024-11-08 19:20:10.319 Error: Airco: Traceback (most recent call last): 2024-11-08 19:20:10.319 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/plugin.py", line 204, in onStart 2024-11-08 19:20:10.319 Error: Airco: _plugin.onStart() 2024-11-08 19:20:10.319 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/plugin.py", line 70, in onStart 2024-11-08 19:20:10.319 Error: Airco: config.client = accsmart.get_client() 2024-11-08 19:20:10.319 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/accsmart.py", line 20, in get_client 2024-11-08 19:20:10.319 Error: Airco: client.start_session() 2024-11-08 19:20:10.320 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/pcomfortcloud/apiclient.py", line 28, in start_session 2024-11-08 19:20:10.320 Error: Airco: super().start_session() 2024-11-08 19:20:10.320 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/pcomfortcloud/panasonicsession.py", line 95, in start_session 2024-11-08 19:20:10.320 Error: Airco: self._get_new_token() 2024-11-08 19:20:10.320 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/pcomfortcloud/panasonicsession.py", line 286, in _get_new_token 2024-11-08 19:20:10.320 Error: Airco: check_response(response, 'get_acc_client_id', 200) 2024-11-08 19:20:10.320 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/pcomfortcloud/panasonicsession.py", line 49, in check_response 2024-11-08 19:20:10.320 Error: Airco: raise exceptions.ResponseError( 2024-11-08 19:20:10.320 Error: Airco: pcomfortcloud.exceptions.ResponseError: (get_acc_client_id: Expected status code 200, received: 412: { 2024-11-08 19:20:10.320 Error: Airco: "code":41201, 2024-11-08 19:20:10.320 Error: Airco: "message":"Precondition Failed" 2024-11-08 19:20:10.320 Error: Airco: } 2024-11-08 19:20:16.090 Error: Airco: Call to function 'onHeartbeat' failed, exception details: 2024-11-08 19:20:16.090 Error: Airco: Traceback (most recent call last): 2024-11-08 19:20:16.090 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/plugin.py", line 239, in onHeartbeat 2024-11-08 19:20:16.090 Error: Airco: _plugin.onHeartbeat() 2024-11-08 19:20:16.090 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/plugin.py", line 174, in onHeartbeat 2024-11-08 19:20:16.090 Error: Airco: devicejson = accsmart.get_device_by_id(deviceid) 2024-11-08 19:20:16.090 Error: Airco: File "/home/hypermobile/dev-domoticz/plugins/domoticz_panasonic_CZ-TACG1/accsmart.py", line 29, in get_device_by_id 2024-11-08 19:20:16.090 Error: Airco: json_response = config.client.execute_get(config.client._get_device_status_url(device_id), "get_device", 200) 2024-11-08 19:20:16.090 Error: Airco: AttributeError: 'NoneType' object has no attribute 'execute_get' '

Hypermobile12 commented 4 days ago

Ohw And Restarting Domoticz Service Does seem to fix the issue

What i did before Breaking the Pluging:

I Changed the update Interval. Clicked Update > then i guess the TOKEN is not refreshed correctly? or something.

All devices were removed and replaced by new ones...something annoying in Blockly.

sdamasoc commented 3 days ago

Glad to hear it’s working. Back then, I added the remove/add process for all devices on startup because, if a device was disconnected, it would still appear in the list, I should come up with a smarter approach to only remove and add devices that aren’t already in the list...

Hypermobile12 commented 3 days ago

It still works :-) so that's nice.

My Suggestion to make it nicer. To prevent recreating the Devices - > Make a RadioButton Y/N on the PluginSettings "Recreated Devices after Disconnect"

And Second: Create a Domoticz Switch "Panasonic CC Plugin Active" If it goes off > you can do plenty of things with that. (sent a message to your phone, or Do something smart in Blockly /Lua etc.)

sdamasoc commented 3 days ago

Thanks for the advice. Yes, I really should rewrite the entire plugin and do a major cleanup... If you know Python, feel free to create a pull request for it

Hypermobile12 commented 3 days ago

I know C# what's the best environment to work in? VS?

sdamasoc commented 3 days ago

The plugin is written in Python. I am a Java programmer so for this plugin I use VS with copilot plugin 😅