72 Commits

Author SHA1 Message Date
M-Factory
7153e11829 ESPTimeCast v1.5.0 - Action API, Physical Button & WiFi Improvements
v1.5.0 — Action API, Physical Button & WiFi Improvements

 New: Unified `/action` API:
- New `/action` endpoint replaces individual `/set_*` endpoints (legacy endpoints still supported)
- Device control via HTTP GET or POST: messages, brightness, navigation, timers, toggles, and more
- Toggle behavior: sending a parameter without a value toggles it and jumps to the relevant mode
- Explicit value behavior: sending `=0` or `=1` sets without disrupting the display
- All boolean settings now controllable via API: `twelvehour`, `dayofweek`, `showdate`, `colon_blink`, `humidity`, `weatherdesc`, `units`, `countdown`, `flip`, `clock_only_dimming`
- Navigation actions: `next_mode`, `prev_mode`, `go_to_mode` (by number or name)
- Brightness actions: `brightness`, `brightness_up`, `brightness_down`, `display_off`
- Rotation control: `enable_rotation` — freeze or resume automatic mode rotation
- System actions: `save`, `restart`, `clear_message`, `language`
- Timer actions: `timer`, `timer_stop`, `timer_cancel`, `timer_pause`, `timer_resume`, `timer_start`, `timer_restart`
- Message aliases: `scrolltimes`, `scrolls`, `scroll_times` all accepted
- `clear_message` correctly restores the persistent Web UI message

 🔘 New: Physical Button Template
- Optional physical button support — disabled by default, uncomment to enable
- Short press: advance to next mode (customizable)
- Long press (800ms): toggle display on/off (customizable)
- Uses internal pull-up — no external resistor needed
- Any action from the `/action` API can be assigned to either press
- Full documentation and wiring guide added to README

 📶 Improved: WiFi Reconnection
- New exponential backoff reconnection system
- Reconnect attempts: 5s → 10s → 20s → 40s → 80s → 160s → 300s (caps at 5 min)
- Prevents hammering the router with rapid reconnection attempts
- `WiFi.setAutoReconnect(false)` — manual backoff now handles all reconnection
- ESP8266 uses `WiFi.begin(ssid, password)` for reconnection (ESP32 uses `WiFi.reconnect()`)
- Logs connection loss, reconnection attempts, and successful reconnection
- mDNS restarts automatically after reconnection
- Weather fetch deferred briefly after reconnection to let network stabilize

🌐 ESPTimeCast Companion Extension
- New browser extension available on the Chrome Web Store
- Automatically detects and displays media titles from YouTube, Spotify, Prime Video, Twitch, Vimeo, Dailymotion, and SoundCloud
- Control brightness, modes, and rotation directly from the popup
- Cast to multiple ESPTimeCast devices simultaneously
- Requires **v1.5.0 or later** (uses the new `/action` endpoint)

 🎨 Font Changes
- `mfactoryfont.h` is now bundled directly with the firmware following the license change
- No separate font download required — the custom font is included out of the box
- Basic Font has been removed — all builds now use the full `mfactoryfont.h`
- All icons, weather symbols, and custom glyphs available on all installations

 📜 License Change
- ESPTimeCast is no longer licensed under GPL-3.0
- New license: Source-available for personal, non-commercial use only
- Personal use includes home, hobby, and small non-commercial settings
- Forking permitted with license retained
- Commercial licensing available — contact mario.felipe.tf@gmail.com
- Previous versions (v1.4.2 and earlier) remain under GPL-3.0

### 📖 Documentation
- Full API reference added to README covering all `/action` parameters
- Physical button wiring guide and customization examples
- WiFi reconnection behavior documented
- Timer documentation added (moved from HA section to standalone section)
- Chrome Extension section added to README
- Legacy endpoint note added for `/set_custom_message` and `/set_brightness`
2026-03-23 13:56:58 +09:00
M-Factory
09acbebf48 ESPTimeCast - Patch Release - Web UI polish & AP mode improvements
This update focuses on polishing the setup experience and improving consistency across interfaces.

• Cleaner AP Mode with only essential options
• Consistent error handling aligned with the web installer
• Improved onboarding messaging for new users
• General UI and text refinements
• Fixed scroll bug in short messages when the "flip display" option was enabled

This release (v1.4.2) marks the final version of ESPTimeCast distributed under the GPL 3.0 license. Starting from v1.5.0, ESPTimeCast will transition to a Source-Available, Personal Use Only license.

