Shelly Wall Display

I would be really interested into this! One stupid question: I know the dev team had a lot of trouble by getting the temp measurements not corrupted by the internal heating of the device. Did you check if when running Chroma/HA is getting hotter? Potentially you could also run HA companion app, right?

I didnt test much, BUT mt6580 is very basic low power platform. From my tests it takes around 2.5w when playing 360p video from YT so kinda hard load for this kind of device. So i hope it should not be an issue. Idle power is around 0.78w. All the tests do not include looses in psu as they are done with my bench psu

there is a more pressing topic :slight_smile:
maybe you misread nickrout`s ironic message: we all would like to know how you achieved ADB without soldering.

thanks!

1 Like

Well i can describe in general. But keep in mind I do not take any responsibility of any kind. Even more this will break stock Shelly app, it is likely trivial to restore but i didn’t try. First of all you will have to disassemble a device to get to usb c hidden inside. When you get to blue main board inside, unscrew it, remove the microphone on top and make sure not to destroy cable. Then pull top part out while making sure not to destory FPC’s on bottom, if you are not brave enough (or you dont want to risk) just disconnect both FPC’s on bottom (one is LCD another one is temp sensor). Then follow instruction in mtkclient/README.md at main · bkerler/mtkclient · GitHub to install mtkclient, it is avalible for Linux and Windows after doing so run:

/path/to/mtkclient/mtk rl dump

Make sure folder you are currently in have 8GB free space. While that is running connect usb C to a cable to pc and device, after that connect power to device. After that you should see backup progress, it will take a long while, around 20 minutes. Disconnect power, run

/path/to/mtkclient/mtk da seccfg unlock

Connect power back, after that command finished, disconnect usb and reconnect power. Device should show “Erasing” for a moment and reboot itself, after boot you will see shelly app with error message, but this time navigation bar on bottom and status bar on top will appear. Swipe from top to open quick settings, in there on bottom right there is a gear icon, click on it to open android settings, got to the bottom and open “About tablet” click on build number 7 times, go back and open an entry “Developer options” that did just appear. Here you can enable USB debugging, and use adb normally. So you can install apps. To restore shelly app you likely need to copying stuff from your backup, specifically a userdata. It is unencrypted so should be easy. Sorry for bad English. Anyway i will work to make process simpler. And i will likely build custom rom based on newer android, and one that will be easier to work with.

4 Likes

Thank you. A good write-up with pics would be great. I can give you a hand with the English if that helps.

The Community Guides section is editable, so if you start a post there, anyone can edit and help.

2 Likes

Sure here is the page, currently under construction: Installing 3rd party apps/firmware on Shelly Wall Display

My few notes to the RX/TX version - I utilized the 0V and 5V pins as documented in the MTK version, soldered the pads RX1 and TX1 on the board to USB-2-TTL device and turned the device on.
The serial link is set to 921600bps, 8 data bits, 1 stop bit and with no parity.
Using that I have the prompts and can try to send the commands. My only problem - the prompt is running under user 127, so I cannot start/stop the adbd.
Any ideas how to proceed?

Huh 5V? No, i would suggest to stop right now. It is very dangerous for this kind of SoC. All logic is at 1.8v and even 3.3 can cause issues. And yes i did fry one mtk soc with 3.3.

No worries, the 5V come from the plug at the back, there is DC2DC converter on the board and the serial uses 3.3V signalling.

Ah sure, i thought you used 5 for uart. Actually user 127 sounds reasonable as for android, can you run getprop and share output

1 Like

So, minor progress.
I’ve run the commands

settings put global development_settings_enabled 1
settings put global adb_enabled 1
setprop service.adb.tcp.port 5555

but I did not have enough rights to stop adbd.
Instead, what I did was to issue killall -9 adbd - this killed and restarted the adb daemon with the new tcp port.
After it started, I can do on my PC adb connect <ipaddress>:5555.
The only “problem” is that this only survives until restart :slight_smile:
Now, I can try to upload HA or something…

You can istall launcher and use it like normal android device, and adb can be enabled via settings as well

I did install HA and launcher using adb install, but now I need to find out how to start them or set the launcher to be the default one :slight_smile:

LOL, that was easy :slight_smile:
All I did was desperate

adb uninstall cloud.shelly.stargate

and voila - I am in launcher :wink:
Now I need to proceed with HA or something, but this will be now far easier.

Keep in mind you really want to backup data, as it contains unique provisioning data for stock shelly app.

To make sure shelly app stays there but does not start, I did:

adb connect <ip address>:5555
adb root
adb shell pm disable cloud.shelly.stargate
adb reboot

Afterwards, the device starts, but instead of going to shelly app it goes to new launcher I’ve installed.
And this way, the adb bridge seems to remain open - the shelly app on startup would kill the adb and restore the system settings, clearing the port, etc.

So, after lots of trial and error I found out that the webview on the device is QUITE outdated and cannot display HA in any browser - the integrated or anything based on webview (Fully Kiosk, DuckDuckGo browser, …).
The only one that works is Firefox, downloaded as APK from Mozilla FTP.
That one is able to get to login, then to homepage and even display HA user interface.
Now to find out how to remove the firefox bar and autostart it and I am done :wink:

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