Quantcast
Channel: Configuration - Home Assistant Community
Viewing all 106307 articles
Browse latest View live

Introduction and advice

$
0
0

Hi all.

Just want to introduce myself and start getting advice on starting down the road of Home Automation and have decided to use Home Assistant to manage it all.

Name is Des and I’m in South Africa. I have a few Sonoff switches and a Tuya Sprinkler system. I am doing some house alterations currently and will be installing a Home Assistant Green.

What are some of the biggest pitfalls to avoid? And simplest and most effective must-do items?

Des

1 post - 1 participant

Read full topic


Husqvarna automower installation error

$
0
0

Hi

I tried to install my Husqvarna automower in HA but during the installation process I failed to login to the the Husqvarna developer page. As a result, I got this error:

Since then, it has become impossible to install. Even when clearing the cache and restarting HA and logging into the Husqvarna dev page.
How to resolve this?

Peter Berx

1 post - 1 participant

Read full topic

Anyone have the yaml for shutting down HA from NUT?

$
0
0

I have my NAS running NUT server as master and have Windows, Linux, other NAS’s, shutting down fine, as NUT clients. Also have HA monitoring it fine.
I want to shut down the HA machine as it is in another part of house and not on an UPS. HA is not doing anything mission critical, only monitoring my SmartThings Hub and a few other things.
I’m assuming the shut down in config for the APC UPS is the UPS itself,
I don’t want it shutting down, only after it’s signaled everything else to shut down.
Which it does, just trying to figure out how to shut down HA.
I have looked all through the automation’s but don’t see any thing relevant.
Is is just a yaml script?
Pretty NOOB to HA so not sure what you need to help.

2 posts - 2 participants

Read full topic

Dishwasher runtime based on state change?

$
0
0

Hi Community,
i recently build an automation, which introduced a “Dishwasher status” based on its power consumption.

The Automation is split in 4 different parts, to represent each state of the current cylce.
To keep track of the dishwasher cycle, I utilized a input_select helper, which has the following 4 states:

- idle
- running
- cleaning
- finished

a template sensor is derived from this input_select, to keep track of the changes.
It works pretty well:

Now i want to archieve to keep track of the runtime of each cycle, but i cant figure out how?

My idea is to utilize the last_changed attribute of the sensor, to keep track of the changes.
Start: Switch idle -> running
End: Switch running -> finished

Subtract these two timestamps to get the runtime.

Automations
idle:

alias: Dishwasher Idle
description: ""
triggers:
  - type: power
    device_id: 0370e39c6053c1454a80f9cfae8b4895
    entity_id: af61253b10feaf366e6318d6da69bfe9
    domain: sensor
    trigger: device
    below: 1
    for:
      hours: 0
      minutes: 10
      seconds: 0
conditions:
  - condition: state
    entity_id: input_select.dishwasher_status
    state: Finished
actions:
  - action: input_select.select_option
    metadata: {}
    data:
      option: Idle
    target:
      entity_id: input_select.dishwasher_status
mode: single

running:

alias: Dishwasher Running
description: ""
triggers:
  - type: power
    device_id: 0370e39c6053c1454a80f9cfae8b4895
    entity_id: af61253b10feaf366e6318d6da69bfe9
    domain: sensor
    trigger: device
    above: 10
    for:
      hours: 0
      minutes: 0
      seconds: 10
    below: 100
conditions:
  - condition: or
    conditions:
      - condition: state
        entity_id: input_select.dishwasher_status
        state: Idle
      - condition: state
        entity_id: input_select.dishwasher_status
        state: Cleaning
actions:
  - action: input_select.select_option
    metadata: {}
    data:
      option: Running
    target:
      entity_id: input_select.dishwasher_status
mode: single

cleaning:

alias: Dishwasher Cleaning
description: ""
triggers:
  - type: power
    device_id: 0370e39c6053c1454a80f9cfae8b4895
    entity_id: af61253b10feaf366e6318d6da69bfe9
    domain: sensor
    trigger: device
    above: 1500
    for:
      hours: 0
      minutes: 0
      seconds: 10
conditions:
  - condition: state
    state: Running
    entity_id: input_select.dishwasher_status
