UPB lighting


I have several UPB dimmers (mostly Simply Automated US11-40 and a few US2-40) … but I’m not comfortable providing someone with remote access to my home automation system. However, I would be willing to test whatever you have to offer.

I currently use another home automation software (Premise) to interface with UPB lighting. Premise’s UPB driver is excellent. I have the source code (bajillion lines of C++) but a great deal of it involves managing the interface with Premise so I’m not sure it would be of much use to you. Anyhow, here are a few things the driver can do:

  • Supports automatic discovery of devices. By this I mean it not only detects the device’s presence but also the device’s model. For example, a US2-40 can be outfitted with one of 13 different faceplates which allow it to have from 1 to 4 rocker buttons or up to 8 buttons. Naturally, this impacts how the device is represented in the home automation software.

  • Supports the transmission of links. UPB links are scenes; a single command can activate multiple devices (a very efficient way to turn a large group of devices on/off). Each device can be programmed to respond to the link in the same way or uniquely.

  • Reports all of a device’s properties such as device name, room name, network id, load type (dimmer or switch), LED color, manufacturer, model, firmware version, fade rate, etc.

  • Supports programming UPB devices such as fade-rate, LED color, load type, if it reports its state-changes when manually operated, how many times it transmits a command, etc. To be fair, I don’t use this capability and wouldn’t expect to find it in other drivers. I prefer to use UpStart to program my UPB devices.

Here’s a screenshot of the details provided by Premise’s UPB driver. I think it gives you a rough idea of what all that C++ code under the hood is doing in order to provide a live UI for the device. This is for a US2-40 configured for one rocker switch on its upper half (represented as TopUpper and BottomUpper) and four buttons on its lower half (Button1 to Button4).

For starters, I would be happy with the ability to have a UPB component support sending/receiving UPB commands and links. Automatic discovery of devices would be a bonus.


That would be useful, the more reference source code the better as I like to verify protocol implementation logic against other implementations when writing serial drivers.


OK, I’ll have to find the soft-copy first. I know where the hard-copy version is (dog-eared spiral-bound book of 3000+ lines of code) but that’s a bit awkward to share with you.


I did find this which seems to be a UPB driver for premise(not sure if it’s the same one you have). The code seems to be more complete than any of the other reference code I’ve come across.


That’s the one. Sheesh, I forgot I posted it there! Ten years ago! Time really does fly.


Cool, I went ahead and uploaded it here to make it easier to search/view. Once I get some sample hardware to test against I should be able to start writing a python module for it.


I suggest purchasing one of Simply Automated’s starter kits. It’s more cost-effective than buying the items separately. It includes:

  • 2 x US11-40-W single white rocker dimmer/switch
  • 1 x US2-40 universal dimmer/switches
  • 1 x ZS25O-W rocker+4 oval button face plate installed
  • 1 x UMC-DB9-W Serial CIM Interface
  • 1 x ZPCI-W Wire-In Phase Coupler

The interface module is available with either an RS-232 serial interface (Serial CIM) or USB interface (USB CIM). I have the serial version and use it with a RS-232 to USB converter.

FWIW, I have a phase coupler and installing it has been on my ‘to-do’ list for years. The Upstart software can tell you the signal strength at the device’s end. So far, I’ve always seen strong signals for all devices in my home even the ones located on the opposite phase from the one the CIM is plugged into. Based on that, I haven’t found a pressing need to install the phase coupler. However, YMMV.


Do you have a store link for that?


I cannot vouch for this supplier because I’ve never done business with them (seem to offer an odd mix of products). However, this is an attractive price for what appears to be the starter kit with the serial CIM (you’ll need a serial-to-USB converter).

If you need a Canadian supplier, I’ve purchased from Aartech.ca and they provide great service. Here’s the starter kit with serial CIM (they also offer the USB version). Prices are, of course, in Canadian currency.

Here’s Simply Automated’s description of the (serial) starter kit:

PCS also manufactures UPB lighting (I believe they invented it) but I find their products to be more expensive. http://www.pcslighting.com/