Grizzelbee / ioBroker.dysonairpurifier

ioBroker Adapter to control to your dyson fan and air purifier devices such as Pure Cool, Hot & Cool and others.
MIT License
13 stars 7 forks source link

Object "HeaterMode" doesn't show the correct state/value #266

Closed janku-88 closed 4 months ago

janku-88 commented 4 months ago

At first: Thank you for this very good working adapter!

I found a little bug in combination with my "Puryfier Hot+Cool"

The Object "HeaterMode" is always on Value "Off(false)"

Writing to the Object is possible and the transmission to the device is also working. --> When the Object "HeaterMode" is switched to "ON(true)" the heating mode in the device is switched on and depending on the room temperature and the target temperature the heater starts working. But the object value is still "Off(false)" Respectively is directly changed back to "Off(false) --> When the Object "HeaterMode" is written with "Off(false)" the heating mode in the device is turned off.

When the heater mode is changed via dyson App or directly at the device, the device also starts heating, but the Object "HeaterMode" is not changed and stays at value "Off(false)"

System: Node.js: v18.20.2 js-controller: 5.0.19 NPM: 10.5.0 dysonairpurifier: v3.1.1

BR Jan

Grizzelbee commented 4 months ago

Hi Jan,

thank you for creating this issue. Since I don't own a Hot+Cool device I can't test the related code myself. I have a first rough idea - but not enough information.

Please - write a debug log with the adapter:

Than post the log here. I hope to see the described beaviour of heaterMode inside the log file.

janku-88 commented 4 months ago

Hi Grizzelbee,

done like described.

  1. Adapter log level "debug"
  2. Start Adapter
  3. IOBroker Object "HeaterMode" --> "True"
  4. IOBroker Object "HeaterMode" --> "False"
  5. Activate Heating Mode via Dyson App
  6. Deactivate Heating Mode via Dyson App
  7. Stop Adapter

iob_dysonairpurifier_log_debug.txt

I removed a few credentials and the device name from the log, because i was not shure if this can be a security issue.

Grizzelbee commented 4 months ago

Hi Jan,

I just pushed v3.1.6 to the latest (beta) repo. Please test it and drop me a notice whether it's working as expected or not.

janku-88 commented 4 months ago

Hi Grizzelbee,

Version 3.1.6 is not yet available in the beta repo (http://download.iobroker.net/sources-dist-latest.json) But i tested the Version directly from GitHub.

The described behavior is still the same.

And maybe there is a new issue. Seems that the chooseable values for the Object "HeaterMode" don't match to the possible values of the object. Screenshot_1 When i write "ON" or "OFF" the Heating Mode is disabled in both cases and in both cases the log entry is: | 2024-04-24 15:18:13.069 | debug | MANUAL CHANGE: device [A1A-EU-MNA5135A] -> [HeaterMode] -> [false], id: [dysonairpurifier.0.A1A-EU-MNA5135A.HeaterMode] Due to that turning the heating mode on via manual writing the object is not possible When i write the Object via Script (with values true/false) the behavior is identical to the initial issue.

When in install Version 3.1.6 without a rebuild of the adapter objects (delete all Objects an restart the Adapter) i have 4 possible values to choose in the for the Object Screenshot_2

Please let me know if you need more tests/logs.

Grizzelbee commented 4 months ago

🤦 Your right. My change made it worse instead of better. Let's give it another try.

Grizzelbee commented 4 months ago

Okay - second service!

Please try again directly from github. Version number is still the same.

janku-88 commented 4 months ago

Now it's working fine in Both directions. Thank you!!!

Grizzelbee commented 4 months ago

You're welcome!

Thank you for helping getting this bug found and fixed. Your help is highly appretiated.