Home Assistant - grupowanie skryptów w liście rozwijanej

Home Assistant - grupowanie skryptów w liście rozwijanej

Jeżeli macie wiele skryptów dotyczących jednego urządzenia to jest to idealne rozwiązanie! W tym przykładzie posłużymy się sprzątaniem strefowym ale równie dobrze, może to dotyczyć ustawień amplitunera pod muzykę czy też film.

Oczywiście wcześniej musimy mieć przygotowane skrypty, które chcemy grupować. Ja ustawiłem to tak: Xiaomi Roborock V1/S50/S55/S5 - sprzątanie wybranego pokoju głosowo 

configuration.yaml

Na początku stworzymy sobie listę rozwijaną z nazwami pozycji:

input_select:
  vacuum_room_select:
    name: Choose a room to clean
    options:
      - Kitchen
      - Living room
      - Bathroom
      - Office
      - Bedroom
      - Hallway
      - Water
      - Clean

scripts.yaml

Następnie stworzymy sobie wywoływanie skryptu na podstawie tego input_select:

vacuum_room:
    alias: "Start cleaning"
    sequence:
      - service: script.turn_on
        data_template:
          entity_id: >
            {% if is_state("input_select.vacuum_room_select", "Kitchen") %}
              script.vacuum_kitchen
            {% elif is_state("input_select.vacuum_room_select", "Living Room") %}
              script.vacuum_living_room
            {% elif is_state("input_select.vacuum_room_select", "Bathroom") %}
              script.vacuum_bathroom
            {% elif is_state("input_select.vacuum_room_select", "Office") %}
              script.vacuum_office
            {% elif is_state("input_select.vacuum_room_select", "Bedroom") %}
              script.vacuum_bedroom
            {% elif is_state("input_select.vacuum_room_select", "Hallway") %}
              script.vacuum_hallway
            {% elif is_state("input_select.vacuum_room_select", "Water") %}
              script.vacuum_mop
            {% elif is_state("input_select.vacuum_room_select", "Clean") %}
              script.vacuum_clean
            {% endif %}

groups.yaml

Grupujemy wszystko w jeden skrypt:

vacuum:
    name: Vacuum a room
    entities:
      - input_select.vacuum_room_select
      - script.vacuum_room

Lovelace 

Następnie dodajemy do karty: group.vacuum i gotowe! 


Chcesz wiedzieć więcej? Dołącz do naszej grupy na FB - będzie nam też miło jak polubisz nasz Fanpage!