lukasroegner / homebridge-dyson-pure-cool

Plugin for using the Dyson Pure Cool fans in homebridge.
MIT License
292 stars 52 forks source link

Dyson Email/Pass Not Found // Incorrect Serial Number #123

Closed experiencedUser closed 4 years ago

experiencedUser commented 4 years ago

Hello,

I have no idea why my HP02 Dyson device isn't accessible through HOOBS. I am entering everything correctly, but it does not indicate that any of the information I entered is correct.

Also, something that I should mention... the serial number of the unit starts with

"DYSON-XXX-US-XXXXXXXX-455" // This serial number string worked for the other Dyson plugin... but I've since wanted to shift over to this one for better features and more stability. This other plugin always gave me issues.

Now because you are showing this format working, I followed the "XXX-US-XXXXXXXX" format

So I guess I'm a little confused. Why does Dyson even have this longer number and what does the .....XXX-455 stand for?

Anyway, here is the log from HOOBS showing the issue.

9/18/2020, 10:13:57 PM [DysonPlatform] Finished launching. Start to create accessory from config 9/18/2020, 10:13:57 PM [DysonPlatform] Dyson email/pass not found, v2 devices may not work 9/18/2020, 10:13:57 PM [DysonPlatform] Use device password from config file 9/18/2020, 10:13:57 PM [DysonPlatform] Dyson IP:192.168.1.12 Serial Number:XXX-US-XXXXXXXX 9/18/2020, 10:13:57 PM [DysonPlatform] Incorrect serial number 9/18/2020, 10:13:57 PM [DysonPureCoolPlatform] Check the devices property, it has to be a valid array.

experiencedUser commented 4 years ago

Also, I have no clue if "credentials": is even relevant to my issue. Is this the Product Wifi Password for my Dyson machine? You made it seem unnecessary so I didn't include it in my config file.

/////////////

Here is the json.config I have. I changed all the personal info, but I have verified everything on my end as being correct so it's extremely frustrating

{ "platforms": [{ "platform": "DysonPureCoolPlatform", "username": "correctemail", "password": "correctpassword", "countryCode": "US", "devices": [{ "ipAddress": "192.168.1.12", "serialNumber": "XXX-US-XXXXXXXX", "enableAutoModeWhenActivating": false, "isNightModeEnabled": true, "isJetFocusEnabled": true, "isContinuousMonitoringEnabled": true, "isTemperatureSensorEnabled": false, "isHumiditySensorEnabled": true, "isAirQualitySensorEnabled": true, "isSingleAccessoryModeEnabled": false, "isFullRangeHumidity": false }], "updateInterval": 60000, "retrySignInInterval": 0 }] }

////////////

Also, I really don't understand the double verification or duplicate information HOOBS is asking me to type in. I am already entering the exact information in the config file so why does it also have to be defined in the boxes? Please refer to the image below so you can see what I mean.

Screen Shot 2020-09-18 at 11 21 21 PM
lukasroegner commented 4 years ago

Hoobs seems to not support arrays in their config UI: the "Devices" text box in your Hoobs instance should not contain the whole configuration, it should only contain the devices array, i.e.

[{
  "ipAddress": "192.168.1.12",
  "serialNumber": "XXX-US-XXXXXXXX",
  "enableAutoModeWhenActivating": false,
  "isNightModeEnabled": true,
  "isJetFocusEnabled": true,
  "isContinuousMonitoringEnabled": true,
  "isTemperatureSensorEnabled": false,
  "isHumiditySensorEnabled": true,
  "isAirQualitySensorEnabled": true,
  "isSingleAccessoryModeEnabled": false,
  "isFullRangeHumidity": false
}]
experiencedUser commented 4 years ago

Wow, tha definetly fixed it. So I guess by HOOBS trying to oversimplify the process, it screwed me over becuase I was following the actual Homebridge .json file. So basically if I was running any OS beisdes HOOBS, I would have just entered the entire string and it would have worked?

experiencedUser commented 4 years ago

Okay, I've had a little time to figure out the commands with Siri. Unfortunately, Siri says...

"There's more than one. You can ask me to turn on a specific thermostat, or all of them."

This is the case if "isSingleAccessoryModeEnabled": false or true

If I just want to ask dyson to oscilate, it acts like there are multiple oscilation settings (so it gets confused in what you're asking). I understand that there are multiple Dyson attributes, but shouldn't Siri be able to distinguish them?

lukasroegner commented 4 years ago

Siri seems to have issues with oscillation in general, see #72 - you can create scenes or Siri Shortcuts to get it working properly.

experiencedUser commented 4 years ago

Okay, I will check on that and see if I can tinker with it.

Another quick question... What is the purpose of this exactly?

[DysonPureCoolPlatform] Device credentials not stored, asking Dyson API. If you want to prevent communication with the Dyson API, copy the credentials for each device from the coming log entries to the config.json.

Why would one want to prevent communication with the Dyson API? What benefits or drawbacks does this serve if there are any? I just added it anyway on mine, but I want to know what's the purpose of it. Thanks!

lukasroegner commented 4 years ago

Without storing the credentials in the config, the plugin has to call the Dyson HTTP API to retrieve the local passwords of your devices. If you store the credentials, the plugin does not call any API endpoint on the internet.