I have sent the developer a message, and hopefully he replies.
In the meantime, it seems that his applet may not be correctly authenticating the devices or communicating properly with Dyson’s servers (who knows what was changed), and I wrote a simply python script to pull the device credentials directly from your Dyson Cloud account upon authentication, similar to what this app attempts to do.
If anyone wants to take a crack at a new Community App for this, here’s my rudimentary python script:
from getpass import getpass
from libdyson.cloud import DysonAccount
from libdyson.cloud.account import DysonAccountCN
from libdyson.exceptions import DysonOTPTooFrequently
print(“Please choose your account region”)
print(“1: Mainland China”)
print(“2: Rest of the World”)
region = input("Region [1/2]: ")
if region == “1”:
account = DysonAccountCN()
mobile = input(“Phone number: “)
verify = account.login_mobile_otp(f”+86{mobile}”)
otp = input("Verification code: ")
verify(otp)
elif region == “2”:
region = input("Region code: ")
account = DysonAccount()
email = input("Email: ")
verify = account.login_email_otp(email, region)
password = getpass()
otp = input("Verification code: “)
verify(otp, password)
else:
print(f"Invalid input {region}”)
exit(1)
devices = account.devices()
for device in devices:
print()
print(f"Serial: {device.serial}“)
print(f"Name: {device.name}”)
print(f"Device Type: {device.product_type}“)
print(f"Credential: {device.credential}”)
This will output your connected devices, their names, serials, and credential keys. With this information, we should be able to start pairing these devices again.
I suspect if Mark had exposed login fields for the credentials that we could fix this issue and bypass whatever is causing these problems. However, given that they’re possibly busy or MIA, it might be a good idea for someone to consider carrying the torch if they’re able to.
Here’s hoping we can resolve this either way. I hope this info was helpful.