What this means:
- v1.4.2 and earlier remain fully open-source (GPL-3.0)
- Future versions will have different usage terms
- Existing users can continue using and modifying GPL versions as before

This change helps support the long-term development of the project while keeping it accessible for personal use.

🙏 Thank you to everyone who supported and keep supporting ESPTimeCast and helped the project grow!

Future releases will introduce new features including a new API and extended integrations.
2026-03-18 20:28:25 +09:00
M-Factory
8d108dfdc3 ESPTimeCast v1.4.1 - Patch Release - Web UI improvements and stability fixes
Whats new:

- Fix: Serve Web UI directly from PROGMEM instead of LittleFS, freeing ~114KB of filesystem space for config files and preventing storage-related save errors

- Fix: Hostname handling now correctly defaults to "esptimecast" on fresh install, preventing empty hostname errors on first save.

- Improvement: Hostname redirect after save now correctly stays on IP address when accessed via IP, instead of always redirecting to .local

- Improvement: OTA update success screen now hides the form and footer for a cleaner post-update experience

- Removed: ensureHtmlFileExists() function no longer needed — Web UI is always in sync with firmware
2026-03-15 11:45:32 +09:00
M-Factory
60a8d3f77c ESPTimeCast v1.4.0 Timer function added
New Feature: Timer Mode

• ESPTimeCast now supports a built-in timer that can be started directly from a custom message command.
• Example command: [TIMER 5M], this starts a 5-minute countdown timer on the display.
• When a timer is active, the device enters Timer Mode: The normal display loop (clock, weather, messages, etc.) will not interrupt the timer.
• Timer remains visible until it finishes or is manually controlled.
• Only messages sent with allowInterrupt=0 will pass through during an active timer.

Timer Commands:
[TIMER XHXMXSX] → Start a timer with defined duration (24hrs max)
[TIMER STOP] or [TIMER CANCEL]→ Stop the timer
[TIMER PAUSE] → pause the timer
[TIMER RESUME] [TIMER START] → Resume paused timer
[TIMER RESTART] → Restart current timer

Timers can be triggered from: the Web UI, API (/set_custom_message)

Other Improvements:
• Fixed incorrect Turkish day translations
• Added support for the ¥ (Yen) symbol
• Improved Custom Message input field for easier timer and icons input
2026-03-10 23:36:02 +09:00
M-Factory
c00a3c70f5 ESPTimeCast v1.3.3 - Patch Release
Whats new:

Dynamic Hostname Configuration: You can now change the device's network hostname directly from the Web UI. No more digging through the code to identify your ESPTimeCast on the network!

Symbol Support: The character set for custom messages has been massively expanded. You can now use technical and decorative symbols for richer data display: ! . : ? ; , ' " - _ + % / [ ] # & $ | ° @ ^ ~ * = < > { } \

Protected Messages: Added the allowInterrupt parameter to the custom message API. This gives you more control over whether a new message should immediately take over the display or wait for the current one to finish.

Clock-Only Mode Stability: Fixed a logic bug that occurred when the device was set to "Clock-Only" mode. The display should now remain stable and responsive without unexpected transitions.
2026-03-08 01:49:39 +09:00
M-Factory
5e19609707 ESPTimeCast v1.3.3 - Patch Release
Whats new:

Dynamic Hostname Configuration: You can now change the device's network hostname directly from the Web UI. No more digging through the code to identify your ESPTimeCast on the network!

Symbol Support: The character set for custom messages has been massively expanded. You can now use technical and decorative symbols for richer data display: ! . : ? ; , ' " - _ + % / [ ] # & $ | ° @ ^ ~ * = < > { } \

Protected Messages: Added the allowInterrupt parameter to the custom message API. This gives you more control over whether a new message should immediately take over the display or wait for the current one to finish.

Clock-Only Mode Stability: Fixed a logic bug that occurred when the device was set to "Clock-Only" mode. The display should now remain stable and responsive without unexpected transitions.
2026-03-08 01:28:20 +09:00
M-Factory
f793878134 ESPTimeCast v1.3.2 - Patch Release - Stability & UI Polish
Improved Advanced Settings Visibility:
All categories within the Advanced Settings menu are now expanded by default, making it easier to locate and adjust parameters without additional clicks.

Hardware Pinout Optimization:
Migrated ESP32-C3 to neutral GPIOs (CLK_PIN 4, CS_PIN 10, DATA_PIN 6) to prevent boot-up hangs caused by strapping pins and conflicts with the onboard LED.

