Node-red w telewizorze philips

@szopen
To co Twoim zdaniem powinienem wpisać w nazwach Encji? Przykładowo komputer wygenerował mi nazwę Amplitunera “Denon AVC-X3800H” i na co powinienem ją zmienić?

Gdzie mogę znaleźć pełny log tego co HA robi z DENON? Jestem pewien że to właśnie HA wykonuje zmianę na DENON.

Zrobiłem prostą próbę.
Odłączyłem HA od sieci i włączyłem zestaw pilotem Logitech. DENON zachowuje się poprawnie i przełącza się na wejście które wywołuje pilot.
Kiedy HA jest podłączony DENON zachowuje się poprawnie i przełącza się na wejście które wywołuje pilot ale po sekundzie albo 2 przełącza się na wejście które było przed wyłączeniem DENONa.

2025-03-02 11:13:18.006 DEBUG (MainThread) [denonavr.api] 192.168.0.59: Sending keep alive
2025-03-02 11:13:18.113 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PWON
2025-03-02 11:13:20.310 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 101] Network unreachable, transport: <_SelectorDatagramTransport fd=56 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=56, family=2, type=2, proto=0, laddr=('0.0.0.0', 39230)>
2025-03-02 11:13:31.508 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PWSTANDBY
2025-03-02 11:13:31.558 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: ZMOFF
2025-03-02 11:13:33.323 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: BTTX ON
2025-03-02 11:13:33.343 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: BTTX SP
2025-03-02 11:13:33.373 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPTXM ACT
2025-03-02 11:13:33.400 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPTXM DIS
2025-03-02 11:13:33.435 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPTXM END
2025-03-02 11:13:40.763 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PWON
2025-03-02 11:13:41.167 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: ZMON
2025-03-02 11:13:43.408 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SSSMG MOV
2025-03-02 11:13:43.430 DEBUG (MainThread) [denonavr.api] Content for /goform/AppCommand.xml endpoint: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<tx><cmd id="1">GetRenameSource</cmd><cmd id="1">GetDeletedSource</cmd></tx>'
2025-03-02 11:13:44.447 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SISAT/CBL
2025-03-02 11:13:44.460 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVFL 50
2025-03-02 11:13:44.466 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVFR 50
2025-03-02 11:13:44.474 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVC 50
2025-03-02 11:13:44.479 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVSL 50
2025-03-02 11:13:44.498 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVSR 50
2025-03-02 11:13:44.553 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVEND
2025-03-02 11:13:44.602 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPALSSET ON
2025-03-02 11:13:44.640 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPALSDSP OFF
2025-03-02 11:13:44.679 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPALSVAL 000
2025-03-02 11:13:44.718 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: MVMAX 98
2025-03-02 11:13:44.768 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: MSDOLBY AUDIO-DSUR
2025-03-02 11:13:44.799 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SDHDMI
2025-03-02 11:13:44.838 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSRSTR HI
2025-03-02 11:13:44.882 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: DCAUTO
2025-03-02 11:13:44.921 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: VSSCHAUTO
2025-03-02 11:13:44.959 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: VSVPMAUTO
2025-03-02 11:13:44.995 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSMULTEQ:AUDYSSEY
2025-03-02 11:13:45.019 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDYNEQ ON
2025-03-02 11:13:45.056 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDYNVOL MED
2025-03-02 11:13:45.094 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSREFLEV 0
2025-03-02 11:13:45.126 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDRC OFF
2025-03-02 11:13:45.156 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDELAY 000
2025-03-02 11:13:45.180 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSLFE 00
2025-03-02 11:13:45.203 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSBAS 50
2025-03-02 11:13:45.225 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSLFC OFF
2025-03-02 11:13:45.248 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSCNTAMT 04
2025-03-02 11:13:45.265 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSTRE 50
2025-03-02 11:13:45.272 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SVOFF
2025-03-02 11:13:45.279 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSGEQ OFF
2025-03-02 11:13:45.290 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSTONE CTRL OFF
2025-03-02 11:13:45.302 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSHEQ OFF
2025-03-02 11:13:45.311 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVTTR ON
2025-03-02 11:13:45.331 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVTTR 50
2025-03-02 11:13:46.990 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SSINFAISSIG 02
2025-03-02 11:13:47.011 DEBUG (MainThread) [denonavr.api] Content for /goform/AppCommand.xml endpoint: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<tx><cmd id="1">GetRenameSource</cmd><cmd id="1">GetDeletedSource</cmd></tx>'
2025-03-02 11:13:47.013 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SSINFAISFSV 48K
2025-03-02 11:13:48.627 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SSSMG MUS
2025-03-02 11:13:48.646 DEBUG (MainThread) [denonavr.api] Content for /goform/AppCommand.xml endpoint: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<tx><cmd id="1">GetRenameSource</cmd><cmd id="1">GetDeletedSource</cmd></tx>'
2025-03-02 11:13:49.666 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SIMPLAY
2025-03-02 11:13:49.677 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVFL 52
2025-03-02 11:13:49.683 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVFR 50
2025-03-02 11:13:49.693 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVEND
2025-03-02 11:13:49.702 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPALSSET ON
2025-03-02 11:13:49.712 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPALSDSP OFF
2025-03-02 11:13:49.715 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPALSVAL 000
2025-03-02 11:13:49.742 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: MVMAX 98
2025-03-02 11:13:49.753 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: MSSTEREO
2025-03-02 11:13:49.762 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SDAUTO
2025-03-02 11:13:49.771 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSRSTR OFF
2025-03-02 11:13:49.785 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: DCAUTO
2025-03-02 11:13:49.788 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: VSSCHOFF
2025-03-02 11:13:49.798 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: VSVPMAUTO
2025-03-02 11:13:49.810 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSMULTEQ:AUDYSSEY
2025-03-02 11:13:49.828 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDYNEQ ON
2025-03-02 11:13:49.840 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDYNVOL MED
2025-03-02 11:13:49.854 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSREFLEV 0
2025-03-02 11:13:49.864 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDRC OFF
2025-03-02 11:13:49.875 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSDELAY 000
2025-03-02 11:13:49.888 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSLFE 00
2025-03-02 11:13:49.897 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSBAS 50
2025-03-02 11:13:49.906 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSLFC OFF
2025-03-02 11:13:49.917 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSCNTAMT 04
2025-03-02 11:13:49.931 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSTRE 50
2025-03-02 11:13:49.940 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SVOFF
2025-03-02 11:13:49.946 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSGEQ OFF
2025-03-02 11:13:49.963 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSTONE CTRL OFF
2025-03-02 11:13:49.984 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PSHEQ OFF
2025-03-02 11:13:50.000 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVTTR ON
2025-03-02 11:13:50.016 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: CVTTR 50
2025-03-02 11:13:50.049 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: PWON
2025-03-02 11:13:50.191 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: SSINFAISFSV NON
2025-03-02 11:13:50.211 DEBUG (MainThread) [denonavr.api] Content for /goform/AppCommand.xml endpoint: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<tx><cmd id="1">GetRenameSource</cmd><cmd id="1">GetDeletedSource</cmd></tx>'
2025-03-02 11:13:50.311 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 101] Network unreachable, transport: <_SelectorDatagramTransport fd=56 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=56, family=2, type=2, proto=0, laddr=('0.0.0.0', 39230)>
2025-03-02 11:13:52.428 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: BTTX ON
2025-03-02 11:13:52.452 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: BTTX SP
2025-03-02 11:13:52.462 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPTXM ACT
2025-03-02 11:13:52.476 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPTXM DIS
2025-03-02 11:13:52.490 DEBUG (MainThread) [denonavr.api] Incoming Telnet message: OPTXM END
2025-03-02 11:14:05.594 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 101] Network unreachable, transport: <_SelectorDatagramTransport fd=37 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=37, family=2, type=2, proto=0, laddr=('0.0.0.0', 51367)>

