Closed mihsu81 closed 3 years ago
Do you get any error in the logs?
Logger: homeassistant.components.climate Source: custom_components/daikin_residential/daikin_base.py:101 Integration: Climate (documentation, issues) First occurred: 8:45:24 PM (1 occurrences) Last logged: 8:45:24 PM
Error while setting up daikin_residential platform for climate Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform await asyncio.shield(task) File "/config/custom_components/daikin_residential/climate.py", line 84, in async_setup_entry async_add_entities([DaikinClimate(device)], update_before_add=True) File "/config/custom_components/daikin_residential/climate.py", line 98, in init ATTR_SWING_MODE: self._device.swing_modes, File "/config/custom_components/daikin_residential/daikin_base.py", line 239, in swing_modes hMode = self.getData(ATTR_HSWING_MODE) File "/config/custom_components/daikin_residential/daikin_base.py", line 106, in getData cmd_set = self.getCommandSet(param) File "/config/custom_components/daikin_residential/daikin_base.py", line 101, in getCommandSet cmd_set[2] = cmd_set[2].replace("%operationMode%", operation_mode) TypeError: replace() argument 2 must be str, not None
Which version of the Integration have you installed? V. 1.0.1 should fix this issue.
I am using 1.0.1. I've added the repo yesterday evening through HACS. I've even reinstalled it a few minutes ago, but the issue persists.
Update: I've check manifest.json in custom_components/daikin_residential and still says v1.0.0 after a fresh installation of the integration and multiple restarts of HASSIO.
Mmm, I see... strangely, your devices seem to spit out a different JSON structure. Can you please install this PR #6 ? It will store a file called daikin_data.json in your config folder, then please post it here or send it to me. You may want to obfuscate some of the values you'll find in it, such as IDs, serial numbers and stuff. Then I'll be able to have a look at what's going on. Let me know
Here's the file. daikin_data.json.zip Thank you.
OK I see. In your cloud there's a sort of Gateway device (modelInfo is "DRGATEWAYAA"), which spits out a json structure different from the AC units, and the first error encountered makes the integration crash. I tried to filter those gateways out and ignore them, please try PR #7 and tell me if it works...
Unfortunately it is throwing an error now:
Log Details (ERROR)
This error originated from a custom integration.
Logger: homeassistant.config_entries
Source: custom_components/daikin_residential/daikin_api.py:155
Integration: Daikin Residential Controller (documentation, issues)
First occurred: 4:59:37 PM (1 occurrences)
Last logged: 4:59:37 PM
Error setting up entry Daikin for daikin_residential
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 293, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/config/custom_components/daikin_residential/__init__.py", line 58, in async_setup_entry
devices = await daikin_api.getCloudDevices()
File "/config/custom_components/daikin_residential/daikin_api.py", line 155, in getCloudDevices
if 'GATEWAY' not in device.getValue('gateway', 'modelInfo'):
TypeError: getValue() takes 2 positional arguments but 3 were given
DRGATEWAYAA is an OpenTherm Gateway for a D2CND Gas Boiler. Would be awesome if it could be integrated in a future release. :)
My bad, please update the PR and retry.
Would be awesome if it could be integrated in a future release. :)
Maybe in a veeeeery future time 😉 , it has quite a peculiar behavior (only 2 operation modes: heatingNight and heatingDay), and most of the strings are different from the A/C devices... it would be quite a mess.
My bad, please update the PR and retry.
Still failing:
This error originated from a custom integration.
Logger: homeassistant.config_entries
Source: custom_components/daikin_residential/daikin_api.py:155
Integration: Daikin Residential Controller (documentation, issues)
First occurred: 7:29:38 PM (1 occurrences)
Last logged: 7:29:38 PM
Error setting up entry Daikin for daikin_residential
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 293, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/config/custom_components/daikin_residential/__init__.py", line 58, in async_setup_entry
devices = await daikin_api.getCloudDevices()
File "/config/custom_components/daikin_residential/daikin_api.py", line 155, in getCloudDevices
if 'GATEWAY' not in device.get_value('gateway', 'modelInfo'):
TypeError: argument of type 'NoneType' is not iterable
Would be awesome if it could be integrated in a future release. :)
Maybe in a veeeeery future time 😉 , it has quite a peculiar behavior (only 2 operation modes: heatingNight and heatingDay), and most of the strings are different from the A/C devices... it would be quite a mess.
No rush. 😁
OK now I think I should have fixed it, please update the PR and retry.
OK now I think I should have fixed it, please update the PR and retry.
Working fine now. The climate entities are successfully added. Thanks a lot @rospogrigio.
P.S. And if you need testing "in a veeeeery future time 😉" for the integration of DRGATEWAYAA let me know. 😉
Good! Will provide a new release then.
P.S. And if you need testing "in a veeeeery future time 😉" for the integration of DRGATEWAYAA let me know. 😉
Well, I think I won't need it because your json file should be enough, though don't count on it since I really don't have much time to play with these things nowadays... bye!
Hi @rospogrigio,
The climate entity doesn't get created for any of the ACs (x1 Ururu Sarara, x2 Perfera R).
All other entities get created for the Perfera R and Ururu Sarara based on their capabilities.
The Perfera R ACs have been installed yesterday, so no way to check if they'd have worked before firmware v1.12.35. Perfera R - Model BRP069C4x Ururu Sarara - Model BRP069A42
The token has been created using "tokensaver-win.exe" from command line specifying the username and password for Daikin Cloud. And i only started to use your integration last night.
The Home Assistant installation is running Core 2021.8.2 and Supervisor 2021.06.8
Any way to check why?
P.S. Don't know if it was the case previously, but with firmware v1.12.35 the BRP069C4x are accessible locally on port 80 and are running a default FreeRTOS web server. The GET and POST commands from the old API don't work.