Dapple 0.4.0
A reliability release: steadier lights when Dapple, Home Assistant and the Twinkly app all talk to the strands at once, a Home Assistant connection that recovers on its own, and a round of fixes across the app.
What's fixed
- No more tangled commands to a strand. Applying a pattern takes several steps, and Dapple's regular status checks, Home Assistant and the Pattern tab could all reach the same strand at the same moment. A command landing in the middle could leave the strand dark or half-updated. Dapple now sends one thing at a time to each strand.
- Patterns stay continuous even if a strand was off when Dapple started. If the first strand in a group was unplugged at startup, the first pattern applied after it came back could start over at the second strand. Dapple now checks any strand it hasn't heard from before working out where the pattern continues.
- The Home Assistant connection recovers from any error. Before, an unexpected error could stop updates to Home Assistant while the Home Assistant tab still said Connected. Dapple now reports the error and reconnects.
- Docker's health check no longer contacts your lights. It used to ask every strand every 30 seconds. Now it only checks that Dapple itself is running, so an unplugged strand no longer marks the container unhealthy.
- A preset that fails to save no longer looks saved. If Dapple can't write to its
datafolder, the preset doesn't appear in the list or in Home Assistant's effects. - Deleting a preset asks first, just as removing a strand does.
- The New group dialog shows the real id. For a name like "All", or a second group called "Tree", it used to show an id the group wouldn't actually get.
- Clearer errors behind a reverse proxy. When a proxy returns an error page, Dapple shows the error code instead of a confusing message.
- The page does less work. The preview only redraws when something changes, and the Home Assistant tab stops checking the connection while it's in a background browser tab.
Also changed
- Fresh installs get built-in presets that suit the sliders. Halloween is now saved as 80/20 rather than 4/1, and so on. The lights look exactly the same. Existing installs keep their saved presets. If yours load with every Share slider at the far left, set the shares you want and use Save as… with the same name.
- Environment variables for tuning keep working. Earlier versions copied
DAPPLE_GAMMA,DAPPLE_TIMEOUTandDAPPLE_MOVIE_FRAMESintodata/config.yamlthe first time you saved anything, and from then on the file overrode them. Dapple no longer does that. If you set these with environment variables, delete thegamma:,timeout:andmovie_frames:lines fromdata/config.yamlonce, and the variables take effect again. - Unknown strands return 404 from the REST API, like unknown groups, instead of 400.
- The README says plainly that Dapple has no login. Keep it on your home network.
Upgrading
docker compose up -d picks this up if you have pull_policy: always. Otherwise run docker compose pull && docker compose up -d. Your settings and saved presets carry over. To stay on this release, set the image line to:
image: afraley/dapple:0.4.0