AP Mode Auto-Recovery:
Added a 3-minute safety timer to Access Point mode. If WiFi credentials are already stored, the device assumes a temporary interruption (e.g., power outage) and automatically reboots to retry connecting with the saved credentials.

Weather Icons in Description:
Integrated OpenWeather icons directly into the weather description display. Added Mist/Fog icon support and updated mfactoryfont.h to include the new glyph.

WiFi & Handshake Stability:
Refined connection and retry logic to improve resilience against router drops and ensure a faster, more reliable initial setup.

Binary Footprint Optimization:
Removed redundant CSS and consolidated style declarations to reduce firmware size and improve Web UI loading speed on ESP devices.
2026-03-04 23:07:10 +09:00
M-Factory
4edcae85bc ESPTimeCast v1.3.1 - The "First Flight" Update
This is a special milestone: version 1.3.1 is the first-ever update designed to be installed wirelessly using the OTA (Over-The-Air) feature we introduced in the previous version!

What’s New:
First OTA Milestone: You can now skip the USB cable! If you are running v1.3.0, this is the first update you can install directly through your browser.

Improved Custom Message Transition: Long custom messages that fill the screen now "step aside" just before the clock arrives. This prevents text from overlapping and makes the handover look professional.

Stronger Wi-Fi Handling: We’ve made the connection logic much more robust. Your device is now better at staying connected and recovering from network blips.

Intuitive Web UI: We fixed the "Enter" key behavior. Typing a Custom Message and hitting Enter now sends it instantly, while hitting Enter in the settings area saves your configuration.

Rock-Solid Sync: Transitions are now more reliable than ever. No matter how you trigger a custom message (Web UI or Home Assistant), the clock is guaranteed to scroll back into place perfectly.

Updated mfactoryfont.h: We have updated the font file to support new spacing and character logic. If you are flashing manually via USB, please make sure to download the latest version of the font from the repository to ensure your display looks its best!
2026-03-03 23:17:02 +09:00
M-Factory
349bd5195f ESPTimeCast v1.3.0: The Final Wired Update
This release introduces secure HTTPS OTA updates for ESP8266 and ESP32.

You must install this version once via USB.
After that, all future updates can be performed wirelessly from the web interface, even from your phone.

One last wired update, then freedom ;)

Note: OTA = Over-the-air updates
2026-03-01 21:43:14 +09:00
M-Factory
1321d00bdf ESPTimeCast™ v1.2.3 - Patch Release
Updated icons
2026-02-26 00:32:22 +09:00
M-Factory
02a5f251f6 Added icons
[NOTEMP]
[NONTP]
[WIFI]
[INFO]
[AP]
[C]
[F]
[TIMEISUP]
[TIMEISUPINVERTED]
[SUNNY]
[CLOUDY]
[NODATA]
[RAINY]
[THUNDER]
[SNOWY]
[WINDY]
[CLOCK]
[ALARM]
[UPDATE]
[BATTERYEMPTY]
[BATTERY33]
[BATTERY66]
[BATTERYFULL]
[BOLT]
[HOUSE]
[TEMP]
[MUSICNOTE]
[PLAY]
[SPACE]
[PAUSE]
[EURO]
[SPEAKER]
[SPEAKEROFF]
[RED]
[UP]
[DOWN]
[RIGHT]
[LEFT]
[TALK]
[HEART]
[CHECK]
[INSTA]
[TV]
[YOUTUBE]
[BELL]
[LOCK]
[PERSON]
[HOURGLASS]
[HOURGLASS25]
[HOURGLASS75]
[HOURGLASSFULL]
[CAR]
[SIGNAL1]
[SIGNAL2]
[SIGNAL3]
[DEG]
[SUNDAYJP]
[MONDAYJP]
[TUESDAYJP]
[WEDNESDAYJP]
[THURSDAYJP]
[FRIDAYJP]
[SATURDAYJP]
2026-02-26 00:08:48 +09:00
M-Factory
52b52c2b18 Correct version number added 2026-02-25 17:39:14 +09:00
M-Factory
19f9a10c76 ESPTimeCast™ v1.2.2 - Patch Release
v1.2.2 Patch Release Highlights

1. Home Assistant Brightness Fix
	•	Fixed an issue where brightness values 0–15 were not saving correctly via Home Assistant.
	•	Now all valid brightness values persist, improving automation reliability.

