Skip to content

Releases: GalusPeres/HomeTiles

HomeTiles v0.6.8

Choose a tag to compare

@github-actions github-actions released this 23 Aug 17:35

v0.6.8 expands hardware coverage and improves ESP32-P4 Camera and
display stability.

Highlights

  • Added release and browser-installer coverage for Waveshare 7B/7B-C, Guition
    JC1060P470C V2, and Waveshare ESP32-S3-Touch-LCD-4B.
  • Added two explicit Waveshare 7B/7B-C release and browser-installer entries:
    ESP32-P4 before v3.0 (revisions 1–199), and exact ESP32-P4 v3.1. The v3.1
    entry is experimental and exact hardware has not been verified.
  • Fixed Waveshare 7B startup by avoiding the EK79007 display-on/off operation
    that its panel driver does not support.
  • Stabilized Camera presentation across native ESP32-P4 DSI profiles with
    protected double buffering and fail-closed handling when PPA or display
    refresh completion is missing.
  • Added a persistent display-pipeline timeout report before a controlled
    restart, because that safe restart does not create a normal core dump.
  • A missing Camera response now reports MQTT or Bridge reachability instead of
    incorrectly claiming that HomeTiles Bridge is outdated.
  • Corrected the hardware-reported default orientation on Waveshare 10.1-inch
    and Guition JC1060 V2, added a readable 2% brightness floor on the 10.1-inch,
    and corrected the JC1060 V2 LCD-reset/GPIO mapping.

Update Notes

HomeTiles Bridge v0.6.37 remains the recommended companion release. No new
Bridge protocol is required for these changes.

Use the regular .bin for OTA or the browser installer's Update mode. Use
_factory.bin only for a first installation or an intentional factory reset.

For Waveshare 7B/7B-C, select ESP32-P4 before v3.0 (revisions 1–199) or
exact ESP32-P4 v3.1 (experimental) in the browser installer. That selection
determines the asset. The browser installer, Web Admin upload, and on-device OTA
updater enforce the revision contract and reject mismatches. The base filename
is for revisions 1–199; _rev3_1 is only for exact v3.1 (301).

The other current ESP32-P4 profiles use vendor-listed P4NRW32/pre-v3 modules and
are also explicitly guarded to revisions 1–199. ESP32-P4 v3.2 or newer is
unsupported with Arduino-ESP32 3.3.7 / ESP-IDF 5.5.2 and must not be flashed.
Direct esptool flashing of the v3.1 image to v3.2+ is unsafe because the
Arduino v3.00 or newer build's underlying ESP header can span revisions
301–399 and bypass HomeTiles' exact-v3.1 check.

Saved display orientations remain unchanged. The corrected orientation defaults
apply when no orientation has been saved yet.

Hardware Confirmed

A short Camera smoke test passed on M5Stack Tab5, Waveshare 4B, and Waveshare
Touch LCD 8-inch. This was not a long-duration stress test.

Waveshare 10.1-inch display operation, Wi-Fi, MQTT, and OTA were independently
reported working before this release's orientation and brightness-default
corrections. A JC1060 V2 tester reported that everything worked apart from the
previous 180-degree default. The Waveshare ESP32-S3-Touch-LCD-4B implementation
also received an initial real-hardware confirmation.

Pending Hardware Validation

The Camera fix still needs exact-device confirmation on the Guition JC8012 V1
reported in issue #30 and on the other unowned native DSI profiles. The 7B
pre-v3 path and especially the experimental exact-v3.1 path still need physical
startup, display, touch, storage, networking, Camera, and OTA confirmation. The
corrected JC1060 V2 and Waveshare 10.1-inch defaults and the first published
Waveshare ESP32-S3 4B release/OTA path also need confirmation. CI compilation is
not treated as physical validation.

Thanks to @pguns for the Camera crash report,
@mccarron for the Waveshare 7B startup log,
@atliant for the Waveshare 10.1-inch report,
@hromych for JC1060 V2 testing, and
@ehfortin and
@exiom-xyz for Waveshare ESP32-S3 4B support
and hardware feedback.

Full Changelog: v0.6.7...v0.6.8

HomeTiles v0.6.7

Choose a tag to compare

@github-actions github-actions released this 16 Aug 19:44

