Hey foks - I thought I would share some additional information. It seems there is a way to get telnet and root access to the TV. requires you get UART connection to the service port.
I was poking around the moquitto config and found out that port 10001 is a mqtt websockets port if that helps anyone trying to integrate to the hisense tv.
My Hisense 75P7 doesnt use TLS for MQTT and I cant see anything in the mosquitto directories with certificates. let me know if you need anything else off the tv. I have full root access.
I dont think there is a really away to stop the connection error messages when the TV is off as basically the OS is suspended. Another option would be to get root access to the TV using the Service Port + enabling telnet then modifying the mosquitto.conf file under /3rd_rw/remoteapp/bin and setting up the bridge in the other direction. So when the TV turns on it sends the MQTT message to the homeassitant broker.
Do you have the pinout of that service port or any documentation that may help on that, please?
For those interested in debugging or exploring more the MQTT broker inside the TV, you can use the software MQTT Explorer (http://mqtt-explorer.com/) with these configs:
Sure to connect to the service port you will need a USB to TTL UART adapter and you will need a stereo/ headphone end like one pictured in the link or below. You can buy these cheap on ebay.
Note to ensure telnetd is persistent after each reboot you need to add via the update script as its the only thing so far we know of that runs on each start up
Modify /3rd_rw/software-update/run-OtaUpgrade.sh
Add this to the start or end of the script:
busybox telnetd -l /bin/sh
I should also note that hisense sends a lot of data home. Every button pressed is sent home via HTTPS. I highly recommend blocking unified-ter-na.hismarttv.com domain if you have the capability to.
It would be great to have topics to control more things, like “picture settings”. Then you could, per example, dim the backlight or change the image mode with automations when you change your room’s lights, or depending the hour, etc. Does anyone know how to discover which topics are the TV suscribed to? All of them… it would be wonderful
You inspired me to hexdump the remoteservice binary on the TV. Interestingly enough we can see all possible keys, maybe that can help someone! by the way remoteservice runs as root on the tv so if you can escape it somehow you should be able to launch telnetd to gain root access.
I wonder if you could pass on a command such as busybox telnetd -l /bin/sh by escaping it somehow?
Nice finding! Perhaps you could have a look at other binaries like the one for platform_service, which receives commands like “changevolume” or “getvolume”. It would be great if there were other capabilities hidden.
@Alex-M-GitHub - thanks for your work and publishing something installable.
I contributed early to this thread but haven’t really needed anything beyond just being interested.
Now I have a need to set the source (to HDMI2) on my TV using a script.
How far off being able to do this with your custom component are we/you?
Been pawing at this for a couple of hours. I noticed when using OpenSSL with my TV no cert was being returned. Using the TV remote, I was able to confirm that the TV’s certificate mode was off.
I simply removed the bridge_cafile /ssl/hisense.crt line in the hisense.conf file, restarted MQTT and boom, it worked!
I have had bit of a read over this thread. My overall need is to get the Hisense 65S8 (2020) model into HomeKit through Homebridge; I have never used Home Assistant before but do know if I set it up I can get it to bridge straight into HomeKit. I have used these threads before to discover the HTTP API of my aircon and used that in HomeKit.
I was able to use MQTT Explorer for the first time ever and confirmed I am seeing the same commands as mentioned in the thread. I tried using the homebridge-mqttthings plug-in to create a TV Accessory but cannot get feedback or place commands; I am not sure if the plug-in works for this TV or if maybe I am not translating the commands correctly into the plug-in.
My two questions would be does anyone have any guidance for getting this into Homebridge or HomeKit? And is it possible to type one of these subscribe or ‘get’ commands into my browser url and see a ‘data dump’ of sorts that can be used? Sorry if that is a dumb question but iv never dealt with MQTT before. If this is possible, I can translate this into a separate Homebridge plug-in called homebridge-cmd4 (like I did for my aircon API).
Is anyone able to provide any guidance to the questions above? I have installed Hassio on a spare Raspberry Pi 3B, but find the instructions a little less intuitive than using Homebridge. If ihave understood the thread correctly, this is the most successful attempts so far?
Still it looks like the config represents it as a switch accessory? If I was to bring that over to HomeKit, it would appear as the Switch accessory instead of the TV accessory if am guessing correctly.
Got this working after a couple of hours messing around. Anyone having issues where the ON/OFF switch automatically turns off after a second, resulting in not being able to turn the TV off from the control card? If you can turn the switch off before it automatically does it, the TV does actually turn off but I haven’t been able to find out why it turns off at this stage.
Hi all, I installed Hisensetv custom component from HACS. It did not work for my TV, so decided to uninstall. However, the uninstall deletes the entire custom_components directory, so on reboot, my entire installation is messed up. Fortunately I able to restore a recent snapshot. Tried again, just to confirm what cased the deletion of the entire custom_component directory, and happened again and had to restore.
What can I do to remove this integration? Can I just delete the directory hisensetv in custom_components? will that remove the integration?
Anyone’s assistance will be appreciated. Thank you
Hello @K-1,
I couldn’t help but noticing your project, since I have a SmartHisenseTV with MQTT support. Unlike others I can perfectly communicate with my TV with an MQTT client on my computer and use the Wake-on-LAN feature. However, I am a beginner in what’s related to Hass.io. I tried to add the sensors and switches just like your configuration, but failed to do it. On the Lovelace panel, the switch just doesn’t appear. Can you please post your part of configurations.yaml that is about this project again, for me?
Something else, would there be any way to integrate this with the HomeAssistant’s Apple HomeKit support? Thank you so much in advance.