SAK (Swiss Army Knife) - Aide conditions de couleur de l'icone

Salut la commu,

Je me tourne vers vous car là je suis à court d’idée, pourtant ce que je cherche ne me semble pas complexe.

Mon problème

J’essaie d’adapter le magnifique travail d’AmoebeLabs et notamment sa card Météo (Sake 1)

Jusque là, 0 problème, je veux juste remplacer la qualité de l’air par l’indicateur d’alerte météo France.

Mon problème (simple), je veux que mon icone (statique) d’alerte prenne la couleur de l’alerte.
image

Le code de mon icone
type: icon
id: 2
position:
  cx: 50
  cy: 40
  icon_size: 12
entity_index: 3
icon: 'mdi:alert-octagon-outline'
styles:
  icon:
    opacity: 0.6
    fill: >
      [[[
        if (entity.state == 2) 
          return '#FDD74B';
        else
          return '#FE6A69';
      ]]]

Ce qui me rend fou c’est que si je mets une valeur statique genre

fill: '#FDD74B'

L’icône s’affiche de la bonne couleur mais dès que je veux mettre une condition, l’icône reprend sa couleur de base.
J’avoue ne pas capter la différence entre le « > » ou « | » quand on met du code. J’ai essayé tout ce qui pouvait me passer par la tête et mes recherches :

  • utiliser {% if state(…)… %}),
  • utiliser des simples quotes, double quotes pour les résultats,
  • créer mon code avec le Modèle de démonstration de l’outil de développement
  • utiliser les codes rgb / nom de couleurs

Bien sûr j’ai parcouru la doc HA, la doc SAK, je passe certainement à côté de l’info mais là je sature.
J’ai aussi parcouru le forum traitant de ce sujet et essayant d’adapter les solutions apportées, mais rien n’y fait, c’est comme si la configuration n’acceptait pas mon if.

L’icone est intégré dans une card custom dont je mets le code si cela peut aider

Code de la carte
    - type: 'custom:swiss-army-knife-card'
      entities:
        - entity: sensor.06_weather_alert           #Index 54
          attribute: Vagues-submersion
          icon: 'mdi:waves-arrow-up'
        
      aspectratio: 2/2.3

      disable_card: false

      dev:
        debug: false
        
      layout:
        styles:
          card:
          toolsets:
            filter: url(#nm-1)
        toolsets:
          # ==============================================================================
          - toolset: card-title
            position:
              cx: 5
              cy: 5
            tools:
              # Area
              - type: area
                id: 10
                position:
                  cx: 50
                  cy: 50
                entity_index: 0
                styles:
                  area:
                    font-size: 12em
                    font-weight: 400
                    text-anchor: start
                    alignment-baseline: hanging
                    fill: var(--primary-text-color)
                    letter-spacing: 0em
                    opacity: 1

              # weather type description
              - type: state
                id: 3
                position:
                  cx: 50
                  cy: 70
                entity_index: 7
                styles:
                  state:
                    font-size: 10em
                    font-weight: 400
                    text-anchor: start
                    font-style: italic
                  # uom:
                    # alignment-baseline: central

          - toolset: alertmeteo
            position:
              cx: 173.5
              cy: 60
            tools:
              - type: 'circle'
                id: 0
                position:
                  cx: 50
                  cy: 50
                  radius: 22
                styles:
                  circle:
                    opacity: 1
                    fill: var(--primary-background-color)

              - type: 'segarc'
                id: 1
                entity_index: 2
                position:
                  cx: 50
                  cy: 50
                  start_angle: 1
                  end_angle: 361
                  width: 2
                  radius: 20
                scale:
                  min: 1
                  max: 5
                  width: 2
                  offset: -1
                show:
                  scale: true
                  style: 'colorstops'

                segments:
                  colorstops:
                    gap: 1
                    colors:
                      1: '#A8E05F'
                      2: '#FDD74B'
                      3: '#FE9B57'
                      4: '#FE6A69'
                styles:
                  foreground:
                    fill: var(--theme-gradient-color-01)
                  background:
                    fill: var(--cs-theme-default-darken-15)
                    filter: url(#is-1)
              ####################
              # Exclamation point
              ####################
              - type: icon
                id: 2
                position:
                  cx: 50
                  cy: 40
                  icon_size: 12
                entity_index: 2
                icon: 'mdi:alert-octagon-outline'
                styles:
                  icon:
                    opacity: 0.6
                    fill: >
                      [[[
                        if (entity.state == 2) 
                          return '#FDD74B';
                        else
                          return #FE6A69;
                      ]]]

              - type: icon
                id: 3
                position:
                  cx: 50
                  cy: 55
                  icon_size: 12
                entity_index: 54
                styles:
                  icon:
                    filter: url(#is-1)
                    opacity: 0.6

Merci pour les courageux !

Ma configuration


System Information

version core-2022.11.4
installation_type Home Assistant Supervised
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.10.103-v7l+
arch armv7l
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4898
Installed Version 1.28.4
Stage running
Available Repositories 1226
Downloaded Repositories 16
Home Assistant Cloud
logged_in true
subscription_expiration 13 décembre 2022 à 01:00
relayer_connected true
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled false
remote_server eu-central-1-2.ui.nabu.casa
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Raspbian GNU/Linux 10 (buster)
update_channel stable
supervisor_version supervisor-2022.11.2
agent_version null
docker_version 20.10.13
disk_total 117.1 GB
disk_used 10.0 GB
healthy true
supported failed to load: Unsupported
supervisor_api ok
version_api ok
installed_addons Home Assistant Google Drive Backup (0.109.2), File editor (5.4.2), Node-RED (13.5.3), Mosquitto broker (6.1.3), MariaDB (2.5.1), Grafana (8.1.0), Zigbee2MQTT (1.28.4-1), InfluxDB (4.5.0), Samba share (10.0.0), Terminal & SSH (9.6.1)
Dashboards
dashboards 4
resources 14
views 27
mode storage
Recorder
oldest_recorder_run 27 novembre 2022 à 17:20
current_recorder_run 6 décembre 2022 à 11:36
estimated_db_size 360.45 MiB
database_engine sqlite
database_version 3.38.5
___