[RELEASE] Aroma-Link Integration

Just got a JCloud Aroma Diffuser from amazon today and could not let the opportunity pass to write a driver for it. So far it can control the diffuser, although it cannot read current state - that is done via a websocket connection which I could not yet decipher, but have been able to reverse engineer the API calls the app makes. The app is called Aroma-Link (it's a generic name for a lot of diffusers, of which JCloud is one).

Hoping others have a need for this, I was able to setup an automation to only turn the diffuser on while the HVAC fan is running - you can plug the diffuser into your HVAC vent output.

My repo is not yet in HPM, so until then, you can install it with HPM from the manifest file at https://raw.githubusercontent.com/ady624/hubitat-aroma-link/master/packageManifest.json

Or manually from its repo.

Enjoy

1 Like

I nearly fell off my chair when I googled it (the price that is). Would you mind giving quick review of your experience with it?

(And BTW - major kudos for writing a driver for it!)

Fell of the chair as in cheap or expensive? There are subscription based services like aroma 360 that are much more expensive.

I barely had it installed for 30 minutes lol - wrote the driver before installing it. Too early to speak to it, at first it kept dropping off wifi, but seems to be stable now.

The most annoying thing is the beeping when the driver turns it on/off or the fan. Thinking a screwdriver can resolve that :rofl: You can adjust time on/off ratio and I needed the driver to make sure it does not work in vain when the HVAC fan is off. You can use it free standing or hook it up to the HVAC output pipe. I see no use for it unless you hook it up to the whole house HVAC :muscle:

Will post more in the coming days. Will try to work out their websocket language, I have a few packets captured, there has to be some login request performed. As long as hubitat is the only thing controlling it though, the state should never be out of sync.

The amazon price in Australia is A$400 :astonished:! I was curious to know about your experience with the unit itself, if you don't mind sharing as this is something quite new to me.

I paid $194 for the 4500sqft version. That’s what, just shy of AU$300? Add 7% tax and that’s about AU$320

Checking in - looks like about a month of run time on the unit and app. Feedback?

I now have two units (JCloud sent a second as the first one was not a good mechanical fit)

Ironically, the first unit sticks to my wifi no problem. The new unit keeps going offline every maybe two-three days. So I had to plug into a smart plug and I have an automation that toggles it when the network status becomes offline. With that in place, this always works, HVAC controlled by ecobee also controls the diffuser.

The beeping, I got kinda used to, I would still want to tear the unit open and perform surgery on that speaker with a mullet. :smiling_imp: But integration beats the smart plug variant for on off as it beeps less. There is a single beep when powering on, followed by three beeps a few seconds later when it reconnects to their server. Of course, there is also the much safer version where you simply don’t connect it to wifi. I suspect the three beeps would go away. And the turn off beep would not exist either.

Overall, happy.

Nice - i have not yet decided how i want to automate mine. I have also found a kit that on amazon that allows me to wire in the jcloud unit to kick on whenever the fan of the HVAC unit is running. But if i can automate using your app, then saves me a few bucks and time. HVAC unit is currently pretty heavily automated with dedicated 2nd hubitat hub, 23 flair vents, 3 flair pucks, main thermostat and a 4 ch wifi switch piggy backing off that to control and zone every room in the house. should be simple to add your app and tie into my webcore rules controlling everything. Guess its time to buy and play. Thanks again for sharing.

Swell, this is the piston I wrote:

I use the ecobee suite integration to gain access to the fan state. You may have another thermostat :man_shrugging:

Switch 42 is the diffuser, Switch 43 is the smart plug. Living Room Bee is the thermostat (you’ll need to change it to yours’ name if you also use ecobee)

Awesome and thank you. Yeah, i'm using a generic CT101 zwave thermostat that controls main calls, but then i have in parallel a tasmotized 4ch swith/relay that makes heat, cooling, or fan calls based on demand from other zones in the house. However, status of cooling state, heating state or fan state is available by both so, will easily be able to mirror and trigger diffuser when any of those states are active.

@ady624 - finally god my Jcloud diffuser, and get an error when trying to install app after adding username and password. Please see attached. Any suggestions?

I have to look into that, you did create an aroma link account and added the diffuser there, right? Aroma Link app should show it Online under the wifi/3g/4g/5g/6g/7g/extra-g option :smiley:

Also, login is correct I am assuming

Yes, see attached for confirmation. App linked and working (controls diffuser on/off, sets time on/off, etc.). Note - if i use different username/password on your app in hubitat i get error that "username or password you entered is incorrect. Go back and try again." So, uncertain for the cause of this error. Thanks for the assistance.

Sorry for the long delay, looking into this now :frowning:

Did you install the device driver as well? looks like the line before that failed creating the device?

dw = addChildDevice("ady624", "Aroma-Link Diffuser", diffuserId, ["name": diffuser.name]).update(diffuser)
dw.sendEvent([name: "networkStatus", value: "online"])

Their API also stopped working because of an expired? SSL certificate. Amateurs :smiley: (speaking from having had that happen to me too - trust me, I'm an engineer)

LE: Did you install this via HPM? It should have installed the driver, looking into that. Also made changes to ignore the SSL issues - this is truly unwanted, but no other way right now :frowning:

Following full removal and then re-install. Its working.

Great! :pray: