Apollon77 / ioBroker.daikin-cloud

ioBroker Adapter for Daikin-Cloud devices
MIT License
14 stars 6 forks source link

Sending both vertical and horizontal fan direction, sometimes one of them gets "lost" #193

Closed gahujipo closed 2 months ago

gahujipo commented 1 year ago

Describe the bug
In most cases when I send the vertical and horizontal fanDirection at almost the same time one of them seems to get's lost between the adapter and the daikin cloud. This means that I send the values, I see them in the log and in the object browser, but the physical device and the Daikin App shows the old value for one direction.

E.g. In this case here horizontal is set to 0 - stop and vertical is set to 2 - windNice

image

But the Daikin app shows Stop and Swing. image Previously it was set to swing, swing. This means that Vertical was not set to Stop.

To Reproduce
Steps to reproduce the behaviour:

  1. Change both fanDirection vertical and horizontal at almost the same time, e.g. via MQTT.
  2. Go to Object browser and verify that it was changed.
  3. Open the Daikin App and verify if it has changed.
  4. Check the physical device how it behaves.
  5. See that the App shows what the device does, but the adapter does not show what the device does.

Expected behavior
I would expect that bot values can be changed at the same time.

Screenshots & Logfiles
Affected device: 3c2349b0-39ce-43c8-b2ea-26bce643c437

image
2023-08-12 19:50:23.197 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = false)
--
2023-08-12 19:50:23.197 - info: daikin-cloud.0 (1811952) Send state change for 22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode with value=quiet to climateControl : fanControl : /operationModes/cooling/fanSpeed/currentMode
2023-08-12 19:50:23.272 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = false)
2023-08-12 19:50:23.272 - info: daikin-cloud.0 (1811952) Send state change for 59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode with value=quiet to climateControl : fanControl : /operationModes/cooling/fanSpeed/currentMode
2023-08-12 19:50:23.289 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = false)
2023-08-12 19:50:23.289 - info: daikin-cloud.0 (1811952) Send state change for 3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode with value=quiet to climateControl : fanControl : /operationModes/cooling/fanSpeed/currentMode
2023-08-12 19:50:23.364 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = false)
2023-08-12 19:50:23.364 - info: daikin-cloud.0 (1811952) Send state change for 22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode with value=stop to climateControl : fanControl : /operationModes/cooling/fanDirection/horizontal/currentMode
2023-08-12 19:50:23.440 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode changed: 2 (ack = false)
2023-08-12 19:50:23.440 - info: daikin-cloud.0 (1811952) Send state change for 22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode with value=windNice to climateControl : fanControl : /operationModes/cooling/fanDirection/vertical/currentMode
2023-08-12 19:50:23.516 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = false)
2023-08-12 19:50:23.516 - info: daikin-cloud.0 (1811952) Send state change for 59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode with value=stop to climateControl : fanControl : /operationModes/cooling/fanDirection/horizontal/currentMode
2023-08-12 19:50:23.565 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = true)
2023-08-12 19:50:23.591 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = true)
2023-08-12 19:50:23.593 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode changed: 2 (ack = false)
2023-08-12 19:50:23.593 - info: daikin-cloud.0 (1811952) Send state change for 59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode with value=windNice to climateControl : fanControl : /operationModes/cooling/fanDirection/vertical/currentMode
2023-08-12 19:50:23.664 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = false)
2023-08-12 19:50:23.664 - info: daikin-cloud.0 (1811952) Send state change for 3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode with value=stop to climateControl : fanControl : /operationModes/cooling/fanDirection/horizontal/currentMode
2023-08-12 19:50:23.712 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = true)
2023-08-12 19:50:23.744 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode changed: 2 (ack = false)
2023-08-12 19:50:23.744 - info: daikin-cloud.0 (1811952) Send state change for 3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode with value=windNice to climateControl : fanControl : /operationModes/cooling/fanDirection/vertical/currentMode
2023-08-12 19:50:23.788 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = true)
2023-08-12 19:50:23.865 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode changed: 2 (ack = true)
2023-08-12 19:50:23.916 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode changed: 2 (ack = true)
2023-08-12 19:50:23.956 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = true)
2023-08-12 19:50:23.995 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = true)
2023-08-12 19:50:24.023 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.vertical.currentMode changed: 2 (ack = true)
2023-08-12 19:50:34.109 - debug: daikin-cloud.0 (1811952) update state: 59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode = 1
2023-08-12 19:50:34.109 - debug: daikin-cloud.0 (1811952) update state: 59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.sensoryData.outdoorTemperature = 25
2023-08-12 19:50:34.111 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = true)
2023-08-12 19:50:34.112 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.climateControl.sensoryData.outdoorTemperature changed: 25 (ack = true)
2023-08-12 19:50:34.112 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.59710e0d-9c02-489f-897c-c0b531a585d0.lastUpdateReceived changed: null (ack = true)
2023-08-12 19:50:34.288 - debug: daikin-cloud.0 (1811952) update state: 3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode = 1
2023-08-12 19:50:34.288 - debug: daikin-cloud.0 (1811952) update state: 3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode = 0
2023-08-12 19:50:34.290 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = true)
2023-08-12 19:50:34.290 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = true)
2023-08-12 19:50:34.290 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.3c2349b0-39ce-43c8-b2ea-26bce643c437.lastUpdateReceived changed: null (ack = true)
2023-08-12 19:50:34.557 - debug: daikin-cloud.0 (1811952) update state: 22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode = 1
2023-08-12 19:50:34.557 - debug: daikin-cloud.0 (1811952) update state: 22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode = 0
2023-08-12 19:50:34.559 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode changed: 1 (ack = true)
2023-08-12 19:50:34.559 - debug: daikin-cloud.0 (1811952) state daikin-cloud.0.22c72e65-a1fd-4e60-9ae0-eef72e77cc19.climateControl.fanControl.operationModes.cooling.fanDirection.horizontal.currentMode changed: 0 (ack = true)

Versions:

Additional context
Note that the Daikin app shows the room named as "Wohnzimmer", while in iobroker the room is called "Wohnkueche". They are the same, even when the two names differ.

gahujipo commented 1 year ago

Some additional info: In the screenshot of the object explorer above you can see e.g. Stop and WindNice even though in reality it is stop and swing. When I click on windNice in the object explorer (where an option to change the value is offered) and confirm the dialog without changing the value (still windNice), the indoor unit changes it's direction to windNice as expected.

looks weird to me...

Apollon77 commented 1 year ago

Ok the log do not show ny errors when values are sent, so it must be somehow "within" the daikin cloud that the commands for one gets lost. Does the same happen if you change it in the app very fast? In fact the only known API methods are to change one datapoint at a time. SO in fact only we could do it to implement a "queue" that delays sending other values by time X ... but no idea how long X needs to be :-(

For the "WindNice" I would need a full debug log from adapterstart to check which metadata is reported by Dikin ... because this is parsed 1:1 into iobroker

Apollon77 commented 2 months ago

v2.0 is available for GitHub test (https://github.com/Apollon77/ioBroker.daikin-cloud/issues/215#issuecomment-2208891591). Please check and verify with this and add another log if needed as new issue