Releases: HASwitchPlate/openHASP
Releases · HASwitchPlate/openHASP
Release 0.7.0-rc13
What's Changed
- Add W5500 SPI Ethernet by @bensuffolk in #343
- Feature/w5500 by @fvanroie in #344
- Make MQTT work with Ethernet by @bensuffolk in #345
- Updated for new define HASP_USE_ETHSPI to allow ETHSPI to build by @bensuffolk in #402
- Add option to auto create other standard files by @bensuffolk in #404
- added compile template for TTGO T-Display v1 (esp32 version) by @marc-gist in #411
- Fix custom topic by @Eshmun in #447
- Add Sunton ESP32-2432S032C by @d00616 in #493
- Improve cpicker in two ways by @aseanwatson in #500
- Comment out LV_FONT_DEFAULT to allow custom builds to compile by @bensuffolk in #503
- Spelling/typo fixes by @paravoid in #506
- Spelling fixes (changelog) by @paravoid in #507
- Add 4MB variant for Makerfabs ESP32 TFT Touch by @paravoid in #505
- New Crowdin updates by @fvanroie in #487
- Support ESP-BOX by @yetanothercarbot in #511
- change german language de_DE.h by @marsman7 in #523
- fix compile error : 'lv_font_montserrat_14' was not declared in this scope by @marsman7 in #527
- Adding system scripts that are automatically executed when idle level is changed by @marsman7 in #531
- Update CHANGELOG.md - idle level system scripts by @marsman7 in #532
- add panlee-zw3d95ce01s-tr-4848_16MB by @kinosang in #538
- New Crowdin updates by @fvanroie in #541
- New Crowdin updates by @fvanroie in #542
- New Crowdin updates by @fvanroie in #543
- swip up to page back by default by @kinosang in #539
- Fix #534 ILI9486 Failed to start: src/drv/tft/tft_driver_lovyangfx.cpp by @dfsx1 in #553
- Allow long WiFi passwords in the GUI by @alranel in #561
- sleep state - run idle scripts and allow to control the backlight by @perexg in #582
- use one allocation size for DynamicJsonDocument settings by @perexg in #584
- Implement WireGuard VPN by @perexg in #585
- New Crowdin updates by @fvanroie in #586
- Added support for Wizee (Elecrow) 2.8 WZ2432R028 ESP32 Display by @TheHexaMaster in #591
- Fix MacOS build by @alvarolobato in #597
- Support for esp32-s3-4848S040 by @tbxMb in #612
- Add esp32-s3-4848s040 to build.yaml by @tbxMb in #614
- Add support for updated Adafruit 2.4 and 3.5 TFT FeatherWings and HUZZAH32 board by @amanaplan in #613
- Revert "sleep state - run idle scripts and allow to control the backlight" by @fvanroie in #605
- Corrected environment names for huzzah32-v2-* boards by @amanaplan in #615
- Update sunton-esp32-s3-tft.ini by @TheHexaMaster in #622
- Allow more time for http get by @hb020 in #624
- re-enable idle scripts by @hb020 in #625
- On ESP32 fade the backlight by @presslab-us in #626
- wireguard - allow to set hostname for the remote peer by @perexg in #632
- Little wireguard cleanups by @perexg in #633
- Use callback for backlight fade by @presslab-us in #641
- Improve PC port feature support (Win32/Linux) by @kuba2k2 in #631
- Fix to compile in MacOS 14 by @dgomes in #650
- Allow lanbon_eth to build by @bensuffolk in #659
- hasp dark theme - use black (no gradient) for the background by @perexg in #581
- Add QR-code object by @marsman7 in #674
- New Crowdin updates by @fvanroie in #692
- New Crowdin updates by @fvanroie in #693
- New Crowdin updates by @fvanroie in #694
- fix: improve memory leaks on delete qrcode by @marsman7 in #695
- New Crowdin updates by @fvanroie in #699
- New Crowdin updates by @fvanroie in #701
- fix: Custom Group Topic name does not work by @marsman7 in #702
- Allow overriding of LV_MEM_CUSTOM by @hb020 in #705
- add crowpanel hmi 5inch 800x480 by @marsman7 in #711
- Add support for 2424S012 (round display with ESP32-C3) by @yetanothercarbot in #714
- Add list of TFT gpio pins so that they can not be selected for IO. by @FreeBear-nc in #734
- Minor spelling mistake corrected by @FreeBear-nc in #733
- Missing the FILE_SIZE_DIVIDER for gigabits by @FreeBear-nc in #737
- Add support for Guition JC4827W543 by @kiwiz in #729
- Using size_t limits max number to 2^32. by @FreeBear-nc in #739
- New Crowdin updates by @fvanroie in #740
- Add support for Waveshare ESP32-S3-Touch-LCD-4.3 by @adampr1 in #747
- Add support for Waveshare ESP32-S3-Touch-LCD-4.3 by @adampr1 in #746
- Was a mistake to hide TFT_BCKL gpio pin from the user. On some boards… by @FreeBear-nc in #752
- Hide TFT-G5 & USB GPIO pins in web page by @FreeBear-nc in #768
- Move USB_TXD/RXD to is_system_pin() by @FreeBear-nc in #769
- Add ESP32-S3-BOX-3 support. by @yetanothercarbot in #774
- Add devcontainer configuration by @GiorgioAresu in #780
New Contributors
- @bensuffolk made their first contribution in #343
- @marc-gist made their first contribution in #411
- @Eshmun made their first contribution in #447
- @d00616 made their first contribution in #493
- @aseanwatson made their first contribution in #500
- @paravoid made their first contribution in #506
- @yetanothercarbot made their first contribution in #511
- @marsman7 made their first contribution in #523
- @kinosang made their first contribution in #538
- @dfsx1 made their first contribution in #553
- @alranel made their first contribution in #561
- @perexg made their first contribution in #582
- @TheHexaMaster made their first contribution in #591
- @alvarolobato made their first contribution in #597
- @tbxMb made their first contribution in #612
- @amanaplan made their first contribution in #613
- @hb020 made their first contribution in #624
- @presslab-us made their first contribution in #626
- @kuba2k2 made their first contribution in #631
- @FreeBear-nc made their first contribution in #734
- @kiwiz made their first contribution in #729
- @adampr1 made their first contribution in https://github.com/HASwitchPlate/o...
v0.6.3
Changelog
Commands
- Additional
idle
parameters now acceptoff
,short
andlong
- Add
sensors
command to trigger the sensors state message - Run
L:/boot.cmd
when the plate is (re)booted if the script exists - You can now use the
pXbY.jsonl
command to update multiple object properties at once (thanks @nagyrobi)
Objects
- All objects have a custom
tag
property which can contain arbitrary JSON data (or numbers or text) (thanks @nagyrobi) img.src
now accepts bothhttp
andhttps
urls (thanks @htvekov)img.src
now acceptspng
andbinary
image urls, PSram is highly recommendedimg.src
now accepts 16-bit BMP files stored in flash
Web UI
- Updated to modern responsive design (requires JavaScript)
- Add
/api/info/
and/api/config/*/
endpoints - Allow for a customizible
vars.css
,style.css
,script.js
andedit.htm
- Display a message when the configuration is changed and a reboot is needed
- Add checkbox for backlight inversion to Display settings (thanks @wolffman122)
- Add checkbox to toggle ANSI codes #261 (thanks @geiseri)
- Allow firmware upgrade/downgrade in AP mode
GUI
antiburn
displays random pixels aka. white noise- Hide cursor during
antiburn
andidle
if the pointer is enabled
MQTT
- Remember last
page
id ofjsonl
messages. Sending multiple messages now behaves likejsonl
files (thanks @arovak)
Fonts
- Use TrueType fonts from flash, PSram is highly recommended (thanks to @s-hadinger)
- Custom LVGL binary fonts can be read from flash and loaded into memory, PSram is highly recommended
- Font ID is replaced by
namexx
(wherexx
is the font size) but the previous Font IDs still work for backwards compatibility - Added build option for Vietnamese character set (thanks @kydang789)
⚠️ Breaking: Removed defunct .zi font support!
Bug fixes
- Fixed Lanbon L8 v1.17 PCB screen corruption #316 (thanks @DJBenson)
- Fix for screenshots not showing properly in Safari on macOS/iOS (thanks @masto)
- Fix bug that would not accept
on
state for setting output GPIOs #275 (thanks @freshnas and @cerietke) - Fix a bug in
dropdownlist
wereclose
method performedopen
instead #299 (thanks @htvekov) - Fix
src
bug inimg
objects that could corrupt images sent over http (thanks @htvekov) - Fix screen dimensions in
statusupdate
message, taking into account current orientation #278 (thanks @kquinsland) - Fix for HTTP password that could be overwritten by 8 asterisks when it was not changed in the web UI
- Fixed MQTT hostname limit again... #304 (thanks @fake-name)
- Fixed firmware upgrade from URL #300 (thank @nagyrobi)
- Fixed a bug that prevented Wifi from connecting to different BSSID #330 (thanks @Braehead)
- Syslog message format fixes and improvements #285 (thanks @geiseri)
Custom component
- Expose
antiburn
andpage
in the CC (thanks @dgomes) - Expose the device URL in discovery message and CC
Architecture
- Moved to Tasmota Arduino 2.0.3 with native LittleFS library (thanks @Jason2866) and ESP-IDF 4.4.1 fixes for FragAttacks CVEs (thanks @nagyrobi)
- Add support for ESP32-S2 devices
⚠️ Breaking: Removed support for ESP8266!
Updated libraries to ArduinoJson 6.19.4, ArduinoStreamUtils 1.6.3, AceButton 1.9.2, TFT_eSPI 2.4.61, LovyanGFX 0.4.17 and Adafruit STMPE610 1.1.4
v0.6.2
Initial Setup
- Add Captive Portal to first time setup (thanks @AndreTeixeira1998)
- Create default
pages.jsonl
,online.cmd
andoffline.cmd
files if they don't exist (thanks @nagyrobi)
Objects
- Enable
click
by default onimage
object - Add
type
tospinner
object - Add
zoom
,angle
,pivot_x
,pivot_y
andantialias
attributes toimage
object - Allow url as
src
ofimage
object for raw webimages and from push image service from the CC (thanks @dgomes and @nagyrobi) - Use
L:/file.png
instead of/littlefs/file.png
for image paths,/littlefs/
still works for backwards compatibility
Objects
- Add
antiburn
command to prevent static parts of the screen to create a ghosting effect in some LCDs or conditions
Devices
- Add Analog touch driver for Unoshield displays (thanks @wesleygas)
- Add Arduitouch MOD ESP32 with 2.4" or 2.8"
- Add Lilygo®Ttgo Pi ESP32 with TFT 3.5"
- Add Waveshare ESP32 One development board with Rpi MHS4001(B) or Waveshare RPi(C) LCD display
- Add D1-R32 ESP32 development board with with Waveshare ILI9486 Touch Shield
Bug fixes
- Fix bug that caused a crash when both
btnmatrix
andmsgbox
where used (thanks @AndreTeixeira1998) - Fix L8-HD dimmer brightness initialization after a reboot (thanks @Stupco)
- Keep last dimmer value when toggling dimmer state on/off
- Fix configurable mqttPort (thanks @Qargh)
- Fix opaque background of
spinner
object in HASP theme (thanks @nagyrobi)
Updated AceButton to 1.9.1 and ArduinoJson to 6.18.5
v0.6.1
Commands
- Add
run
command to execute script files (.cmd
or.jsonl
) - Add
unzip
command for no-compression zip files - Add
service
command to start/stop a service
Wifi
- Don't reboot the plate anymore after prolonged wifi connection lost
- Run
/online.cmd
or/offline.cmd
script when the wifi status changed
Objects
- Add new line object
- Add
val
to btnmatrix whenone_select
is set - Cache up to 20 images in PSram when available
- Improve precision on the linemeter scales
- Fix dropdown redraw bug
Devices
- Fix L8-HD dimmer not responding correctly to mqtt after a reboot
- Add M5Stack Core2 backlight dimming
- Add Yeacreate Nscreen32
- Add Makerfabs ESP32 TFT Touch Capacitive
Fonts
- Additional characters:
²
(squared) and³
(cubed) - Additional icons: recycle-variant and additional weather icons
- Use latin1 as default charset on WT32-SC01
- Add Greek font
Compiling
- Allow custom bootlogo
- Selectively start http, telnet or console at boot
- Updated AceButton to 1.9.0 and ArduinoJson to 6.18.3
v0.6.0
Commands:
- Obsolete
dim
andlight
commands, usebacklight
command instead - Add
discovery
command to facilitate HA CC discovery - Add
idle
command to retreive idle state, replaceswakeup
command - Updated
moodlight
command with brightness support - Rewrite
outputX
and addinputX
command
Objects:
lmeter
object renamed tolinemeter
align
values are nowleft
,right
,center
instead of numbers (numbers can still be used)- Added
ext_click_h
andext_click_v
attributes to extend the clickable area - Added
clear
method to remove only the child objects from an object - New
tabview
,tab
,calendar
andmsgbox
objects - Add
img
object with png support (needs PSram for any sizable images) - Added missing properties of the
spinner
object
Web UI:
- Updated GPIO configuration pages
- Include a File Editor on ESP32: Create, Edit, Upload, Delete and Apply pages.jsonl (Thanks Cossie)
- Cache css, favicon and edit.htm.gz in the browser
- New Information page layout, including MQTT message counters for sent, received and failed
MCU:
- Allow longer wifi ssid and password
- Update partition boundaries to use all remaining space for lfs filesystem
- Speed improvement: keep LVGL functions in fast memory & reduce overhead in main loop
- Use ascii characterset for WT32-SC01 due to limited flash size
GPIO rewrite:
- Better handling of gpios
- Support for Lanbon L8-HD dimmer (EU and AU version, thanks to @Stupco)
- Add moodlight brightness support
Broadcast and Discovery topic (HASP_USE_BROADCAST and HASP_USE_DISCOVERY)
- Allow dynamic configuration of HA entities using the openHASP Custom Component (thanks @dgomes)
- Add Manufacturer and Model to statusupdate
Updated lvgl to 7.11.0, ArduinoJson to 6.18.0 and TFT_eSPI to 2.3.70
Internationalization:
- Added French language
- Added Portuguese language (thanks @AndreTeixeira1998 and @dgomes)
- Added Spanish language (thanks @altersis)
v0.5.1
- Restore broken
config/submodule
topics - Don't show warning on
comment
attribute - Patched a potential memory leak
- Added an automatic lv_mem_defrag to free up lvgl memory
- Allow selection of fonts via user_config_override
- Allow for longer mqtt configuration strings in user_config_override
- Allow default HASP_GPIO_TEMPLATE configuration in user_config_override
- Add
manufacturer
andmodel
to statusupdate - Fixed
enabled
attribute and addedclick
attribute
v0.5.0
Name changed to openHASP - https://www.openhasp.com/
When using HomeAssistant also update the openHASP Custom Component
- Switch built-in icons from FontAwesome to MaterialDesign icons #139
- Add built option for other character sets then latin1
- Built-in Font sizes dependent on screen size
- Add
swipe
property to switch pages - Add
action
property for local page navigation - Add
back
,prev
,next
attributes to pages #114 - JSON Serialize text in payloads containing text attributes #140
- Add arduitouch-esp32_ili9341 config and allow for TFT_BACKLIGHT_ON set to LOW #131
- Add FreeTouchDeck and ESP32-Touchdown configs
- Add roller
mode
infinite
attribute - Add btnmatrix
toggle
andone_check
attributes - Rework all event handlers to reduce update events and prevent race condition #119 (events have changed!)
- Add ability to style the selected part of roller object
- Add
scan_method = WIFI_ALL_CHANNEL_SCAN
for ESP32, improving multi-AP connection - Add warning
objid
property is obsolete, useobj
instead - Add warning
txt
property is obsolete, usetext
instead - Add dark theme build option for web UI
- Update lvgl and tft_espi library version
- Update maximum backlight_level from 100 to 255
- Set default
HASP_LOG_LEVEL=LOG_LEVEL_TRACE
v0.4.0
Note: The partition scheme has changed and you will need to reflash the device over serial first.
All data will be erased, so make sure to backup your pages.jsonl, config.json and fonts.
Changes:
- Provide all-in-one binary files for ESP32 to flash a device over serial using a single .bin file
- Allow long wifi passwords (#71 thanks @nagyrobi)
- Wakeup screen on first touch (#80)
- Reduce slider events (#88)
- Update events to accommodate the HA Custom Component (by @dgomes)
- Remove HA auto-discovery in favor of the HA Custom Component
- Add
clearpage all
command option - Add local page navigation and transitions
- Add scale properties
- Add
config/gpio
command - Allow for timezone setting in user_config_override.h (thanks @arovak)
- Start localizations for NL, HU and RO (thanks @nagyrobi)
- New prebuild devices:
- esp32-touchdown (thanks @joelhaasnoot and @DustinWatts)
- huzzah featherwing 2.4" and 3.5" (thanks @arovak)
- m5stack-core2
- Fix zi font crash bug
- Update setting min/max attributes (#103 thanks @arovak)
- Native builds for Windows, MacOS and Linux (thanks to @thouters and @dgomes)