2. Font Separation & Licensing Update
	•	mfactoryfont.h moved to the Web Installer repo.
	•	Font is now personal, non-commercial use only, with embedded license in the .h file.
	•	Firmware repo now uses a clean BasicFont fallback, ensuring compilable builds without the custom font.
2026-02-25 17:29:52 +09:00
M-Factory
8f714ea452 ESPTimeCast Firmware 1.2.1 – Patch Release
Temperature Display: Resolved rendering issues with the temperature units when changing units thru the Web UI.

Memory Management: Refactored days_lookup.h and months_lookup.h to remove hardcoded delimiters, significantly reducing the Flash memory footprint.
2026-02-25 00:00:34 +09:00
M-Factory
c2fe7349af Correct firmware version number added 2026-02-24 13:36:19 +09:00
M-Factory
f4a6267280 ESPTimeCast Firmware 1.2.0 - Smart Logic & Stability (Symbols, Auto-BigNumbers)
1. New Parameter: bignumbers
You can now force the clock to use the Big Number Font for custom messages.

Via Home Assistant: Send bignumbers=1 as a POST parameter.
Via Web UI (Smart Shortcut): Wrap your number in brackets, and the UI will automatically set the flag for you.

Example: Typing [25] DEGREES sends "25 DEGREES" in the Big Numbers Font.

2. Symbol Tokens
The clock now supports "Shortcodes" that are replaced with special hardware icons/glyphs:

[C]: Displays the C (Celsius) icon.
[F]: Displays the F (Fahrenheit) icon.
[DEG]: Displays the degree symbol (˚).
°: You can also type or paste the actual degree symbol directly into the UI!

3 Month and Day look up: If you previously edited your font header file (.h) to remove these lines, v1.2.0 will overwrite those changes with the default "lined" font.

Action Required: You will need to manually re-edit the font file to remove the top-row pixels if you prefer the "clean" look.
2026-02-24 00:34:23 +09:00
M-Factory
abf7c6a162 ESPTimeCast Firmware 1.1.1 – Patch Release
Fixes & Improvements:

• Instant Interrupts: Added forceMessageRestart checks to all display modes (Clock, Weather, Nightscout, Countdown). Notifications now show up instantly without waiting for animations or delays to finish.

• ESP8266 Stability: Implemented SSL buffer size limits (setBufferSizes) for Nightscout/Weather fetches to prevent "Out of Memory" crashes on 8266 hardware.

• Race Condition Fix: Resolved the "Spam-to-Clock" bug where sending multiple rapid HA messages would accidentally trigger the "Message Finished" logic and return to the clock prematurely.

• Memory Management: Replaced all blocking delay() calls with non-blocking timer loops, ensuring the device remains "awake" and responsive during long display durations.

• UI Persistence: Improved the restoration logic for persistent messages; HA temporary messages now properly restore the previous background message to the buffer without forcing it to scroll immediately.
2026-02-21 12:56:12 +09:00
M-Factory
7d446221a0 ESPTimeCast Firmware 1.1.0 - Feature Release (HA-ready)
• New Status API: Introduced a robust /status endpoint providing a full JSON snapshot of the device state. This includes real-time display modes, masked security tokens, and live sensor data.

• Universal Messaging Hub: The customMessage logic has been completely refactored. The device now supports prioritized temporary messages via HTTP POST—perfect for Spotify "Now Playing," YouTube alerts, or Home Assistant notifications.

• Intelligent State Machine: Improved display logic ensures the clock correctly returns to background tasks (Weather/Nightscout) only after temporary messages have finished their programmed scroll count.

• Nightscout Integration Enhancements: Enhanced data tracking for CGM users, including "Time Since Last Reading" and trend-arrow support directly within the API for external dashboarding.

• Safari-Optimized Web UI: Refined the Advanced Settings interface with CSS fixes to ensure a consistent, pixel-perfect experience across Safari and iOS devices.

• Security Hardening (Status API): Implemented "Surgical Masking" for the new /status endpoint. Sensitive information like OpenWeather API keys and Nightscout tokens are now hidden in status reports to allow for safe sharing of device data with third-party dashboards and integrations. (Note: Full keys remain visible in /config.json and the Web UI for administrative management).

⸻

Notes:

• Integration Ready: This version is fully compatible with Home Assistant and external scripts. See the updated README for examples on how to push music titles to your display.

