Home Assistant

399 readers
1 users here now

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY...

founded 2 years ago
MODERATORS
176
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/OverallComplexities on 2025-05-26 22:46:11+00:00.

177
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/itsaderm on 2025-05-26 20:27:53+00:00.

178
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/N-Tonkatsu on 2025-05-26 17:47:00+00:00.

179
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/sloth_on_meth on 2025-05-26 17:28:38+00:00.

180
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/rmgxy on 2025-05-26 15:56:52+00:00.

181
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/Zoe-Codez on 2025-05-26 12:32:15+00:00.


Hey y'all!

I'm the maintainer of Digital Alchemy, a feature rich modern Typescript based framework for building logic with 🏡 Home Assistant. For the uninitiated (fair, I barely advertise the project), this project is intended to be a compelling alternative to Node Red, Home Assistant YAML + UI automations, AppDaemon, and other similar tools.

For a quick demo on how the tools work: Basic usage & more complex example (uses internal dev entities)

A big focus of the project is the code ergonomics, placing as much information as possible about your setup right into the editor so you don't need to guess at the shape of things or reference documentation in the browser all the time. If you're an experienced dev with opinions about how you like to do things already, you can easily use your favorite tools and do everything from dev/prod setups to unit testing.

If you're looking for a nice canned starting point, there's a few options depending on your setup.

  • HAOS based setups, with an dedicated addon support for running your code - Docs
  • Standalone project, connect via external api - Docs

The overall project is in a api stable place, but there's still some ongoing enhancements happening as time permits. Couple updates from this year:

  • Big overhaul of the docs with more examples and better grouped information.
  • The type-writer script now writes it's types to your src/ folder adding a TON of information to tell you more about the capabilities of your setup

If you have questions / issues, the best spots to contact me are via Discord or opening an issue in Github

182
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/WHagenauw on 2025-05-26 14:53:32+00:00.

183
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/Smartzeug on 2025-05-26 12:57:12+00:00.

184
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/UnsocialParrotUA on 2025-05-26 11:52:53+00:00.

185
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/thesurfer_s on 2025-05-26 04:41:24+00:00.

186
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/ikariking on 2025-05-25 19:16:27+00:00.

187
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/redkeyboard on 2025-05-25 18:35:23+00:00.

188
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/tinker_tut on 2025-05-25 18:14:59+00:00.

189
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/skyw33 on 2025-05-25 17:00:34+00:00.

190
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/danirodr0315 on 2025-05-25 16:01:48+00:00.

191
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/oMGalLusrenmaestkaen on 2025-05-25 11:56:14+00:00.

192
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/ConnectYou_Tech on 2025-05-25 11:48:43+00:00.

193
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/nutteloost on 2025-05-25 10:06:01+00:00.


Hi everyone 👋

I am excited to share Todo Swipe Card, a custom card I developed for Home Assistant. This card allows you to organize multiple todo lists in a single space and navigate between them with intuitive swipe gestures, making it perfect for optimizing dashboard space while keeping your tasks organized.

Why I Made This Card 🧐

While Home Assistant has excellent todo list functionality, I found myself wanting to group related lists together without cluttering my dashboard. Existing solutions either lacked the specific styling I wanted for todo lists or required complex configuration. I decided to build a dedicated card that combines multiple todo lists with built-in styling and smooth navigation.

This card requires card-mod to function properly, but it handles all the complex styling internally while still allowing full customization through CSS variables.

Features ⭐️

  • Swipe between multiple todo lists with smooth animations
  • Built-in styling with customizable options through themes and card mod
  • Pagination dots for visual navigation
  • Configurable spacing between cards
  • Options to show or hide completed items
  • Delete completed items button with optional confirmation dialog
  • Background image support for individual lists
  • Full visual editor support
  • Mobile-friendly touch and mouse navigation
  • Extensive customization through CSS variables

Demo 🎬

Example .gif

Configuration Example 🗒️

You can configure the card using the visual editor or with YAML:

type: custom:todo-swipe-card
show_pagination: false
show_addbutton: true
show_create: true
show_completed: true
show_completed_menu: true
delete_confirmation: true
card_spacing: 10
entities:
  - todo.albert_heijn
  - todo.jumbo
  - todo.ikea
  - todo.hornbach
  - todo.action
background_images:
  todo.albert_heijn: /local/images/background_image/albert_heijn.png
  todo.jumbo: /local/images/background_image/jumbo.png
  todo.ikea: /local/images/background_image/ikea.png
  todo.hornbach: /local/images/background_image/hornbach.png
  todo.action: /local/images/background_image/action.png

