Fully kiosk type app for ipad tablet?

I think the only chance to achieve such kind of functionality with an iPad is through jailbreaking as the devices are locked from Apple.

For charging I can make a simple time based automation. Anything available for activating the screen after external motion?

Nope. That’s what I meant. This part of the system which could allowed it is completely locked down in iOS.

Hi

can you recommend an app for a jailbroken iPad?
I used the current jailbreak but i can’t find a decent kiosk app that activates the screen when detecting motion and enables a true full-screen without the clock.

This will be nice since I have an iPad mini gen 1 here laying around collecting dust. I hope someone achieved this already. TIA

Just switch your charger on when there is motion, the screen will light up…

5 Likes

I needed something similar from the past few days.
SSH in combination with activator helped me a lot.

The Homeassistant server has to be added to trusted hosts on the iPad.
Then you can unlock the ipad with

ssh root@iPadIP activator send libactivator.lockscreen.dismiss

and start homeassistant with

ssh root@iPadIP activator send io.robbie.HomeAssistant

Of course all this only works with Jailbreak.

1 Like

That sounds more simple than I expected, I’m not Jailbroken but if I do I may try something similar, use a motion sensor in order to launch the UI.

Do you need to use SSH keys for passwordless login?

Yes, you have to use SSH keys for passwordless login.

Have a look at here:

I wrote a simple script that sends the current status of the ipad to homeassistant.

At the moment there are only two apps and two statuses entered, if necessary you can extend it.

You have to install OpenSSH and cURL with cydia.

i=0
while [ $i -eq 0 ]; do

appstate=$(activator current-app)
sysstate=$(activator current-mode)

if [ "$laststate" == "$appstate" ];
then
        echo "no update"
else
        echo "update"
        laststate=$appstate

        if [[ $appstate == *"HomeAssistant"* ]] && [[ $sysstate == *"application"* ]];
        then
          state=homeassistant
          appstate=homeassistant
        fi

        if [[ $appstate == *"chefkoch"* ]] && [[ $sysstate == *"application"* ]];
        then
          state=chefkoch
          appstate=chefkoch
        fi

        if [[ -z $appstate ]] && [[ $sysstate == *"springboard"* ]];
        then
          state=springboard
          appstate=springboard
        fi

        if [[ -z $appstate ]] && [[ $sysstate == *"lockscreen"* ]];
        then
          state=locked
          appstate=locked
        fi

        curl -X POST -H "Authorization: Bearer YOUR STATIC TOKEN HERE" -H "Content-Type: application/json" -d '{"state": "'"$state"'"}' https://yourhainstance/api/states/sensor.yoursensor
fi

sleep 2
done

Start script with

nohup ./yourscriptname & disown

how did you manage to automate this i can’t seem to find out how to send this command through hass.io… I have it working in terminal and did end up getting node red with an ssh node to work but it will only work once on deployment and then hangs.

Not shure how to get this work in hass.io… I’m using virtualenv within a debian VM.
I call those commands via shell_command from homeassistant.

i got this to work with node red with the big ssh node add-on. works really well!

You can do this with the regular browser, or find one with a full-screen option and then use this:

2 Likes

Hello, something new about this? i’m thinking of putting a tablet on the wall as a home assistant control center. I have an ipad and I would like to know how I can make the screen turn on automatically when someone approaches and also if I can use wallpanel on ios … thank you very much

Just read about Kiosker, but can’t find anything related to Home Assistant so far.

That does not have access to the camera so no-go for motion detection.
I am searching for a nice solution (without adding extra hardware) for this as well.
Android is easier.

I have an old iPad Mini (v3) that was not being used. I set screen-lock to “Never”, installed HACS browser_mod, installed HACS kiosk-mode, and set up some Node-Red flows to call the browser_mod services blackout and no_blackout to control when the screen is ‘lit up’. I usually light up the screen for 5 minutes after motion is detected near the iPad, then black it out again.

I’m not using the iPad itself for motion detection; I have several motion sensors on my main floor including my alarm system’s keypad, cameras at the exterior doors, etc.

Other than a need to figure out how to mount and power the iPad in an attractive way it seems like a great kiosk device. Very responsive, nobody can muck with HA settings because it’s in kiosk mode, etc. Simply touching the screen makes it come out of blackout mode, should a person manage to evade the motion sensors. And unlike Google Nest Hub (which is a separate experiment I have going) there is no need to trigger a catt refresh every ~10 mins to prevent the HA view from disappearing

The only drawback is that the screen isn’t really off in blackout mode, so power consumption is not optimal. And I don’t know if the tiny band at the top of the screen which shows time and wifi connection and battery level will get “burned-in”; these are still present during blackout.

7 Likes

@Daniel_Cook I’m inclined to try your approach, very interesting. Any recent comments or tips, after you had a few months with it running? Thx a lot

I haven’t mounted it to the wall yet. But it is plugged into a smart outlet, so that when the iPad reports low battery the outlet turns on, and turns off again after the iPad hits fully charged.

Occasionally the Home Assistant app becomes non-responsive and I have to force-quit and restart it. Other than that it’s a pretty decent kiosk solution. The capacitive touchscreen on the iPad is very responsive and I can fit a fair # of widgets on it. Deciding what should be “above the fold” and what’s below it is the hardest part!

1 Like