actions:
  - action: input_select.select_option
    metadata: {}
    data:
      option: Cleaning
    target:
      entity_id: input_select.dishwasher_status
mode: single

finished:

alias: Dishwasher finished
description: ""
triggers:
  - type: power
    device_id: 0370e39c6053c1454a80f9cfae8b4895
    entity_id: af61253b10feaf366e6318d6da69bfe9
    domain: sensor
    trigger: device
    above: 2
    for:
      hours: 0
      minutes: 2
      seconds: 0
    below: 10
conditions:
  - condition: state
    entity_id: input_select.dishwasher_status
    state: Running
actions:
  - action: input_select.select_option
    metadata: {}
    data:
      option: Finished
    target:
      entity_id: input_select.dishwasher_status
  - action: counter.increment
    metadata: {}
    data: {}
    target:
      entity_id: counter.dishwasher_cycles
  - action: counter.decrement
    metadata: {}
    data: {}
    target:
      entity_id: counter.dishwasher_pods
mode: single

1 post - 1 participant

Read full topic

Apexchart legend units only in percentile

$
0
0

I am at a loss on how to display the correct units (ppm) in the legend instead of percentile.
I have tried adding unit: “ppm” on very possible line within the YAML file but nothing seems to work. Documentation does meantion but not for legend.

type: custom:apexcharts-card
chart_type: radialBar
experimental:
  color_threshold: true
header:
  show: true
  floating: false
  title: Pollen-Tree
  show_states: true
  colorize_states: true
apex_config:
  stacked: true
  legend:
    show: true
    position: left
  plotOptions:
    radialBar:
      offsetY: -10
      startAngle: 0
      endAngle: 270
      hollow:
        margin: 5
        size: 20%
        background: transparent
        image: false
      dataLabels:
        name:
          show: false
        value:
          show: false
series:
  - entity: sensor.pollen_bomen
    type: column
    name: Tree
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_berk
    type: column
    name: Berk
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_cipres
    type: column
    name: Cipres
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_eik
    type: column
    name: Eik
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_els
    type: column
    name: Els
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_hazelaar
    type: column
    name: Hazelaar
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_iep
    type: column
    name: Iep
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_pijnboom
    type: column
    name: Pijnboom
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_plataan
    type: column
    name: Plataan
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red
  - entity: sensor.pollen_populier
    type: column
    name: Populier
    show:
      in_header: true
      extremas: true
    float_precision: 1
    color_threshold:
      - value: 0
        color: green
        opacity: 0.3
      - value: 96
        color: orange
      - value: 208
        color: red

1 post - 1 participant

Read full topic

Housekeeping automation

$
0
0

Has anyone found a good way to automate “housekeeping” tasks in Home Assistant?
I’m thinking about things like:

  • Finding and listing (or deleting) unavailable entities
  • Detecting and removing orphaned devices (devices without active entities)
  • Identifying old or unused helpers, automations, or scripts
  • Spotting outdated or incomplete integrations
  • Cleaning up retained MQTT messages automatically
  • Regularly purging the recorder database, especially entries for deleted entities

Are there any blueprints, scripts, add-ons, or integrations out there that help with this kind of cleanup?
Or have you built your own solutions to keep Home Assistant tidy and performant?

I’d really appreciate any tips, examples, or experiences you can share!
(Manual cleanup works of course, but the more we can automate it, the better…)

2 posts - 2 participants

Read full topic

Understanding "actions" syntax in different contexts

$
0
0

Hello all –

I’m in the midst of (re)implementing a set of template select entities and corresponding universal media players to encapsulate and simplify the functions of my living room AV setup (eventually aiming to realize a post-Harmony-remote control setup that I’m actually happy with).

In working on this I keep running into syntax issues that so far continue to surprise and baffle me. Specifically relating to blocks of actions.

I feel like I do understand why, for example, a choose block would contain conditions and why conditions would contain an action (or sequence etc.). I can also grasp why the default condition for a choose block wouldn’t require a separate key to house the actions (because the “condition” is implicit for default and so the default block is just really specifying what to do in that case).