v0.6.7 adds local access control for Settings and folders and
improves display and screensaver stability.

Highlights

  • Added optional 4-8 digit PIN protection for Settings and individual folders.
  • Settings can be parked outside the Home grid and reopened with a configurable
    inward edge swipe while preserving the tile title, icon, color, size, and
    position.
  • Added a shared localized PIN keypad with masked input, recovery PIN support,
    automatic timeout, and immediate protected-folder navigation.
  • Improved Guition ESP32-S3 display synchronization while saving configuration
    and moving the Settings tile.
  • Avoided blocking SD-card mount retries when a screensaver starts without a
    card and accelerated the black ESP32-P4 fallback frame.
  • Corrected ESP32-P4 detection and module-cache refreshes in the browser
    installer.

Update Notes

HomeTiles Bridge v0.6.37 is the current recommended companion release. The new
PIN controls are local to the display and do not require a new Bridge protocol.

Use the regular .bin for OTA or the browser installer's Update mode. Use
_factory.bin only for a first installation or an intentional factory reset.

The PIN feature is a local child lock, not an authenticated login. Anyone with
Web Admin access can manage and reveal the configured PINs. The documented
Factory PIN can unlock Settings and protected folders.

Hardware Confirmed

The Settings visibility, PIN, folder PIN, and edge-swipe flows were exercised on the M5Stack Tab5,
Waveshare 4B, Waveshare Touch LCD 8-inch, and Guition ESP32-4848S040 ESP32-S3.

Pending Hardware Validation

The same access-control flow still needs exact-device confirmation on the Waveshare 86 Panel,
Waveshare Touch LCD 7-inch and 10.1-inch, Guition JC8012 V1/V2, and Guition JC1060P470C.
CI compile coverage is not treated as physical validation.

Thanks to @ehfortin for independently proposing
configurable Settings visibility and sharing Waveshare 4B findings in
PR #28.

Full Changelog: v0.6.6...v0.6.7

HomeTiles v0.6.6

Choose a tag to compare

@github-actions github-actions released this 11 Aug 21:53

v0.6.6 adds a guided browser flasher and improves Home Assistant controls, OTA reliability, and ESP32-S3 display stability.

Highlights

  • Added the HomeTiles Browser Installer for USB updates and first installations.
  • Corrected Climate and Light availability, capabilities, and controls.
  • Weather popups now open after either a short or long press.
  • Improved ESP32-S3 display recovery.
  • Improved ESP32-P4 Web Admin OTA reliability and performance.
  • Added practical screensaver JPEG guidance.

Update Notes

Update HomeTiles Bridge to v0.6.36 through HACS and restart Home Assistant before updating the display.

Use the regular .bin for updates and _factory.bin only for a first installation or factory reset.

Hardware Status

JC8012 V2 display, touch, brightness, and OTA were confirmed on real hardware. Its microSD support remains untested.

Thanks to @SeKam68 for the JC8012 V2 hardware and OTA report, and to @projectthirty3, @majki09, and @thewan056 for the screensaver JPEG findings.

Full Changelog: v0.6.5...v0.6.6

HomeTiles v0.6.5

Choose a tag to compare

@github-actions github-actions released this 10 Aug 21:14

v0.6.5 adds Home Assistant Cover controls and improves display, storage and
interaction stability across all published device profiles.

Upgrade Order

  1. Update HomeTiles Bridge to v0.6.35 through HACS and restart Home Assistant.
  2. Update the display to HomeTiles v0.6.5.

Highlights

  • New localized Cover tiles and a Light-popup-based Cover popup with
    feature-aware position, tilt, open, close and stop controls.
  • Improved Guition ESP32-S3 touch, RGB display synchronization, OTA,
    screenshots, slideshow memory use and rate-limited diagnostics.
  • Unified normal and screensaver brightness across device UI, MQTT and Home
    Assistant without losing the safe device-specific PWM ranges.
  • Expanded the folder cache to six grids across all ESP32-P4 profiles and moved
    cold renderer bookkeeping into PSRAM to reclaim internal RAM.
  • Added a live downloadable SD diagnostic report without persistent diagnostic
    history.
  • Added a separate image for Guition JC8012P4A1 V2
    (SKU:10153002-V2).
  • Corrected JC1060 SD startup by applying the board's active-low GPIO45 power
    reset before mounting the card.

