I have only been using HA for about 3 weeks now but I’ve now got it running nicely in a Docker container on my server and linked into about 14 lights and switches (philips/belkin/tp-link/Xioami/Sonoff) a Philips hue, and Logitech companion, 3 chromecasts, two google homes (one full one mini) and some other odds and ends. It’s also behind an nginx ssl reverse proxy using my SSL cert.
Anyway, recently I noticed a Pi case on ebay for 24 dollars that had a 3.5 inch 480x320 touchscreen on it. It started me thinking that it might be an idea to plant one in each room in the house.
the touchscreen and display are surprisingly good for such a cheap box.
Basically, what I want to do is have a basic UI being a big button down the bottom that just turns the light on or off in the room you are in… that seems easy enough as it could just use a HTTP request to HA to achieve that goal. I could put a full HA on each one, with a shared config I spose, but that would be a pointless exercise I think. Keep it light and zippy.
The top half of the screen I’d like to be a button that starts google listening to requests… or alexa or whatever… basically just voice control. If you used a Pi with bluetooth you could pair a speaker and ask it to play a song, or ask questions etc… it’d be kind of a pseudo Google home mini in my case… Not sure how best to achieve that. Also thought maybe a inter-house intercom would be cool too… could even add a little camera to it for that.
After a bit of searching I found this: https://github.com/harbaum/TouchUI
which is for making simple python UI for low res screens. I’m going to try it on my pie here and try it for usability.
I don’t have a specific question… more of a RFC… I’d like to hear thoughts and stuff it might be that I’m replicating someone elses work or doing it the hard way etc… Just chasing any thoughts and suggestions you might have. I started thinking this way because my daughters said it was a pain to have to walk to the nearest google home and use voice to turn on lights at night. plus I’d already bought the case and screen and didn’t have a use in mind at the time.
You may want to have a look at HADashboard which was developed having wall-mounted tablets in mind and is already integrated into HA.
I am about to do the same thing as yourself and have the same experience. I am about 3 weeks into this. I am going to purchase a touch screen for a Pi next week and was going to work on getting HADashboard working with it.
I have my insteon lights, Logitech remote, emby, kodi, thermostat, pandora and Monoprice whole house audio working with it. Going to add my unifi networking and some IP cameras to it this weekend.
+1 for HADashboard. It’s extremely simple to set up and get up and running, and creating Dashboards, while text-based, is extremely straightforward.
You could also consider using a Nextion display coupled to an ESP8266 (e.g. Wemos ) to provide the logic and the communication back and forth (via MQTT) with the Pi running your Hass instance.
This is the approach I am working on.
Interestingly, I looked at HADashboard early on (after finding a forum post taking about it being rewritten. When I thought about it after discovering this screen’d case I discounted it because I got the impression that it was designed for much bigger displays with much more interaction than I wanted. I’m basically chasing a wifi connected smart switch with the (hopeful) addition that it can be another auditory entry point for the google homes. Anything after that would just be gravy. I even saw a LCARS startrek UI for the PI that had the geek in me all excited. https://www.raspberrypi.org/blog/lcars-touchscreen-interface-raspberry-pi/ the main reason for keeping it really simple though… is that I wanted people to be able to walk into a dark room at night and reach out and touch the bottom of the screen to wake it up and turn on the light(s)
Having said all of that, I earlier tried to install AppDaemon on my pi3 using PIP3 and got a ton of error messages. ending in "typeError: unsupported operand type(s) for -=: ‘Retry’ and ‘int’ the rest of the errors were out of the buffer so I just hit the up arrow and started it again… and it worked… bizarre as I’d not changed anything. Now that it worked I guess I’m gonna find out what HADashboard looks like at 400x320.
It looks like the lcars touchscreen would have to be connected directly to the Pi. This might not be convenient depending on where you keep your Pi. The Nextion / ESP8266 option means that you can install it anywhere within WiFi range. That said, there is a fair bit of work in writing the Arduino code, also the Nextion code and getting them to work seamlessly together. I have spent about a week on it and I am not quite finished yet but it works well,