feat: add Dreo 712S support, light platform, protocol extensions, example config - #2
Open
liamjvs wants to merge 1 commit into
Open
feat: add Dreo 712S support, light platform, protocol extensions, example config#2liamjvs wants to merge 1 commit into
liamjvs wants to merge 1 commit into
Conversation
The 712S (ESP32-C3) is a fan + main CCT light + locally-driven ambient RGB unit. Its module is already an ESP32-C3, so unlike the HTF018S it needs no hardware swap - just a stock-compatible partition table. Component changes: - New light platform (components/dreo/light) for datapoint-backed lights: switch/brightness/color_temperature datapoints, configurable mired range, and the stock "higher = cooler" colour-temp inversion. Guards against echoing MCU-sourced updates back to the MCU. - Protocol: parse string datapoints (type 0x03), accept 1/2/4-byte integers rather than 4-byte only, and treat 0x0E as the remote/panel button event it actually is (previously ignored as undecipherable). Adds the 0x09 version query and 0x03 wifi-status frames some models expect during sync. - New hub options, all defaulting to existing behaviour: startup_heartbeat_ interval, max_init_retries, query_version_on_sync, wifi_status_on_sync, periodic_wifi_status, button_event_repeat_guard, local_datapoints, and an on_button_event trigger. Adds diagnostic accessors (last rx/tx frame, status, seen datapoints) for probing new models. - Fan: speed_mappings for models whose stock levels are not 1..n, and configurable direction values for models using something other than 0/1. - Malformed datapoints now skip that entry instead of abandoning the rest of the frame, and zero-length payloads no longer read past the buffer. The 712S example, model notes and partition table live in docs/dreo-712s/. Adds a .gitignore, which the repo did not previously have. Compile-tested with ESPHome 2026.7.3: both the new 712S example and the existing HTF018S example build clean against these component changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The 712S (ESP32-C3) is a fan + main CCT light + locally-driven ambient RGB unit. Its module is already an ESP32-C3, so unlike the HTF018S it needs no hardware swap - just a stock-compatible partition table.
Write up is here.
Component changes:
The 712S example, model notes and partition table live in docs/dreo-712s/. Adds a .gitignore, which the repo did not previously have.
Compile-tested with ESPHome 2026.7.3: both the new 712S example and the existing HTF018S example build clean against these component changes.