openHASP firmware

GitHub Workflow Status GitHub release GitHub issues Discord contributions welcome GitHub

Control your home-automation devices from a customizable touchscreen UI connected via MQTT.

This project is a re-implementation of the popular HASwitchPlate sketch created by aderusha. The HASPone project uses a Wemos D1 mini and requires a Nextion/TJC HMI display. This rewrite removes the Nextion/TJC hardware requirement by using the Light and Versatile Graphics Library on the MCU to drive a commodity display.

openHASP also adds ESP32 and STM32F4 support to take advantage of the additional hardware capabilities.

Demo Screens

Screenshot   Screenshot   Screenshot

Features

Feature ESP8266 ESP32 STM32F4
SPI display yes yes yes
Parallel display no yes yes
PWM Screen dimming yes yes yes
Maximum Page Count 4 12 12
Object Types / Widgets 14 15 15
Dynamic Objects yes yes yes
Lvgl Theme Support basic only all themes tbd
Custom .zi V5 font yes (latin1) yes (latin1) no
FontAwesome Icons 1300+ 1300+ no
PNG images no tbd tbd
Network Wifi Wifi Ethernet

Cloning

Make sure to add the --recursive parameter when cloning the project. Otherwise git will not download the required submodules in the /lib subdirectory.

git clone --recursive https://github.com/HASwitchPlate/openHASP

If you already cloned openHASP without the submodules, you can fetch the submodules seperately using:

git submodule update --init --recursive

To build a defierent branch use:

git clone --recursive https://github.com/HASwitchPlate/openHASP
cd openHASP
git checkout 0.4.0
git submodule update --init --recursive

Getting Started

Check out the documentation for how-to's, information and frequently asked questions.

Support

For support using openHASP, please join the #openHASP channel on Discord.

Languages
C++ 85.5%
C 12.6%
Python 1.6%
RobotFramework 0.1%