Closed theimo1221 closed 3 years ago
Hi Thiemo,
as far as I can see in your log snippet the adapter is missing it's config or config isn't valid. Which means that you need to give some additional config values to the adapter:
Please fill out the complete config and refer to the readme if there are questions - if readme dosen't claify all, please ask. The dyson account the adapter asks for is the same which is used for the dyson mobile app.
And - yes: special chars may be a problem in the password. But I haven't tried it. Best is to use a-z, A-Z and std english special chars like #!$? and some more. Keep away from german "Umlaute". But this is a general hint Not special for this adapter.
But: This is not the current problem. If there had been a problem with your credentials the adapter has thrown an accoring error.
Thanks for the recommendations, as I'm using a password manager I'm not using german special chars. I changed the password to numbers/chars only but still have the same issue as above
This is my config:
Edit: I just checked with Postman, atleast for the "https://appapi.cp.dyson.com/v1/userregistration/authenticate?country=de" I get a valid response (at least from my main pc) so it shouldn't be a firewall/security gateway issue
I'm pretty shure that it has nothing to do with your firewall/security gateway.
May I ask you to please switch the adapter to debug logging (Tab Instances ; expert mode) and post the log? Best is to filter to the dysonairpurifier.0 instance before posting (most left column).
the same Problem - with 0.7. run the adapter, bute with 0.7.1 dosnt...
My tree is deleted
AH! You ran 0.7.0 before?
Then please reenter the password in the config as mentioned in the readme and changelog. I had to change something in the pwd-encryption routine.
That should solve your problem.
Hi, I just had the same problem as @Day1983, however I did a fresh install of 0.7.1. I got the same errors as @Day1983. I had to change all adapter settings (including the preset ones) once. After restarting the adapter I got the adapter to show up in the object tree with the 'correct' errors. 👍
Okay. Seems that we have two different things here:
@Grizzelbee I just hadn't set up the DNS record yet. Everything works fine for me, thanks :) Just wanted to check in and describe how I got around the issue with the adapter config.
@theimo1221 : Is your Issue also solved? Or are you still struggeling?
@Grizzelbee I'm still struggeling:
If you want feel free to contact me directly in Discord, so I can share my screen/problem with you today evening
EDIT: Some more information:
I have the same problem with a fresh 0.7.1 installation, I configured username and password in the adapter config with the same result:
There is no device in the device tree where I can configure the ip address. There must be something wrong on the first start of the adapter.
The Dyson API is also accessable from the iobroker system, tested with: curl -X POST -H "Content-Type: application/json" -k 'https://appapi.cp.dyson.com/v1/userregistration/authenticate?country=DE' -d '{"Email": "user@domain.xx", "Password": "xyz"}'
@viper4gh, @theimo1221 Okay. I'm just debugging the load/save config routines and enhancing the testConfig method. So please be patiend and wait for the upcoming version 0.7.2 - which should hopefully solve your problems. I'll keep you informed.
@Grizzelbee Okay, I spotted the issue, it seems like the Country is null
I'll dig deeper
By default country was empty while the browser selects "Deutschland" as the shown value for the country selection thus making the user believe country beeing correctly chosen.
Pull Request #61 resolves this.
I can confirm, select the country again, solves this problem. But now it stucks at the ip address. I stopped the adapter, filled in the ip address at the Hostaddress datapoint in the device tree and started the adapter again. Now the log still shows "No host address given. Trying to connect to the device with it's default hostname", which is not resolved by DNS in my case. Will do some tests tomorrow again, maybe I did something wrong.
Update: I tested again, but the ip address will not to be saved in the config, the adapter always uses the default hostname. The only workaround was adding an Alias of the default name to my DNS server.
@Grizzelbee I reverted my workaround with the DNS Alias for the default Hostname to check, if the configured Hostaddress datapoint is working now after all data is received, but it is not. That means the Hostaddress datapoint is still not read by the adapter and I get the log message "No host address given..." on startup. Is there anything I need to pay special attention to for the ip address?
@viper4gh What version are you on? Or in other Words: Have you tried 0.7.3 already? This should fix this issue.
@Grizzelbee with newest version there might be an error regarding credentials
EDIT: I recieve {"Message":"Unable to authenticate user."} within Postman, while I can login through the dyson Homepage. So I'm not sure if this is a problem with latest changes.
@viper4gh What version are you on? Or in other Words: Have you tried 0.7.3 already? This should fix this issue.
I was still on 0.7.1, then I will test it with the new version and will give you feedback.
@theimo1221 Please try to re-enter your password. There are some changes at this position which might lead to this.
Btw: Since I can't find the original question/conversation: Yes - your fix regarding the <select>
has been deleted intentionally since we solved it in parallel and my fix changed more code. So it was the easiest way to drop only one line knowing the other code to work.
Btw-2: The easist way to check your enterd credentials might be to get into index_m.html line 104 and change type="password" to type="text" - that displays the unencyrpted pwd in config.
<input class="value" id="Password" maxlength="32" **type="password"**>
@Grizzelbee I just changed my password on dyson.de and even with new password it doesn't work
On my ioBroker Server I get following response as well: {"Message":"Unable to authenticate user."}
so I don't know if I'm banned from the api
This was the request I made curl -X POST -H "Content-Type: application/json" -k 'https://appapi.cp.dyson.com/v1/userregistration/authenticate?country=DE' -d '{"Email": "...", "Password": "..."}
I updated to 0.7.3, configured all settings again and now get the following:
It detects the controller 3.1.6, but says that the requirement of version 3.0.0. is not fulfilled.
I completely uninstalled the adapter instance and the adapter, which uninstalls the device tree, too. Then installed 0.7.3 again, configured all settings and now have the same problem as @theimo1221 :
Update: And I get the same message on the curl command now, what was working today in the morning: {"Message":"Unable to authenticate user."}
Grrrrr!! Seems to be a timing issue. Facing it on my instances now as well where it worked first.
Sorry for that. Debugging ...
What does this mean, are our accounts now rate limited, or is that a temporary thingy?
What does this mean, are our accounts now rate limited, or is that a temporary thingy?
I'm sorry - but currently I don't know. Debugging says: Credentials are okay. So it's no timing issue. My idea was, that the password is used for login before it is decryted. But thats not the case. Maybe dyson locked the adapter out. Or it's really a temporary thing. Let's wait a while and see what happens ...
I tested the curl command again and still get: {"Message":"Unable to authenticate user."}
It seems indeed we are now banned. At least the Dyson Link app still works.
I tested the curl command again and still get: {"Message":"Unable to authenticate user."}
Same on my side in a few different tests.
It seems indeed we are now banned.
I still don't believe really in being banned. The error message doesn't fit. But on the other hand I don't have any clue what really happend.
Maybe the server tries to prevent unauthorized access by flagging those accounts which switched countries in a short time frame
After the adapter is working now with the workaround (https://github.com/Grizzelbee/ioBroker.dysonairpurifier/issues/65#issuecomment-778047049) I can say that the adapter is using the configured Hostadress now, which was not working in my case before.
Hello Grizzelbee,
as my new Purifier arrived yesterday I'd like to connect it with IoBroker. Unfortunately it seems like there is a problem during setup:
Do you think this is a network issue, or could it be some interference with special chars in my password (15+ chars)?
Best Regards
Thiemo