Visual Editor 🛠️

The card includes a comprehensive visual editor that allows you to add or remove todo lists, configure display options, set background images for individual lists, and adjust spacing without writing any YAML code.

You can show and hide several elements in the card such as the text input field, add button and the delete button. With these options it is possible to use this card as a 'read-only' task list which only shows tasks and the possibility to mark them as completed.

Customization Examples 🎨

The card supports extensive theming through 25 custom CSS variables. Here is an example of a customized colored list with square pagination dots:

https://preview.redd.it/6d13t7i7jw2f1.png?width=474&format=png&auto=webp&s=0a37111aa6d5f1ffd4c0f8b9c50d7c74b9ac23a0

Installation & More Information ℹ️

All installation instructions, configuration details, and customization options are available in the GitHub repository:

GitHub - nutteloost/todo-swipe-card: A specialized swipe card for todo lists in Home Assistant

Important Note: This card requires card-mod to be installed and working properly, as it uses internal card-mod styling for its core functionality.

I look forward to seeing how you integrate this card into your Home Assistant dashboards. If you have feedback or encounter any issues, please feel free to reach out through the GitHub repository.

194
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/Pippin123- on 2025-05-25 06:31:00+00:00.

195
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/GreenTechEngineer on 2025-05-25 08:50:18+00:00.

196
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/WHagenauw on 2025-05-24 21:02:01+00:00.

197
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/Revolutionary_Bed431 on 2025-05-24 19:03:24+00:00.

198
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/ElChiniNet on 2025-05-24 15:22:14+00:00.


If you didn't see the first part of this article: 10 cool things that most probably you don’t know about Custom Sidebar HACS plugin, check it here.

Custom Sidebar repository

Custom Sidebar HACS plugin

  1. Hide All option ==================

When you are going to create a configuration for a user, one possible approach is to start hiding the items that this user doesn't need. But what happens when we want to hide everything and just display a few items for that user? It would be a hassle to write item by item with a hide property in true. It is better if we hide everything and just show what we want visible.

In this situation, the hide_all option is handy, it hides all the items in the sidebar, so you can unhide just the items that you want to show.

hide_all: true
order:
  - item: dashboard
    hide: false
  - item: map
    hide: false

  1. Complex Exceptions Matchers conditions =========================================

It is possible to add multiple matchers to an exception (usernot_deviceis_admin, etc). By default if at least one of the matchers matches, the exception will be picked, that is to say, the conditions of the matchers are by default OR conditions. But it is possible to change this behaviour.

matchers_conditions is an optional parameter of an exception (by default its value is OR). It allows to define how the matchers conditions behave and if its value is AND, all the matchers should match for the exceptions being picked. For example, the next example will show the configuration under the exception for all admin users that are not using an iPhone excluding the user ElChiniNet.

exceptions:
  - is_admin: true
    not_device: 'iPhone'
    not_user: 'ElChiniNet'
    matchers_conditions: 'AND'
    order:
      item: 'dashboard'
      hide: true

  1. Divide items per sections ============================

Sometimes, if we end with a sidebar with a large amount of items, it would be useful to visually separate them in groups taking into account their context. In this situation, the divider order-item property becomes a handy feature.

Setting this property in true will add a divider below the sidebar item. It will not add a new DOM element, but a pseudo element that will visually act as a divider with the items placed after it.

order:
  - item: 'overview'
    order: 1
  - new_item: true
    item: 'Lights'
    icon: 'mdi:lightbulb-group'
    href: 'lights/woonkamer'
    order: 2
  - item: 'energy'
    order: 3
    divider: true
  - item: 'developer'
    order: 4
  - item: 'settings'
    order: 5
    divider: true
    ...

Sidebar with dividers using the divider boolean option

  1. Hide or show items depending on the state of an entity =========================================================

Since some time already, it is possible to add templates to the hide property of the order items. This means that it is possible to show or hide items when the state of an entity changes.

We can have an input_boolean that when it is on off, some items of the sidebar remain hidden and when we switch it on, then they get visible.

js_variables:
  admin_boolean: 'input_boolean.show_admin_sidebar_items'
partials:
  admin_active: |
    const adminActive = is_state(admin_boolean, 'on');
    return !adminActive;
order:
  - item: developer tools
    hide: '[[[ @partial admin_active ]]]'
  - item: settings
    hide: '[[[ @partial admin_active ]]]'

Show or hide items depending on the state of an entity

  1. Default dashboard ====================

