Shelly Wall Display

Webview is old as Shelly did some UGLY things, that is plain android 7 that wasn’t updated for ages! But i am currently working on bringing 1st BSP 11 builds and later lineage OS based on android 13 or even 14. Very modern light switch :smiley:

3 Likes

That would be AMAZING!
You are right, the android version is horribly old, I already disabled the access from the device to internet at all.
The worst thing is - this old version of Android did not support on-screen buttons (home, back, …), so it’s quite difficult to navigate - I use adb to send input keyevents…
But I managed to get it working, created mini-dashboard with live doorbell camera view and buttons for light and garage - and that was all I needed, but it’s a nasty hack at this point. Would be great if there was cleaner solution with real HA client.

Well it do support nav buttons, in fact even android 4.0 did. But shelly hacked and disabled that

Wow, even android 11 would be a very big achievement. The latest custom rom I could find for this very old and low spec mt6580 was some android 9.

Nice work!

Can you still control the relay when home assistant app is running instead of a stock one?
I’m wondering if the relay is controlled totally by the hardware or is it the shelly app sending some secret message to the MCU to toggle the relay.

It is very likely that relay switch is one of:

smali/cloud/shelly/stargate/helpers/DeviceSettings.smali:    const-string v0, "/sys/devices/platform/leds/green_enable"
smali/cloud/shelly/stargate/helpers/DeviceSettings.smali:    const-string v1, "/sys/devices/platform/leds/red_enable"

You can test that by trying to do
echo 1 > /sys/devices/platform/leds/green_enable
and
echo 1 > /sys/devices/platform/leds/red_enable
respectively. That should enable realy, echo 0 should disable it.

Cool! Thank you. I cannot wait to buy the Wall Display and test this out! Having the opportunity to mount it in place of any wall switch inside a house brings a lot of possibilities. Especially with custom android applications.

Hello, I followed your instructions but when I supply power the computer detects the device for a few seconds and then disconnects (it seems to turn off). I am doing something wrong?
The device detected in those seconds is 0x0E8D 0x2000

If you are following my instruction you should start mtkclient before connecting power.

Hi Luka,

I have the same problem as rlaza on Windows. Tried everything, but cannot get it to run… mtkclient seems to work properly under Ubuntu…

“mtk da seccfg unlock” throws back an error:

“Erasing” is not shown, no shelly app with error message, and no navigation and/or status bars.

Any idea?

Hello, my mistake was when using Windows, with the mtkclient live image it works until the moment I unlock the bootloader.
I get the same error as Thomas.
I saw that the image is from 2022.
I will try to update the mtkclient to see if it corrects the error.

I used the latest version of mktclient; so don’t think that will help…

Hopefully someone else can help us out here…

Ok i will retest tomorrow, sorry for inconvenience.

same here - but I was not sure if it was related to my broken setup - so i havent mentioned it.

Side note:
The live-CD is quite outdated - be sure to run git pull to fetch the last version of the mtkclient (but this won’t get you past this step either!)

I’ve reverted to using a FTDI-Cable and pogo-pins to access the console.
Also I’ve noticed that there are at least 2 different hardware-versions of the display.

I have one with a soldered WiFi-Antenna and one with a connector.
3rd fresh one to be disassembled over the next days :slight_smile:

Instead of unlock try

mtk e metadata,userdata

That seems to breake shelly app reliably too, and status bar as well as navigation bar do appear.
After that enable usb debugging and from pc do

adb install /path/to/launcher/apk of your choice
adb root
adb shell pm disable cloud.shelly.stargate

Nav barr will disappear after reboot, and i idnt find way to get it back, but other then that changes are persistant

That seems to work:)

to get the navigation bar + status bars back after reboot, use:

adb shell pm enable com.android.systemui

Thank you so much!!!

It works perfectly.

A great contribution, very grateful for your help.

Stupid question: Once you do the whole process, is the Shelly app still running in the background? I would like to keep the local thermostat functionality (in case HA stops working). But otherwise, I would love to have the HA interface when possible.

just a quick side-note: updating webview to 119 doesn’t resolve the issue with the home assistant app - but you can run HA in chrome.

anyone any ideas why the app doesn’t work?