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 ? .
W Node-RED może być?
@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
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
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ś?