Abfrage in einer Mushroom funktioniert nicht

Hallo,

bin noch ganz neu bei HA und habe ein Problem mit einer Abfrage in einer Mushroom Template-Karte.

Ich möchte dort die Betriebsart eines Dect 301 Thermostat von fritzbox umschalten bei einem Tastendruck. Der preset_mode hat zwei Zustände „eco“ und „comfort“

Meine Abfrage sieht dann so aus:

  tap_action:
  action: call-service
  service: climate.set_preset_mode
  service_data:
    entity_id: climate.buero_dect_302
    preset_mode: |-
      {% if is_state_attr('climate.buero_dect_302', 'preset_mode', 'eco') %}
       comfort
      {% else %}
       eco
      {% endif %}

Wenn ich dann die Taste drücke bekomme ich immer folgende Fehlermeldung:

„Die Voreinstellung {% if is_state_attr(‚climate.buero_dect_302‘, ‚preset_mode‘, ‚eco‘) %} comfort {% else %} eco {% endif %} ist ungültig. Gültige Voreinstellungen sind: eco, comfort.“

Habe ich da ggf. einen Denkfehler drin?

Ich glaube du kannst da kein Templating verwenden.

Erstelle dir ein Script was das macht und dann startest du das Script mit der tap_action

LG
Tobi

1 „Gefällt mir“

Denke auch das wird so nicht funktionieren. Kannst ja mal testen.

type: custom:mushroom-template-card
tap_action:
  action: call-service
  service: climate.set_preset_mode
  data:
    entity_id: climate.buero_dect_302
    preset_mode: |
      {% if is_state_attr('climate.buero_dect_302', 'preset_mode', 'eco') %}
       comfort
      {% else %}
       eco
      {% endif %}

{{ 'comfort' if is_state_attr('climate.buero_dect_302', 'preset_mode', 'eco') else 'eco' }}

Funktioniert leider nicht. Wenn ich die Syntax als sekundäre Information eintrage wir mir auch eco bzw comfort angezeigt. Muss dann ja eigentlich richtig sein.
Mit Skripten habe ich noch nichts gemacht, wird dann aber in jedem Fall sehr kompliziert.

Ich habe das jetzt nochmal live getestet, Tobi hat wohl recht. Templating scheint hier nicht zu funktionieren. Ich konnte es über einen Sensor in der config.yaml lösen. Dazu musste ich dann aber zwei Button anlegen.

input_select:
  wandthermostat_mode:
    name: Wandthermostat Modus
    options:
      - boost
      - comfort
      - eco
      - none
    initial: eco

Hier ein Buttonbeispiel, brauchst du dann zwei

type: custom:mushroom-template-card
primary: Eco
tap_action:
  action: call-service
  service: climate.set_preset_mode
  service_data:
    entity_id: climate.wandthermostat_jan_2
    preset_mode: eco

Das funktioniert auf jeden Fall wunderbar.

Skript ist quasi nur der Aktion teil einer Automatisierung.

Habe hier mal was gemacht:

sequence:
  - if:
      - condition: state
        entity_id: climate.buero_dect_302
        attribute: preset_mode
        state: eco
    then:
      - action: climate.set_preset_mode
        metadata: {}
        data:
          preset_mode: comfort
        target:
          entity_id: climate.buero_dect_302
    else:
      - action: climate.set_preset_mode
        metadata: {}
        data:
          preset_mode: eco
        target:
          entity_id: climate.buero_dect_302
alias: Heizung Büro
description: ""

Und dann in der Karte so:

tap_action:
  action: perform-action
  perform_action: script.heizung_buro

Wen du das Skript anders nennst musst du das natürlich anpassen.

LG

1 „Gefällt mir“

Danke für das Script. Beim Erstellen bekomme ich leider eine Fehlermeldung.
Ist wie schon gesagt mein erstes Script, habe ich aber komplett kopiert und einfach eingefügt.

Musst erst auf YAML umstellen:


Dann dort alles löschen mein Code Einfügen und dann kannst du wieder auf UI umstellen.

LG

Das Script läuft jetzt. Wenn ich das alleine ausführe wird auch umgeschaltet von eco auf comfort bzw.umgekehrt.
Wenn ich es in der card einfüge kommt zwar keine Fehlermeldung mehr, schaltet aber leider nicht um.
Unter dem Code Feld steht aber noch eine Anmerkung, wahrscheinlich ist da noch ein Problem.

Finde den Fehler selber:

grafik

Habe ihn gefunden :grinning: War schon etwas spät. Vielen Dank noch einmal.