Integrate Dyson Pure Cool Link

tutorial
mqtt-binding
dyson
Tags: #<Tag:0x00007fe0570dc098> #<Tag:0x00007fe0578dfe48> #<Tag:0x00007fe0578dfb50>

(Pipo) #41

hmm… strange… I`ve done everything according the guide but after copied everything on the folders where they should be I have this mqtt error in paperUI . What can be the problem ?

Generic MQTT Thing OFFLINE - BRIDGE_OFFLINE

Generic MQTT Thing

mqtt:topic:dysonApBroker:dysonAp

and this

Generic MQTT Thing OFFLINE - BRIDGE_OFFLINE

Generic MQTT Thing

mqtt:topic:dysonApBroker:dysonAp


(Michael) #42

I assume it is not only the error message, you also got no values and it is not possible to control the air purifier.

The error states that it is offline, so the first question is if the device can be reached by the openhab server (you could try a ping to check). If the connection is there, the next possibility is the configuration.

Some questions to improve the possibility to help you:

  1. Which type are you using (e.g. 455 or 475)?
  2. Which files have you copied to which location?
  3. MQTT Binding (2.4.0) is installed?

(Pipo) #43

Hi, thanks for your reply.

These are the files which I copied to the matching folders…
When I ping the device it works as it should.
MQTT Binding is 2.4.0 installed and the error what will be displayed sometimes in the paperUI is
“Status: OFFLINE - COMMUNICATION_ERROR Bad user name or password” when i open the binding.
Type of my Dyson is the blue Dyson (Pure Cool Link) and the SSID / PW is from the sticker inside from the fan.

image


(Michael) #44

Ok, so we are one step ahead, the communication in general is possible.

Next questions:

  1. Is the error permanent? Like the air purifier can never be commanded and you got no values at all?
  2. Is there something in the Log file?
  3. Maybe there is something wrong in the dysonapbroker.things, can you provide your file (without the password, if you want you can send the file by pm)?
  4. Have you used it already with the old binding?

(Pipo) #45

Hi Michael,

  1. Yes the error is always there. I don`t receive any informations yes.
  2. Hmm… Sorry I`m really new in this openhab thing :wink: Where I can see or read out this logs ?
  3. I think there have to be something wrong. What I saw is when I used the … .py file for fill in the values what I read from the sticker inside the fan, and after I checked the broker.thing. The username is without the “-475” and the password looks fine. But I can send you the file this lunchtime with pm if you like.
  4. No. Im a new Raspberry Pi User since maybe 1 week approx. What I tested as well if the mosquitoo in the Raspberry working as it should and when Ive done the tests with the 2 various terminals everything looks good. Message is transmitted.

Will send you the dysonapbroker.things during lunchtime today when I have access to my Pi at home.


(Michael) #46

Hi Pipo,

  1. Ok
  2. It’s in /var/log/openhab2/openhab.log
  3. That’s good, so I can have a look.
  4. You tested the connection to the dyson already with mosquitoo and got some messges?

I think I will have some time at lunchbreak to take a look on the file (I assume CET/UTC+1) :wink:.


(Pipo) #47

Yes “Swiss” time :grinning:
But Im at work actually.. and this evening busy I think. Otherwise, maybe we can plan something next week if you cant find a failure.

But will look shortly at lunchtime on my Pi about the logs and the test message were done just after installing mosquitoo completely. Not to the Dyson itself.
But yesterday I just create a separate MQTT Broker and this was status green. But the Dysonapbroker not.
But anyway… great you can watch at this. :ok_hand:


(Alexander) #48

For me, until recently worked great, now openhab can no longer connect with the broker, with an app or s.PC does not work anymore. I also recalculated the password via the tool, do not help either. it also looks like the dyson password has changed! Although I have disabled the update of the firmware, really bad.
maybe dyson will ruin your device if you want to sell something new!


(Michael) #49

With the additional information in the issue on github I enhanced the repo for the Dyson438 and tried to implement a minimum set with read out information (Temperature, Humidity and Power state). As first step I would try to get them working and enhance it later to the other parameters and the set command.
Therefore I need support by someone with the device at hand. Please try out the new files and give me some feedback if it works (log outputs etc.).


(Alexander) #50

My 475 does not work anymore, because I no longer have access to the mqtt server. What can I do?


(Michael) #51

After testing around some parameters on the broker connection yesterday I experienced a loss of connection even after changing back the values.
I had to restart openhab first to get it back working. A plug out, plug in cycle of the air purifier could be a good starting point, too.
If you already tried a restart (and if does not work maybe reboot) and it still does not work, some additional information is needed to narrow down the root cause.

  1. Does the connection via the official Dyson App working?
  2. If neither App nor openhab can connect, can you ping the air purifier
  3. If the App works, but not openhab, what is in the logs?
  4. If the App works, can you connect through a third party MQTT App to the device with the credentials from the .things file?
  5. If the App works: What is the Firmware Version of the device?

(Alexander) #52

Logging in to the mqtt server works again, I’m just going to uninstall the original app everywhere and close the firewall for the dyson. Thank you for the effort, runs great under openhab 2.4 great work!


(Alexander Maus) #53

I tried the version that was online on Saturday morning. The prepare.py still has the problem that it cuts off the first parts of the serial. In addition I would suggest to set the shee-bang line (#!/usr/bin/python3). Everything else seems OK so far (on the sitemap I got the 3 values power, temp and humidity life from the tower).


(Michael) #54

For the 455, 469 and 475 it is necessary to cut off the first part of the serial as it is “DYSON-” and not part of the username in MQTT.
As it seems to be not necessary for the 438 I will include an exception for it.
Good point with the first line!
Thank your very much for the feedback! :+1:


(Stephen Woolaghan) #55

I am on Openhab 2.4 (in docker) and get errors as well.
Mine being “OFFLINE - COMMUNICATION_ERROR java.lang.Exception: No MQTT client” on Generic MQTT Thing.

Generic MQTT Thing OFFLINE - COMMUNICATION_ERROR

Generic MQTT Thing

mqtt:topic:dysonApBroker:dysonAp

My broker says it is online

MQTT Broker ONLINE

MQTT Broker

mqtt:broker:dysonApBroker

I also had to embedded broker installed at one point but it didn’t help and removing it made no difference either.

I can ping my 455 from my computer and using MQTTBox I can subscribe to the status commands that are triggered by my app.

Any ideas?

Thanks

Steve


(Stephen Woolaghan) #56

Progress here, after a openhab restart i have responses, like;

Dyson455_Topic_Status_Current changed from {“msg”:“ENVIRONMENTAL-CURRENT-SENSOR-DATA”,“time”:“2019-02-05T21:10:02.001Z”,“data”:{“tact”:“2906”,“hact”:“0054”,“pact”:“0000”,“vact”:“0001”,“sltm”:“OFF”}} to {“msg”:“CURRENT-STATE”
etc.

The issue is, that the item values aren’t updating.

Any ideas?

Thanks

Steve


(Stephen Woolaghan) #57

Never mind. I didn’t have the JSONPath transformation.
Fixed it and everything is fine now. Now to get my pure cool working as well. :grinning:

Update.
So I have some 438 progress but I did it manually and it is still work in progress.

There is a caveat:
There is no “Product WiFi Password” as the wifi set-up is done via BLE not Wifi in access-point mode. Just like my 455, my 438 password is 88 characters and looks like some kind of hash, but it isn’t the serial number using the existing hash.
All the 2018 versions are the same.

The username is just the serial number, i.e. “XXX-XX-XXXXXXXX”, same with the stateTopic and commandTopic.
To find your password you need to use wireshark to capture the password that is sent from your phone app to the unit. I power-cycled my 438 and intercepted the traffic to it, the password was then easy to copy out.

I can get the items for my 438 updated, I’ve modified a few as there some big differences, by triggering a CURRENT-STATE command from the MQTTBox app on my computer. Openhab sending the CURRENT-STATE command doesn’t seem to get out of Openhab. Maybe there is an issue trying to run a 455 and a 438 on the system? I have duplicated the bridge & app broker with unique names but its not working right now. I can see the 455 messages using MQTTBox, but nothing for 438 messages.

I will post further updates as I track down any issues.


(Marcel) #58

For newer models, (like TP04/DP04), authentication is enabled by using a Dyson account registered with the device.


(Jay) #59

That’s what I assumed as well but I’m struggling to understand what the figures mean, as in what scale they’re measured on and how the two figures relate to the graph that’s shown in the Dyson app.


(Stephen Woolaghan) #60

My TP04/438/Pure Cool (2018) is now fully working (almost). Struggling to control the variable oscillation angle, think my commands aren’t in the correct order.
Everything else works though.

If you have one of these new models you either need to get wire shark in-between your phone and the Dyson unit, or, use a method that talks via the cloud.

Obviously the cloud method is at risk of the system changing to only talk to official Dyson apps, but getting wireshark between 2 wifi devices is not the easiest thing. Raspberry Pi is your friend, or a packet capture app if you are on android.