Skip to content

Thread Pulse 1.4.0

Choose a tag to compare

@riticulus riticulus released this 11 Oct 08:21
· 55 commits to main since this release
d1e8004

Added

  • Matter devices on Wi-Fi or Ethernet: shown as their own group in a column to the right of the mesh (heading, legend entry, grey-blue), without links and without path animation (their messages are counted); detail panel with live counter, current values, Wi-Fi signal, channel and standard, restarts and device data; found by the search; stay in their column in the room view; hide them with the card option show_wifi: false or ?nowifi (#43)
  • Battery forecast in the detail panel, e.g. empty in about 10 months · based on 46 days, −3.7 % per month: linear trend of the daily battery level from Home Assistant's long-term statistics (up to 120 days, only since the last battery change); needs at least 14 days and a measurable drop; hint and i badge when the battery will probably be empty within 30 days. It is an estimate – many batteries stay almost full for a long time and then drop quickly (#39)
  • French, Italian, Spanish and Dutch: all texts, plus translations of common English entity names (e.g. Active current, Voltage) in the ticker and the detail panel; chosen from the Home Assistant profile, card option language (fr, it, es, nl) or ?lang=. The translations have not been checked by native speakers yet – corrections are welcome (#44)
  • Detail panel for the border router: Thread network (name, channel, PAN ID, extended PAN ID, routers in the mesh, devices, leader), border router (type, address, border agent ID, known Thread networks), neighbours and children, messages through it; other Thread routers get a panel with their neighbours. The network key is never shown (#36)
  • Optional sound: a short, quiet tick for every animated message – high for messages to Home Assistant, low for commands; button "🔇 Sound" in the toolbar and a volume slider, both remembered by the browser; off by default; rate-limited (at least 150 ms apart, at most 5 per second); silent while live is paused (#12)
  • Ambient mode for wall tablets: card option ambient: true or ?ambient – only the pulsing mesh on a fixed dark background, no toolbar, legend, list or ticker; slow automatic zoom to a router and back every 25 s (ambient_motion: false / &still to switch off, paused for 60 s after touching the screen); the detail panel closes by itself after 15 s; asks the browser to keep the screen on where possible (#11)
  • Double-click / double-tap: on empty space the whole mesh is centered and fitted to the map area, on a device the map zooms to it (centered in the part not covered by the detail panel); the browser's page zoom no longer triggers inside the map (#23)

Changed

  • Issue forms for bug reports, feature requests and translation corrections, a pull-request template, a Contributing section in the README and a clear label scheme (bug, New Feature, enhancement, documentation, translation) (#52)
  • Translations split into one file per language in src/i18n/; build.py collects all language files automatically; new check tests/check-i18n.js (also run in CI) makes sure every language has the same keys as English. No change in behaviour – all texts and translations are identical in content (#49)
  • Source split into one file per topic in src/ (version.js, styles.css, markup.html, core.js, one file per feature, ui.js, start.js); build.py assembles them in a fixed order. No change in behaviour – the generated files contain exactly the same lines as before (#33)

Install / update

  • HACS: Thread Pulse shows the update to 1.4.0 – install it and reload the browser. New installation: HACS → ⋮ → Custom repositories → https://github.com/riticulus/ha-thread-pulse, type Dashboard.
  • Manual card: download Source code (zip) below, copy dist/ha-thread-pulse.js and dist/thread-pulse-vis-network.js to /config/www/.
  • Standalone page: from Source code (zip), copy thread-pulse.html and thread-pulse-vis-network.js to /config/www/ and raise ?v= in the card URL.

The French, Italian, Spanish and Dutch texts have not been checked by native speakers yet – corrections are welcome (Translation correction in the issue forms).

See the user guide.