The Guition ESP32-4848S040 ESP32-S3 image is hardware-tested and does not
support Camera tiles.

Hardware-confirmed targets are M5Stack Tab5, Waveshare 4B/86 Panel/8-inch,
Guition JC8012 V1 and Guition ESP32-S3. Waveshare 7/10.1-inch and Guition
JC8012 V2 still need complete physical-device validation. JC1060 SD-card
operation still needs confirmation on the exact _I_W_Y hardware.

Use the regular .bin for OTA and _factory.bin only for the first USB flash
or a complete reset.

Full Changelog: v0.6.4...v0.6.5

HomeTiles v0.6.4

Choose a tag to compare

@github-actions github-actions released this 04 Aug 05:41

Update HomeTiles Bridge to v0.6.32 first, restart Home Assistant, then update the display.

  • Faster folder navigation, Weather popups and Web Admin refreshes
  • More reliable light, color and Kelvin slider updates
  • Separate screensaver brightness and improved idle handling
  • New localized I/O tab for switches, onboard relays and DS18B20 sensors
  • Improved long-session responsiveness and ESP-Hosted recovery diagnostics

Camera support on ESP32-P4 and the Guition ESP32-S3 image remain experimental. Use the regular .bin for OTA and _factory.bin only for the first USB flash or a complete reset.

Full Changelog: v0.6.3...v0.6.4

HomeTiles v0.6.3

Choose a tag to compare

@github-actions github-actions released this 29 Jul 20:07

HomeTiles v0.6.3 adds an experimental camera popup for ESP32-P4 displays,
improves light controls and network stability, adds Cyrillic tile-title glyphs,
and removes unfinished non-Home-Assistant features.

Upgrade Order

  1. Update HomeTiles Bridge to v0.6.28 through HACS and restart Home Assistant.
  2. Update the display to HomeTiles v0.6.3.
  3. For Camera tiles, select the camera under HomeTiles Bridge → Configure →
    Entity Configuration
    .

Other tile types continue to work without the camera protocol, but Camera tiles
explicitly require Bridge v0.6.28 or newer.

Experimental Camera Popup

  • Added Camera tiles and a popup that fills the available 16:9 content area.
  • Supports Home Assistant cameras with a direct stream source as well as
    snapshot-only camera entities.
  • The Bridge uses FFmpeg to produce display-sized JPEG frames and sends them
    through an acknowledged local TCP connection. MQTT remains active for normal
    states, commands and camera setup.
  • The display requests its own popup geometry, so each P4 profile uses the same
    camera implementation without hard-coded device names.
  • Direct streams can reach up to 24 FPS. Actual performance is limited by the
    source frame rate, Home Assistant host, network and display.
  • Added bounded buffering, latest-frame replacement, triple display buffers and
    protected presentation paths so camera work cannot consume the MQTT/WiFi
    reserve.
  • Added explicit camera protocol negotiation and a translated Bridge-update
    message instead of waiting indefinitely on an incompatible integration.
  • Camera sessions use the first available local TCP port from 8124 to 8131.

Camera support is experimental. FFmpeg transcoding consumes CPU on the Home
Assistant host, and every simultaneously open panel creates a separate session.
The ESP32-S3 Guition ESP32-4848S040C_I does not expose Camera tiles.

Lights And CCT

  • Reworked brightness, color-wheel and color-temperature interaction so local
    feedback follows the finger without flooding Home Assistant with every touch
    sample.
  • Preserved the existing popup design while fixing redraw gaps and rounded
    slider endpoints.
  • CCT-only lights keep brightness, power and Kelvin controls while hiding the
    unsupported color palette.
  • Warm/cold endpoint requests use the exact Kelvin range reported by Home
    Assistant. Current Waveshare 4B, Waveshare 8 and the previous Tab5 firmware
    were checked with a two-channel CCT test entity.

