Custom button-card Icon und farbe ändern (Garagentor)

Möchte in einer custom button card abhängig von einem Sensor das icon und deren Farbe ändern.

Der Icon Wechsel funktioniert aber das mit gleichzeitigem Farben Wechsel bekomme ich nicht hin.

type: custom:button-card
show_entity_picture: true
show_state: false
show_label: true
size: 20%
icon: |

  [[[
    if (states['sensor.0x54ef4410007a1b1c_side'].state === "1")
      return "mdi:garage-lock" ;
    else if (states['sensor.0x54ef4410007a1b1c_side'].state === "2")
      return "mdi:garage-open" ;
  ]]]

styles:
  icon:
   - color: |
                [[[  
                if (states['sensor.0x54ef4410007a1b1c_side'].state == '1')
                  return "green";
                else
                  return "red";
                ]]] 

Hat sich erledigt .
Habe es hinbekommen

Lass uns an deinem Wissen teilhaben. :smiley:

Die Lösung steht eigentlich schon im Code oben.
Das Problehm war der letzte Abschnitt mit dem Farbwechsel.
Das ganze ist ein Testcode der sensor wird ersetzt durch einen fenst
erkontakt wenn er da ist ersetzt.
Im oberen Abschnitt fehlt noch das Gerät Garagentor (esp d1 via esphome + relay) das schon bereit ist.
Es wird dann noch einen zweiten Button (code) geben der mit das Tor nur 10 cm öffnet (lüften)