Skip to content
9df17f4
Compare
Choose a tag to compare
83cc3ae
Compare
Choose a tag to compare

Bug fixes

  • The hub will now respond to brightness_up and brightness_down commands. It previously only responded to level_up and level_down, which caused problems with passthrough setups. (Thanks, @PaulSzymanski!)
  • Add a setting to disable retained MQTT messages

Misc Improvements

  • Upgrade web build to gulp 4, improving build compatibility with more recent versions of node.
  • Fix travis build
  • Fix .get_version.py script, which was failing the build when git wasn't installed.
27a1a6a
Compare
Choose a tag to compare
Compare
Choose a tag to compare

Bug fixes

  • ( #551 ) Fix incorrect documentation on RESTful /transition routes. Documentation is now accurate.

Improvements

  • Always respond with state when GETing a bulb. Previously, the blockOnQueue query parameter had to be provided and set to true.
Compare
Choose a tag to compare

Bug Fixes

  • ( #544 ) Fix bug where downwards transitions (e.g., from brightness 100 to 0) did not compute the correct step size.

Improvements

Both of these UI improvements are due to @rjsachse. Thanks rjsachse!

  • (#541) Add a favicon!
  • (#543) Add ability to select different bootswatch themes
08d7e33
Compare
Choose a tag to compare

Improvements

  • (#516) Expose default_transition_period setting, which controls the number of milliseconds that pass between transition packets when an explicit period parameter is not provided. Setting this lower will result in smoother transitions. Higher values will enable more simultaneous transitions without overwhelming the system.
Compare
Choose a tag to compare
ebacd16
Compare
Choose a tag to compare

1.10 is a meaty release that brings two major changes: asynchronous packet handling, and transitions.

Async packet handling means integrations like REST and MQTT no longer block on milight packets being sent. This means better throughput and performance under high loads.

Transitions enable moving from one state to another smoothly. You can, for example, fade from 0% to 100% brightness over a configurable duration.

Additionally, there are quite a few smaller features, improvements, and bug fixes. See release notes below for more details.

New Features

Asynchronous packet handling

  • Packets are now handled asynchronously. Sending a command to espMH via any of the supported integrations (HTTP, MQTT, UDP) will enqueue packets which are processed out-of-band. This means that espMH will perform significantly better under high loads. If the queue fills up and more packets come in, older packets will be dropped.
  • A new setting was added related to the previous point: packet_repeats_per_loop. This controls how much time is spent processing packets in the queue vs. handling background tasks.
  • New fields in the output of /about display some internal information about the state of the packet queue.
  • For REST calls, the query parameter waitOnQueue=true can be provided to make the call synchronous.

Transitions

  • ( #113 ) Add support for smooth transitions between two values for a field. Documentation on how to use transitions is availble in the README.
  • New RESTful /transitions routes are available to fully control transitions.

Labels and MQTT discovery

  • ( #210 ) Add ability to configure aliases/labels for device configurations in the UI. You're then able to use these labels in the REST API and MQTT.
  • ( #437 ) Add support for HomeAssistant's MQTT discovery protocol. This allows for an easy way to integrate with HASS assuming that MQTT discovery is enabled. Documentation is available on the wiki.

New remote type

  • Add support for the FUT020 remote type. Note that support for state is very limited because the remote itself is limited -- on and off use the same command, and mode switch is the same command.

API Documentation

Miscellaneous additions

  • ( #448 ) WiFi mode -- allow user to specify 802.11b, g, or n mode (rather than just b or g). Default is now N (same as SDK default)
  • ( #499 ) Add support for hex colors (e.g., #FF0000) in color fields. Also add a hex_color field type, which publishes the color in hex format.

Bug Fixes

  • ( #266 ) Fix sniffed packets from RGB remotes
  • ( #486 ) Fix bug where packets were improperly decoded as CCT when they were in fact RGB_CCT
  • Fix a memory leak that occurred when settings were saved and there is a non-empty state cache.
  • (Internal bug) Linked List library had a bug that prevented arbitrary nodes from being deleted

Improvements

  • Use PROGMEM in a couple of new places. Will marginally improve free heap.
  • ( #489 ) Put hostname in web UI title/header if set
  • Pull string constants like "brightness" into actual constants rather than having the literals scattered throughout the codebase. Prevents typo bugs and decreases heap/flash utilization.
  • Refactor main JSON command -> milight packets handler to not use a mess of conditionals.
  • ( #503 ) Update label for enable_automatic_mode_switching to better reflect the behavior it introduces. Add a warning that it is incompatible with color commands.
Compare
Choose a tag to compare

1.10.0-rc.4

Pre-release
Pre-release

Improvements

  • ( #503 ) Update label for enable_automatic_mode_switching to better reflect the behavior it introduces. Add a warning that it is incompatible with color commands.
  • Publish device metadata along with HomeAssistant discovery configs. This will enable better removal behavior in the future.
  • ( #499 ) Add support for hex colors (e.g., #FF0000) in color fields. Also add a hex_color field type, which publishes the color in hex format.
  • Add top-level documentation for transitions in README.
  • Change status: ON transition behavior: will always transition from brightness = 0, rather than last known brightness. I expect this behavior to be what most people expect.