Where I start to lose my way is e.g. in the commands: section of a universal media player. Suppose I want the turn_on: command of my universal player to perform two actions: turning on the projector and turning on the AVR.

I know how to execute one action or service call in these situations. I can even sort of understand why syntactically it’s not possible to embed a “bare” sequence of actions to be applied in such a block e.g.

media_player:
  - platform: universal
  # ...
  commands:
    turn_on:  ### NOT VALID BELOW!
          - service: media_player.turn_on
            target:
              entity_id: media_player.lr_av_avr
          - service: media_player.turn_on
            target:
              entity_id: media_player.lr_av_proj

Nor is this valid:

media_player:
  - platform: universal
  # ...
  commands:
    turn_on:  ### ALSO NOT VALID BELOW!
        sequence:
          - service: media_player.turn_on
             target:
              entity_id: media_player.lr_av_avr
          - service: media_player.turn_on
            target:
              entity_id: media_player.lr_av_proj

I know I can just pull out the multi-command sequences into scripts. Maybe there’s also a valid way to just pass more than one target entity_id into the media_player.turn_on service call. But those are workarounds that sidestep my question:

Is there some principle I’m missing about when & why an e.g. “sequence” is considered a viable “action” vs when it’s not possible? If it’s just “certain code is more up-to-date than other code; univeral media player isn’t the most up-to-date”…I get it.

But if there’s some underlying concept I’m missing I’d love to know it because this feels like trial & error currently!

1 post - 1 participant

Read full topic

Help me Custom cards not showing and not usable pls help mee

$
0
0

Help me Custom cards not showing and not usable pls help mee

im new to HA and HACS pls help me

im running on VM

  • Core2025.4.2
  • Supervisor2025.04.0
  • Operating System15.1
  • Frontend20250411.0

1 post - 1 participant

Read full topic


Multiple Micro Wakewords on one device to trigger different assistants/languages (Teased in Voice Chaper 7)

$
0
0

Back in 2024 this feature was teased in Voice Chapter 7:
Voice Chapter 7 - Supercharged wake words and timers - Home Assistant
Having “OK Nabu” microwakeword launch one pipeline for example english and have “Hey Jarvis” launch another for example dutch.

The text reads:

Not only does it now run on the normal ESP32 chips, those chips can now run three wake words at the same time ! We haven’t added this feature to Home Assistant yet, but expect to be able to trigger your Dutch and English voice assistants, each with their own wake words.

Is this feature available by now? If so I couldn’t find it. If not, is this feature still being developed?
As a multi language household this would be really great if everyone could use their own language by using different wakewords.

1 post - 1 participant

Read full topic

History_stats and a "cycle"

$
0
0

I want to create an automation that triggers after every 12 hours of an appliance runtime and sends a notification if a manual “button press” was NOT triggered.

In other words, say the appliance starts running (1st time ever) today at 6am and it turns on/off during the day and three days from now it’s run a total of 12 hours. I want my automation to trigger and check to see if within that period of time someone pressed a button (that’s also a device inside of HA). If the button was not pressed, then I’m going to send an email. If the button WAS pressed, I want the next 12 hour cycle to start from the time the button was pressed.

I’m pretty sure I need at least one history_stat monitoring the runtime time but I’m not sure how to configure the time period for it, or how to “reset for the cycle” I need…

Suggestions?

2 posts - 2 participants

Read full topic

Switching TV channels by voice - looking for best practice

$
0
0

Hi there!

I’m struggling in changing TV channels by voice.
Does anyone know the right voice commands or has a best practice?

My setup: Two rooms with an Android TV and a Home Assistant Voice PE in each room; configured in German language and with OpenAI.

Thanks for any help, Marco

1 post - 1 participant

Read full topic

Get name or area of a voice assistant

$
0
0

This is the trigger data of a sentence trigger:

{
  "id": "0",
  "idx": "0",
  "alias": null,
  "platform": "conversation",
  "sentence": "show trigger data",
  "details": {},
  "slots": {},
  "device_id": "7f06893ef0ea09416ef752da3f68aebf",
  "user_input": {
    "text": "show trigger data",
    "context": {
      "id": "01JRSEPDNY3EM9RKPCRA9N2CN7",
      "parent_id": "01JRSEPDNX0PB6TABM8NK0GEYH",
      "user_id": null
    },
    "conversation_id": "01JRSEPMQPT82JZCE777331S2H",
    "device_id": "7f06893ef0ea09416ef752da3f68aebf",
    "language": "en",
    "agent_id": "conversation.home_assistant",
    "extra_system_prompt": null
  }
}

