[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:

re: [RELEASE] Aroma-Link Integration

@ady624 I just ordered one of these but it hasn't come in yet. I was looking at the driver and it looks like on/off and fan? level is implemented? Is there anything else exposed in the API.

I plan to connect it into my HVAC on one floor to test it out. Thanks.

@ady624 I have now installed this on my ground floor system and have been playing with it. I started to look closely at your original and the work that has been done on home assistant. I have been updating the code to reflect some of this and can share if helpful.

It doesn't seem like anyone has figured out the fan control. On my unit it is an on/off option in the app, so no speeds. I am guessing that turning off the fan means that the diffuser doesn't expel the scent as much when it diffuses? Did you discover anything on the fan and does it even matter?

I took out the Hubitat fan control as it seems that even if we do figure out the API then the fan is only on and off and can be handled by a switch.

The home assistant gang figured out the scheduler and I added code in to take advantage of this. But right now I only have one schedule that is set to run all days, all hours. Since I tie operation to my HVAC running status I don't need any scheduling.

I also added code to pull back status of specific things. My unit (P300?) seems to be null on most of that. It looks like there are settings for Device identification, Group Identification, Connectivity, hasfan (mine shows that it does), haslamp, haspump, hasweight, hasbattery - all null on mine, status, isError, errorMsg, remainoil, battery, isfragrancelevel - all null, lowremainoil (spelt wrong with oij for oil) - returns 0 but hoping switches to 1 when oil is low - I suppose I could empty out the bottle and try this?, lastupdate.

To be honest I am still depending on an automated switch and I am turning this on when the HVAC system runs.

I did email Jcloud to see if they would provide any documentation.

Also, does anyone know of a unit that is compatible with this API that is designed for a single room. I wanted to put one in my basement and ordered the A1 model but when I got it in I discovered that it is only bluetooth (as far as I can tell) and uses a different app.

P.S. I was hoping to find a way to turn off the beep. But there doesn't seem to be a status on that so I see that some folks have gone in and disconnected the speaker. I might do the same as it is close to one of my z-wave locks and sounds exactly the same as someone pushing buttons on the outside!

Home assistant thread I used:

I got an answer back from JCloud. They will not share the API. So I am continue to hack away at it.

Been using this app for a few days, works well. I noticed this morning that commands were not going through and when I did a little digging I noticed that the parent app was deleted. I know I didn't do that, what would cause that to happen?

Either way I reinstalled and it's running again but hoping it doesn't happen again.