Hisense TV Control

Ahh I see. Care to share your flows?

Also did you have to roll back to an older version due to the locked down MQTT on the more recent updates? Do you know the version number or roughly what date update introduces that?

I’m thinking I might just block these TVs from all internet traffic in general. I don’t just the internal Android for any streaming anyways, only control via ADB/remote/etc.

I’ve changed a lot of it due to the loss of MQtt access, but the important parts were:


[{"id":"9ccf6e06d122a103","type":"mqtt in","z":"f0b6cd64cdc3f7bc","name":"get tv state","topic":"/remoteapp/mobile/3c:2a:d7:d5:30:64$vidaa_common/platform_service/data/gettvinfo","qos":"2","datatype":"auto-detect","broker":"921f251ebf6fbf2e","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":140,"wires":[["1fbc53f23e21cc57"]]},{"id":"1fbc53f23e21cc57","type":"change","z":"f0b6cd64cdc3f7bc","name":"","rules":[{"t":"move","p":"payload.fake_sleep_state","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"tvstate","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":180,"y":180,"wires":[["95e1cede9b85424b"]]},{"id":"95e1cede9b85424b","type":"switch","z":"f0b6cd64cdc3f7bc","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":330,"y":180,"wires":[["0c72647ea416dc39","e6edf2423d6c4585"],["f987fb2d14e50c95","5080d07b8c6a4b25"],["0c72647ea416dc39"]]},{"id":"35ca5fd39f7495bd","type":"mqtt out","z":"f0b6cd64cdc3f7bc","name":"ping tv","topic":"/remoteapp/tv/platform_service/3c:2a:d7:d5:30:64$vidaa_common/actions/gettvinfo","qos":"1","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"921f251ebf6fbf2e","x":150,"y":100,"wires":[]},{"id":"921f251ebf6fbf2e","type":"mqtt-broker","name":"","broker":"192.168.10.186","port":"36669","tls":"471adc02eb596bae","clientid":"","autoConnect":true,"usetls":true,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":"60"},{"id":"471adc02eb596bae","type":"tls-config","name":"hisense TV","cert":"","key":"","ca":"","certname":"rcm_certchain_pem.cer","keyname":"rcm_pem_privkey.pkcs8","caname":"","servername":"","verifyservercert":false,"alpnprotocol":""}]

Those are the pinger that you can hit on a timer, to force the MQtt server to update, not sure if this is necessary, but Its there, then the “fake_sleep” is checked, this tells us if the TV is awake or in standby. the MQTT server has to be set up with the right certificates, then if you notice in the config for the nodes there is what looks like a MAC address, that was captured from MQTT explorer and the remotenow app on a phone, that phones MAC address is then authorised to control the TV, we use that mac address in the MQTT topic to properly send commands to the TV, spoofing the app.

The MQtt server is shut off after a period of time, so sending on/off commands is unreliable, so to get arount that, I use a status node to detect if the MQTT failed, then that sets teh TVs state in my flow to OFF so that the next on command can be sent via IR to wake the system up again.

The status node and a switch node to detect if the status is anything other than green:

[{"id":"03948b196ecb0e52","type":"status","z":"f0b6cd64cdc3f7bc","name":"","scope":["9ccf6e06d122a103"],"x":100,"y":260,"wires":[["418d79611ff58a30"]]},{"id":"418d79611ff58a30","type":"switch","z":"f0b6cd64cdc3f7bc","name":"","property":"status.fill","propertyType":"msg","rules":[{"t":"neq","v":"\"green\"","vt":"str"},{"t":"eq","v":"\"green\"","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":230,"y":260,"wires":[["e6edf2423d6c4585","0c72647ea416dc39"],[]]}]

I hooked all of this into a mess of switch nodes and some function nodes to determine whether the TV is on, off or in standby and send the right on/off commands as necessary.

This uses the nodered integration within HACS to let me have on/off buttons in lovelace that control the TV.

Ciao… sono nel tuo stesso problema… hai risolto in qualche modo? oppure hai capito qual’è realmente il problema?

Hi… sorry for my English, I’m Italian. I’m in the same problem as you… have you solved it somehow? or have you understood what the problem really is?

No proper solution at the moment. Hisense have changed the MQTT server which has locked us out.

My previous post was for those who have not installed the latest firmware and still have access to the MQTT system but were having trouble with the homeassistant addon, so I gave one method to implement custom control via Node-Red.

Really annoyed. My TV nagged to do an an update and without really thinking allowed it. Now no connection to Home Assistant.

Has anyone downgraded their firmware successfully?

May contact Hisense and have a moan.

considering doing this (in au), hopefully they’ll give me older firmware if i say something that.

annoyed this update broke it. just had it setup working all as I needed too. will try and investigate this more with Wireshark (although someone said they cant see anything with it already).

why do companies insist you can’t play with your own devices as you see fit and insist on locking down everything. annoyed luckily i only need on/off and input switch which seems to be supported by wake on lan and homekit.

i mostly use the tv with my Chromecast with google tv, which i CAN DO stuff with via adb and other plugins.

I tried to contact them and they ended up ghosting me after saying the firmware can not be downgraded.

I asked their technical service team for Australia ([email protected]) (who actually seem to know what we are talking about) about alternatives like serial over Ip, REST, alternative MQTT etc. they just said it was all impossible.

So now I am detecting the TVs on state with a power meter so I can get power on/off commands to work properly and stay in sync, but I cant do anything more advanced like set the TV to game mode or switch inputs without resorting to old fashioned manual IR control which is slow and clunky.

I have looked through wireshark, which is how we originally found MQTT in the first place with the remotenow app, but the new firmware shows next to nothing, some pings to HQ, the usual tracking rubbish, and that’s it.

When you fire up the new remote app you can see some communication and its definitely still talking via MQTT like the old remoteNOW app but its all encrypted and now has a rolling code of some kind instead of fixed password, likely the certificates have changed too. I doubt we will crack that anytime soon as most Hisense TVs are running android now and they are of course more hackable thanks to ADB.

HDMI CEC does offer some control and CEC commands can be injected with a pi or an ESP32 and a hacked HDMI through plug to inject the signal, but on my TV at least it is pretty poorly implemented and has only the basic control.

I’ve emailed Hisense too. Not holding a lot of hope for a solution. It’s a real shame.

So possibly some good news. I emailed Hisense UK and got the following response:

Good morning,

Thank you for reaching out to us.

We are sorry to hear that you are experiencing issues with our TV. In this case, the downgrade of the software would resolve the problem that you have. In order for us to send you that, please provide a serial number of the TV and also tell us what the current software version on your TV is. You can access this by going to Menu / Settings / Support / System Info or About / Version / Serial Number-Software version.

Kind regards

Phil
Brown Goods Support Team

I’m at work at the moment but will respond to them this evening. Will update here hopefully with good news.

I’ve just bought a Hisense TV, a 40E4KTUK, was wondering about how to integrate it with Home Assistant. I’ve read through this whole thread, and I haven’t even begun to look into MQTT or the custom integrations because I can’t even get my TV to respond to ping or get it to Wake-On_Lan.

Ping:
All devices on my network, wifi or wired, (phones, chromecasts, HA server etc), all respond to ping, except for my laptop, and the Hisense TV. Pings conducted from the router itself, but TV also doesn’t respond to pings from laptop.

WOL:
TV is connected via Wifi, with its “wake on WLAN” setting enabled. WOL integration is enabled in config.yaml and the service call appears in the developer tools UI, but upon entering the TV’s MAC address and executing the service call, nothing happens, whether I include the IP address and port or not. My best guess is maybe WOL require some router setting I don’t know about? I’ve never done WOL with a device before.

DLNA:
HA automatically detected the TV as a DLNA player when I first set the TV up, and through the media player component I could change the volume across any TV service, which was neat. However it spontaneously stopped working shortly after and it now registers constantly in HA as unavailable.

So Hisense have sent me firmware to downgrade. Will give it a try this evening and report back.

I must say up to now they have been very helpful. I did suggest an official integration which they took the idea onboard.

I downgraded to the firmware they sent me. The downgrade seems to have worked correctly however I still do not seem to be able to connect via MQTT. The RemoteNOW app does not connect to the tv, only the new VIDAA app. This and the version number of the software would suggest it is still on VIDAA 7.

Can someone confirm that VIDAA 6 is needed to enable MQTT

Pretty sure VIDAA 6 is required, you might have simply been rolled back one minor version, not a whole major version, which they keep insisting to me is impossible. They’ve also recently added large popups bugging you to enable enhanced smart AI whatever that monitors everything you do (sends it off to HQ) to “optimise picture quality automatically” yea I don’t want that either thanks, even if its just HDMI video formats rather than actual contents or personal data. TV disconnected from the net entirely now.

The password and certificates we have replicate the now defunct RemoteNow app, which only needs your authorised phones mac address to spoof control of the TV.

So we need to be able to roll back far enough that the old app still works, then we have a chance of getting control back.

I’ve recently had a lightning strike take out a HDMI port on my TV (and blew up the video board on a high end Anthem receiver) so i’ll probably be taking that as a sign to replace the TV with one based on android again so I can use the much more open and hackable platform. so when the insurance comes through I’ll be dropping out of this fight.

au support replied to my email and told me 2 things,

  • no they wouldn’t give me the old firmware, because it may break my TV.

  • google/them are apparently discontinuing support on vidaa os for google assistant/home soon? - no other details of this or i can find on web.

i did respond and gave a bunch of good reason, Australian consumer law, reasonably expect something to work that’s at most 2yrs old, fix our own products, most decent companies list firmware on website, etc etc.

pretty annoyed. but i do mostly use the hisense tv i have with my Chromecast with Google tv which i can control.

also, see the following link for recent info about work to get around this

Is there an updated Step-by-Step set of instructions for adding a Hisense TV (in my case, a U7K) to Home Assistant?
There are 316 posts in this thread ahead of this one, and I’m at a loss to locate a set of step-by-step instructions.
Even the original GitHub was last updated in 2022, and talks about command lines and config files, but doesn’t say where to find/execute the command line, or which config file name is required, and in which location.
I know the information is in these 300+ posts, but I’m hoping for a kind soul who has done this successfully to lay out the steps, one by one.
Or…point me to where this already exists.
Also, on a related note, My U7K says that it supports HomeKit. If I add the HomeKit Device integration to HASS, can I avoid all of this MQTT stuff and just control it with HomeKit?
Thank you.
-M

have you been unable to connect to mqtt? I have a hisense 65 u7hq TV, which also rejects the mqtt server in mqtt explorer

2 Likes

I am using it with this HACS Integration GitHub - sehaas/ha_hisense_tv: Hisense TV integration for Home Assistant there is also a small How To in that repository.

Hope this helps

1 Like

Is it still working? I tried to follow the steps but I can’t get past the get progress async problem.