There is a device ID in there, but it’s hard to remember. Can I somehow fetch the name or area of the device so that I can use it as a condition in a Choose action?

3 posts - 2 participants

Read full topic

Looking for "Hey Homie" wake word file

$
0
0

Hey…

Is there anybody out there who can provide the .tflite-file for the wake word “Hey Homie”? This would be really nice.

Thanks in advance, Marco

1 post - 1 participant

Read full topic

Zigbee "No more available slots"

$
0
0

Just upgraded my ZBT-1 to EmberZNet Zigbee 7.4.4.1, and I’m getting a few of these:

2025-04-14 11:25:48.016 ERROR (MainThread) [bellows.multicast] No more available slots MulticastId subscription

Everything seems to be working. Any idea what it means?

1 post - 1 participant

Read full topic

Conditional card based on attributes

$
0
0

Dear coders,

The season of POLLEN is coming up, and I want to make a nice informative dashboard.

Code 1 is the horizintal stack of my card. If shows 5 cards with POLLEN information.

My goal is that ONLY the cards are shown

if sensor.google_pollen_xxx_2 attribute index_level != 1 OR
if sensor.google_pollen_xxx_2 attribute tommorow > index_level

In human language, if no pollen are there and the level doesn’t go up the next day, don’t show.

I used Gemini to create a condition, but of course it cannot tip your knowledge level, of course :grin:

# Type kaart: Toont inhoud alleen als aan voorwaarden is voldaan
type: conditional

