Procesy z życia wzięte - Status poranny

Pamiętaj, że moższ użyć helpa:

ok tylko jak zrobić tą automatyzacje jakich nodów użyć

U mnie zadziałała taka forma

{
    "entity_id": "media_player.mateusz",
    "message": "{{payload.message}}"
}

Działający w 100% Status poranny (2).json (35,9 KB). Pewnie można byłoby prościej ale moje techniczne umiejętności są zbyt słabe.

Wchodzisz w Ustawienia → Automatyzacje oraz sceny → Utwórz automatyzację → Utwórz nową automatyzację → trzy kropki w prawym górnym rogu → Edycja w YAML → wklejasz kod

alias: TTS wznowienie
description: 'Wznawianie serwisu Spotify przy użyciu spotcast.'
trigger:
  # Nabu Casa
  - platform: event
    event_type: call_service
    event_data:
      service: cloud_say
  # Google Cloud
  - platform: event
    event_type: call_service
    event_data:
      service: google_cloud_say
  # Google Translate
  - platform: event
    event_type: call_service
    event_data:
      service: google_translate_say
action:
  # Jeśli głośnik gra, to poczekaj aż TTS mu przerwie
  - choose:
      - conditions:
          - condition: template
            value_template: '{{ media_player_resume }}'
        sequence:
          - wait_template: '{{ not is_state(media_player_id, "playing") }}'
    default: []
  # Ustaw głośność
  - service: media_player.volume_set
    target:
      entity_id: '{{ media_player_id }}'
    data:
      volume_level: '{{ tts_volume_level }}'
  # Poczekaj aż zacznie gadać
  - delay: 2
  # Poczekaj aż skończy gadać
  - wait_template: '{{ not is_state(media_player_id, "playing") }}'
  # Przywróć poprzednią głośność (jeśli poprawnie odczytana)
  - choose:
      - conditions:
          - condition: template
            value_template: '{{ media_player_volume_level != None }}'
        sequence:
          - service: media_player.volume_set
            target:
              entity_id: '{{ media_player_id }}'
            data:
              volume_level: '{{ media_player_volume_level }}'
    default: []
  # Wznowienie poprzedniego utworu jeśli wcześniej głośnik grał, w przeciwnym razie wyłącz głośnik
  - choose:
      - conditions:
          - condition: template
            value_template: '{{ media_player_resume }}'
        sequence:
          - choose:
              - conditions:
                  - condition: template
                    value_template: '{{ media_player_app_name == "Spotify" }}'
                sequence:
                  - service: spotcast.start
                    data:
                      entity_id: '{{ media_player_id }}'
                      force_playback: true
            default:
              - service: media_player.play_media
                target:
                  entity_id: '{{ media_player_id }}'
                data:
                  media_content_type: '{{ media_player_content_type }}'
                  media_content_id: '{{ media_player_content_id }}'
    default:
      - service: media_player.turn_off
        target:
          entity_id: '{{ media_player_id }}'
mode: single
variables:
  media_player_id: '{{ trigger.event.data.service_data.entity_id }}'
  media_player_resume: '{{ is_state(media_player_id, "playing") }}'
  media_player_content_id: '{{ state_attr(media_player_id, "media_content_id") }}'
  media_player_volume_level: '{{ state_attr(media_player_id, "volume_level") }}'
  media_player_content_type: >
    {% set c_type = state_attr(media_player_id, "media_content_type") %}
    {% if c_type == None %} music {% else %} {{ c_type }} {% endif %}
  media_player_app_name: '{{ state_attr(media_player_id, "app_name") }}'
  # Między 6:00 a 22:00 głośność 0.4, wieczorem 0.2
  tts_volume_level: >
    {% set h = now().hour %}
    {% if h >= 6 and h < 22 %} 0.4 {% else %} 0.2 {% endif %}


aby uzależnić głośność od konkretnego głośnika należy zmodyfikować zmienną
tts_volume_level np.:

  tts_volume_level: |
    {% set h = now().hour %}
    {% if h >= 6 and h < 22 %} 
      {% if media_player_id == "media_player.NAZWA_GLOSNIKA_1" %}
        0.8
      {% elif media_player_id == "media_player.NAZWA_GLOSNIKA_2" %}
        0.7
      {% else %}
        0.5 
      {% endif %}
    {% else %} 0.3 {% endif %}

reset HA i ma działać, przynajmniej u mnie działa.