Universal Powerline Bus + Hubitat Integration

Universal Powerline Bus + Hubitat Integration

The Universal Powerline Bus (UPB) is a communication protocol used for home automation and building control. It enables devices to communicate over the existing powerline infrastructure, eliminating the need for additional wiring. UPB is a robust, reliable, and scalable technology designed for applications such as lighting control, HVAC management, and appliance integration. Through testing, field trials, and residential installations, UPB has been proven to be greater than 99.9% reliable.

Connecting your existing UPB investment allows you to benefit from modern features like Google Assistant, Apple HomeKit, and Amazon Alexa.

Minimum Requirements

  1. Hubitat Elevation® Model C-7 or C-8 controller Click here to purchase for Hubitat Elevation
  2. Pulseworx PIM-U Powerline Interface Module Click here to purchase PIM-U
  3. Linux device running net2ser eg. Raspbery Pi Click here to purchase Raspberry Pi
  4. Download the UPBeat Hubitat Drivers Click here to download driver bundle

Recommended Setup for Power Over Ethernet (POE)

  1. Hubitat Elevation® Model C-7 or C-8 controller Click here to purchase for Hubitat Elevation
  2. POE micro USB Adapter for Model C-7 Click here to purchase micro USB POE adapter
  3. Pulseworx PIM-U Powerline Interface Module Click here to purchase PIM-U
  4. Linux device running net2ser eg. Raspbery Pi Click here to purchase Raspberry Pi
  5. Rapberry Pi Case Click here to buy official Pi 5 case
  6. Raspberry Pi POE Hat Click here to purchase Raspberry Pi POE Hat
  7. Download the UPBeat Hubitat Drivers Click here to download driver bundle

Installing Ser2Net for Ubuntu / Raspberry Pi

  1. Raspbian (Raspberry Pi OS Lite) Installing Raspberry Pi OS
  2. Once installed, use apt to install Ser2Net, you should be able to cut and paste the following commands:
sudo apt update
sudo apt install ser2net
  1. As root, using a text editor, modify the /etc/ser2net.yaml.
    The IP address should be the IP of the device that is running Ser2Net and port in the example below is set to 4999, but you can configure a different port. Additionally, the Powerline Interface Module (PIM) will need to be connected to the Linux device.

Raspberry Pi example with Pulseworx PIM-U Powerline Interface Module:

connection: &UPBPIM
    # Change the IP (192.168.1.5) to the current system IP and port (4999) can remain the same or be changed
    accepter: tcp,192.168.1.5,4999 
    enable: on
    options:
      kickolduser: true
      telnet-brk-on-sync: false
    connector: serialdev,
              /dev/ttyUSB0, # The device needs to match where the PIM is attached. 
              4800n81,local
  1. Once you have saved the changes to the /etc/ser2net.yaml file you will need to restart the ser2net service. Using the following commands.
sudo service ser2net stop
sudo service ser2net start
  1. Check the service status using sudo service ser2net status you should see somthing like shown below.

image

Installing Hubitat Drivers

  1. Download the drivers bundle from releases
    image

  2. Navigate to your Hubitat Controller's web interface and go to the "FOR DEVELOPERS" --> Bundles

    image

  3. Import the "UPBeatUniversalPowerlineBusIntegration.zip" into your Hubitat controller.

    image

  4. Once the import is completed, you should see the following.

    image

Configuring the UPBeat App

  1. Navigate to your Hubitat Controller's web interface and go to the Apps section.

    image

  2. Click "Add user app" and click UPBeat App.

    image

  3. Click "Done" on the app page.

    image

Configuring the UPBeat Powerline Interface Module

  1. Navigate to your Hubitat Controller's web interface and go to the Devices section.

    image

  2. Edit the UPB Powerline Interface Module device, goto the Preferences tab. Set the IP and port of your ser2net device from earlier.

    image

  3. Save, the setting and go to the Commands tab. You should see the following.

    image

    The PIM driver is a raw socket driver, sometimes you will see the following status.
    image

    It's completely normal and comes from the socket driver when no data arrives in a minute.

Adding devices manually

  1. Navigate to your Hubitat Controller's web interface and go to the Apps section. Click on UPBeat App.

    image

  2. Click on the "Manually Add Device", select a device type. as shown below.

    image

  3. Set the Name, Voice Name, UPB Network Id, and UPB Device Id, click Next.

    image

  4. Click the Go to Device Page button.

    image

  5. You should now be able to control your device.

Adding devices via UpStart UPE import

  1. Navigate to your Hubitat Controller's web interface and go to the Apps section. Click on UPBeat App.

    image

  2. Select Bulk Import and paste UPE file contents. Then click Next.

    image

    Review the import results, and click Next.

    image

    You are ready to go... :1st_place_medal:

    image

Limitations

The UPBeat UI is able to parse the complete UPE file, however; some device types are not currently supported, please see the list below for more information:

  • 0 = Other (Unsupported)
  • 1 = Keypad (Unsupported)
  • 2 = Switch (On/Off/Dim)
  • 3 = Module (On/Off/Dim)
  • 4 = Input Module (Unsupported)
  • 5 = Input-Output Module (Unsupported)
  • 6 = VPM (Unsupported)
  • 7 = VHC (Unsupported)
  • 8 = Thermostat (Unsupported)
  • 9 = XPW (Unsupported)
  • 10 = RFI (Unsupported)

We hope to grow device support with the help of the community and other developers.