• Feature Update: This is a major version jump; users are encouraged to verify their Nightscout and Weather settings after flashing.
2026-02-20 23:52:14 +09:00
M-Factory
5b65897992 Firmware version loads directly from sketch 2026-02-19 17:30:32 +09:00
M-Factory
b3c2aadbdb ESPTimeCast Firmware 1.0.1 - Patch Release
• ESP32 auto pin handling: Improved board detection and automatic MAX7219 pin configuration for ESP32 variants.

• Reliable Web UI update mechanism: Replaced size-only validation of /index.html with content comparison to ensure HTML updates correctly, even when file size remains unchanged.

• AP-mode SSID/Password bug: Saving in AP mode now preserves the correct SSID and password, preventing the device from getting stuck in AP mode.

• AP-mode loop refactor: Display animation and web server handling optimized for better responsiveness and stability.

• Web UI updates: factory_reset and upload endpoints updated to match the new design. Small UI improvements.

⸻

Notes:

• Users experiencing AP-mode issues should reselect their WiFi and re-enter their password once to restore STA mode.

• Patch release only; no new features added.
2026-02-18 17:06:25 +09:00
M-Factory
65b48550e9 ESPTimeCast Firmware 1.0.1 – Patch Release
Fixed / Updated:

• AP-mode SSID/Password bug: Saving in AP mode now preserves the correct SSID and password, preventing the device from getting stuck in AP mode.

• AP-mode loop refactor: Display animation and web server handling optimized for better responsiveness and stability.

• Web UI updates: factory_reset and upload endpoints updated to match the new design.

Notes:
• Users experiencing AP-mode issues should reselect their WiFi and re-enter their password once to restore STA mode.

• Patch release only; no new features added.
2026-02-18 10:50:05 +09:00
M-Factory
a3ede7fc5e UI Overhaul, Timezone Update & ESP32-S2 Stability Adjustment
Time Zone Update

•Added updated rule for: Atlantic/Canary → WET0WEST,M3.5.0/1,M10.5.0
•Ensures correct DST handling for Canary Islands region.

ESP32-S2 Adjustment

ESP32-S2 builds have been temporarily moved to HTTP-only mode.
This change improves stability due to SSL/TLS issues observed on certain boards (yes… looking at you, Wemos S2 Mini 👀).

Brand New Web UI

•Complete UI refinement for improved structure and clarity.
•Advanced settings reorganized into modular categories.
•Cleaner hierarchy and better consistency with the web installer.
•Improved micro-interactions and visual polish.
2026-02-14 00:17:38 +09:00
M-Factory
44f22e2779 ESP32: Improved LittleFS initialization logging during first boot 2026-01-31 16:03:17 +09:00
M-Factory
2097aba754 Improvements to weather fetch stability across ESP8266 and ESP32.
This resolves random reboots and memory exhaustion when refreshing the UI
while a weather update is in progress on ESP8266.

