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

Testing HASPone v1.06

Getting close to the next release, if anyone wants to kick tires on the next version you can enter the following into the “Update ESP8266 from URL” field: https://haswitchplate.com/update/dev/HASwitchPlate.ino.d1_mini.bin

What’s new

  • MQTT discovery updated to align with latest standards
  • Revert update process back to update server, GH has changed their certs and the existing project can no longer communicate directly with github.
  • Update of core libraries brings WiFi and stability improvements
  • Added demo ESPhome configuration, allowing use of the HASPone hardware with ESPhome.
1 Like

Direct link to server -
(Error returned on HASPone screen)
Update fails
Wrong http code

Will try downloading bin in a bit.

Ok first download of bin failed
Tried again and success but took a long time to down load 655kBs. Anyway update also successful to 1.06

Will give it a try and report any issues
Thanks for all the effort on this project.
Have three Haspones running and love them

When you say “direct link to server”, what happened? If it was the default in the firmware page, sadly that’s broken due to a change on GitHub’s side on how they handle certs, so a manual update by pasting in the following URL will have to be the path forward.

https://haswitchplate.com/update/dev/HASwitchPlate.ino.d1_mini.bin

Did a cut and past to the link provided. Just returned that Failure notice… three times.
Then download bin and updated directly from local computer worked.

After above I tried the link update again and all worked fine. Not sure what the earlier issue was, maybe my side… Anyway worked now as it should.
Thanks

Updated other two HASPone units using direct link to server with no issue.

1 Like

That’s helpful feedback, thanks man! I’m wondering if maybe that one panel was still on 1.04.

Insecure link that should work on all prior versions: http://haswitchplate.com/update/dev/HASwitchPlate.ino.d1_mini.bin

@luma where can I find the ESPhome configuration demo?
I already update for HASPone v1.06

You can’t because the switchplate is not an ESPHome device.

Still in the dev branch here: https://github.com/HASwitchPlate/HASPone/tree/dev/esphome

This will let you utilize the HASPone hardware as an ESPhome platform, but it’s important to note that you are now in control of everything and none of the blueprints for the HASPone project will work. Think of this as an easy way to start your own Nextion project where you have a solid hardware solution as a starting point leaving you to focus on the user experience.

You’ll have to re-create literally all the software components, but hey ESPhome is pretty rad at making that reasonably simple. I use ESPhome a lot and there are currently 30+ devices around my house doing various things and so I’m a huge fan of the platform. Having said that, my HASPone’s are all running the HASP code, because the blueprints are what makes this project magic.

Tanks, but I think I will study better and for now I will continue with the HASP project and in parallel building the Esphome code like my devices here

I just dug up 2 HASPone’s that I had purchased a while back, and just flashed the github code for both the ESP and the Display.
Started up, got the AP, but when I navigate to the page, I only see the options to add WIFI credentials. No MQTT on the page. When I go ahead and put my WIFI, it connects, I get the placeholder screen saying that WIFI is connected and asking to Configure MQTT with an IP address, the same one listed under the WIFI.

I cannot navigate to the IP address to access the portal again.
Is there a way to connect to MQTT? Do I have the wrong bin file that I flashed it with?
I got the .bin from here

ok, figured it out.
Had to delete the client from my router (basically forget it), and reflash the unit to start over.
The MQTT appeared on the portal and now is connected.

Anyone has issues with creating automations from the core blueprint?
I am following the instructions from YouTube and the documentation.
I can get to the new automation from the blueprint, I can save, enter a new name, no errors, nothing in the log (main log is where I am looking), but the Run button under the 3dots is disabled. Cannot press it. When I go to the list of automations, my new automation is not there and therefore not created.

Anyone seen this?

EDIT:
@luma , I went through the thread, and I think I checked everything.
Including this. HA SwitchPlate HASPone: DIY In-Wall Touchscreen Home Assistant Controller - #1903 by luma
Any other hints as to why I cannot save or run an automation off the blueprint. Blueprint is 1.05 on my machine.

When you deploy the core automation, do you see your device in the pull down for HASPone Device?

Yes. My device is there and i select it. Automation saves (save button disappears) but run remains disabled. When I go back to the automation list on the prior menu, the new one is not listed.

Check Traces (probably nothing there yet, just to confirm), and then check in the logs after saving. HA isn’t liking something and should be firing a log somewhere…

edit: another solution, off chance that an old version of the device is stuck out there, so try this: Fix common HASPone issues · HASwitchPlate/HASPone Wiki · GitHub

Nothing on the logs. I followed the files, and found 2 automations. The one the UI is pointing to to retrieve the automations was different than the one it was saving them to,
Don’t ask me how.
I just fixed the mapping for read and write, and all of my saved trials showed up.
I’m off to the races. Thank you so much…

I have most of my automations in Node-Red. I thought the best interface between the HASPone and Node-Red would be MQTT. Is this the best solution to trigger flows in Node-Red?

I am using the blueprint which programs a button to perform an action.
I publish a MQTT topic which is then picked up in Node-Red.

The concept works, but for some reason I am getting 2 messages received on the Node-Red side.
Here is the Node-Red flow and debug showing the 2 messages with each button press.

The automation looks like this:

QoS is 2 on both sides.

Any idea where to start looking?

Is there any chance you’re seeing one event on press, then another on release?

If you’re going to be using Node-Red and MQTT anyway, maybe you can save a few steps and just monitor the HASPone traffic directly. That might help with the mental model here as you’ll see exactly what the device is sending and then choose how you want to react.

So the button press on the automation side would trigger on both actions? Press and release? I have not dug into the Nextion file or the code yet.
I will look into what is going on here otherwise I’ll have to trigger on Node-Red on the first message and ignore the second if the same. Filter it on the receiving end.

Will also look at the approach you listed. May be the one I want and use a switch node to parse the messages and topics I want to route where.

Which topic does the HASPone publish all its traffic under?

Here’s an explanation of how you can parse HASPone MQTT messages using something like NodeRed. Link goes to the direct section showing the MQTT message coming from a button press, but do also check out the rest of the document as it’ll have a lot of detail you’ll want to know if you’re going to forego the blueprints and do everything in NodeRed.

Using that document and considering your screenshot above, a button press on page 1 button 5 of HASPone device gallery_lcd_sw would send the message ON on topic hasp/gallery_lcd_sw/state/p[1].b[5]. Releasing that button would send the message OFF on the same topic.

Got it. Thanks for the help.
I will be using the blueprints as the cover most of my use cases. There are a few flows in Node-Red I need to trigger. This is totally workable. I will get to it.
Thanks again.