Dúvida sobre condicional em um card

Fala pessoal, boa tarde.

Estava cá com meus botões pensando - e quebrando a cabeça para variar - em como poderia fazer uma condicional dentro de um title card… que mostrasse outro card completo.

Acho que só os “escovadores de bits” poderão me ajudar nisso :stuck_out_tongue:

Exemplificando…
Tenho esse card que saúda o usuário que está logado e informa a temperatura ambiente da casa e o clima (tempo). Tudo bem simples e direto.

type: custom:mushroom-title-card
title: '{{states(''sensor.time_of_day'')}}, {{ user }} !'
alignment: center
subtitle: >-
  A temperatura ambiente é de {{states('sensor.thermal_feeling')}}°C e
  está {{states('sensor.weather_forecast')}}

A dúvida é como inserir uma condicional - pode ser o card de condicional mesmo, não tem problemas -, que ao detectar quem está logado, mostre algumas infos sobre ele, como no card abaixo.

type: custom:stack-in-card
mode: horizontal
cards:
  - type: custom:mushroom-person-card
    entity: person.person
    use_entity_picture: true
    tap_action:
      action: fire-dom-event
      browser_mod:
        service: browser_mod.popup
        data:
          content:
            type: map
            entities:
              - person.person
    vertical: false
  - type: custom:mushroom-chips-card
    chips:
      - type: entity
        entity: sensor.iphone_11_steps
        use_entity_picture: true
        name: 'Steps today: '
        tap_action:
          action: more-info
      - type: entity
        entity: sensor.iphone_11_distance
        use_entity_picture: true
        name: 'Distance walked: '
        tap_action:
          action: more-info
      - type: entity
        entity: sensor.iphone_11_battery_state
        use_entity_picture: true
        name: ''
        tap_action:
          action: more-info
      - type: entity
        entity: sensor.iphone_11_battery_level
        use_entity_picture: true
        name: 'Distance walked: '
        tap_action:
          action: more-info

Quem tiver alguma idéia - ou solução - por mais maluca que seja, pode mandar aqui que vou testando enquanto escuto Disturbed para relaxar…

Forte abraço

Cria um conditional card para cada user. Na condição coloca o user! Só vai aparecer o card de quem tá logado!

Meu tá assim:

type: conditional
conditions:

  • entity: person.xxxxxxx
    state: rrrrrrrrr
    card:
    type: vertical-stack
    cards:
    • show_current: true
      show_forecast: false
      type: weather-forecast
      entity: weather.rrrrrrr
      name: rrrrrrr
1 curtida

@maciel_nm

Fala meu bom, beleza?

Então cara, já testei e não rolou. Deu erro a dar com o pau e nem me deixou salvar o card por causa dos erros… :frowning:

Mas vou tentar novamente, fazendo na mão mesmo para ver se agora vai.

Forte abraço

Fala Maciel…

Então cara, não funciona porque não quero pegar pelo estado (em casa) e sim pela condicional de quem é o usuário, entende?

Seria algo do tipo:

{{ if {{ user }} = person.person_1 }}
  type: vertical-stack
  etc…
{{ elif {{ user }} = person.person_2 }}
  type: vertical-stack
  etc…
{{ else }}
  type: vertical-stack
  etc…

Pegou a idéia?

cria um sensor template com essa condição do usuario (user) retornando um estado pra cada um e utiliza esse sensor no card conditinal…
Daí vc faz um card conditional pra cada usuário! Só vai aparecer o do usuário logado!

@maciel_nm

Hum… interessante a idéia. Vou testar e retorno com o resultado. Se funcionar, pode ajudar outras pessoas.

Obrigado cara.

Forte abraço

@maciel_nm

Meu caro, acho que vou precisar de um help adicional… me “embananei” todo aqui criando o sensor. Podes me ajudar com um exemplo bem genérico?

Forte abraço

1 curtida

Pelo que verifiquei com algumas pessoas, não é possível criar sensor com o usuário! Sensor é global, independente do usuário logado…
Me deram a dica de utilizar o Browser Mod, que ele cria um sensor com o usuário logado em cada browser…
Não testei ainda, mas me parece a alternativa mais promissora! Só final de semana em casa pra testar esse Browser Mod! Nem conheço ainda…

