Domoticz – Sterowanie telewizorami marki Phillips

wpis w: Domoticz | 2

W dzisiejszym poście będę chciał przedstawić jak za pomocą prostych skryptów można sterować telewizorami marki Philips oraz wyświetlać na ich ekranie dowolny tekst.

Telewizory marki Philips obsługują protokół JSON. (Prawdopodobnie telewizory po 2010 roku)

Daje to posiadaczom telewizorów tego producenta kilka możliwości.

Aby zacząć pracę należy zalogować się do Naszego raspberry przez SSH o czym pisałem w poprzednich wpisach.

Następnie za pomocą poniższej komendy ściągamy potrzebne pliki:

Za pomocą kolejnej komendy rozpakowujemy nasz plik:

  • sudo tar -xvf JSTx-0.24_rpi.tar.bz2

I na koniec przenosimy wszystko do odpowiedniego katalogu:

  • mv JSTx-0.24 /opt/JSTx

Kolejnym krokiem będzie przejście do katalogu:

  • cd /home/pi/domoticz/scripts

Utworzenie pliku (nazwa może być dowolna):

  • nano display.sh

W nowo utworzonym pliku wklejamy poniższą linijkę (wszystko ma być w jednej linii) gdzie na jej końcu wpisujecie adres IP Waszego Telewizora:

  • /opt/JSTx/JSTx -F /opt/JSTx/font/decker.ttf -s 40 -W 1280 -H 720 -w 1200 -h 60 -x 40 -y 40 -t "$*" t -T 5 -b "100,100,100,128" -f "255,255,255,255" --dfb:quiet --remote=adres IP Waszego Telewizora

Czyli np.:

  • /opt/JSTx/JSTx -F /opt/JSTx/font/decker.ttf -s 40 -W 1280 -H 720 -w 1200 -h 60 -x 40 -y 40 -t "$*" t -T 5 -b "100,100,100,128" -f "255,255,255,255" --dfb:quiet --remote=192.168.0.12

Zapisujemy Plik poprzez naciśnięcie CTRL+X i nadajemy mu odpowiednie uprawnienia przez komendę:

  • sudo chmod +x display.sh

Aby sprawdzić czy wszystko działa należy wpisać:

  • ./display.sh Dowolny tekst jaki chcecie by się wyświetlił

Wszystko już powinno działać i będziemy mogli wykorzystać ten skrypt do wyświetlania np. statusu różnych Przełączników.

Aby to zrobić należy przejść zakładki „Przełączniki” w Domoticz i wejść w Edycję jednego z nich a tam w zakładce „Włącz akcję” lub „Wyłącz akcję” wpisujemy:

  • script:///home/pi/domoticz/scripts/display.sh Dowolny tekst, który chcemy by się nam wyświetlił na telewizorze np.:
  • script:///home/pi/domoticz/scripts/display.sh Włączono Światło w Salonie
  • script:///home/pi/domoticz/scripts/display.sh Wyłączono Światło w Salonie

Jeżeli robiliście wszystko zgodnie z tym poradnikiem to po włączeniu i wyłączaniu danego przełącznika dany tekst powinien wyświetlić się na Waszym telewizorze.

Położenie tekstu. Jego rozmiar i kolory można modyfikować poprzez zmianę parametrów (40 -W 1280 -H 720 -w 1200 -h 60 -x 40 -y 40 -t „$*” t -T 5 -b „100,100,100,128” -f „255,255,255,255”) znajdujących się w pliku display.sh.

Kolejnymi możliwościami jakie daje Jointspace jest możliwość sterowania telewizorem za pomocą prostych skryptów.

Cały protokół opisany jest na tej stronie.

Aby wejść do jointspace w Waszym telewizorze należy na komputerze zalogowanym do tej samej sieci Wifi co Wasz telewizor w dowolnej przeglądarce internetowej wpisać:

  • adres ip Waszego telewizora:1925

Czyli, np.:

  • 192.168.0.12:1925

Powinno się Wam wyświetlić coś takiego:

 

Gdzie macie pełną dokumentację.

W przypadku telewizorów z lat 2014 i 2015 w adresie zamiast http://192.168.0.12:1925/1/doc/API.html będzie prawdopodobnie 5tka czyli http://192.168.0.12:1925/5/doc/API.html co będzie ważne w przypadku dalszego kodowania.

Telewizory z roku 2016 używają prawdopodobnie 6tki i innego portu o czym można przeczytać tutaj i pobrać odpowiedni plik.

Ja mam telewizor z roku 2013 i do niego będę się odnosił.

Po zalogowaniu możecie przeczytać co za pomocą jointspace będziecie mogli obsługiwać. Jak widać będą to:

  • ambilight
  • głośność
  • lista kanałów
  • lista źródeł
  • lista komend
  • informacje o tv

Skupię się głównie na kanałach i liście komend a także głośności

W każdej zakładce macie dokładnie opisane co musicie wpisać by wywołać odpowiednią akcję i tak dla przykładu aby zaczytać listę wszystkich kanałów i ich numerów należy wpisać w przeglądarce:

  • http://wasz adres ip:1925/1/channels

