Skip to content

Instantly share code, notes, and snippets.

@pjobson
Last active April 4, 2024 07:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjobson/e6343a6dddada20b4c16c7a4b7ac3fc0 to your computer and use it in GitHub Desktop.
Save pjobson/e6343a6dddada20b4c16c7a4b7ac3fc0 to your computer and use it in GitHub Desktop.
OpenHAB on Low Power Hardware

OpenHAB on Low Power Hardware

Geared towards running on Dell Wyse 3040 ATOM CPU devices with antiX Linux with Nortek GoControl HUSBZB-1 Z-Wave and Zigbee.

The Wyse 3040 is a very basic 4 core 1.44GHz/1.92GHz (burst) Intel Atom x5-Z8350 with 2GB of RAM. Supposedly they average about 7.5 watts under normal load. They can be purchased for $35-100 on eBay (as of 2 Jan 2023). CPUMark on mine is 1,050, which is about 138 points higher than average.

Install antiX

I chose antiX as it is geared for low-end computers and it does not come with much installed on it.

Download: https://antixlinux.com/download/

Install as usual.

Update/install/purge/upgrade/autoremove.

sudo apt update
sudo apt install terminator neofetch vim -y
sudo apt purge gnome-mahjongg dosbox cherrytree xfburn zzzfm* simple-scan gtkam libreoffice-* \
               mirage mtpaint claws-mail* connectshares-antix dillo droopy-antix hexchat* links2 \
               transmission* celluloid guvcview mpv smtube streamlight-antix streamtuner2 winff* \
               xmms* geany* -y
sudo apt install -f
sudo apt upgrade -y
sudo apt autoremove -y

Obligitory Neofetch is Obligatory

$ neofetch
       _,met$$$$$gg.
    ,g$$$$$$$$$$$$$$$P.       pjobson@automat
  ,g$$P"     """Y$$.".        ---------------
 ,$$P'              `$$$.     OS: Debian GNU/Linux 11 (bullseye) x86_64
',$$P       ,ggs.     `$$b:   Host: Wyse 3040 Thin Client
`d$$'     ,$P"'   .    $$$    Kernel: 5.10.57-antix.1-amd64-smp
 $$P      d$'     ,    $$P    Uptime: 13 hours, 41 mins
 $$:      $$.   -    ,d$$'    Packages: 1414 (dpkg)
 $$;      Y$b._   _,d$P'      Shell: bash 5.1.4
 Y$$.    `.`"Y$$$$P"'         Terminal: /dev/pts/1
 `$$b      "-.__              CPU: Intel Atom x5-Z8350 (4) @ 1.920GHz
  `Y$$                        GPU: Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx
   `Y$$.                      Memory: 850MiB / 1896MiB
     `$$b.
       `Y$$b.
          `"Y$b._
              `"""

Persistent Linux Device Names for Nortek GoControl HUSBZB-1 Z-Wave and Zigbee stick

Insert the Nortek GoControl stick.

https://www.davecorder.org/tag/openhab/

Find Serial Number

sudo dmesg | grep usb

Look for something like this:

[3.383904] usb 1-2: Product: HubZ Smart Home Controller
[3.383908] usb 1-2: Manufacturer: Silicon Labs
[3.383911] usb 1-2: SerialNumber: 1160015D
                                  ^ 
                                  + - Copy this down

Find USB Vendor ID and Product ID

lsusb

Should show your stick:

Bus 001 Device 002: ID 10c4:8a2a Silicon Labs HubZ Smart Home Controller
                       ^    ^
                       |    + - Product ID (idProduct)
                       + ------ Vendor ID  (idVendor)

Create/Edit udev Rule

sudo vi -w /etc/udev/rules.d/99-husbzb-1.rules

Add this, substituting SERIAL_NUMBER, PRODUCT_ID, and VENDOR_ID.

SUBSYSTEM=="tty", ATTRS{idVendor}=="VENDOR_ID", ATTRS{idProduct}=="PRODUCT_ID", ATTRS{serial}=="SERIAL_NUMBER", ENV{ID_USB_INTERFACE_NUM}=="00", SYMLINK+="zwave"
SUBSYSTEM=="tty", ATTRS{idVendor}=="VENDOR_ID", ATTRS{idProduct}=="PRODUCT_ID", ATTRS{serial}=="SERIAL_NUMBER", ENV{ID_USB_INTERFACE_NUM}=="01", SYMLINK+="zigbee"

Trigger the rule:

sudo udevadm trigger

Validate:

ls -la /dev/zigbee /dev/zwave

Should return something like:

lrwxrwxrwx 1 root root 7 Dec 31 04:45 /dev/zigbee -> ttyUSB1
lrwxrwxrwx 1 root root 7 Dec 31 04:45 /dev/zwave -> ttyUSB0

Install OpenHAB

# Get the Keys
curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor > openhab.gpg
sudo mkdir /usr/share/keyrings
sudo mv openhab.gpg /usr/share/keyrings
sudo chmod u=rw,g=r,o=r /usr/share/keyrings/openhab.gpg
# Install Some Stuff
sudo apt install apt-transport-https default-jre -y
# Add the repo
echo 'deb [signed-by=/usr/share/keyrings/openhab.gpg] https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
# Install openhab
sudo apt update && sudo apt install openhab openhab-addons -y

Browse to OpenHAB: https://localhost:8443

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment