Adding a USB device to Hubitat Elevation (not a radio stick)

I just bought an UPS

I'll use it to - obviously :laughing:- shutdown the HE hub and other devices if power outage is detected.

It has an USB port for communication that I can connect, e.g., to a Raspberry Pi and run programs like Network UPS Tools and, from there, make it available to HE using TPC/IP and, finally, develop a driver to handle the communication with the UPS.

However, I'd like to know if it is possible to connect an USB device directly to HE that it is not a radio device. With this direct connection it would, of course, suppress the "man in the middle" (RPi) and other software layers.

I did some digging and I could not find anything about it.

Is it possible?

UPDATE: the Amazon UPS that I have is an OEM from this:

This is an old CyperPower model, but, who cares if it is an old model? If it works as expected, I'm happy! And for the price, I'm more than happy!

1 Like

The underlying OS (Linux) should definitely be about to interact with the UPS - after all, that’s how apcupsd (and its cousins) work on the RPi.

But I don’t know if this is exposed to the JVM that the platform runs within.

Tagging @gopher.ny.

Great plan. I am looking at wanting to do the same and was thinking about a NUT server, but hadn't thought of this option. I was going to buy a Eaton UPS as they have good support for NUT.

If it's not possible to connect the UPS directly, this could be a great opportunity to finally put in practice an idea that I had some time ago: the Raspberry Pi Companion for HE (RPiC4HE).

The "companion" will be a RPi configured with Docker (great suggestion of @dman2306 - thanks!) with different user selectable images for a variety of HE complementary functions, e.g. NUT, WebCore, mail client and so on.

The problem - there's always one, isn't it? - is that my development backlog is always growing. But I'll get there, believe me!


There's no built in UPS daemon in the version of busybox the hub is running.
I'll see if it's something that can be added easily. Not making any promises, as usual.


Why would the hub need to be connected directly by USB?

If it turns out the hub can run a NUT daemon or something similar, then couldn’t it communicate over the LAN?

1 Like



The UPS I bought is a very entry level UPS and don't have native LAN connection, only USB. What should I expect from a 40 euro (~48 USD) device? And from Amazon! :cry:

Since the UPS don't have a LAN connection, one way of doing it would be to install all components but the HE driver in a RPi (my RPi HE Companion project) and from there send data through a LAN connection to the HE driver.

Let's see what @gopher.ny pull from his sleeve ... :laughing:


And no RS-232 either?


Nope ...

By the way ... does is still exists? :laughing:

1 Like

Yes, I have an RS-232 connection to one of the UPS supplies in my server rack.


My god ... I used to know all the RS232 pinout :nerd_face:

Definitively I'm old :flushed:


i've been using this, but again it relies on that MITM to act as the NUT server


Let's see what @gopher.ny came up with. If he can enable a NUT native to HE, we have a solution.

If not, I need to stop being lazy and finally develop the first implementation of the Raspberry Pi Companion for HE (RPiC4HE - this mneumonic still troubles me ... it doesn't sound well). The ideia is that it would be, as much as possible, a "plug-and-play" solution, where the user selects a Docker image (in this case, a NUT server) and add it to the RPiC4HE.

I'm almost sure that I'll need to learn another programming language, probably Phyton, to develop the web UI for the configuration particularities of each Docker image. And it will take months ...

Anyway, let's hope - and pray! - that @gopher.ny finds a viable solution for this.

1 Like

Any additional thoughts about connecting a USB-enabled UPS to HE?

I see on the networking page that there are buttons for installing drivers for various USB devices (Wi-Fi, cellular connectors, etc.) so I’m thinking this should be possible.

I’ve tried to find some Java code that would work but they all need additional libraries.

I know I could use a RPi for this but I’d like to do it directly if possible.

Any thoughts?

It wasn’t possible at the time this thread was created, and I don’t think that’s changed.


I’m working in a Docker image (RPi) + integration app + driver (HE) to allow to have an UPS functionality.

It’s inside an old idea that I have to have a RPi working as something that I call “RPi HE Companion”, where would be possible to add functionalities to HE using - ta daaa - a RPi!

So far I can get UPS data in a RPi and I’m implementing the first version of the integration app + driver to get those data in the HE.

It will take some time to have it working as I want but I’m stubborn and I’ll have it!


Download the Hubitat app