- ESP8266 now uses HTTP for OpenWeatherMap to avoid TLS-related OOM crashes
- ESP32 continues to use HTTPS without regression
- Verified stability during forced mid-fetch refreshes from the web UI
2026-01-30 11:31:49 +09:00
M-Factory
cfd645b25c Added Wifi scan, improved captive portal stability
- Added WiFi scan for easy SSID selection during setup
- Fixed captive portal redirect loop causing repeated redirects and occasional OOM
- Simplified handleCaptivePortal logic and removed conflicting 204 route handlers
- Prevented API endpoints (/config.json, /ip, /hostname) from being redirected
- Improved AP mode stability during repeated browser refresh and captive probes
- Minor logging cleanup for better debugging visibility
2026-01-27 22:36:30 +09:00
M-Factory
4d956aaa50 Improved hostname handling and Web UI network info
- Centralized device identity (hostname, AP SSID, AP password).
- Added cross-platform setupHostname() for ESP8266 / ESP32.
- Apply hostname before WiFi connection in STA and AP modes.
- Enabled WiFi.persistent(false) to reduce flash writes.
- mDNS now uses configured hostname consistently.
- Added /ip and /hostname endpoints.
- Web UI footer now displays live IP and host (or AP mode).
- Clear behavior in AP mode (shows AP IP and AP-Mode).
2026-01-26 15:40:47 +09:00
M-Factory
8121e5d1a9 Clock-Only Dim Mode + Safe Config Migration & USB Stability
- Implemented safe config migration for new JSON key
- Auto-update HTML UI when version changes
- Improve USB CDC serial stability on native USB boards
- Avoid blocking serial dumps on native USB boards
- Added “Clock-Only Mode When Dimmed” feature
- Cross-board stability validation (ESP8266 / ESP32 / S2)
2026-01-23 14:59:44 +09:00
M-Factory
e859132351 Improvement: Properly manage mDNS lifecycle on WiFi events 2025-12-15 19:38:03 +09:00
M-Factory
e008e64921 Added mDNS support for easy access via http://esptimecast.local 2025-12-01 13:17:29 +09:00
M-Factory
4f22ffb024 Added mDNS support for easy access via http://esptimecast.local 2025-12-01 12:08:33 +09:00
M-Factory
4ffd8f4697 Added 'deg' symbol to custom messages sent via HA 2025-11-22 20:13:26 +09:00
M-Factory
8224b05949 Added Home Assistant brightness endpoint and support static display for short messages (≤8 chars). 2025-11-21 13:33:50 +09:00
M-Factory
3bee52f6d2 Added Home Assistant brightness endpoint and support static display for short messages (≤8 chars). 2025-11-21 12:04:22 +09:00
M-Factory
058bce4776 Enhance ESP32/ESP8266 network stability and reliability while adding clearer WiFi event logging for improved diagnostics. 2025-11-19 22:25:02 +09:00
M-Factory
3dd89df2cf Improved Home Assistant integration with new message duration and scroll count parameters 2025-11-17 22:51:48 +09:00
M-Factory
378f79c60e Improved NTP handling on boot 2025-11-17 18:25:53 +09:00
M-Factory
2a6ab2d1be Fixed Dimming Logic 2025-11-17 16:59:48 +09:00
M-Factory
9493788ebd Fixed Dimming Logic 2025-11-17 16:56:19 +09:00
M-Factory
d5d5cf683a Bug fixes
Fixed "ElementProxy or MemberProxy error" when uploading thru platformio
2025-11-16 18:21:46 +09:00
M-Factory
666dd85b4e Web UI: Embedded HTML to LittleFS via streaming to prevent memory crashes and stabilize serving.
Added check to see if HTML exist and if should be replaced or not
2025-11-14 13:54:07 +09:00
M-Factory
a490e9cfb5 Web UI: Provision embedded HTML to LittleFS via streaming to prevent memory crashes and stabilize serving.
This update changes the root web handler to serve the configuration page strictly from LittleFS. On the first boot, the large HTML content is safely copied from the embedded PROGMEM string to a file using a streaming write loop, which prevents heap fragmentation and subsequent memory allocation failures. This guarantees stable and reliable loading of the configuration page across all devices.
2025-11-14 10:43:12 +09:00
M-Factory
334490a5a6 Bug fixes 2025-11-14 03:10:48 +09:00
M-Factory
26af0fd7e5 Bug fixes 2025-11-14 00:51:29 +09:00
M-Factory
f6d5cba1fb Added /factory_reset endpoint
/factory_reset to delete all time and config data, available only thru in AP mode:
192.168.4.1/factory_reset
2025-11-13 22:52:43 +09:00
M-Factory
9714ab3a5f Web UI and config embedded; no /data upload needed
The ESPTimeCast project now includes the web interface (HTML/CSS/JS) and configuration files directly in the sketch.

Key improvements:
- No separate `/data` folder or LittleFS upload is needed.
- After flashing the sketch, the device will automatically create and manage the configuration on first boot.
- The setup process is simplified: users only need to upload the main sketch for full functionality.
- Backwards-compatible with existing boards: previous configuration files will still be loaded if present.

This change makes installation faster, reduces potential errors with LittleFS uploads, and simplifies maintenance for new users.
2025-11-13 14:19:52 +09:00
M-Factory
7e892a6216 Dimming serial log improvements 2025-11-12 20:31:40 +09:00
M-Factory
03a5432cbe Added automatic dimming based on sunrise/sunset times from the weather API 2025-11-11 23:16:17 +09:00
M-Factory
0d704d4bf3 Added Home Assistant Support
Fixed a bug were HA message was wrongly save as persistent
2025-11-08 22:05:59 +09:00
M-Factory
7096653bca Added Home Assistant Support
Added Home Assistant Support.
Bug fixes
2025-11-08 17:37:45 +09:00
M-Factory
18d816a60d Add hidden /export and /upload endpoints for manual config backup and restore 2025-11-06 21:08:28 +09:00