HA SwitchPlate HASPone: DIY In-Wall Touchscreen Home Assistant Controller

I am very happy with this project. I implemented it a couple of days ago with a 2.4 “nextion display. I have a 4.3” (basic) display at home. Could someone send me a .tft file? Possible? (Edit failed. Size is fine but does not work.)


For now, an impromptu box :sweat_smile: :sweat_smile:! But I love it.

1 Like

Hi.
I would like to connect my 3,5" Touch LCD to an ESP8266 12F; does it work? If not; maybe with a ESP32 Wroom?!
HASPone is already flashed on my ESP8266 and updated to the latest firmware.
Please help me to enjoy this HASPone with my hardware :wink: ! :slight_smile:
Thanks a lot!

You’ll want to follow the BOM provided here: Building your own HASPone · HASwitchPlate/HASPone Wiki · GitHub

You can use other size Nextion screens, but you’ll have to do some work to make it happen: Modifying HASPone to work with other Nextion screens · HASwitchPlate/HASPone Wiki · GitHub

thanks for your reply.
Is there another posibility / another firmware to control my devices over MQTT with a Touch Display?! in Home Assistant?
Thanks!

I finally got some projects out of the way and am ready to set up my HASP device. I bought it when it was first available, like Version 1.0

Because this is probably ancient compared to what you are making today, if I follow the instructions in " Setup HASPone for Home Assistant", are there any bumps in the process that Version 1 configuration might present to me?

I’d update the firmware on the device and LCD first, then run through that setup!

Thanks.

The following is a running diary of the steps I take to get HASP running and on Home Assistant.

To be clear, I just flashed the ESP with HASwitchPlate.ino.d1_mini.bin through the USB port.
I updated the Nextion with HASwitchPlate.tft using a FAT32 microSD card

Now when I restart the HASP, I can log on to the HASP AP (192.168.4.1) and when I point a browser to 192.168.4.1, I get the WiFi setup page and enter my WiFi credentials.

Then… nothing.

If I restart the HASP, it just goes back into the AP mode. It never logs on to my local network.

I took it apart again to plug in a serial port, and this time with the serial port plugged into the Wemos, I got to the WiFi Connected page. But the Broker address is wrong. My broker is separate from my Home Assistant installation, and I entered the IP address for my broker in the setup… (We will address this later).

I removed the USB and reconnected line voltage to the HASP, and I am back to the AP mode. If I press the reset button on the ESP and I get the WiFi connected page.

But if I just apply line voltage to the HASP, it goes into the AP mode. This won’t work is there is a power fail and I need to manually reset the Wemos…

OK, I manually reset the Wemos and when I received the WiFi connect page I pointed a browser to the assigned IP and got the server page from the Wemos where I was able to change the Broker address. I press “Save Settings” and the Wemos reboots. Into the AP mode. I press the reset button on the Wemos, and again the HASP starts in the WiFi Connected page. With the correct MQTT broker address.

Continuing.
I leave the HASP on in its WiFi connected page and go to the github page to download the “HASP Core Functionality” blueprint. When I click on “Create Automation” in Blueprints, I get “No matching devices found”

Strange since Home Assistant detects other devices, most recently some Wemos D1’s running WLED, but HASP is not discovered.

I restarted HA to force discovery, but still “No matching devices found”.
Rebooting HASP - still not found.

Dinner break. Maybe discovery will work over the next hour.

Still, no matching devices. Log onto the HASP UI again at 192.168.1.15 - Still there. Let’s try a soft reboot from the UI, “Reboot Device”. OK, HASP reboots, wait a few minutes and… still, no matching devices.

Well, how about “Update Firmware”? I’ve tried everything else and since I flashed the binary that I downloaded from github earlier today, what could go wrong? Nothing. I mean nothing went wrong. The firmware “updated” (the version didn’t change) using “Update ESP from URL”. After a minute or two, the HASP rebooted, and going to Home Assistant - Blueprints, surprise- the device was discovered. Click on “Save” then “Run Actions” and wait a while. A few minutes, actually. But when it was done, I had the core display showing on the Nextion.

Now it’s time to try adding the “Display Clock with Icon” blueprint.
In config/blueprint/dashboard, I see “HASP p[x],b[y] displays a clock with a clock icon” has been added to the list of blueprints. As before, click on “Create Automation”. In “Blueprint”, select the HASP device, “Save”, then “Run Actions”.

Success- so far. The HASP is running, the core display is running and the clock with icon is in button 1.

More success- probably through updating the firmware through the URL, but now the HASP reboots when the line power is cycled off then on. Just like it’s supposed to. No reset required. Time to put the HASP back together.

Final note in this diary. I put HASP back together and powered it up. And it took several minutes to log on to the WiFi. But it’s still working. I was a bit surprised that it took minutes to connect to the WiFi router. But when it did connect, I opened the device IP again, and the signal strength dropped from -77 to -80 which could explain the long log-on time.

esphome. esphome.

I don’t know how to wire the display and ESP32.

There are only two wires plus two for power.

I would like to wire my 3,5" Touch LCD Arduino Shield ILI9481 to the ESP32 WROOM.

I thought you had a nextion display. Now you have clarified, see here openHASP

Kyle- do you have the desktop enclosure designed yet?

Where are the default theme colors defined?
On page 1, I have two toggles and the time and temperature. I would like to have the time and temperature to be white-on-black, just like the the toggles when the lights are off. In other words, if neither light is on, the screen would be grey. But the time and temperature are a white background.

I have been able to change the clock background, but I haven’t figured out what HMI colors the defaults use.

Edit- mostly fixed. (But still, where are the defaults defined?)
I installed the dark blueprint and the time and temperature “buttons” are the default dark background as I wanted.

New minor issue. I enabled scrolling and it works fine except my page 2 label, and only my page 2 label, is not the same white on grey as the other page labels.

The “default” theme is what was defined in the original Nextion project file, which is where the white background with black foreground comes into play. When you run the Core Functionality blueprint, 4 RGB lights are created to handle the 4 theme elements common to most Nextion objects (selected foreground/background, and unselected foreground/background). Then, each blueprint you deploy that outputs to a button will also have the function of applying those 4 colors to that button. If you have buttons that do not have blueprints assigned to them, they’ll retain that default black on white coloring.

If you have a button that isn’t being used, but which you want to have a theme applied, try the Apply Theme blueprint:

Apply Theme

Does this behavior persist if you reboot the device from the web admin page?

I installed it in the wall and when it powered back up, the Page 2 label was still white on black. All the others are white on grey.

What are the default colors? I mean what are the default Itead color values?

Also, when in the wall, I realized that the viewing angle of the screen was inverted. It looks fine if you are three ft tall, but at 5 ft, the buttons can’t be read. It the link in post 1558 still the correct fix?

I have a Nextion 3.5" display that I would like to use on my desktop.
This file doesn’t exist. Is there another source for the 3.5" Nextion?