Custom Button Card mit Smartlife Szenen

Hallo zusammen,

ich bin mal wieder auf ein kleines Problem gestoßen und zwar ich hab einen Dunstabzug der von der Smartlife App supportet wird. Der aber im Home Assistant unsupported device ist.

Somit habe ich jetzt über die Smartlife App zwei Szenen erstellt, einmal mit Dunstabzug an und Dunstabzug aus.
Das ganze hab ich jetzt in eine Custom Button Card gesteckt - mal ganz einfach :slight_smile:
image

Optimal wäre halt, wenn ich hier nur genau einen Button hab und je nachdem ob ich das Teil aus oder einschalten will das sich einerseits das Symbol ändert und andererseits die Farbe (welche ist mir egal)

Ich weiß nur nicht wie ich das zusammen bringe, vorallem deswegen weil es ja Szenen aus der Smart Life App sind:

type: horizontal-stack
cards:
  - show_name: true
    show_icon: true
    type: custom:button-card
    tap_action:
      action: toggle
    entity: scene.dunstabzug_an
    icon: phu:cooker-extract-on
    show_state: false
  - show_name: true
    show_icon: true
    type: custom:button-card
    tap_action:
      action: toggle
    entity: scene.dunstabzug_aus
    icon: phu:cooker-extract-off
    show_state: false

Vielleicht hab ihr ja ne Idee und könnt mir da mit Ideen bzw. Umsetzungen weiter helfen

lg Horst

Ich habe selber die Karte nicht aber das hier könnte funktionieren.

Leg dir einen binary Sensor an, der den Zustand on, off deines Abzugs wieder spiegelt. Den musst du dann in deinen Scenen entsprechen mit einfügen.
In der Button Card dann das:

type: custom:button-card
show_entity_picture: true
state:
  - value: 'off'
    icon: phu:cooker-extract-off
    color: green
  - value: 'on'
    icon: phu:cooker-extract-on
    color: red
tap_action:
  action: |
  [[[
    if (states['binary_sensor.dunstabzug'].state === "on")
      return scene.dunstabzug_aus;
    else if (states['binary_sensor.dunstabzug'].state === "off")
      return scene.dunstabzug_an";
  ]]] 
entity: binary_sensor.dunstabzug
show_state: false
show_label: true
size: 20%
label: |
  [[[
    if (states['binary_sensor.dunstabzug'].state === "on")
      return "Dunstabzug An";
    else if (binary_sensor.dunstabzug'].state === "off")
      return "Dunstabzug Aus";
  ]]]

Guten Morgen, ich werde das mal am Wochenende probieren - vielen Dank