# De voorwaarden voor weergave
conditions:
  - condition: template # Nodig voor logica met attributen
    value_template: >
      {# De logische test: (index_value is niet 1) AND (tomorrow is groter dan index_value) #}
      {{ state_attr('sensor.google_pollen_grass_2', 'index_value') != 1 and
         state_attr('sensor.google_pollen_grass_2', 'tomorrow') > state_attr('sensor.google_pollen_grass_2', 'index_value') }}

# De kaart die getoond wordt als de voorwaarden WAAR zijn ("ja")
card:
  # --- Plaats hier de kaart die je voorwaardelijk wilt tonen ---
  type: entity
  entity: sensor.google_pollen_grass_2
  name: Graspollen (Alert) # Voorbeeld naam
  # --- Einde van de voorwaardelijke kaart ---

THANK YOU IN ADVANCE for your help!

Code 1:

type: horizontal-stack
cards:
  - type: custom:mushroom-template-card
    primary: "{{ state_attr('sensor.google_pollen_grass_2', 'display_name') }}"
    secondary: |-
      {% if states('sensor.google_pollen_grass_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_grass_2', 'index_value') | int %}
        {% set names = {0: 'None', 1:'Low', 2: 'Low +', 3:'Medium', 4:'High', 5:'Extreme'} %}
        {% set name = names[level] %} 
        {{ name }}
      {% endif %}
    icon: mdi:grass
    entity: sensor.google_pollen_grass_2
    layout: vertical
    fill_container: true
    tap_action:
      action: more-info
    hold_action:
      action: none
    double_tap_action:
      action: none
    icon_color: |-
      {% if states('sensor.google_pollen_grass_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_grass_2', 'index_value') | int %}
        {% set color = {0: 'grey', 1:'green', 2: 'yellow', 3:'orange', 4:'#FF6C71', 5:'red'} %}
        {% set level_color = color[level] %}
        {{ level_color }}
      {% endif %}
    badge_icon: |-
      {% if states('sensor.google_pollen_grass_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_grass_2', 'tomorrow') | int < state_attr('sensor.google_pollen_grass', 'index_value') | int) %}
          mdi:arrow-down
        {% elif (state_attr('sensor.google_pollen_grass_2', 'tomorrow') | int > state_attr('sensor.google_pollen_grass', 'index_value') | int) %}
          mdi:arrow-up
        {% else %}
          mdi:minus
        {% endif %}
      {% endif %}
    badge_color: |-
      {% if states('sensor.google_pollen_grass_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_grass_2', 'tomorrow') | int < state_attr('sensor.google_pollen_grass', 'index_value') | int) %}
          green
        {% elif (state_attr('sensor.google_pollen_grass_2', 'tomorrow') | int > state_attr('sensor.google_pollen_grass', 'index_value') | int) %}
          red
        {% endif %}
      {% endif %}
  - type: custom:mushroom-template-card
    primary: "{{ state_attr('sensor.google_pollen_oak_2', 'display_name') }}"
    secondary: |-
      {% if states('sensor.google_pollen_oak_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_oak_2', 'index_value') | int %}
        {% set names = {0: 'None', 1:'Low', 2: 'Low +', 3:'Medium', 4:'High', 5:'Extreme'} %}
        {% set name = names[level] %} 
        {{ name }}
      {% endif %}
    icon: mdi:leaf-maple
    entity: sensor.google_pollen_oak_2
    layout: vertical
    fill_container: true
    tap_action:
      action: more-info
    hold_action:
      action: none
    double_tap_action:
      action: none
    icon_color: |-
      {% if states('sensor.google_pollen_oak_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_oak_2', 'index_value') | int %}
        {% set color = {0: 'grey', 1:'green', 2: 'yellow', 3:'orange', 4:'#FF6C71', 5:'red'} %}
        {% set level_color = color[level] %}
        {{ level_color }}
      {% endif %}
    badge_icon: |-
      {% if states('sensor.google_pollen_oak_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_oak_2', 'tomorrow') | int < state_attr('sensor.google_pollen_oak_2', 'index_value') | int) %}
          mdi:arrow-down
        {% elif (state_attr('sensor.google_pollen_oak_2', 'tomorrow') | int > state_attr('sensor.google_pollen_oak_2', 'index_value') | int) %}
          mdi:arrow-up
        {% else %}
          mdi:minus
        {% endif %}
      {% endif %}
    badge_color: |-
      {% if states('sensor.google_pollen_oak_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_oak_2', 'tomorrow') | int < state_attr('sensor.google_pollen_oak_2', 'index_value') | int) %}
          green
        {% elif (state_attr('sensor.google_pollen_oak_2', 'tomorrow') | int > state_attr('sensor.google_pollen_oak_2', 'index_value') | int) %}
          red
        {% endif %}
      {% endif %}
  - type: custom:mushroom-template-card
    primary: "{{ state_attr('sensor.google_pollen_tree_2', 'display_name') }}"
    secondary: |-
      {% if states('sensor.google_pollen_tree_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_tree_2', 'index_value') | int %}
        {% set names = {0: 'None', 1:'Low', 2: 'Low +', 3:'Medium', 4:'High', 5:'Extreme'} %}
        {% set name = names[level] %} 
        {{ name }}
      {% endif %}
    icon: mdi:pine-tree
    entity: sensor.google_pollen_tree_2
    layout: vertical
    fill_container: true
    tap_action:
      action: more-info
    hold_action:
      action: none
    double_tap_action:
      action: none
    icon_color: |-
      {% if states('sensor.google_pollen_tree_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_tree_2', 'index_value') | int %}
        {% set color = {0: 'grey', 1:'green', 2: 'yellow', 3:'orange', 4:'#FF6C71', 5:'red'} %}
        {% set level_color = color[level] %}
        {{ level_color }}
      {% endif %}
    badge_icon: |-
      {% if states('sensor.google_pollen_tree_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_tree_2', 'tomorrow') | int < state_attr('sensor.google_pollen_tree_2', 'index_value') | int) %}
          mdi:arrow-down
        {% elif (state_attr('sensor.google_pollen_tree_2', 'tomorrow') | int > state_attr('sensor.google_pollen_tree_2', 'index_value') | int) %}
          mdi:arrow-up
        {% else %}
          mdi:minus
        {% endif %}
      {% endif %}
    badge_color: |-
      {% if states('sensor.google_pollen_tree_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_tree_2', 'tomorrow') | int < state_attr('sensor.google_pollen_tree_2', 'index_value') | int) %}
          green
        {% elif (state_attr('sensor.google_pollen_tree_2', 'tomorrow') | int > state_attr('sensor.google_pollen_tree_2', 'index_value') | int) %}
          red
        {% endif %}
      {% endif %}
  - type: custom:mushroom-template-card
    primary: "{{ state_attr('sensor.google_pollen_birch_2', 'display_name') }}"
    secondary: |-
      {% if states('sensor.google_pollen_birch_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_birch_2', 'index_value') | int %}
        {% set names = {0: 'None', 1:'Low', 2: 'Low +', 3:'Medium', 4:'High', 5:'Extreme'} %}
        {% set name = names[level] %} 
        {{ name }}
      {% endif %}
    icon: mdi:pine-tree-variant-outline
    entity: sensor.google_pollen_birch_2
    layout: vertical
    fill_container: true
    tap_action:
      action: more-info
    hold_action:
      action: none
    double_tap_action:
      action: none
    icon_color: |-
      {% if states('sensor.google_pollen_birch_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_birch_2', 'index_value') | int %}
        {% set color = {0: 'grey', 1:'green', 2: 'yellow', 3:'orange', 4:'#FF6C71', 5:'red'} %}
        {% set level_color = color[level] %}
        {{ level_color }}
      {% endif %}
    badge_icon: |-
      {% if states('sensor.google_pollen_birch_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_birch_2', 'tomorrow') | int < state_attr('sensor.google_pollen_birch_2', 'index_value') | int) %}
          mdi:arrow-down
        {% elif (state_attr('sensor.google_pollen_birch_2', 'tomorrow') | int > state_attr('sensor.google_pollen_birch_2', 'index_value') | int) %}
          mdi:arrow-up
        {% else %}
          mdi:minus
        {% endif %}
      {% endif %}
    badge_color: |-
      {% if states('sensor.google_pollen_birch_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_birch_2', 'tomorrow') | int < state_attr('sensor.google_pollen_birch_2', 'index_value') | int) %}
          green
        {% elif (state_attr('sensor.google_pollen_birch_2', 'tomorrow') | int > state_attr('sensor.google_pollen_birch_2', 'index_value') | int) %}
          red
        {% endif %}
      {% endif %}
  - type: custom:mushroom-template-card
    primary: "{{ state_attr('sensor.google_pollen_pine_2', 'display_name') }}"
    secondary: |-
      {% if states('sensor.google_pollen_pine_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_pine_2', 'index_value') | int %}
        {% set names = {0: 'None', 1:'Low', 2: 'Low +', 3:'Medium', 4:'High', 5:'Extreme'} %}
        {% set name = names[level] %} 
        {{ name }}
      {% endif %}
    icon: mdi:flower-pollen-outline
    entity: sensor.google_pollen_pine_2
    layout: vertical
    fill_container: true
    tap_action:
      action: more-info
    hold_action:
      action: none
    double_tap_action:
      action: none
    icon_color: |-
      {% if states('sensor.google_pollen_pine_2') != "unknown" %}
        {% set level = state_attr('sensor.google_pollen_pine_2', 'index_value') | int %}
        {% set color = {0: 'grey', 1:'green', 2: 'yellow', 3:'orange', 4:'#FF6C71', 5:'red'} %}
        {% set level_color = color[level] %}
        {{ level_color }}
      {% endif %}
    badge_icon: |-
      {% if states('sensor.google_pollen_pine_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_pine_2', 'tomorrow') | int < state_attr('sensor.google_pollen_pine_2', 'index_value') | int) %}
          mdi:arrow-down
        {% elif (state_attr('sensor.google_pollen_pine_2', 'tomorrow') | int > state_attr('sensor.google_pollen_pine_2', 'index_value') | int) %}
          mdi:arrow-up
        {% else %}
          mdi:minus
        {% endif %}
      {% endif %}
    badge_color: |-
      {% if states('sensor.google_pollen_pine_2') != "unknown" %}
        {% if (state_attr('sensor.google_pollen_pine_2', 'tomorrow') | int < state_attr('sensor.google_pollen_pine_2', 'index_value') | int) %}
          green
        {% elif (state_attr('sensor.google_pollen_pine_2', 'tomorrow') | int > state_attr('sensor.google_pollen_pine_2', 'index_value') | int) %}
          red
        {% endif %}
      {% endif %}
