Lovelace - cores dos ícones em função do estado

Bom dia

Alguém sabe como definir a cor de um icon de
um sensor em funçāo do seu estado.

Desde já os meus agradecimentos!

Exemplo:

sensor.sensorkikouki*:
  custom_ui_state_card: state-card-custom-ui
  templates:
    hs_color: "if (state === 'Água Turva') return [0, 100, 100];
    else if (state === 'Água Limpa') return [120, 100, 100];"
1 Curtiu

Bom dia

Já fiz várias experiências, entre as quais na configuração do sensor mas no Lovelace não faz qualquer efeito.
Com a alteração do icon consigo em função do estado funcionou à primeira, com a cor do icon não acontece nada!

device_tracker.*:
  templates:
    icon_color: "if (state === 'home') return rgb(0, 102, 0);
    else if (state === 'not_home') return rgb(128, 0, 0);
    else return rgb(115, 115, 115)"

isto não funciona!

Experimentas-te o exemplo que eu pus?

Já experimentas-te com == em vez de ===?

Bom dia. É possível fazer o mesmo mas com icons? Por exemplo porta aberta e porta fechada…?

no costumize.yaml tenho:

device_tracker.dt_desktop:
  friendly_name: Desktop
  templates:
    icon: >
      if (state == 'home') return 'mdi:desktop-tower-monitor';
      else return 'mdi:desktop-tower';
    value: >
      if (state == 'home') return 'Ligado';
      else return 'Desligado';
    icon_color: >
      if (state === 'home') return rgb(0, 102, 0);
      else if (state === 'not_home') return rgb(128, 0, 0);
      else return rgb(115, 115, 115)

Já procurei pelos fóruns todos.
O icon funciona
image
mas as cores não! Nem o valor (value)!

Como disse o @RodolfoVieira, experimentaste o código em cima ?
No Lovelace o exemplo da “Central de alarme” ainda não funciona até a data. O exemplo do “sensor câmera” sim. Reve a tua configuração

Mais uma vez!
O que eu tenho:


o que pretendo é:
op1
o que eu consigo:

Como programador nunca fico contente enquanto não consigo apresentar a aplicação como pretendo!
Agradeço a vossa ajuda. Já experimentei todas as soluções dos fóruns, mas ainda não consegui.
Assim que tiver a solução (que hei-de conseguir), partilho-a com todos.

@lmesousa, vamos por partes. No início do tópico tens a dúvida acerca da alteração da cor do icon. Coisa que pelos vistos já conseguiste… E aquilo que estás agora a dizer é outra coisa. Tu estás a filtrar entre o “Home” e o “not home” em cada card. Nunca aparecerá tudo numa só card assim

O que pretendo é que a cor do icon nude email função do estado sem que ter de ser eu a filtrar o estado. Iria simplificar tudo.

Experimenta assim:

homeassistant:
####################################################
#                                                  #
#                     Customize                    #
#                                                  #
####################################################
  customize_glob:
    sensor.interruptorcamera*:
      custom_ui_state_card: state-card-custom-ui
      templates:
        hs_color: "if (state === 'Desligado') return [0, 100, 100];
        else if (state === 'Ligado') return [120, 100, 100];"

E na configuração do Lovelace não tenho nenhum style. Chamo só o sensor que já aparece com a cor acima configurada

experimentei individualmente:

device_tracker.dt_desktop:
  custom_ui_state_card: state-card-custom-ui
  templates:
    hs_color: "if (state === 'not_home') return [0, 100, 100];
    else if (state === 'home') return [120, 100, 100];"  
    
device_tracker.dt_desktop_pc:
  custom_ui_state_card: state-card-custom-ui
  templates:
    hs_color: "if (state === 'not_home') return [0, 100, 100];
    else if (state === 'home') return [120, 100, 100];"  

não funcionou!

@lmesousa e antes desta configuração tens o que? onde está inserido?? Mostra o resto da configuração… Tens de inserir em “customize_glob:” e tens também de ter o card " CustomUI" em “~/.homeassistant/www/custom_ui/” por exemplo ( não sei se já tens se não)…

Já consegui!
Por partes!
no ficheiro configuration.yaml:

  customize_glob: !include_dir_merge_named customize_glob

na pasta customize_glob


criei um ficheiro com as configurações que pretendi para os device_trackers que são computadores fixos (desktops)
device_trackers_computadores.yaml

device_tracker.dt_desktop:
  custom_ui_state_card: state-card-custom-ui
  templates:
    hs_color: "if (state === 'not_home') return [0, 100, 100];
    else if (state === 'home') return [120, 100, 100];
    else return [115, 115, 115];"  
    icon: >
      if (state === 'home') return 'mdi:desktop-tower-monitor';
      else return 'mdi:desktop-tower';
    
device_tracker.dt_desktop_pc:
  custom_ui_state_card: state-card-custom-ui
  templates:
    hs_color: "if (state === 'not_home') return [0, 100, 100];
    else if (state === 'home') return [120, 100, 100];"  
    icon: >
      if (state === 'home') return 'mdi:desktop-tower-monitor';
      else return 'mdi:desktop-tower';
 

resultado:
img003

Boas, desculpa a pergunta mas como configuraste o custom card?

segue este link:

Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade