diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 78401b3..3216205 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -177,6 +177,12 @@ staan iconen in de browser uit het midden); draai daarna `generate_packages.py`. De substituties `MDI_GLYPH_*` zijn vervallen: `TILEn_ICON` in handmatige profielen moet uit de set komen. Geen gewijzigde preferences of sleutels. +### Compatibiliteit 0.2.30 / firmware 0.2.25 + +Alleen de editor: het statusbolletje in de schermlijst is een eigen `span.dot` +(groen met `.online`). Firmware krijgt alleen een nieuw versienummer; protocol, +opslag, preferences en sleutels ongewijzigd. + ### Compatibiliteit 0.2.29 / firmware 0.2.24 Alleen firmware (Guition). `cyd::EdgeSwipe` (in `cyd_ui.h`, getest in diff --git a/docs/TEST_RESULTS_0230.md b/docs/TEST_RESULTS_0230.md new file mode 100644 index 0000000..99200ab --- /dev/null +++ b/docs/TEST_RESULTS_0230.md @@ -0,0 +1,25 @@ +# Testresultaten app 0.2.30 / firmware 0.2.25 (2026-09-14) + +Het statusbolletje in de schermlijst van de editor is groen voor online schermen. +De firmware krijgt alleen een nieuw versienummer. + +## Wat veranderde + +- `app.js`: de statusregel onder de schermnaam zet het bolletje in een eigen + `span.dot` (met `.online` als het scherm online is); `style.css` kleurt + `.screen-main .dot.online` groen (`#2e9d62`). Offline houdt de gedempte tekstkleur. +- `SCREEN_FIRMWARE_VERSION` 0.2.25 in beide bordprofielen, pakketten en + `core.FIRMWARE_VERSION`; bench-kopieën in `.esphome/` bijgewerkt. + +## Geautomatiseerd + +- Python: 84 tests OK. `generate_packages.py --check` groen. +- C++ (clang++ -std=c++17 -Wall -Wextra -Werror -I.): alle `tests/*.cpp` PASS. +- ESPHome compile: `easy-guition-device.yaml` SUCCESS in 43 s (RAM 31,9%, flash 18,3%), + `easy-cyd-device.yaml` SUCCESS in 44 s (RAM 30,9%, flash 76,0%). +- Lokale add-on (devserver) met twee nep-schermen: berekende kleur van het bolletje + `rgb(46, 157, 98)` voor online, `rgb(105, 118, 137)` voor offline. + +## Nog niet geverifieerd + +- Het bolletje in de echte add-on op de Yellow na **Bijwerken** in de add-on store. diff --git a/guition-4848s040.yaml b/guition-4848s040.yaml index 48d01ea..4315cd7 100644 --- a/guition-4848s040.yaml +++ b/guition-4848s040.yaml @@ -1,7 +1,7 @@ # Guition ESP32-S3-4848S040 / 4-inch EU wallbox, 480x480 IPS + GT911. # Use guition-device.yaml; see docs/GUITION.md. CYD hardware is a separate profile. substitutions: - SCREEN_FIRMWARE_VERSION: "0.2.24" + SCREEN_FIRMWARE_VERSION: "0.2.25" # A tap survives a finger that drifts up to this far (480 px over 72 mm: 1 cm); further is a swipe. TOUCH_MOVE_LIMIT_PX: "67" # Shortest contact that counts as a tap; a resistive panel bounces, a capacitive one does not. diff --git a/home-like-2432s028.yaml b/home-like-2432s028.yaml index 86f43e7..341c188 100644 --- a/home-like-2432s028.yaml +++ b/home-like-2432s028.yaml @@ -58,7 +58,7 @@ ############################################################ substitutions: - SCREEN_FIRMWARE_VERSION: "0.2.24" + SCREEN_FIRMWARE_VERSION: "0.2.25" # A tap survives a finger that drifts up to this far (320 px over 58 mm: 1 cm); further is a swipe. TOUCH_MOVE_LIMIT_PX: "56" # Shortest contact that counts as a tap; a resistive panel bounces, a capacitive one does not. diff --git a/packages/cyd.yaml b/packages/cyd.yaml index 835fc6d..51a1004 100644 --- a/packages/cyd.yaml +++ b/packages/cyd.yaml @@ -59,7 +59,7 @@ ############################################################ substitutions: - SCREEN_FIRMWARE_VERSION: "0.2.24" + SCREEN_FIRMWARE_VERSION: "0.2.25" # A tap survives a finger that drifts up to this far (320 px over 58 mm: 1 cm); further is a swipe. TOUCH_MOVE_LIMIT_PX: "56" # Shortest contact that counts as a tap; a resistive panel bounces, a capacitive one does not. diff --git a/packages/guition.yaml b/packages/guition.yaml index 0f10c3e..0a78897 100644 --- a/packages/guition.yaml +++ b/packages/guition.yaml @@ -2,7 +2,7 @@ # Guition ESP32-S3-4848S040 / 4-inch EU wallbox, 480x480 IPS + GT911. # Use guition-device.yaml; see docs/GUITION.md. CYD hardware is a separate profile. substitutions: - SCREEN_FIRMWARE_VERSION: "0.2.24" + SCREEN_FIRMWARE_VERSION: "0.2.25" # A tap survives a finger that drifts up to this far (480 px over 72 mm: 1 cm); further is a swipe. TOUCH_MOVE_LIMIT_PX: "67" # Shortest contact that counts as a tap; a resistive panel bounces, a capacitive one does not. diff --git a/screen_manager/CHANGELOG.md b/screen_manager/CHANGELOG.md index e171875..bd0ca61 100644 --- a/screen_manager/CHANGELOG.md +++ b/screen_manager/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.2.30 (firmware 0.2.25) + +- **Groen bolletje voor online schermen**: in de lijst met schermen is het bolletje voor **Online** nu groen, zodat je in één oogopslag ziet welke schermen bereikbaar zijn. **Offline** blijft een grijs open rondje. +- Firmware 0.2.25 voor beide borden; de app biedt de update aan. Inhoudelijk verandert er in de firmware niets, alleen het versienummer. + ## 0.2.29 (firmware 0.2.24) - **Vegen vanaf de zijrand op de Guition**: met **Vegen tussen pagina's** aan wissel je van pagina door vanaf de linker- of rechterrand naar binnen te vegen, zoals terug-vegen op een telefoon. Vanaf rechts naar links is volgende, vanaf links naar rechts vorige. Langzaam of snel maakt niet uit: de veeg begint in een band van 32 px (circa 5 mm) langs de rand en telt na 40 px (circa 6 mm) naar binnen, duidelijk meer zijwaarts dan omhoog of omlaag (`EDGE_SWIPE_BAND_PX`, `EDGE_SWIPE_TRAVEL_PX`). Werkt in alle vier de rotaties. Een veeg die midden op het scherm begint doet niets meer, zodat tikken en slepen op tegels nooit per ongeluk van pagina wisselen; de tegel onder een randveeg krijgt geen tik. Het log meldt `randveeg: pagina 0 -> 1`. diff --git a/screen_manager/app/core.py b/screen_manager/app/core.py index 737ff54..38fd4ee 100644 --- a/screen_manager/app/core.py +++ b/screen_manager/app/core.py @@ -16,7 +16,7 @@ WEEKDAYS = ['ma', 'di', 'wo', 'do', 'vr', 'za', 'zo'] REPO = 'https://github.com/MaxGramser/homeassistant_espscreen' REFS = {'cyd': 'main', 'guition': 'main'} # Firmware shipped with this app release; screens below it get an update offer. -FIRMWARE_VERSION = '0.2.24' +FIRMWARE_VERSION = '0.2.25' ATTRS = frozenset('brightness percentage current_position current_temperature temperature current_humidity min_temp max_temp target_temp_step supported_color_modes hvac_modes hvac_action hs_color color_temp_kelvin min_color_temp_kelvin max_color_temp_kelvin fan_speed_list unit_of_measurement battery_level fan_speed volume_level is_volume_muted media_title options min max step temperature_unit supported_features device_class next_rising next_setting finishes_at duration remaining humidity wind_speed wind_speed_unit apparent_temperature fan_modes swing_modes fan_mode swing_mode'.split()) # Attributes whose boolean value the screen needs; every other bool stays behind. BOOL_ATTRS = frozenset(['is_volume_muted']) diff --git a/screen_manager/app/static/app.js b/screen_manager/app/static/app.js index 4fc8541..0ca04be 100644 --- a/screen_manager/app/static/app.js +++ b/screen_manager/app/static/app.js @@ -331,13 +331,12 @@ function renderScreens() { ); const b = node("button", undefined, "screen-main"); b.type = "button"; - b.append( - node("strong", screen.name), - node( - "small", - `${screen.online ? "● Online" : "○ Offline"}${screen.area ? " · " + screen.area : ""} · firmware ${screen.firmware || "onbekend"}`, - ), + const meta = node("small"); + meta.append( + node("span", screen.online ? "●" : "○", `dot ${screen.online ? "online" : ""}`), + ` ${screen.online ? "Online" : "Offline"}${screen.area ? " · " + screen.area : ""} · firmware ${screen.firmware || "onbekend"}`, ); + b.append(node("strong", screen.name), meta); b.onclick = () => select(screen.id); item.append(b); const update = renderUpdate(screen); diff --git a/screen_manager/app/static/style.css b/screen_manager/app/static/style.css index 5d80a7f..35e4be0 100644 --- a/screen_manager/app/static/style.css +++ b/screen_manager/app/static/style.css @@ -185,6 +185,9 @@ aside h2 { .screen-main small { margin-top: 3px; } +.screen-main .dot.online { + color: #2e9d62; +} .screen-update { display: flex; align-items: center; diff --git a/screen_manager/config.yaml b/screen_manager/config.yaml index c93b1c2..2b6196f 100644 --- a/screen_manager/config.yaml +++ b/screen_manager/config.yaml @@ -1,5 +1,5 @@ name: ESP Screen Manager -version: "0.2.29" +version: "0.2.30" slug: esp_screen_manager description: Kies tegels voor je CYD en Guition touchscreen, zonder opnieuw flashen. url: https://github.com/MaxGramser/homeassistant_espscreen