I was initially worried given the lack of documentation, plus Sonoff stating in their FAQ SONOFF NSPanel Pro Version Update Information and FAQ - SONOFF Official that this is unsupported… Well, good news, it turns out to be actually unlocked and trivial to run whatever app you like.
So far, I connected via USB, ran various adb commands, including side loading and running various apk’s including Device Info and HA Companion. After updating to the latest version, I noticed I was also able to connect adb via wifi as well.
I was not able to sign in HA companion yet, not sure why.
Next I plan to try to get HA Companion to login and load at startup, I wonder if there is a way to setup the credentials via adb so I can script the entire setup from within HA similar to the AndroidTV integration.
I’ve been waiting to see if anyone would be able to crack this thing open. Turns out it’s just waiting to be exploited. I will be following this one with interest.
Can you possibly post up a walkthrough of how you go to where you are?
repying to my own question but i managed to figure out how to open Home Assistant either using the native browser or something like Firefox focus.
Connect to your device using ADB - you can do this by connecting a cable to the MicroUSB port inside the NSPanel Pro
Follow the steps on this page to connect it via WiFi (will make things easier in the long term).
Optional - install FireFox focus using the APK found on this page using the following command: adb -e install /path/to/your/downloaded APK
To open your HA instance/dashboard, copy the following command into a terminal and replace the square brackets with your URL: adb -e shell am start -a android.intent.action.VIEW -d [URL of your HA instance]
The NSPanel Pro will now ask how you want to open the link and it’ll let you log in.
Thanks @simonbooth for finding that it’s unlocked, that’s opened a world of possibilities now. Just need to find a way to run a script on startup
Edit to add:
After setting up as above, the panel seems to work with the Android TV integration. Follow the UI set up for Android TV, enter the IP of you NSPanel Pro and leave all the other settings as they are and you’ll find the device is now shown in HA as a media player.
You can then use the AndroidTV service to send scripted commands as per the discussion on this page
@Hellis81 “WallPanel is an Android application for Web Based Dashboards and Home Automation Platforms”
Basicly it will show the hass webpage, manages the screensaver and reports back sensors via mqtt.
I use it very stable on my wall mounted tablets
@jotacor I used the old one to prevent incompatibility with the older android version as i read in the release notes “that is compatible with Android 9 and newer devices. This version requires a minimum Android SDK version of 21”
I was not sure if it would be backwards compatible so i just wanted to be sure
I just installed the HA Companion v2022.08 from APKMirror.
You need to unzip the APKM and install the following packages: adb install-multiple split_config.armeabi_v7a.apk split_config.xxhdpi.apk split_config.xxhdpi.apk split_config.ms.apk split_config.mdpi.apk base.apk split_config.XX.apk
Unfortunately this doesn’t load the dashboard for me, it lets me log in, then gets to about 90% loaded and just hangs with the Home Assistant logo. Using either 0.9.5 or 0.9.6
Update:
For me the Wallpanel is not working (any version), even if I disable the hardware acceleration. It gives me an error with the token and Home Assistant v2022.9.
I installed again the Home Assistant apk, and prepared a user with an empty dashboard for it, because the error Home Assistant was throwing was about the frontend JS.
With a clean dashboard prepared for it, it seems that works quite well.
Now the challenge is to start the Home Assistant on boot.
I haven’t tried the companion app as yet, but have been using Firefox Focus which works well.
I have an automation the same as yours to load the dashboard when the panel goes from unavailable to playing and the source is the eWelink control panel.
I’ve been using this package (now deprecated, but there is a forked version) to manage screensaver features and dimming and sleep. I haven’t tried the newer forked version as yet - that’s a job for later this week.
Use the non-Focus Firefox (to store the credentials).
Open it with an Automation when Android TV is playing adb shell am start -a android.intent.action.VIEW -d http://192.168.1.5:8123/your-dashboard/view.
Set it to always open with Firefox.
Configure Lovelace Wallpanel Screensaver for black screen.
I would like that the display switches off/on, but for some reason when you open an app inside the panel it doesn’t switch off the display after the time you configure, I guess the system is not prepared for that and it is controlled inside the app eWelink.
I was able to switch off/on manualy with adb shell input keyevent 26.
It worked for me, but I thought that the display will wake up once I press the screen. But sending another keyevent 26 it wakes.
Not going to do more tests as it works now with the screensaver even that the display does not switch off, and the screensaver only puts a black image.