Skip to content

v3.5 Stock ticker, Performance & OTA Protection

Choose a tag to compare

@widapro widapro released this 27 Feb 21:13
· 2 commits to main since this release

New Features

  • Stock Ticker Mode: Display real-time stock prices on any zone. Supports multiple symbols, customizable display format (name+price, price only, or % change), prefix/suffix, and price change arrows (↑↓). Data is provided by the free Finnhub.io service - a free API token is required. Register at finnhub.io and add your token in the Service Settings page.

Performance & Stability

  • CPU at 160 MHz: Increased from 80 MHz to 160 MHz - doubles processing throughput, especially beneficial for HTTPS requests (OWM, HA). [ESP8266]
  • OWM Memory Optimization: Dedicated memory allocation for OpenWeatherMap HTTPS requests, improving stability and reducing crash rate. [ESP8266]
  • Pre-fetched Weather on Boot: OWM data is now fetched during initialization - values are ready immediately on startup, no delay on first display.
  • Web Page Compression (gzip): All HTML pages are gzip-compressed. Transfer size reduced by ~91% (e.g. zone settings: 150 KB → 13 KB).
  • Browser-side Caching: Pages are cached in the browser, reducing UI load times and repeat-visit load on the device.

Smart OWM Display Logic

  • Weather values (temperature, icon, humidity, etc.) are compared before updating the display. If data is unchanged, no screen refresh or animation is triggered.
  • Animation only fires when values actually change - no unnecessary visual noise for static weather conditions.

OTA Firmware Update

  • Platform Mismatch Protection: Server-side validation prevents accidentally flashing firmware built for the wrong platform (e.g. ESP32 firmware onto ESP8266). An embedded platform marker in the binary is scanned during upload - mismatch is rejected before any data is written to flash.
  • Client-side Warning: If the selected filename contains a platform hint (e.g. esp32), a confirmation dialog is shown before upload begins.
  • OOM Protection: The OTA update page returns 503 instead of crashing when system memory is low (e.g. during active HTTPS requests).