Skip to content

Instantly share code, notes, and snippets.

@det-peralta
Created January 20, 2020 19:14
Show Gist options
  • Save det-peralta/eab8c1ffbc0263c9dcd9359ccbdedd45 to your computer and use it in GitHub Desktop.
Save det-peralta/eab8c1ffbc0263c9dcd9359ccbdedd45 to your computer and use it in GitHub Desktop.
TCL TV - android adb command - Home Assistant
entity_id: media_player.tcl_tv
command: "am start -n com.tcl.tv/.TVActivity"
@guillaume-elambert
Copy link

Hello, I found a way to set the brightness:

adb shell am startservice -n com.tcl.settings/.ShowWindowService \
  -a com.tcl.settings.SHOW_WINDOW \
  --es Type Settings \
  --es ITEM brightness \
  --es MOTION SET \
  --es MOTION_VALUE <0-100>
  
adb shell input keyevent 4

It launches the settings application but only displays the brightness slider.
The problem is that, as this is UI based, it's not possible to do this silently and get the current value.

My TV :
Model name: Smart TV Pro
Model number: 43C645

If it doesn't work for you, here are some files I used for reverse engineering that may help:

/product/framework/com.tcl.tvmanager.jar

/product/app/SystemSettings/SystemSettings.apk
├── resources/AndroidManifest.xml -> Look for services and exported stuff
└── sources/com/tcl/settings/ShowWindowService.java -> My main source of information

@tungmeister
Copy link

adb shell service call tcl_tv_display 100 i32 0 i32 <0-100> i32 0

@sashoism this works perfectly for me but how would I get the current brightness value?

@sashoism
Copy link

sashoism commented Jun 3, 2025

adb shell service call tcl_tv_display 100 i32 0 i32 <0-100> i32 0

@sashoism this works perfectly for me but how would I get the current brightness value?

% adb shell service call tcl_tv_display 101
Result: Parcel(00000000 00000032   '....2...')

32 is 50% in hexadecimal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment