Odtwarzanie losowe mp3 z lokalnego folderu

Witam . Czy ma może ktoś zrobione odtwarzanie losowe na google home mini choćby z lokalnego folderu media mp3 np. za pośrednictwem skryptu lub automatyzacji ? .

https://community.home-assistant.io/t/random-mp3-file/325378/11

1 polubienie

W Node-RED może być?

1 polubienie

@ajakubek Odnośnie Node-reda już nie używam :).

@artpc Napisałem tutaj temat ponieważ za chiny ludowe nie mogłem z tego wątku co podałeś tego ogarnąć,bo już go przerabiałem wcześniej. Jednak jak już podałeś przestudiowałem go kolejny raz i się udało. Ewidentnie miałem problem z ścieżkami do plików. Używając niżej wymienioną składnie się udało :smiley:
media-source://media_source{{ state_attr('sensor.media', 'file_list')|random |replace('media/','local/') }}
Dziękuje na nakierowanie.

To może podziel się kodem działającej automatyzacji.

Oczywiście . Przedstawiam gotowy kod co prawda nie całej automatyzacji bo jest dość miejscochłonna ale najważniejsze rzeczy :

W configuration.yaml dodajemy czujnik folderu. W moim przypadku jest to folder “Media” na NAS-ie OMV podpiętego do HA jako pamięć masowa.

  - platform: folder
    folder: "/media/Media"

Aby przesiać folder i uzyskać tylko listę plików mp3 można dodać opcję filter :

  - platform: folder
    folder: "/media/Media"
    filter: '*.mp3'

Dzięku temu uzyskamy liste plików w danym folderze.

Następnie automatyzacja jakakolwiek która wywołuje skrypt uruchomienia radia który ma się następująco.

action: media_player.play_media
metadata: {}
data:
  media_content_type: music
  media_content_id: >-
    media-source://media_source{{ state_attr('sensor.media', 'file_list')|random
    |replace('media/','local/') }}
target:
  device_id: 8a226b98b674f0ed7ccb0a006569cfaf

Należy zauważyć że potrzebna mi była zmiana ścieżki do pliku która jest w w/w szablonie.
I dodatkowo automatyzacja która po przejściu głośnika w stan oczekiwania uruchamia ponownie skrypt losujący nagranie z folderu z mp3 ponieważ w innym przypadku nastąpi zatrzymanie po odtworzeniu jednego utworu.

alias: Nowa automatyzacja
description: ""
triggers:
  - trigger: state
    entity_id:
      - media_player.googlehome0226
    to: idle
    id: idle
conditions: []
actions:
  - action: script.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: script.nowy_skrypt
mode: single
3 polubienia

Witam!
Chciałbym aby po naduszeniu przycisku w media_player odtworzył wszystkie pliki mp3 w danym folderze po kolei, ale zatrzymałem się w tym miejscu


i nie wiem jak to dalej ruszyć, pomoże ktoś?