Releases: sidoh/esp8266_milight_hub
Releases · sidoh/esp8266_milight_hub
1.6.0
New features
New device support
- FUT089/B8 remotes, which allow for control of up to eight groups with one remote.
State tracking!
- State for all devices -- that is, (device type, device id, group) triplets -- is now passively tracked and persisted.
- Add a REST route to retrieve the state of a given device.
- Add support for publishing full device state to MQTT.
- Add support for sending raw commands and arguments in MQTT and REST integrations.
- REST endpoint to change bulb state now returns the new state of the bulb instead of just
true
. - Switching devices in the UI will update settings to known values for that ID (e.g., on/off switch, brightness, etc. will be set to last known values).
- Add the ability to select which keys (
brightness
,color
, etc.) are sent in MQTT updates (and REST state responses). Defaults to keys used by HomeAssistant'smqtt_json
component, but you can now select alternatives likelevel
, orhue
/saturation
instead ofcolor
.
nRF Radio Optimizations
- @khmann cut a lot of unnecessary work and added optimizations in the nRF radio handler code which improved performance by 40% (!).
MQTT improvements
- MQTT state updates are published as retained messages. New subscribers to state topics will receive the last published message. This means, for example, HomeAssistant will boot with the correct bulb states.
- ( #103 ) Add ability to select which fields (
brightness
,level
, etc.) are sent in MQTT updates and state messages.
Security
- Compile against Arduino 2.4.0-rc2, which includes a fix for the KRACK vulnerability in WPA2.
- @speendo added a password for the setup AP. The password is
milightHub
. This prevents your wifi credentials from being transmitted in plaintext.
Bug fixes
- @bombcheck fixed a bug with handling night mode for RGBW bulbs.
- FUT092 (RGB+CCT) packets encoded with the key
0xD4
were getting decoded incorrectly. This has been fixed. - Removed improper usage of PROGMEM which might've caused crashes when compiled in some environments.
- Fixed crashes when compiled in a Windows environment.
- Fix edge case where wrong packets being sent in V5 UDP integrations.
- The
GET /settings
endpoint returned the raw settings file on flash, which meant newly added setting keys weren't populated with their default value. The value returned by this endpoint is now populated with default values for otherwise undefined settings. - Loading settings from the UI (and the
POST /settings
REST endpoint) were not working properly. This has been fixed. - Fixed bug where packet repeats weren't set correctly when settings were saved.
- @speendo fixed a bug causing the "Clear Wifi Config" feature to not work.
- ( #155 ) Fix buffer overrun for commands that buffer lots of packets (like level controls for CCT bulbs).
1.6.0-rc4
1.6.0-rc3
Improvements
- ( #103 ) Add ability to select which group state fields (e.g., brightness, level, color, etc.) are served over REST endpoint and in MQTT payload. Previously these were fixed to a hardcoded list.
- ( #149 ) Delay updates to MQTT state topic when JSON command with multiple components is sent. A single update is sent at the end with all of the state changes applied.
1.6.0-rc2
See release notes here for changelog over v1.5.
Changes since v1.6.0-rc1:
Bug fixes
- Loading settings from the UI (and the
POST /settings
REST endpoint) were not working properly. This has been fixed. - Properly detect night mode for RGBW bulbs.
- Fix misclassification of RGBW and CCT packets.
- The
DEBUG_PRINTF
compiler flag was causing compilation errors. This has been fixed. - Fix state tracking when MQTT is disabled.
- Fix bug that intermittently caused crashes in
/gateway_traffic
route.
1.6.0-rc1
1.6.0-dev9
New Features and Improvements
- Compile against Arduino 2.4.0-rc2, which includes a fix for the KRACK vulnerability in WPA2.
- Rate limit flushing state to flash instead of flushing everything on an interval.
- State updates to group 0 will affect state for all groups with the same ID.
- Switching IDs in the UI will update settings to known values for that ID (e.g., on/off switch, brightness, etc. will be set to last known values).
Bug fixes
- Fixed bug where packet repeats weren't set correctly when settings were saved.
1.6.0-dev8
New Features
- State update rate limiting. Configurable maximum rate at which bulb states are flushed to MQTT. Defaults to 500ms. Useful to avoid overwhelming the TCP stack on the ESP.
Improvements
- Always forward updates and state to MQTT. Don't try to do clever deduplication.
- MQTT state updates are now persistent. Meaning new subscribers to state topics will receive the last published message. This means, for example, HomeAssistant will boot with the correct bulb states.
- REST endpoint to change bulb state now returns the new state of the bulb instead of just
true
.
Bug fixes
- RGBW commands were always crashing due to a bug in the radio config handler.
- The
GET /settings
endpoint returned the raw settings file on flash, which meant newly added setting keys weren't populated with their default value.
1.6.0-dev7
Bug fixes
- Fix wrong packets being sent in v5 UDP servers.
1.6.0-dev6
Bug fixes
- ( #121 ) Fix UDP crashes.
1.6.0-dev5
New features
- Separate MQTT topics for delta updates (i.e., individual RF commands) and full state updates.
- Configurable state flush interval.
- Don't send updates for commands that don't affect state (i.e., repeated commands).
- Send RGB color in state updates instead of (hue,sat) pairs.