Zrobiłem sobie prostą automatyzację która ma mnie informować o pojawieniu się wycieku wody przy zaworach. Na telefon otrzymuję powiadomienie przez “notify” - powiadomienia te otrzymuję zawsze niezależnie czy jetem w domu czy poza nim. Natomiast informację głosową ustawiłem na google mini w sytuacji gdy ktoś z rodziny jest w domu. I tu moje pytanie czy jest możliwość aby “wypowiadany” komunikat był na maksymalnej głośności a po jego odtworzeniu wracał do “standardowych” ustawień głośności (dodam, że na co dzień powyższego głośnika używam do odtwarzania radia).
Tak automatyzacja wygląda.
Można to zrobić skryptem, który potem wywołujesz w NR.
Ja mam tak:
gong:
alias: Gong
sequence:
- service: media_player.volume_set
data:
entity_id: media_player.nest
volume_level: 0.8
- service: media_player.play_media
data:
entity_id: media_player.nest
media_content_id: ‘https://xxxxxx.ui.nabu.casa/local/audio/Store_Door_Chime.mp3’
media_content_type: ‘audio/mp4’
- delay: ‘00:00:30’
- service: media_player.volume_set
data:
entity_id: media_player.nest
volume_level: 0.5
Jeszcze mi się przypomniało o nodzie Cast:
Tam masz w przykładach użytą funkcję zmiany głośności przy wywołaniu noda.
@Sierek dziękuję, potestuje Twoje rozwiązania.
Można też ustawić głośność całkowicie w NR w procesie. Wywołując call service volume_set przed komunikatem i później po komunikacie z odpowiednim poziomem głośności.
Dodatkowo możesz przed zmianą głośności zapisać sobie aktualną głośność we właściwości na boku i później po komunikacie możesz przywrócić głośność jaka była przed jej zmianą. Dzięki temu nie będzie sytuacji że ktoś sobie ustawił głośność a Ty mu ją zresetowałeś.
O takie rozwiązanie mi chodziło. @artur aby zwiększyć głośność jak powinien wyglądać wpis w sekcji “Data”? Parametr to “volume_level:”
musisz dodać takie parametry:
entity_id: to możesz też podać w okienku
volume_level: 0.6 - poziom głośności musi to być format zmiennoprzecinkowy
Czyli wpis w Data powinien wyglądać tak?
{
“volume_level”: “0.6”
}
Piszę z głowy więc mam nadzieję, że się nie pomyliłem.
msg.payload =
Tylko poniższe to do nodu function
{
“data”:
{
“volume_level”: “0.6”
}
}
return msg;
W samym polu data to tak jak napisałeś powinno byś ok
Dodałem nod function
tak go zapisałem
ale pojawia się błąd
extra keys not allowed @ data[‘message’]
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py”, line 130, in handle_call_service
connection.context(msg),
File “/usr/src/homeassistant/homeassistant/core.py”, line 1222, in async_call
processed_data = handler.schema(service_data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 208, in call
return self._exec((Schema(val) for val in self.validators), v)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 287, in _exec
raise e if self.msg is None else AllInvalid(self.msg, path=path)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 283, in _exec
v = func(v)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 205, in _run
return self._exec(self._compiled, value, path)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 287, in _exec
raise e if self.msg is None else AllInvalid(self.msg, path=path)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 285, in _exec
v = func(path, v)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 817, in validate_callable
return schema(data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 594, in validate_dict
return base_validate(path, iteritems(data), out)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 432, in validate_mapping
raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: extra keys not allowed @ data[‘message’]
Dodam, że nod z komunikatem tak mam skonfigurowany:
wiadomość która jest wypowiadana przez google mini:
Jutro załączę Tobie gotowy proces bo niestety dzisiaj nie dam rady.
@artur nie ma sprawy, nie pali się.
W załączeniu 2 procesy: 1. ustala głośny komunikat bezpośrednio w nodzie call service 2. Ustala cichy komunikat z wykorzystaniem funkcji. Oba przetestowane działają.
volume_level.json (2,9 KB)
@Artur dziękuję, wrócę do domu będę działał
@rafkan super. Daj znać czy o to chodziło.
Troszkę zmodyfikowałem Twój przykład:
Po spełnieniu warunku głośność jest ustawiana na 100 %, następuje odtworzenie komunikatu, potem musiałem dać trigger-a ponieważ bez niego w trakcie odtwarzania komunikatu przyciszał mi głośnik i na koniec powrót do głośności przed jej zwiększeniem.
Jeśli ktoś będzie chciał skorzystać z taniego rozwiązania załączam proces.
@Artur jeszce raz dziękuję za pomoc.flows.json (4,0 KB)
Super temat, też mi brakowało tej kwestii. Teraz zastanawiam się czy bardzo problemowe byłoby przed zmianą głośności i odtworzeniem komunikatu, zapisanie ścieżki, czy źródła odtwarzanego dźwięku. Chodzi o to, że jeśli słucham radia i przyjdzie odtworzyć dźwięk (np. komunikat czy dźwięk dzwonka), to jak potem wrócić do odtwarzania radia?
Powinno powrócić do odtwarzania radia ale jak wrócę z pracy sprawdzę.
Niestety nie wraca do odtwarzania. Ale potestuję jeszcze na różne sposoby, jak wrócę z pracy.