Powinno wyświetlić się mniej więcej coś takiego:

Interesować Nas będą czterocyfrowe numery, które zaznaczyłem w czerwonym prostokącie – odpowiadają one konkretnemu kanałowi, który będziemy mogli włączyć za pomocą prostego skryptu.

Aby go utworzyć tworzymy dowolny plik, np.:

  • sudo nano tv4.sh

W pliku tym wklejamy:

  • curl -X POST -H "Content-Type: application/json" -d '{ "id": "1890"}' http://192.168.0.12:1925/1/channels/current

Gdzie zamiast 1890 wpisujemy numery, które zaczytaliście z Waszego telewizora.

Nadajecie plikowi odpowiednie uprawnienia:

  • sudo chmod +x tv4.sh

Następnie po wywołaniu komendy:

  • ./tv4.sh

Wasz telewizor powinien przełączyć się na odpowiedni kanał.

Dla osób z telewizorami z lat 2014 i 2015 wpisujemy zamiast http://192.168.0.12:1925/1/channels/current –> http://192.168.0.12:1925/5/channels/current

Kolejną fajną funkcją jest obsługa przycisków z pilota. I tak np. za pomocą skryptu utworzonego w ten sam sposób możecie wyłączyć Wasz telewizor poprzez wpisanie w utworzonym dowolnym pliku polecenia:

  • curl -X POST -H "Content-Type: application/json" -d '{ "key": "Standby"}' http://192.168.0.12:1925/1/input/key

Oczywiście wszędzie tam gdzie jest mój nr ip (192.168.0.12) wpisujecie swój.

Aby wyświetlić wszystkie możliwe klawisze jakie możecie symulować w pole przeglądarki internetowej należy wpisać:

  • http://ip-address TV:1925/1/input/key

Gdzie na dole ekranu wyświetlą się Wam wszystko możliwe komendy jakich możecie użyć zmieniając w skrycie „Standby” na np. „Mute”, „VolumeUP” itd. (w przypadku gdy macie podłączony TV do amplitunera komendy VolumeUP i VolumeDown nie działają).

Dla osób, które mają telewizory z lat 2014 i 2015 zamiast http://192.168.0.12:1925/1/input/key  wpisujemy http://192.168.0.12:1925/5/input/key.

Ostatnią opcję jaką opisze jest sterowanie głośnością i ustawienie konkretnej jaka Nas interesuje. Aby to zrobić tak samo jak wcześniej tworzymy nowy plik o dowolnej nazwie, w którym wklejamy:

  • curl -X POST -H "Content-Type: application/json" -d '{ "current": "27"}' http://192.168.0.12:1925/1/audio/volume

Gdzie zamiast 27 wpisujemy interesującą Nas wartość. (w przypadku gdy macie podłączony TV do amplitunera ta funkcja nie działa)

Dla osób, które mają telewizory z lat 2014 i 2015 zamiast http://192.168.0.12:1925/1/audio/volume  wpisujemy http://192.168.0.12:1925/5/audio/volume

Aby to wszystko wykorzystać w systemie Domoticz możemy np.:

Utworzyć wirtualny przełącznik wyboru. W zakładce „Sprzęt” w Domoticz tworzymy zwykły Dummy Switch i jako jego typ wybieramy znajdujący się na samym dole „Przełącznik wyboru”

Następnie przechodzimy do zakładki „Przełączniki” i wchodzimy w edycję nowo utworzonego Przełącznika.

Opiszę wszystko na przykładzie Radia jakie utworzyłem w systemie Domoticz (opiszę to w osobnym projekcie bo jest to dosyć skomplikowane).

Wszystko powinno wyglądać mniej więcej jak na zdjęciu poniżej:

W wierszu „Poziomy wyboru” wpisujecie nazwę poziomu i naciskacie OK.

Może to być np. nazwa konkretnego kanału:

TVP, Polsat, TVN, MTV itd. (dodajecie ich kilka)

Następnie dla każdego kanału w raspberry przez SSH tworzycie konkretny skrypt o czym pisałem powyżej.

Kolejnym krokiem jest w wierszu „Akcje wyborów” wpisanie przy każdym z poziomów ścieżki dostępu do Waszego skryptu w Raspberry.

Dzięki temu przy pomocy takiego przełącznika będziecie mogli przełączać wcześniej zdefiniowane kanały.

Poniżej wklejam przykład gdzie zdefiniowałem kilka stacji radiowych a także kilka poziomów do ustawiania głośności (opiszę ten projekt innym razem:)

Jak widzicie na powyższym zdjęciu jest tam też przycisk „Wyłącz TV” po kliknięciu którego mój telewizor się wyłącza o czym pisałem powyżej.

Powodzenia!

2 Odpowiedzi

  1. witam, czy wiesz może jak wykorzystać plik philips.py w telewizorach z 2016 roku?

    • Agnieszka Kostrzewa

      Witam. Z tego co czytam jointspace w telewizorach z 2016 nie jest zaimplementowany i nie działa 🙁 Pozdrawiam

Zostaw Komentarz

*