Tenta utilizar o state-switch pelo HACS…

@maciel_nm

Fala irmão, feliz ano novo.

Então cara, depois de pensar um pouco aqui, me caiu a ficha de que existe uma razão lógica para que não consigamos “criar” um sensor para saber qual usuário está logado, pois esse usuário será sempre nós (parece bobo, mas é verdade). Então, qualquer rotina, automação, template ou card que queiramos utilizar específico para determinado usuário, se torna irrelevante do ponto de vista de programação no final das contas.

Quando utilizamos a variável {{ user }} ela irá se aplicar ao usuário que está logado naquele momento, independente de quem seja e, exatamente por isso, não faria sentido termos acesso ou podermos criar um sensor que nos retornasse essa info.

Quando fiz o tópico, estava pensando apenas pela parte da programação e esquecendo que o sistema roda redondo e sabe quem está logado naquele momento, pois necessita de autenticação (login/senha) para dar acesso à interface do HA e isso, por si só, já gerava a info que precisava e sem ter que fazer nada.

Eu só percebi isso quando, uma de minhas filhas pegou o celular da minha esposa e abriu o App do HA porque queria ver o aspirador de pó limpando a casa (ela diz que parece uma nave espacial, quando visto pelas câmeras com as luzes apagadas, porque dá para ver o sensor Lidar funcionando) e veio me perguntar porque “a casa” estava desejando Feliz Ano Novo… a pergunta dela era como “a casa” sabia que já estávamos em 2023. E foi nesse exato momento que percebi que “o rei estava nu”. Estava na minha frente o tempo todo, mas foi preciso minha filha de 5 anos fazer a pergunta mais simples e inocente do mundo para perceber isso.

Eu não preciso saber quem está logado, pois o sistema sabe.

Mas o tópico valeu pela troca de idéias e experiências…

Forte abraço.

1 curtida

OK, mas como vc fará pra mostrar as informações “personalizadas” somente do usuário logado! Fiquei curioso e com idéias aqui…
Quando concluir post aqui pra gente aprender também!!

Fala Maciel, sussa?

Então cara, foi tudo bem simples, para falar a verdade. Eu já estava utilizando o Browser_Mod aqui para fazer uns popups personalizados dependendo de como clicar na entidade, então foi só pegar o sensor que ele cria para cada dispositivo e utilizar na condicional…

type: conditional
conditions:
  - entity: sensor.user_browser_user
    state: User Name
card:
  type: custom:stack-in-card
  mode: horizontal
  cards:
    - type: custom:mushroom-person-card
      entity: person.person
      use_entity_picture: true
      tap_action:
        action: fire-dom-event
        browser_mod:
          service: browser_mod.popup
          data:
            content:
              type: map
              entities:
                - person.person
      vertical: false
    - type: custom:mushroom-chips-card
      chips:
        - type: entity
          entity: sensor.iphone_11_steps
          use_entity_picture: true
          name: 'Steps today: '
          tap_action:
            action: more-info
        - type: entity
          entity: sensor.iphone_11_distance
          use_entity_picture: true
          name: 'Distance walked: '
          tap_action:
            action: more-info
        - type: entity
          entity: sensor.iphone_11_battery_state
          use_entity_picture: true
          name: ''
          tap_action:
            action: more-info
        - type: entity
          entity: sensor.iphone_11_battery_level
          use_entity_picture: true
          name: ''
          tap_action:
            action: more-info

Nesse exemplo ai, quando logo no HA ele já identifica que sou eu pelo sensor do Browser_Mod (tive que cadastrar todos os meus dispositivos para que cada um tivesse seu próprio sensor, tipo: iphone_11_browser_mod, ipad_browser_mod e assim por diante).

Ai foi só pegar esse sensor para utilizar no que queria, mas a info principal (boas vindas e calendários individuais) o sistema vai mesmo pelo {{ user }}.

Pode instalar que você vai ver que ele vai muito além de simplesmente nos ajudar com esse problema…

Forte abraço

Edit: se não me engano, tem um tópico aqui no fórum que trata do Browser_Mod… dá uma procurada que vai te ajudar e expandir suas idéias :wink:

1 curtida

Obrigado, vou testar!

1 curtida