Nie rozumiemy się

zamiast

można dać

    target:
      entity: tu jakas nazwa encji zrozumiala dla ludzi

to jest kwestia co wybierzesz w GUI

natomiast tu jest jeszcze inna kwestia - tą encję tak nazwałeś, że nie wiadomo co ona robi

      entity_id: switch.salon_screen_state

W którym miejscu w GUI znajdę to

device_id

Tylko w “Edycja w YAML”?
Czy da się jakoś globalnie zmienić to device_id?

Domyślam się że jak bym zmienił tylko wchodząc w konkretną encję to przy tworzeniu nowej dostane i tak tego typu nazwę ```
ddaf462a2113ce066b92cc4178ea453c


Co do tego
entity_id: switch.salon_screen_state

Ta opcja była robiona na próbę żeby przełączyć TV w widok Android TV ale tego nie będę wykorzystywał i już usunąłem.

Chociażby w tym YAMLu
ALE, bo widzę, że nadal nie rozumiesz
device_id jest niezmienne i jest generowane przez HA
chodzi tu tylko o to abyś używał bezpośrednio właściwych encji (które nie dość, że domyślnie mają nazwy dla ludzi to jeszcze te nazwy można zmieniać), zamiast całego urządzenia w automatyzacjach.

Czy o to Ci chodzi?

Raczej nie, a nie mam teraz czasu by sprawdzić, ale w kroku gdzie wybierasz cel masz wybrać konkretne encje, a nie urządzenia.

Zajrzyj sobie do Integracji i zobacz że urządzenia mają wewnątrz odpowiednie encje, które możesz wywoływać bezpośrednio (np. zamiast cały “telewizor w salonie” tylko jego właściwą encję playera)

Teraz już rozumiem. Zmieniłem tak jak napisałeś i mam teraz to o Co Ci chodziło.


W każdym razie to nie jest rozwiązaniem problemu dlaczego HA zmienia mi port w DENON.

Na spokojnie i po kolei, w automatyzacji w akcjach masz wysyłanie polecenia przez android debug, tam jako cel wybierz encje swojego telewizora a nie urządzenie.

Po drugie, wejdź w narzędzia developerskie i stany, wyszukaj encje swojego Denona i naciśnij i w kółku a potem w prawym górnym rogu będziesz miał dostęp do historii, tam zobaczysz jakie polecenia wysyła HA.

Na koniec wyłącz hdmi-cec w tv, bo z twoich słów wynika że zmiana źródła w amplitunerze występuje wraz z wysłaniem komendy do tv. Wnioskuję że to może być błąd hdmi-cec ale pewności nie mam

@Aleksej
Miałeś nosa do tego HDMI-CEC. Co prawda miałem zredukowane ustawienia prawie do zera ale jednak on robił problemy. Po wyłączeniu HADM-CEC przestały dziać się jaja.
Tylko że ja wykorzystuje tylko jedną opcję i tylko ją mam włączoną. Czyli przesłanie dźwięku przez kanał zwrotny eARC z TV do DENON.
Zmieniłem w TV EasyLINK eARC na EasyLINK 2.0 eARC i jak na razie problem ustał a dźwięk przechodzi do DENON.
Muszę przetestować.

2 polubienia

eARC nie wymaga włączenia CEC - kanał zwrotny audio jest oddzielną funkcją HDMI

CEC służy do przekazywania poleceń sterujących (jak głośność, zmiana źródła, włączenie, wyłączenie itd.)

Gdyby każdy producent (czy wręcz brand, bo Philips fizycznie nie wyprodukował twojego TV) nie nazywał ustandaryzowanych funkcji inaczej, byłoby łatwiej to ogarniać…

No HDMI-CEC ma swoje ograniczenia i czasami wychodzą głupoty, chociaż obecnie i tak jest lepiej niż kiedyś, Philips moich rodziców steruje zarówno tunerem sat na Enigma2 jak i amplitunerem Yamaha bez problemu, jedynie tuner sat nie zawsze się wyłączał po wyłączeniu TV, ale to załatwiłem automatyzacją w HA.

Kilka uwag na przyszłość:

  • wywal area id z automatyzacji - to powoduje że wysyła polecenie do wszystkich urządzeń które masz w danych obszarze które mogę odebrać takie polecenie, więc na razie tylko TV ale w przyszłości możesz mieć jakiś tv box na android i będziesz zdziwiony bo jakieś głupoty będzie robił
  • wymyśl sobie spójny sposób nazewnictwa encji, automatyzacji, urządzeń no ogólnie wszystkiego w HA, będzie łatwiej wszystko ogarnąć w przyszłości.
  • automatyzacje grupuj sobie według uznania, np. te od tv grupuj jako media bądź tv.
  • aktualizuj przynajmniej raz w miesiącu Home Assistanta i wszystkie dodatki bądź integracje (jeśli używasz HACS) najlepiej aktualizuj pod koniec miesiąca do wersji YYYY.MM.3 lub większej, łatwiej będzie naprawić coś po zmianach jak będzie problem.
  • backup i jeszcze raz backup, minimum jeden na dysku zewnętrznym poza kompem z Home Assistant oraz drugi w chmurze (np. Google Drive czy One Drive - oba można ogarnąć bez dodatkowych dodatków), Przy backupie lokalnym wyłącz szyfrowanie.
1 polubienie

No jeszcze będę chciał to zgrać z roletami w salonie żeby mi zamykał rolety na czas oglądania ale to jeszcze czekam na odpowiedź z SOMFY bo nie mogę sobie odblokować trybu programisty który jest potrzebny do HA.

Zacząłem zabawę jeszcze z roletami które chcę spiąć z włączeniem całego kina.
Nie wiem za bardzo jak to zrobić żeby było dobrze.

Samo zamknięcie rolet może wywołać DENON po przełączeniu się na port Media Player.
Problem zaczyna się jak chodzi o otwieranie rolet. Najlepiej było by ustawić otwieranie rolet po wyłączeniu DENON. Domyślam się że to narobi więcej problemów niż korzyści. Przykładowo wieczorem kiedy zamykam rolety na noc to wyłączę DENON i się otworzą. Ogólnie jeśli by dodać jakąś regułę typu otwieranie rolet tylko do godziny 19:30 a potem już blokada by załatwiła sprawę.

Jeszcze zastanawiam się czy dało by się w jakiś sposób w pilocie Logitech zaprogramować 2 przyciski które by w jakiś sposób przez Home Assistant mogły otwierać i zamykać rolety?

Do rolet możesz użyć warunku w postaci pozycji słońca (encja sun.sun) jak jest poniżej horyzontu to nie otwierać po wyłączeniu amplitunera, możesz też dodać swój offset.

Co do przycisków w pilocie to pewnie, że się da, ale to nie będzie proste, najpierw musisz mieć jakiś odbiornik IR podłączony do Home Assistanta, potem musisz wgrać jakiś odbiornik do pilota (taki którego nie masz fizycznie i który nie zakłóca sygnałów w innych urządzeniach) i nauczyć HA żeby na daną komendę otwierał i zamykał rolety. Możesz też pokombinować z jakąś inną funkcją w już posiadanym odbiorniku, np. jak ja zrobiłem z mute w TV aby włączał i wyłączał światło.