Home Assistant Anleitungen how to… Zeitpunkt für Automatisierung per Input-Select in Lovelace auswählen

Sehr lange habe ich bei einfacheren Automatisierungen, wie Rollläden öffnen und schließen die jeweiligen Zeitpunkte der Auslösung fix im YAML-Code geschrieben. In den meisten Fällen macht das auch Sinn, da sich häufig der Zeitpunkt, wann eine Automaion ausgeführt werden soll kaum ändern wird.

Bei den Rollläden ist dies aber, meiner Meinung nach, anders! Im Sommer sollen die Rollläden beispielsweise etwas später runtergehen und früher hochgehen, während es im Winter genau umgekehrt ist.

Home Assistant: How to... Kurzanleitungen und Nützliches für Home Assistant!

Meine Frau sprach mich also an: „Kannst du das bitte wieder umprogrammieren? Die gehen, jetzt, wo es früher dunkel wird, zu spät runter!“

Klar kann ich, und eigentlich auch sogar sehr gerne (wer freut sich nicht, wenn die Frau konstruktive Vorschläge ins Smarthome einbringt? 😉 (jeder kennt ja den WAF im Smarthome ;))

Aber für mich war klar, dass ich dieses zwangsläufig regelmäßige Anpassen (also mindestens zweimal im Jahr) eleganter hinbekommen muss, als den YAML-Code immer hin- und herzuschreiben.

Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 359 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!

Für diesen konkreten Fall (also Steuerung der Rollläden) habe ich mich nun für im Frontend (also Lovelace) per Input-Select (Home Assistant Input Select) auswählbare Uhrzeiten, wann Rollläden hoch oder runtergehen sollen entschieden.

Alles, was man dafür machen muss, ist folgendes:

  1. Einen Input-Select für jede auswählbare Uhrzeit definieren
  2. Diese(n) Input-Select(s) in Lovelace darstellen, so dass er gewählt werden kann und
  3. diese(n) Input-Select(s) in der Automation als Trigger nutzen

Aber der Reihe nach nun ein wenig Code:

Folgender Code erstellt einen Input-Select mit dem Namen „shutters_down_office“, also für die Rollläden in meinem Büro:

input_select:
  shutters_down_office:
    name: Rollläden runter Büro
    options:
      - '21:30'
      - '21:45'
      - '22:00'
      - '22:15'
      - '22:30'

Ich schreibe 5 zur Auswahl stehende Werte vor, da es sich erfahrungsgemäß immer in diesem Rahmen abspielen wird.

Als nächste der wesentliche Code der Automation, ich hab bewusst den alten Code auskommentiert dringelassen, um zu zeigen, wie es vor der Berücksichtigung des Input-Selects ausgesehen hat:

- alias: 'Büro: Shutters down'
  #trigger:
  #- at: '21:54'
  #  platform: time
  trigger:
  - platform: template
    value_template: "{{ now().strftime('%H:%M') == states('input_select.shutters_down_office') }}"
  condition: []
  action:
  - data:
      entity_id: cover.fibaro_system_fgrm222_roller_shutter_controller_2_level, cover.fibaro_system_fgrm222_roller_shutter_controller_2_level_9
    service: cover.close_cover

Um einen Input-Select als Trigger zu nutzen, muss man mit einem Template als Platform arbeiten und in diesem den eigentlichen Vergleich (also entspricht die aktuelle Uhrzeit dem relevanten Input-Select-Wert?) durchführen. Damit du dies nutzen kannst, musst du einzig den Namen deines eigenen Input-Select einbauen – fertig!

Und der Vollständigkeit halber nun natürlich noch der Code für die Darstellung in Lovelace:

- type: entities
        show_header_toggle: false
        title: Automations
        entities:
          - entity: input_select.shutters_down_office
          - entity: automation.buro_shutters_down_2
            secondary_info: last-triggered

Ich habe also einen Block „Automations“ in meiner Büro-Lovelace-Card und dort zeige ich über dem Schalter für die Automation „shutters_down“ den Input-Select an.

Bei den Rollläden habe ich diese Anpassung meiner bestehenden Automations eigentlich komplett umgesetzt. Mit anderen Worten kann ich nun über Lovelace per einfacher Auswahl festlegen, wann Rollläden automatisch runterfahren sollen.

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

Foto des Autors
Autor
Olli
Ca. Ende 30, seit Windows 3.1 Fan von Computern, Gadgets, Handys und allem, was sich irgendwie programmieren lässt. Ich mag es gerne individuell und möglichst einfach, probiere aber auch gerne neue Dinge sofort aus. :) Konnte ich dir helfen? Dann würde ich mich über ein Bier freuen ;) Bier-Spende

4 Gedanken zu „Home Assistant Anleitungen how to… Zeitpunkt für Automatisierung per Input-Select in Lovelace auswählen“

  1. Ich habe das bei mir so gelöst, dass ich eine bestimmten Automatisierung ans „sunset“-Event der „sun“-Plattform gekoppelt habe. So wird diese jetzt im Spätsommer zunehmend früher ausgelöst, und auch die Zeitumstellung sollte keine Probleme machen.

    Antworten
    • Ja, das ist natürlich auch eine Möglichkeit, um nicht „immer wieder“ die Uhrzeit anpassen zu müssen. Für manche Rollläden nutze ich dies auch. Aber einige Rollläden will ich einfach bewusst steuern können. 😉

      Antworten
  2. Sunset nutze ich auch, nicht für die Rolläden (die sind noch manuell), aber für die Beleuchtung. Zusätzlich nutze ich den Grad der Bewölkung, bei 100% z.B. geht das Nebenlicht eine Stunde früher an:

    # Wolkenfaktor Accuweather – Bewölkung in 60 Minutenzetraum konvertieren
    zeit_wolkenvorlauf_accu:
    value_template: >
    {{((0-(states(’sensor.home_cloud_cover‘) | float(0))*0.6) | round(0))}}
    unit_of_measurement: ‚Min‘
    # Einschaltzeit WZ aus Sonnenuntergang, Bewölkung und Wohnzimmer verzögerung ermitteln
    zeit_wz_lichtan:
    friendly_name: ‚Nebenlicht an‘
    value_template: >
    {{ (as_timestamp(states.sun.sun.attributes.next_setting) | float(0) + (0-(states(’sensor.home_cloud_cover‘) | float(0))*0.6*60) | timestamp_custom(‚ %H:%M‘) | replace(“ 0″, „“) }}

    Antworten

Schreibe einen Kommentar