Skip to content

v0.5.0

Choose a tag to compare

@Menturan Menturan released this 08 Oct 12:00

Added

  • The Wi-Fi setup screen on the mirror shows a QR code: point your phone's camera at it to join the setup network without typing.
  • Try new versions of MirrorDash before everyone else: turn on "Test versions" under Settings → MirrorDash Updates.
  • Connect a push button and choose what a single, double, triple and long press does: turn the screen on or off, restart MirrorDash, restart the mirror, or shut it down. Replaces the old screen on/off button setting.
  • See the room's temperature, humidity and light level on the dashboard.
  • Restart and shut down the mirror from the Power tab.
  • A screen timeout: the screen can be "off until woken", or off outside its schedule, and light up for a while when someone is in front of the mirror, the button is pressed, or Home Assistant calls /admin/screen (optionally with its own time). Choose whether every new activity keeps it on longer or it stays on a fixed time. The Power tab explains each choice.
  • Connect a fan that cools the Pi by CPU temperature: on/off (2 or 3 wires, with a transistor) or a 4-wire PWM fan with speed steps.
  • A "Sensors & Inputs" list in the Hardware tab: add a push button, a PIR motion sensor, an mmWave presence sensor (also notices someone standing still), a DHT11 temperature & humidity sensor or a BH1750 light sensor, with wiring hints for each.
  • Modules can react to the push button, presence and the room sensors (for module developers: the hardware.button, hardware.motion, hardware.climate and hardware.light events).
  • A button on GPIO 3 can also start the mirror again after it has been shut down (shown as a tip in the Hardware tab).

Changed

  • For module developers: self.fetch_json(url, headers=…) fetches data with a timeout and falls back to the last answer when it fails, and every component on the design page (/design: data lists, forecast and agenda lists, gauges, stats, callouts, .module-message and more) now works inside modules: copy its markup into the module's template. The forecast and agenda components on the design page have their styling back.
  • Installing a module by hand under Modules now asks for its GitHub address (Git URL) instead of a package name.
  • For module developers: on a local mirror started with mirrordash-sdk start, saving a template, setting or translation file shows the change by itself, and the mirror no longer asks for your computer's password.
  • For module developers: a module's script now gets its own part of the screen as root, so it no longer needs document.currentScript (which never worked there). Each copy of a module can keep its own timers there.
  • Hardware and Power settings are applied as soon as you change them; the Apply buttons are gone.
  • Installing, updating and removing modules shows progress right away, with a timer, and the page knows exactly when the mirror is back. If something goes wrong you see what failed.
  • The admin page opens faster, also when the mirror has no internet connection.
  • Update checks are remembered for 10 minutes instead of being repeated on every page view.
  • The System Analytics values on the dashboard (temperature, memory, network, uptime and more) update every 10 seconds while the Dashboard tab is open.
  • Settings are saved as soon as you change them, like Hardware and Power.
  • Restart MirrorDash has moved from the top of every page to the Power tab, next to Restart Mirror and Shut Down, with a short explanation of the difference.
  • Clearer, plain-language headings and descriptions on every tab, including what a backup does and doesn't contain.
  • The Modules tab gets straight to the point: no banner, clearer filter buttons, and storage is only mentioned when it runs low.
  • Modules without their own description show their package description.
  • The MD monogram is now the icon everywhere (browser tab, home screen), and the first screen after start looks exactly like the start screen before it.
  • It's always visible that something is happening: a moving line while the mirror starts, a loading line at the top of the admin page while a tab loads, and animated dots on the Wi-Fi setup page.
  • If MirrorDash doesn't start within 4 minutes, the mirror says so and what to do. If the mirror loses MirrorDash for more than 2 minutes, it shows "MirrorDash isn't responding" instead of reconnecting silently forever.
  • A new Wi-Fi setup page for the first start: tap your network in a list, type the password (with a Show button), and the page tells you where to find the mirror afterwards (mirrordash.local). The time zone is taken from your phone. The text on the mirror during setup is simpler too.
  • The dashboard shows which module sits where on the screen (turned-off modules dimmed), not just which positions are in use.
  • Logs: errors and warnings are coloured, a filter box shows only matching lines, and the log fills the screen.

Fixed

  • Loading spinners no longer keep spinning after a task has finished or was cancelled.
  • On phones, all tabs fit in the bottom bar, only the selected tab is highlighted, and the Backup page no longer hides the tab bar.
  • On phones, the saved backups' Restore, Download and Delete buttons are no longer cut off, the dashboard values fit two per row, and the screen buttons in the Power tab no longer run off the edge.
  • Help texts are easier to read (higher contrast).
  • Restoring a backup keeps the admin password of the mirror you restore on; before, the old mirror's password came back after the restart. Backups no longer contain the admin password at all.
  • After restoring a backup, the push button, sensors and fan work again: the mirror sets their pins and restarts itself.
  • Modules installed from GitHub are installed again when you restore a backup (before, they went missing).
  • The global settings (language, time zone, units) load on every mirror; before, they could fail to load when no installed module happened to include a language list.
  • Switching tabs quickly no longer sometimes shows the previous tab.
  • Log text is always shown as plain text in the admin page.
  • Wi-Fi setup no longer ends with "Network request failed" when the mirror leaves its setup network to connect.
  • A wrong Wi-Fi password during setup no longer leaves the mirror without any network until it's unplugged: it restarts and opens MirrorDash-Setup again.
  • The Wi-Fi setup page always lists the networks the mirror found, and never its own MirrorDash-Setup network.
  • Modules no longer show "Update available" again right after being updated.
  • The update banner on the dashboard is only about MirrorDash itself and opens Settings, where the update is installed. Module updates are shown on each module in the Modules tab.
  • The screen layout overview on the dashboard shows the real 3×3 grid on phones.
  • Confirmation questions use the admin page's own dialog instead of the browser's pop-up.
  • The admin page no longer shows system details (network, IP address, modules) before you have logged in.
  • Error messages are always shown in the admin page; some failed actions used to show nothing at all.
  • The PIR motion sensor works again: it never did on the OS image, because the app's Python had no GPIO library. The screen can now also be controlled by an mmWave presence sensor.
  • Modules no longer receive the same event several times after settings have been saved.
  • On first start without Wi-Fi, the mirror switches to the Wi-Fi setup screen by itself instead of staying on the admin password screen, and phones that join the setup hotspot are sent straight to Wi-Fi setup.