Sometimes it is useful to make a user land on a specific dashboard when Home Assistant is loaded. To achieve this, you can go to your profile and in the Browser settings there is a specific section to set the default dashboard in that device. But as the description states, this change will be only applied in that device and it is not permanent. This change will be lost if one logs-out and logs-in again or if one logs-in in another device with the same user.

On top of this, this feature only allows to set certain dashboards, as the default one, the ones created manually or other specific dashboards as the Map Dashboard. If one wants to land in any other Home Assistant url when the system loads, that is not natively possible.

With the default_path option you can make Home Assistant loads a specific URL path every time that it loads, and using exceptions, it is even possible to make these changes for specific users or devices, or create custom matcher conditions. These changes will be permanent as long as you keep them in the configuration.

For example, the next code example shows how to create a default URL path for every user and another one for admins.

default_path: '/generic-dashboard'
exceptions:
  - is_admin: true
    default_path: '/lovelace'

The default_path option will change the default behaviour and every time that the page loads it will navigate to this path (either when the page loads for the first time or when it gets refreshed). If you don't want to have this behaviour and you would prefer to load Home Assistant in an specific path or refresh a specific page without being redirected to the default_path, then you should not set this option.

  1. Execute services clicking on sidebar items =============================================

Since the beginning it is possible to assign the href of a sidebar item specifying this property. This property is useful if one wants to go to a dashboard or open an external website when clicking on sidebar items. But since some time, it is also possible to execute a Home Assistant Service (renamed recently to Actions) if we specify the correct action in the on_click property of a sidebar item.

Turning on or turning off a light, reload automations, reload templates, restart Home Assistant among much others, are just some services examples that you can execute just clicking on a sidebar item using this feature. Let's check a very practical example, imagine having a sidebar item that once clicked toggles a light.

order:
  - new_item: true
    item: 'Kitchen lights'
    icon: |
      [[[
        return is_state('light.kitchen_lights', 'on')
          ? 'mdi:lightbulb-on'
          : 'mdi:lightbulb';
      ]]]
    icon_color: |
      [[[
        return is_state('light.kitchen_lights', 'on')
          ? 'var(--accent-color)'
          : 'var(--sidebar-icon-color)';
      ]]]
    on_click:
      action: 'call-service'
      service: 'light.toggle'
      data:
        entity_id: 'light.kitchen_lights'

Call service action in the on_click property of a sidebar item

  1. Reactive variables =====================

Since some time already, it is possible to use reactive variables in the JavaScript templates. Reactive variables are just local variables, they trigger a re-render of the templates that are using them just in the device in which they are being changed. For example, one situation in which reactive variables can be handy is if we want to show or hide some items of the sidebar if a specific item is clicked, in those cases we want to make this changes locally, not for every user.

js_variables:
  admin_items_open: 'ref(false)'
order:
  - new_item: true
    item: 'Admin Items'
    icon: 'mdi:security'
    on_click:
      action: 'javascript'
      code: |
        const open = ref("admin_items_open");
        open.value = !open.value;
  - item: Developer tools
    hide: '[[[ return !ref("admin_items_open").value ]]]'
    attributes:
      data-child: true
  - item: Settings
    hide: '[[[ return !ref("admin_items_open").value ]]]'
    attributes:
      data-child: true
styles: |
  :host([expanded]) ha-md-list > ha-md-list-item[data-child] {
    padding-left: 15px;
  }

Show and hide items using reactive variables

  1. Log sidebar usage in Logbook ===============================

Are you curious to know which sidebar items are the most visited ones among your family members?, or do you want to know if a certain item is visited by your kids? Since some time, there is an analytics option that allows one to log sidebar usage.

It is even possible to know if someone has being playful and has visited a dashboard having the sidebar item hidden for them. Because the analytics option logs sidebar items click...


Content cut off. Read original on https://old.reddit.com/r/homeassistant/comments/1kue40z/other_10_cool_things_that_most_probably_you_didnt/

199
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/criterion67 on 2025-05-24 01:56:17+00:00.

200
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/reformed_colonial on 2025-05-24 05:16:09+00:00.


Hi everyone -

I asked a couple of days ago about a horizontal history card. Apparently such a thing does not exist... until now :)

It should support any sensor that returns a numeric value; temperature, humidity, energy consumption, dog water bowl level, whatever you have...

If such a thing would be useful to you, or if you just like poking at things, give it a try. This is my first attempt at real-world Home Assistant development and I would be interested in any feedback for improvements.

You get get it on GitHub.

https://preview.redd.it/wqvwnm8iyn2f1.png?width=990&format=png&auto=webp&s=250c1938945548148222d0cee373c3d6b0b13fd9

view more: ‹ prev next ›