Hejka mam pytanko co prawda bawię się już kilka dni. Ale nie wiem jak to zrobić. Mam jeden dashboard wspólny i na nim przycisk "włącz tv"i teraz piszę funkcję albo automatyzację i chcę uzyć takie warunku że jak został wciśnięty na telefon1 to wykonaj itd albo na telefon2 to wykonaj itd. Poprostu jak rozróżnić która osoba daną encję wykonała. Jest jakieś ID wyzwalacza ale nic tam się nie pojawia.
@pawelk Każdy użytkownik w HA, włącznie z supervisor ma swój identyfikator
Jak widać dość długi, więc niepowtarzalny.
Ja wykorzystuję to w różnych celach np gdy roletę otworzy automatyzacja, to może ją też zasłonić, ale jak zrobię to ja z telefonu, to dokąd jej nie zasłonię sam, automatyzacja nie ma prawa jej ruszyć, reset następuje w nocy i znów zarządza automatyzacja.
Wykorzystuję do tego NodeRed więc nie wiem czy pomogę, ale tam jest to banalne bo wystarczy wyciągnąć dane o id usera z
data.new_state.context.user_id
wstawić to do node switch i rozdzielić przepływ wedle uznania.
Można też użyć funkcji i tam filtrować id userów.
Osobiście zrobiłem subflow z tablicą userów i używam go w wielu automatyzacjach NR
Node-red dodałem ale jest dla mnie zbyt skomplikowany na chwilę obecną. Potrzebuje naprawdę wielu godzin aby cokolwiek tam opanować. Myślałem że standardowo da się to zrobić wykorzystując właśnie identyfikatory użytkowników. Niemogę także znaleść jakiegoś sensownego poradnika 🙂
Wiele godzin potrzebujesz żeby ułożyć taki układ ?
Tu prawie nic nie ma, testowo dodany pomocnik w HA typu przycisk , ten przycisk dodany do dashboardu dla telefonu, w switch jest sprawdzany Id użytkownika i albo wędruje w stronę "To Ja" albo "ktoś inny"
Jak naciśniesz przycisk z telefonu to switch wyśle proces górą , a jak wyzwolisz nodem inject to switch wyśle dołem
Działa !! dzięki 🙂 Na początku trochę mnie przeraziło ale teraz jak żona włącza telewizor to wyłącza jej reklamy androidowe i włącza jej kanał z wiadomościami. A jak ja włączam to odpala mi się tvn turbo 😉 to mi się podoba. Tylko jeszcze zauważyłem że skrypty które wykonuje na końcu to zarówno przy włączeniu ONjak i przy wyłączeniu OFF przycisku. w sumie nie przeszkadza narazie mi to bo i tak się nie wykona zmiana kanału jak tv jest już wyłączony ale na przyszłość może mi kolidować gdzieś tam
Przycisk nie ma akcji ON/OFF więc nie wiem o czym piszesz. Opisz jak to masz zrobione to będzie łatwiej, dla przełącznika, który ma ON/OFF można ustawić wyzwalacz tylko na ON.
no faktycznie w tym node reaguje na zmianę stanu. a chodzi żeby wykonało tylko jak telewizor jest włączony. Myślałem że w polu na czerwono można wpisać taki warunek
Myślałem że w polu na czerwono można wpisać taki warunek
Bo można , wtedy będzie to wyglądało podobnie do:
Jak widać nod events: state ma teraz dwa wyjścia górne to ON i tylko przy ON puści proces dalej
Faktycznie fajnie to działa i nawet się prosto robi jak się wie co i jak. Fajnie jak działa. To teraz zastanawiam się jak to uprościć. Bo na chwilę obecną uruchamia mi scrypt taki:
sequence:
- delay:
hours: 0
minutes: 1
seconds: 16
- action: remote.send_command
metadata: {}
data:
num_repeats: 1
delay_secs: 0.4
hold_secs: 0
command: BACK
target:
device_id: 055c6c07e1c4290a8470ad146e7c6c
- delay:
hours: 0
minutes: 0
seconds: 4
- action: media_player.play_media
data:
media_content_type: channel
media_content_id: "048"
target:
device_id: 055c6c07e1c4290a8470ad146e7c6c
alias: Włączenie kanału na TV na 48
description: ""
Przecież mógłbym to dodać odrazu do ostatniego bloku w tym diagramie ? tylko jak to sa dwie komendy no i jeszcze czas, ale to widzę taki kafelek "Delay"