visibility:
  - condition: numeric_state
    entity: sensor.google_pollen_grass_2
    above: 1
  - condition: or
    conditions:
      - condition: numeric_state
        entity: sensor.google_pollen_grass_2
        above: 2

1 post - 1 participant

Read full topic


Template switch and keeping track of open/closed

$
0
0

Hi
I have a switch.garageporten that I toggle the garagedoor with. But it is “dumb” and only sends a pulse to toggle the garagedoor motor. In order to keep track of if the garagedoor is open I have a magnetic sensor (binary_sensor.garageporten).

I have made a template switch to have different icons depending on the state. But how can I also have the garegedoor status (Open/Closed) written out? Now the state is only “on” when I click the switch and then immediately goes “off”.

Been struggeling way too long with this so all help is appreciated :slight_smile:

switch:
  - platform: template
    switches:
      garageporten_template:
        friendly_name: "Garageporten"
        value_template: "{{ is_state('switch.garageporten', 'on') }}"
        turn_on:
          service: switch.turn_on
          data:
            entity_id: switch.garageporten
        turn_off:
          service: switch.turn_off
          data:
            entity_id: switch.garageporten
        icon_template: >-
          {% if is_state('binary_sensor.garageporten', 'on') %}
            mdi:garage-open-variant
          {% else %}
            mdi:garage-variant
          {% endif %}

