Od razu powiem że jestem całkowicie zielony jak chodzi o NODE-RED. Tyle wiem że jest to język programowania w graficznej formie.
Próbując rozwiązać problem który mnie męczy od pół roku szukałem różnych rozwiązań z których nic nie wyszło.
Problem polega na tym:
Mam uniwersalny pilot Logitech harmony 700. Ogółnie też czekam na dostawę nowego pilota który jest w fazie RC unfolded circle remote 3.
Mam też zestaw kina domowego który obsługuje pilotem uniwersalnym. W pilocie mam kilka rodzajów poleceń makro w którym między innymi pilot zmienia źródło wideo w telewizorze. I tu się zrodził u mnie problem którego nie jestem w stanie rozwiązać.
Posiadam telewizor Philips seria oled818
Pisałem z prośbą do Firmy logitech o pomoc ale powiedzieli mi że do mojego telewizora niema dostępnych tzw Secret code do wywołania HDMI 2 oraz HDMI 3. Doradzili mi żebym zgłosił się do firmy philips z prośbą o udostępnienie zestawu kodów w formacie Pronto HEX
Zgłosiłem się więc do Firmy Philips i dostałem od nich całe zestawienie kodów do TV Philips i między innymi Secret Code do różnych portów ale niestety w formacie RC5 i RC6. Powiedzieli mi że nie są w stanie udostępnić w formacie Pronto HEX. Szukałem różnych rozwiązań typu konwerterowanie RC5 do Pronto HEX ale niestety nie działało to.
Jedna próba już była bliska ideału typu zrobienie makra które wywołuje w telewizorze wyboru źródła wideo i ustawiłem tak żeby przeleciał na samą górę listy a następnie 6 strzałek w dół i enter. Przez chwilę to działało dopóki sama z siebie kolejność na liście źródeł się nie zmieniła.
Już praktycznie straciłem nadzieję ale ktoś mi podpowiedział że istnieje sposób na przełączanie za pomocą protokołu IP. Zacząłem szukać jakiś informacji i trafiłem na artykuł o Node-RED.
Czytałem ten artykuł
Wynika z niego że po wgraniu odpowiednich bibliotek i poleceń do tv wydaje się że będę w stanie wywołać przycisk HDMI 2 za pomocą polecenia głosowego zapisanego w formie tekstu. Czyli naciskając przycisk na pilocie wywołam odtworzenie polecenia głosowego “Przełącza na HDMI 2” i telewizor przełączy się na HDMI2.
Czy ja to dobrze rozumiem i czy ktoś może mnie pokierować jak się za to zabrać bo pierwszy raz w życiu mam doświadczenie z Node-RED. Jeszcze podpowiem że mam komputer z systemem windows 10.
Co trzeba i gdzie zainstalować oraz czy potrzebuje jakiś zewnętrzny home assistant?
Ja tam nie widzę nic o wgrywaniu Node Red do telewizora, ale może przeoczyłem - jest tam dość dużo do czytania…
Więc jeśli chcesz się powoływać na coś konkretnego to to zacytuj.
Nie mam bladego pojęcia, ale by coś takiego mogło się stać sygnał pilota musi zostać gdzieś odebrany, następnie gdzieś przekazany i zinterpretowany.
Ktoś gdzieś niedawno opisywał pomysł by stworzyć nieistniejące kanały w jakimś STB i przełączenie na taki fikcyjny kanał interpretować (w HA bądź NR) i na tej podstawie sterować choćby roletami, więc generalnie niby wszystko się da jeśli ma się jakiś pomysł i istnieją funkcje, które nadadzą się do jego realizacji. ALE nie wiem czy istnieją takie funkcje (ani czy we wskazanym TV da się przykładowo stworzyć coś na kształt takich fałszywych kanałów, choć oczywiście zmiany kanału nie da się wykorzystać do sterowania wejściami HDMI, no ale masz jakiś pomysł tylko go nie do końca rozumiem) - masz jakiś pomysł to opisz go opierając się czymkolwiek konkretnym z tej dokumentacji to wtedy jakiś wyjadacz NR może oceni czy to wykonalne.
OFF TOPIC
Tak z innej beczki
Zupełnie nie rozumiem czemu tak kombinujesz całkowicie pod górkę, skoro współczesne TV dają się połączyć ze współczesnym KD przez HDMI z eARC i wtedy w zasadzie każde źródło możesz podłączyć albo do KD albo do TV, więc skoro problematyczne jest wybieranie źródeł HDMI w TV to podłącz te źródła do KD i wybieraj je w amplitunerze…
Większość w miarę współczesnego sprzętu ma też nieźle zaimplementowany HDMI-CEC (pod różnymi nazwami, w Philipsie to się chyba nazywa EasyLink, u innych producentów inaczej, ale mimo rożnych nazw CEC jest kompatybilny między rożnymi producentami) tylko należy go włączyć w każdym z urządzeń i skonfigurować na miarę jego możliwości.
No i jeszcze jedna kwestia - ani nie podałeś konkretnego modelu TV (+ jakieś linki do dokumentacji), ani nawet słowem nie wspomniałeś jaki to amplituner
(u siebie nie mam cudów techniki z najwyższej półki, a mimo to obsługa z wykorzystaniem w/w standardów nie jest jakimś problemem).
Poszukaj w bibliotece Logitech wyższego lub niższego modelu z tej serii tv lub tv z poprzednich lat, w którymś będą kody dla HDMI 2 i 3. Producenci nie zmieniają kodów do pilota z każdą serią telewizorów, więc jest duża szansa że są w bazie Logitech ale nie przypisane do tego konkretnego modelu.
@szopen
Co do sprzętu jaki posiadam to pisałem Telewizor Oled818 ale dokładnie jest to Philips 77oled818.
Amplituner Denon avc-x3800h
Do amplitunera mam podłączone jeszcze kilka innych sprzętów typu dekoder SAT, Palyer, Radio itp.
Co do eARC od niego zacząłem oczywiście swoją przygodę i do portu eARC (HDMI 2) mam połączony telewizor z amplitunerem. Niestety nawet w połączeniu eARC z HDMI-CEC powodował problemy. Przykładowo czasem trwało z 20 sekund, albo dłużej zanim zmienił mi czy to w amplitunerze wejśćie (player, sat itp), czy to z android TV (wbudowany w telewizor) na wejść eARC (HDMI 2).
Trochę nad tym przesiedziałem i miałem pilota Logitech Harmony 700 którego zaprogramowałem i wszystko mi obsłużył poza tym że niema kodów do tych HDMI 2 i 3.
Ogólnie mi zależy tylko na HDMI 2 (eARC) bo do niego mam podłączony amplituner.
@Aleksej
Uwierz mi że szukałem w bibliotekach kodów od różnych rodzajów TV Philips i po 2 dniach dałem sobie spokój. Chyba z 50 różnych konfiguracji wgrałem do logitecha i w najlepszym przypadku miałem tylko HDMI 1 i HDMI 4. Mój model już nie był chyba w ogóle wspierany i starszy 808 jeszcze do niego były kody.
A masz w ogóle Home Assistant? Bo w nim masz integracje zarówno do tv Philips jak i Denon, tylko do Philipsa są tak naprawdę dwie integracje, jedno to Android TV ale ta Ciebie nie interesuje, druga to Philips TV, musisz podać adres IP i wersję API nr 6. Potem wpisać kod pin jaki wyświetli się na TV. Według dokumentacji będziesz miał możliwość wyboru wejścia w tym HDMI 3.
No i dodajesz też integrację Denon, wtedy robisz prostą automatyzację, np. jak włączy się amplituner Denon to ustaw wejście w TV na HDMI 3.
U siebie musiałem kombinować z tv OLED od LG, niestety telewizory z webOS nie udostępniają informacji czy dana aplikacja (np. Netflix) gra czy ma pauzę, a chciałem aby w trakcie pauzy zapalało się światło w salonie, po naciśnieciu play aby gasło. Zrobiłem to tak, że mój pilot Harmony Touch wysyła to tv polecenie pauza i wyciszenie razem, a info o wyciszeniu jest dostępne w Home Assistant i mogę to użyć do zapalenia i potem zgaszenia światła.
Dziękuję wam za wyrozumiałość i podpowiedzi. Dopiero się uczę co i jak. Zakupiłem wczoraj już HP t630 i będę chciał na nim postawić Home Assistant a następnie dograć Node-RED. Nie wiedziałem że tak powiem z czym to się je.
No właśnie @Aleksej z tą prostą automatyzacją nie jest tak do końca bo często używam GoogleTV wbudowany w telewizor więc nie mogę ustawić żeby zawsze włączał mi na HDMI 2 (eARC).
Prędzej by mi pasowało coś w tym stylu co częściowo załatwi mi pilot Harmony
Włączenie Denon + Przełączenie w Denon na wejście Player wysyła sygnał do Home Assistant żeby przełączył na TV na HDMI 2
Włączenie Denon + Przełączenie w Denon na wejście SAT wysyła sygnał do Home Assistant żeby przełączył na TV na HDMI 2
Włączenie Denon + Przełączenie w Denon na wejście TV wysyła sygnał do Home Assistant żeby przełączył na TV na SAMRT.
Chciałbym to jeszcze jakoś połączyć z tym żeby mi opuszczał rolety. Teoretycznie szukałem i powinno się dać bo mam silniki radiowe Tahoma i Tahoma Switch. Ale to później. Najpierw TV
@kowalmisiek - to jest jak najbardziej do zrobienia i na Twoim miejscu bym to robił automatyzacjami wbudowanymi w Home Assistant, NodeRED przydaje się do skomplikowanych automatyzacji, takie proste robi się szybko w HA.
Tak z tej, mam tylko jako stan on/off, ale to jest znany problem starszych wersji WebOS. Tak czy inaczej dzięki mojemu rozwiązaniu działa jak chcę więc się tym nie przejmuję.
@Aleksej zrobiłem tak jak napisałeś. Mam już postawiony serwerek z Home Assistant. Dodałem sobie tak jak napisałeś przez IP i API nr 6. Niestety już jak mam do wyboru Źródła z mojego telewizora po wybraniu któregokolwiek HDMI 1-4 dostaje na telewizorze napis “other” i na tym się zabawa kończy. Nie wybiera mi HDMI. Są jakieś sposoby żeby Home Assistant zmusił TV do wybrania HDMI?
Ogólnie mało pozycji jest w Źródłach. Mam tylko Watch TV i HDMI od 1 do 4 więc nie wiem czy wszystko się dobrze sparowało.
Znalazłem jakieś informacje na stronie HomeAssistant
Jedna z osób napisała że znalazła sposób do mojego modelu TV
Intencje robocze do przełączania wejść HDMI na telewizory Philips 2023 (przetestowane na OLED818):
HDMI1:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tis%2F.HdmiInputService%2FHW2 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
HDMI2:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tis%2F.HdmiInputService%2FHW3 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
HDMI3:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tis%2F.HdmiInputService%2FHW4 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
HDMI4:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tis%2F.HdmiInputService%2FHW5 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
Tylko nie bardzo wiem gdzie te komendy mam wkleić.
Aktywowałem ABD w TV i dodałem to do Home Assistant. To było najprostsze. Nie mogę się jednak połapać jak zrobić tą automatykę.
Kiedy już zaczynam tworzyć automatykę to na samym początku mam problem.
W automatyce w opcji:
Kiedy
Mam wybór urządzenia np Denon ale tam niema opcji typu kiedy Denon włączony i przełączony na konkretne źródło.
Macie jakieś pomysły?
PS jeśli to da się zrobić w Home Assistant to ten temat może lepiej przenieść do działu Home Assistant?
Już sam doszedłem do tego że trzeba było wybrać urządzenie Działa przełączanie.
W obrazku od Ciebie wszystko rozumiem jak chodzi o wybranie Encji i w niej zdefiniowanie urządzenia i źródła.
Domyślam się że Opcja “Jeżeli” w tej automatyce jest nie potrzebna?
W opcji “Wykonaj” której funkcji trzeba użyć żeby wykonać wyżej wymieniony skrypt w ADB?
Już chyba sobie poradziłem. Po prostu w wykonaj w wyszukiwarce wpisałem ADB i mi znalazło odpowiednią opcję
Już myślałem że działa wszystko ale jednak jest problem. O ile jak Denon i Philips są włączone to wszystko się przełącza bez problemu to problem zaczyna się jeśli wyłączę zestaw. Przy włączeniu zostaje na tym źródle na którym był wyłączony. Domyślam się że Home Assistant sprawdza stan Denon i wysyła komunikat zanim się jeszcze dobrze telewizor włączy.
Da się jakoś wymusić żeby powtarzał polecenie kilka razy?
Da się, ale moim zdaniem nie tędy droga - raczej musisz przemyśleć i opracować odpowiednie warunki (by automatyzacja robiła co innego - np. gdy sprzęt jest wyłączony, to najpierw niech go włączy), pewnie musisz zastosować opóźnienia (to nie będziesz musiał wysyłać bezcelowych poleceń).
Stan,y o których mówisz, mogą być zapamiętane przez HA (raczej nie da się sprawdzić wielu rzeczy na wyłączonym sprzęcie).