Hallo miteinander,
ich verzweifel hier gerade und steh total auf dem Schlauch.
Ich steige seit Kurzem vom ioBroker auf Home Assistant um und bin deshalb noch wenig erfahren.
Mein Problem:
Ich habe unter ioBroker mit ESPEasy für meine Garage einen Garagentoröffner mit zwei Fensterkontakten. Über einen Button in der Visualisierung kann ich das Relais als Öffner betätigen. In Abhängigkeit der Zustände der Fensterkontakte werden mir drei verschiedene Icons auf dem Button angezeigt, jeweils für geschlossen, geöffnet und in Bewegung.
Das Gleiche möchte ich in Home Assistant auch gerne haben.
Die Funktionen habe ich über ESPHome auch schon hinbekommen. Ich kann das Relais schalten und bekomme die Zustände der Fensterkontakte geliefert.
Dann habe ich mir den Cover Template Code von Smarthomeyourself in die configuration.yaml kopiert und angepasst.
Und jetzt bekomme ich zwar einen Button hin, der das Relais schaltet und einen einzigen Zustand zeigt weil er nur einen der zwei Fensterkontakte abfragt. Aber ich habe überhaupt keine Idee, wie ich im Dashboard einen Button erstellen kann, der je nach Zustand des Tores die Icons und vielleicht auch die Farbe anpasst.
Kann mir jemand eine Tipp geben?
Wünsche noch ein schönes Wochenende.
Erstmal willkommen von einen anderen ehemaligen ioBroker Nutzer
Wenn du ein template mit 2 sensoren willst hier ein beispiel:
- platform: template
covers:
garage_door:
device_class: garage
friendly_name: Garagentor_HA
unique_id: gargentor_ha
value_template: >
{% if states('binary_sensor.garagentor_auf') == "on" %}
open
{% elif states('binary_sensor.garagentor_zu') == "off" %}
closed
{% else %}
{% if as_timestamp(states.binary_sensor.garagentor_zu.last_changed) > as_timestamp(states.binary_sensor.garagentor_auf.last_changed) %}
opening
{% else %}
closing
{% endif %}
{% endif %}
open_cover:
service: switch.turn_on
data:
entity_id: switch.garagentor
close_cover:
service: switch.turn_on
data:
entity_id: switch.garagentor
stop_cover:
service: switch.turn_on
data:
entity_id: switch.garagentor
icon_template: |
{% if states('binary_sensor.garagentor_auf') == "off" %}
mdi:garage-variant
{% elif states('binary_sensor.garagentor_zu') == "on" %}
mdi:garage-open-variant
{% else %}
garage-alert-variant
{% endif %}
Das Icon sollte sich dann automatisch anpassen von geschlossen / geöffnet wenn du kein anderes icon in der entity angibst. Ansonsten mal mit den templates von ha beschäftigen. Hier mal ein beispiel anhand von fenster sensoren. Das fügst du dann bei deiner Karte im Dashbord mit hinzu. Musst du natürlich noch anpassen. Mehr infos dazu gibst hier: Templating - Home Assistant
icon: |-
{% if is_state('binary_sensor.alle_fenster', 'on') %}
mdi:window-open-variant
{% else %}
mdi:window-closed-variant
{% endif %}
icon_color: |-
{% if is_state('binary_sensor.alle_fenster', 'on') %}
orange
{% else %}
red
{% endif %}
Hallo, vielen Dank für deine Hilfe, aber ich komme trotz viel probieren nicht so recht weiter.
Ich habe in der configuration.yaml folgendes eingetragen:
cover:
- platform: template
covers:
garage_door:
device_class: garage
friendly_name: "Einzelgarage Tor"
value_template: >
{% if states('binary_sensor.d1_eh_relais_test_garage_sensor_oben') == "on" %}
open
{% elif states('binary_sensor.d1_eh_relais_test_garage_sensor_unten') == "on" %}
closed
{% else %}
{% if as_timestamp(states.binary_sensor.d1_eh_relais_test_garage_sensor_unten.last_changed) > as_timestamp(states.binary_sensor.d1_eh_relais_test_garage_sensor_oben.last_changed) %}
opening
{% else %}
closing
{% endif %}
{% endif %}
open_cover:
service: switch.turn_on
data:
entity_id: switch.d1_eh_relais_test_garage_relay
close_cover:
service: switch.turn_on
data:
entity_id: switch.d1_eh_relais_test_garage_relay
stop_cover:
service: switch.turn_on
data:
entity_id: switch.d1_eh_relais_test_garage_relay
icon_template: >
{% if states('binary_sensor.d1_eh_relais_test_garage_sensor_oben') == "on" %}
mdi:garage-open-variant
{% elif states('binary_sensor.d1_eh_relais_test_garage_sensor_unten') == "on" %}
mdi:garage-variant
{% else %}
mdi:garage-alert-variant
{% endif %}
Dann habe ich eine custom button card probiert und da folgendes eingetragen:
type: custom:button-card
entity: switch.d1_eh_relais_test_garage_relay
name: Garage
show_entity_picture: true
show_state: true
icon: |-
{% if is_state('binary_sensor.d1_eh_relais_test_garage_sensor_oben','open') %}
mdi:garage-open
{% else %}
mdi:garage
{% endif %}
icon_color: >-
{% if is_state('binary_sensor.d1_eh_relais_test_garage_sensor_oben', 'closed')
%}
orange
{% else %}
red
{% endif %}
Die Karte schaltet auch das Relais, aber ich sehe keine Icons.
Gleiches habe ich mit eine Schaltfläche probiert.
Tut mir leid, aber ich komme mit meinem Anfängerwissen nicht weiter.
Wünsche noch einen schönen Restsonntag.
Du hast das Icon ja schon im Template angegeben. Dann brauchst du das nicht mehr in der Karte machen.
Boah, mir raucht der Schädel.
Hab versucht mich mal bei Templates einzulesen, versteh aber echt nicht viel davon.
Habe mir auch mal zwei YT Videos angesehen.
Wenn du recht hast, liegt das Problem bei mir eher nicht an den Karten, sondern ich mache beim Template was falsch. Oder?
Ich versuche das Ganze noch mal in der nächsten Woche…
Danke bis hierher.
Dein template sieht auf dem ersten blick ok aus. Ich denke es wird dein button-card sein. Warum nutzt du als entity nicht die vorher vom template erstellte cover.garage_door? Dafür hast du doch das template erstellt? Den Bereich icon kannst du dann auch weglassen. Diese hast du ja auch schon in dein template hinzugefügt. Icon_color wird leider so nicht von der button-card unterstützt. Versuch es doch erstmal so:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: cover.garage_door
Nachdem du das template in die configuration hinzugefügt hast, hast du aber HA auch neu gestartet unter Entwicklerwerkzeuge?
Hallo ciddi89,
noch mal vielen Dank für deine Hilfe.
Ja, ich tu mich echt schwer…
HA habe ich unter Entwicklungswerkzeuge nach jeder Änderung neu gestartet.
Ich habe deine Anregung mit einer Schaltflächenkarte und einer Button Karte ausprobiert. Dann wird auch die state Änderung von einem der beiden Magnete als icon übertragen. Dann wird ein icon für Garage geschlossen und ein icon für Garage geöffnet angezeigt. So, wie ich das gelesen habe, sind das die icons, die automatisch zu der device_class gehören.
Ich habe aber zwei Magnete, je eins für geöffnet und eins für geschlossen. Es sollten dann aber auch drei icons verwendet werden. Je eins, wenn oben oder unten jeweils “on” ist und ein icon, falls beide states “off” zeigen
Wenn ich das gesamte Template unter Entwicklerwerkzeuge in den Template-Editor eingebe, bekomme ich als Meldung, dass nur die Entität: binary_sensor für den Sensor “oben”, als Tor auf, überwacht wird. Vom Sensor “unten” = Tor zu, steht da nichts. Das würde mit den angezeigten icons überein stimmen. Aber wo liegt dann der Fehler? Kann eigentlich nur im Template sein - oder?
Ich bin weiter ratlos.
Kleiner Nachtrag.
Im Bereich value_template habe ich die states mal invertiert, also nicht, wenn state = “on”, sondern wenn “off”. Danach werden im Editor auch die richtigen Ergebnisse (offen, closing, geschlossen, opening) angezeigt. Bis dahin ist es jetzt wohl richtig.
Dafür gibt es jetzt in den Karten keine icons mehr, aber das ist dann die Aufgabe für Ostern.