Text And Interface

  • Added modern Cyrillic glyphs to tile-title fonts in the common 14, 16, 20 and
    24 px sizes (issue #10).
  • English and German remain the selectable complete interface languages.
  • French stays hidden while its translation pass is unfinished.

Stability And Maintenance

  • Moved additional ESP-Hosted receive allocations to PSRAM and retained the
    patched TX path used by release builds.
  • Restored the normal UI draw buffer after closing a camera popup instead of
    leaving later popups on the large video buffer.
  • Kept MQTT and WiFi active during camera streaming and bounded frame transport
    with receiver acknowledgements.
  • Removed the unfinished PC WebSocket server, desktop companion application,
    Flight Simulator bridge, Key tiles and Counter tiles.

Hardware-confirmed Release Targets

Device Release image
M5Stack Tab5 m5stacks_tab5
Waveshare ESP32-P4-WIFI6-Touch-LCD-4B waveshare_4b
Waveshare ESP32-P4-86-Panel-ETH-2RO waveshare_4b (native Ethernet supported)
Waveshare ESP32-P4-WIFI6-Touch-LCD-8 waveshare_touch_lcd_8
Guition JC8012P4A1C_I_W_Y guition_jc8012p4a1

Experimental Images Awaiting Hardware Confirmation

The following factory and OTA images are intentionally included on the release
page for community testing. Compilation is verified, but the complete physical
device has not yet passed the display, touch, brightness, storage, networking,
screensaver and OTA checklist.

Exact device Release image Feedback
Waveshare ESP32-P4-WIFI6-Touch-LCD-7 waveshare_touch_lcd_7 Issue #7
Waveshare ESP32-P4-WIFI6-Touch-LCD-10.1 waveshare_touch_lcd_10_1 Issue #7
Guition JC1060P470C_I_W_Y guition_jc1060p470c _I_W_Y only; issue #8
Guition ESP32-4848S040C_I guition_esp32_4848s040 ESP32-S3, no camera; issue #9

Use the regular .bin for OTA and the _factory.bin only for a first USB
flash or complete reset.

Full Changelog:
v0.6.2...v0.6.3

HomeTiles v0.6.2

Choose a tag to compare

@github-actions github-actions released this 23 Jul 19:38

Guition JC8012P4A1C_I_W_Y support

  • Added factory and OTA binaries for the 10.1-inch Guition JC8012P4A1C_I_W_Y.
  • Display, brightness control, GSL3680 touch, ESP-Hosted WiFi, microSD and dual-partition OTA are integrated.
  • Touch direction, MQTT, Home Assistant Bridge data and automatic discovery were confirmed on real hardware.

Many thanks to @brmo for sharing the original working display code, testing the HomeTiles builds and providing the detailed logs and feedback needed to finish the integration.

Important MQTT / Bridge fix

  • Fixed Bridge setup for newly added devices. HomeTiles now sends its MAC-based Bridge announcement after every MQTT connection, allowing the Home Assistant integration to return the selected entity list.
  • Prevented a Bridge apply/announce feedback loop when a new configuration is received.
  • This was easy to miss because existing test devices already had retained Bridge data and continued to work normally.

Other changes

  • Expanded the translation groundwork and moved more UI text into the shared i18n tables. The unfinished French language option remains hidden for now.

Supported devices

  • M5Stack Tab5
  • Waveshare ESP32-P4-WIFI6-Touch-LCD-4B
  • Waveshare ESP32-P4-86-Panel-ETH-2RO with native Ethernet (uses the Waveshare 4B firmware)
  • Waveshare ESP32-P4-WIFI6-Touch-LCD-8
  • Guition JC8012P4A1C_I_W_Y

Downloads

Use the normal .bin file for OTA updates and the _factory.bin file for the first USB flash.

Full changelog: v0.6.1...v0.6.2

HomeTiles v0.6.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 01:26

HomeTiles v0.6.1 improves network safety, Web Admin reliability, and general UI polish.

Highlights

  • WiFi and Ethernet now share one DHCP/static-IP configuration.
  • Static addressing works consistently with WiFi, native Ethernet, and USB Ethernet.
  • Invalid or incomplete static settings safely fall back to DHCP.
  • Added an on-device Use DHCP recovery option with Undo DHCP until restart.
  • Network and MQTT settings are now saved without full-page reloads.
  • Open network popups update immediately after settings are changed.
  • Improved network settings layout, IP input styling, and light-popup spacing.
  • Updated German and English network labels.

Supported Devices

OTA and factory binaries are included for:

  • M5Stack Tab5
  • Waveshare ESP32-P4-WIFI6-Touch-LCD-4B
  • Waveshare ESP32-P4-WIFI6-Touch-LCD-8
  • Waveshare ESP32-P4-86-Panel-ETH-2RO using the Waveshare 4B firmware

Thanks to @onikserj for testing Ethernet support and providing valuable feedback.

Use the regular .bin for OTA updates and _factory.bin only for the initial USB flash. See the Firmware Updates guide for details.

Full Changelog: v0.6.0...v0.6.1

HomeTiles v0.6.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 14:42

HomeTiles v0.6.0 introduces a complete Climate tile and popup system, improves
network transport reliability, and polishes the web editor and on-device UI
across every supported display.

Configurable Climate Tiles

  • Climate tiles now contain a configurable grid of mini-tiles.
  • Mini-tiles can show current temperature, current humidity, target temperature,
    separate heating and cooling targets, target humidity, or HVAC mode.
  • Mini-tiles can be selected, moved, removed, and rearranged directly in the web
    preview.
  • Resizing a Climate tile updates its slot grid and layout live.
  • Automatic content uses the capabilities reported by the Home Assistant entity,
    so unsupported controls stay hidden.
  • Empty Climate tiles remain empty until an entity is selected.
  • Web previews and the LVGL device renderer use matching geometry, spacing,
    alignment, value formatting, and translated labels.

Climate Control Popup

The new touch-first popup adapts to each entity and can expose:

  • a single target temperature or a low/high target range
  • target humidity
  • HVAC modes
  • presets
  • fan modes
  • vertical swing modes
  • horizontal swing modes

Only supported controls are shown. Long custom option lists are smoothly
touch-scrollable without a visible scrollbar. Current temperature and humidity,
target markers, labels, and the circular control are aligned for both 720p and
800p layouts. Marker colors also update while a target is being dragged.

Rapid plus/minus input is handled without stale state updates causing the value
to jump backwards.

Web Editor And Localization

  • Parent tiles and mini-tiles have distinct selection, hover, and drag feedback.
  • Dragging a mini-tile no longer selects or moves its parent.
  • Parent resize previews keep mini-tile geometry stable in every direction.
  • Climate labels use the shared localization profile instead of language-specific
    JavaScript branches.
  • German and English captions remain consistent between settings, web previews,
    and the device UI.

Network And Stability

  • Added a shared network transport layer with improved WiFi/Ethernet takeover and
    fallback behavior.
  • Improved UI responsiveness while network transports reconnect.
  • Hardened ESP-Hosted SDIO transmit and receive allocation paths used by the
    ESP32-P4/ESP32-C6 connection.
  • Existing crash diagnostics and safe recovery remain available through the web
    admin.

Supported Devices

Every release includes OTA and factory binaries for:

  • M5Stack Tab5
  • Waveshare ESP32-P4-WIFI6-Touch-LCD-4B
  • Waveshare ESP32-P4-WIFI6-Touch-LCD-8

Use the plain .bin for an OTA update and the _factory.bin only for the first
USB flash. See Firmware Updates for the complete instructions.

Full Changelog: v0.5.6...v0.6.0

HomeTiles v0.5.6

Choose a tag to compare

@github-actions github-actions released this 16 Jul 13:05

What's Changed

  • Added safe recovery for failed on-device GitHub OTA downloads: the device records diagnostics, restarts safely, and retries from a fresh boot.
  • Downloaded firmware is staged in PSRAM using paced 512 KB ranges with retry handling and a resolved GitHub CDN URL.
  • OTA transport failures are appended to /crashlog.txt so they remain available after the safe restart.
  • Added a German and English System-popup notice that an update may restart the device twice and that the installed version should be checked afterwards.
  • Added troubleshooting for the ESP32-P4/ESP32-C6 ESP-Hosted/SDIO HTTPS/TLS path and step-by-step instructions for the manual Web Admin OTA fallback.

The manual fallback requires the user to download the matching plain OTA .bin from this release and upload it in the Web Admin Firmware section. Do not use the _factory.bin for an OTA update.

Full Changelog: v0.5.5...v0.5.6