Skip to content

Releases: knowald/ha-hearth

0.7.0

Choose a tag to compare

@knowald knowald released this 05 Oct 20:30
4a730d4

Changed

  • Reorganize Settings into clearer sections that say which screens they affect, and rename Application settings to Server settings (#31)
  • Hide rarely used options in the card and widget editors behind an Advanced toggle (#31)
  • Load the editing tools only when you start editing, so the dashboard starts faster (#31)
  • Apply theme colors safely: an invalid value falls back to the default instead of breaking the page, and the editors reject it (#31)
  • Accept short hex colors such as #f80 in themes (#31)
  • Match screen-size conditions inside or groups, which were ignored before (#31)

Added

  • Show Hearth in every language Home Assistant supports (#31)
  • Ask before discarding unsaved changes when you close an editor or reload the page (#31)
  • Warn before editing when another screen has saved newer changes (#31)
  • Add a This screen menu for settings that apply to one device only, such as language, scale, sleep screen and keeping the screen awake (#31)
  • Protect the edit button from accidental taps with a long press or a PIN (edit_lock) (#31)
  • Open a card or widget's editor by tapping it in edit mode (#31)
  • Duplicate cards, widgets and pages, and move cards to another page (#31)
  • Undo removing a card or widget, and show a dot on Save when there are unsaved changes (#31)
  • Add and reorder pages from the phone page strip and from Settings > Pages (#31)
  • Point out missing required fields and unknown entities in the editors (#31)
  • Find entities faster: search by area or device, filter by area and pick several at once (#31)
  • Set tap and hold actions on tiles, using the same options as Home Assistant dashboards (#31)
  • Run scenes and scripts straight from search (#31)
  • Let automations switch pages, wake the screen or put it to sleep (#31)
  • Show or hide pages with conditions, including time of day, weekday, device and entity attributes (#31)
  • Change a tile's color, icon or style based on conditions (#31)
  • Show Home Assistant templates in a template card and in tile names and states (#31)
  • Add a to-do list card (#31)
  • Show a photo slideshow, a sky that follows the sun or the playing album art on the sleep screen (#31)
  • Edit, copy and paste single cards and widgets as YAML (#31)
  • Share themes by exporting and importing them (#31)
  • Animate tile icons, such as a spinning fan or a glowing light (#31)
  • Play an optional sound when an alert appears (#31)
  • Greet people when they come home (#31)
  • Show a badge when today's energy use is below the weekly average (#31)
  • Finish setup with the tablet's address and a QR code (#31)
  • Start from a ready-made layout for a kitchen tablet, phone or bedside screen (#31)
  • Add only new entities when importing an area again (#31)
  • Suggest cards for an empty page named after an area (#31)
  • Keep a favorites page on your phone (#31)
  • Add Winter, Spring meadow, Autumn and Holiday theme presets (#31)
  • Change the theme by date or condition with a theme schedule (#31)
  • Give each page its own theme and background image (#31)
  • Let cards span several columns (#31)

Fixed

  • Stop a tap that closes a sheet from also tapping what is underneath (#31)
  • Keep the sleep screen and Home Assistant refresh events from interrupting editing (#31)
  • Make the Reload and Log out buttons reload the page every time (#31)
  • Clear old save errors when you start editing (#31)
  • Make editor controls easier to tap and read, and stop iOS from zooming into text fields (#31)
  • Respond to reduced motion changes right away, and make touch dragging reliable on iPad (#31)

0.6.0

Choose a tag to compare

@knowald knowald released this 03 Oct 21:56

Added

  • Scale the whole interface from 50 to 200 percent in Settings > Display, with a separate scale for phone-width screens (#27)
  • Set separate side and top/bottom padding for phone-width screens (#27)
  • Show a small clock with the date at the start of the phone page strip, following the sidebar clock's time zone and hour format (#28)
  • Highlight an entity tile from another entity or a list of states while it keeps showing its own state, for example a washer tile lit while its status sensor reads running (#20, #29)

0.5.1

Choose a tag to compare

@knowald knowald released this 28 Sep 23:23

Fixed

  • Stack the media popup's queue under the player on phones, so the title, progress bar and playback buttons get the full width (#19)
  • Keep a card's column count to at most two on phones, and show one tile per row while editing there (#19)
  • Stop a vertical drag or a second finger on a light or blind tile from toggling it or opening its popup (#19)
  • Set the value where you tap on a popup slider, and ignore right and middle clicks on sliders (#19)
  • Allow pinch zoom to start on light and blind tiles (#19)
  • Keep edit sheets, the entity picker, toasts, the edit button and the wide layout clear of the notch and the home indicator (#19)
  • Stop iOS zooming in when a text field in the editor or search gets focus (#19)
  • Truncate long edit sheet titles instead of pushing the close button off screen (#19)
  • Keep toasts and the last widget clear of the edit bar when it wraps onto two rows (#19)
  • Give drag handles, progress bars and volume bars a finger-sized touch area (#19)
  • Shrink search and edit sheets with the on-screen keyboard on Android (#19)

0.5.0

Choose a tag to compare

@knowald knowald released this 27 Sep 22:47

Changed

  • Show the notifications widget as one button with a count badge and the newest title, opening a list of alerts and Home Assistant notifications (2f6f489)
  • Group the screensaver settings in their own Sleep screen section, with a button to preview it (2a5d6dd)
  • Stop showing the https note under touch feedback in App settings (bbf9636)

Added

  • Place the sidebar on the left, on the right, on both sides or hide it, and pick a side for each widget when there are two (80deda2)
  • Swipe sideways between pages, on phones and on wider screens where a mouse drag works like a finger, each with its own setting (9c54527)
  • Raise alerts from dashboard rules, such as a fridge door left open for two minutes, and close them again when the condition clears (2f6f489)
  • Raise, dismiss and target alerts from Home Assistant automations through the HEARTH event, and open or close an entity popup the same way (2f6f489)
  • Name each screen in App settings or with ?device=, so an automation can send an alert to one screen (2f6f489)
  • Wake the sleep screen when an alert pops up, and keep it awake while the alert shows (2f6f489)
  • Show an image or a live weather radar map of the home location, or any other location, behind the sleep screen clock (2a5d6dd)
  • Set the sleep screen clock size, show or hide the date, and show the current weather under the clock (2a5d6dd)

Fixed

  • Stop the browser's own grey tap highlight, long-press menu and hover state that stayed on after a tap on touch screens, leaving only Hearth's press feedback (4ed7ae9)

0.4.0

Choose a tag to compare

@knowald knowald released this 25 Sep 23:08

Added

  • Embed a web page as a card on any page, such as the Music Assistant interface, filling its column unless a height is set (e2b1748)
  • Set a background image on header cards and the theme, from a URL or an image uploaded to Hearth, and manage uploaded images from the image field (6324403)

Fixed

  • Play WebRTC-only cameras, such as Ring live view, instead of requesting an HLS stream they reject; Hearth now asks Home Assistant which stream types a camera supports and falls back to HLS when WebRTC fails on a camera that offers both (19b4bd7, 756c09d)
  • Keep showing the snapshot of a camera that has no live stream instead of offering a Retry that cannot work (75799d8)
  • Load behind an nginx reverse proxy in front of Home Assistant, which rejected the page with a 502 because its preload Link header exceeded the default 4k proxy buffer (c9eee00)

0.3.0

Choose a tag to compare

@knowald knowald released this 22 Sep 23:40

Changed

  • Show why the connection fails on the boot screen after a few attempts, with a hint for the cause and a Retry button, instead of spinning forever (23f870f)
  • Keep the sign-in sheet open until Home Assistant accepts the token, say so when it rejects one, and call the action "Sign in" everywhere (23f870f)
  • Explain an unreadable, invalid or unsupported hearth.yaml and an unreadable configuration.yaml in the load-error banner, with a Reload button (f205c5b)
  • Tell a degraded Home Assistant connection, where some data may be stale, apart from a lost one (f205c5b)
  • Keep the first-run area import open on a stray backdrop tap and offer Skip for now (f205c5b)
  • Move the area import from the edit bar to the Settings sheet, and offer it on an empty home page until the dashboard is set up (f205c5b, 153a411)
  • Open the same detail sheet for an entity from every tile, search result and widget, headed by its translated domain name and configured icon (06d51f4)
  • Send a cleaning or returning vacuum home from every surface, and offer the same actions in its detail sheet and popover (15a5e62, 06d51f4)
  • Ask before unlocking or opening a lock but not before locking it, on the tile and in the detail sheet alike (06d51f4)
  • Label each editor sheet's header action by what it does: Close, Done, Apply or Save (06d51f4)
  • Confirm destructive editor actions with the same dialog everywhere, including leaving edit mode with unsaved changes, and stop asking before a stack is unwrapped (06d51f4)
  • Share one visibility section and one live preview between the card and widget editors (06d51f4)
  • Show whole readings without a decimal ("21" rather than "21.0") and use the Home Assistant temperature unit on every surface (06d51f4)
  • Build a page list into a wide rail that has no visible navigation widget, so pages can always be changed (06d51f4, bea0e74)
  • Close the top popup, sheet or search with the browser or Android back button, and keep the current page in ?room= (06d51f4)
  • Show search as a full-width sheet on phones (06d51f4)
  • Let only the edit chip react on rail widgets while editing (06d51f4)
  • Hide rail widgets with nothing to show, show "-" for an unavailable entity instead of a made-up reading, and keep a dimmed placeholder while editing (06d51f4)
  • Stop all motion, including the pending pulse and the press scale, when reduced motion is set in Hearth or the operating system (ede2b06)
  • Draw shadows, card surfaces, spacing and faint fills from theme tokens, so light themes keep their tints and cards share one shape (ede2b06)
  • Store interface copy in sentence case, call dashboard pages "pages" throughout, and translate option labels, theme names and placeholders that were English only (7d403bf)

Added

  • Drag a cover tile sideways to set its position, like a light tile sets brightness (06d51f4)
  • Control popup sliders from the keyboard (06d51f4)
  • Add move up and move down to the card, widget and stack editors (06d51f4)
  • Add hints and inline errors to editor fields (06d51f4)
  • Offer Overwrite and Reload when application settings were changed in another tab (06d51f4)
  • Open entity detail from weather, chart, status, energy and calendar widgets (06d51f4)

Fixed

  • Show the sign-in button on the boot screen only when a long-lived token is needed (5f99973)
  • Keep a tap that closes search or wakes the screensaver from reaching the tile underneath (70c21a8)
  • Show command errors and the connection banner above open popups and sheets (5235598)
  • Accept taps on scenes, buttons and scripts that have not run yet and report unknown (5b3af77)
  • Confirm every garage door and gate move, from the tile, popup, slider and group actions, and send the direction that was confirmed (5b3af77, 6cda91b)
  • Open the media popup for media players from tiles and search (38d52ca)
  • Apply custom CSS without reloading the page, which dropped unsaved dashboard edits (e58f5d2)
  • Keep Ctrl-S in an open editor sheet from opening the browser's save dialog (e58f5d2)
  • Ask before dropping staged application settings (5581ef1)
  • Leave no empty stack behind when adding one is cancelled (b68bbb0)
  • Apply the theme sheet's day/night switch fields as they change, like its other fields (e571b87)
  • Keep read-only tiles from opening controls (b4b39dc)
  • Let detail sliders reach every step of the entity (a5bafa2)
  • Show climate and fan changes at once and pulse the control that was pressed until Home Assistant confirms (06d51f4)
  • Restore a ?theme= preset once editing ends (06d51f4)
  • Copy edits as YAML, with Copied or Copy failed feedback instead of reporting a failed save (06d51f4)
  • Return from Versions to the configuration editor and from there to Settings (06d51f4)
  • Trap and restore keyboard focus in every popup, sheet and dialog (ede2b06)

0.2.0

Choose a tag to compare

@knowald knowald released this 22 Sep 00:41
83b221e
  • Draw the keyboard focus ring around a framed text field (the search box, the padding steppers, the icon filter) instead of around the bare input inside it, where it traced a square box within a rounded one.
  • Export the dashboard to a YAML file and import one back, from the configuration editor.
  • Add Versions to the settings sheet. Every save already kept the file it replaced; those snapshots are now listed, shown as a diff against the dashboard you have open, and can be downloaded or restored. A restore lands as an ordinary edit, so it can be undone or cancelled before it is saved.
  • Write the template widget's Jinja in a code editor with highlighting. The plain box it replaces validated the template as YAML, which reported a correct template as broken.
  • Apply the configuration editor with Ctrl-S, and fix pushed-in text (an imported file) being ignored when the editor was still loading.
  • Overhaul Import from Home Assistant: pages now carry the area's own icon, floor grouping and registered temperature and humidity sensors, and split into Lighting, Covers, Devices, thermostat, media and camera cards instead of one Lighting and one Devices grid.
  • Skip config and diagnostic entities, and entities left behind by a removed integration, when importing an area.
  • Choose between adding the areas Hearth has no page for and replacing the existing pages, with a confirmation before anything is removed.
  • Save the import when it runs outside edit mode. It used to be kept in memory only, so a reload dropped it.
  • Place rail suggestions above the flexible spacer instead of below it, skip the ones the rail already covers, and propose a weather widget.
  • Rework the phone layout. The rail no longer follows the whole page: the clock and weather ride above it and the rest of the widgets follow, and mobile: top | bottom | hidden on a widget overrides that. A rail with a flexible gap in the middle is split there instead. hide_mobile still reads as mobile: hidden.
  • Open a page at its own top rather than at the scroll offset left behind by the page before it.
  • Fix the phone page switcher being half transparent, which let the page show through the pills as it scrolled past, and stop content landing underneath it when scrolled to.
  • Give the phone layout the side padding the wide one has. Folding the rail dropped the 40px base entirely, so cards, widgets and readings sat against the glass.
  • Reach under device cutouts: the viewport was missing viewport-fit=cover, so every safe-area inset in the stylesheets resolved to zero. Landscape notches now inset the sides too.
  • Fold every overlay to full width at the same place the rail folds. Control popups and the edit bar changed shape at 700px and edit sheets at 820px, leaving a band where the layout was a phone's but the overlays were not.
  • Shed the page labels from all but the current page when a phone is held sideways, and keep the whole rail below the page there.
  • Give the timer widget's buttons a thumb-sized hit area, and stop the dashboard scrolling sideways on a phone.
  • Keep a widget dragged from one side of the phone layout to the other: crossing the page is what sets where it sits, and a widget hidden on mobile stays hidden when the widgets around it are rearranged.
  • Include camera-only areas when importing from Home Assistant. They were discarded before their camera cards were built.
  • Keep an unapplied YAML edit when Versions is opened from the configuration editor, and add a way back to it. The draft was discarded with no way to recover it, not even through Undo.

0.1.3

Choose a tag to compare

@knowald knowald released this 21 Sep 16:59
01012a5
  • When Hearth is opened as a Home Assistant app (/app/...), reuse the panel's existing login instead of starting OAuth inside the iframe.

0.1.2

Choose a tag to compare

@knowald knowald released this 21 Sep 16:10
42e98a6
  • Fix Home Assistant login through Nabu Casa Ingress by using the forwarded HA origin and an explicit Ingress OAuth redirect URL, matching Fusion.

0.1.1

Choose a tag to compare

@knowald knowald released this 21 Sep 15:03
09a2fe7
  • Fix Home Assistant login through HTTPS Ingress and Nabu Casa by using the browser's Home Assistant origin.
  • Add HASS_PUBLIC_URL for direct access when the server uses an internal Home Assistant address.
  • Recover from expired or consumed login codes and preserve room, theme and kiosk settings after login.
  • Fix the CodeMirror dependency so the configuration editor and type checks use the supported editor API.