1 post - 1 participant

Read full topic

Loratap 6 Button Remote

$
0
0

Hi Guys,

I currently use the Loratap 6 button remote in my kitchen, for setting various scenes on the various lights etc. It’s a great little unit and works well… when it works! I’m constantly having to remove the battery for around 10 seconds in order to re-start it where it reconnects to the Zigbee network and works exactly as it should. After two or three days, it then loses its connection and I have to go through the same routine of battery removal. It is not powering off, as the yellow LED lights up whenever I press a button, but there is not response from ZHA when I check out the device.


This is the remote. Each button has three functions.


This is some tech’ detail from the device integration within HA.

If anybody can suggest anything then I’d be most grateful your input.

Thank you in advance.

BR,

Mike.

1 post - 1 participant

Read full topic

Strange behaviour on Voice PE and the Assist Satellite

$
0
0

Hi,

I have an issue with Voice PE and the automation that triggers an Assist Satellite conversation.

I currently have one Voice PE in my garage (defined in the area Garage) and a Google Nest in my office (defined in the area Office).

I have created an automation that should trigger when I have been in my garage for more than 3 minutes. No other conditions.

As action I have chosen the Voice PE in the garage as target and that it shold start the conversation with ‘Would you like to listen to radio?’ (message field).

In the extra prompt field I have entered ‘if the user answers yes, then play (a specific radio station through radio browser) in the garage’.

The automation works well, BUT the radio plays on my media player in my office (the Google Nest)!

I have tried to change the name of the Voice PE, I have tried to change the extra prompt to point to the exact name of the Voice PE (instead of pointing to an area), but nothing works.

How would I have it play on the actual Voice PE where the converseation takes place?

Thanks for any hints and ideas!

1 post - 1 participant

Read full topic

How to remove orphaned 'Repair'?

$
0
0

I have a naggy Repair against Music Assistant, however I long ago uninstalled Music Assistant, yet the naggy Repair does not go away. It has survived countless reboots.

The repair only offers two options, ‘ignore’ and ‘learn more’.

I can not see any way to permanent resolve the Repair. How can I remove a repair once I have already removed the relevant Integration?

1 post - 1 participant

Read full topic

Assist Satellite Start Conversation

$
0
0

2025.4 introduced the ability to start conversations on a voice satellite using assist_satellite.start_conversation. I was hoping to be able to use this to run a script if I respond yes, but it appears to just be limited to what your LLM can do. Is there any way to define the actions that are taken when responding yes or no, or is this something we need to wait for to be developed?

3 posts - 2 participants

Read full topic

Viewing all 106307 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>