openHASP: An MQTT driven Touchscreen / Scene controller

That is the custom component. It has a version number independent to the firmware.

When I say independent, I mean as long as you run the custom component on the same major version as the firmware you should be OK. In this case 0.6 is the major, so 0.6.3 custom should work with 0.6.2 firmware, but you can’t mix, say 0.6.3 custom with 0.5 firmware.

1 Like

Has anyone had experience purchasing this screen? I ordered and paid and have heard nothing, except the email from Paypal confirming they have paid for my purchase. emails to [email protected] go unanswered. 9 days, and I would expect a shipping number or something.

I did receive an EMS tracking number for my NScreen32. Not sure about the shipping delay, but 9 days to receive a tracking seems quite long indeed. I received the package after 18 days via China Post.

The black stand, last picture in your post, do you have a .stl for that one??
Or a link to Thingiverse or similar?

The post you replied to does not have a pic of anything. Are you sure you replied to the right post?

In the very first original post, there was some pics. Maybe I replied to a later post.
But it’s this one……

That is a Raspberry Pi display with an ESP32 board stuck to the back. Due to the position of the display header it stands nicely on its own with no case.

Oki thanks. What about the white one? Also not a printed/bought case?

The white desktop stand is from this build and is available on Thingiverse in 2.4" and 2.8" sizes.

I’m currently using the FreeTouchDeck myself which is also quite nice and has a larger 3.5" screen:

Has anyone got any of the Avatto touch screens, a few different sizes for different applications.

Why do people post questions like this with no link?

1st result for avatto on google

Get computer science questions answers and online practice material for competitive exams like GATE, UGC NET, Bank exams , CFA,CMA and many more.

Sorry about that. They have a few smart thermostats. Link

Nice black and white one
Not as wide smart switch

Wall panel

1 Like

Thanks. Hard to say without knowing what processor, screen and touch device they use. And there seems to be nothing about that.

1 Like

We need to have a tear down of the device to know what hardware it uses. The mention of Tuya is not a good sign for hackability…

Hi people,
having some issues getting the dropdown to update when it changes in HA.

here are the options that are listed in the pages.jsonl file:

{"id":4,"obj":"dropdown","x":130,"y":60,"w":100,"h":35,"bg_color":"#2C3E50","options":"Off\ncool\nheat\heat_cool\nfan_only\ndry"}

currently have this set in the yaml file:

- obj: "p6b4" # HVAC Modes
        properties:
          "val": >
             {% if state_attr('climate.izone_controller_000042221', 'hvac_modes') == "Off" -%}
             0
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'Cool' -%}
             1
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'Heat' -%}
             2
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'Heat/Cool' -%}
             3
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'Fan Only' -%}
             4
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'Dry' -%}
             5
             {% else -%}
             0
             {% endif -%}
        event:
          "changed":
            - service: climate.set_hvac_mode
              data:
                hvac_mode: "{{ text }}"
              target:
                entity_id: climate.izone_controller_000042221

it works if i select it from the openhasp panel but not if i change it from the HA screen.

probably got this super wrong btw haha

There’s an \n missing before heat_cool but I don’t think that’s the issue:

{"id":4,"obj":"dropdown","x":130,"y":60,"w":100,"h":35,"bg_color":"#2C3E50","options":"Off\ncool\nheat\nheat_cool\nfan_only\ndry"}

Not sure, but have you tried to compare the state_attr with the lowercase values like so:

          "val": >
             {% if state_attr('climate.izone_controller_000042221', 'hvac_modes') == "Off" -%}
             0
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'cool' -%}
             1
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'heat' -%}
             2
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'heat_cool' -%}
             3
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'fan_only' -%}
             4
             {% elif state_attr('climate.izone_controller_000042221', 'hvac_modes') == 'dry' -%}
             5
             {% else -%}
             0
             {% endif -%}

What do you see when you monitor the mqtt topic? Does the .val get send?

I suppose none of the values match and it defaults to p6b4.val=0. Maybe change the {% else -%} value to -1 or some other marker so you know nothing was matched… for troubleshooting.

yeah i fixed up the \n after the page didnt display correctly on the panel.

ok i’ll check that tonight. its a very dark deep hole once you start creating pages for different applications hahaha

Hi, I am very new to the hardware side of things, but always eager to try new things. Is it appropriate to ask questions here regarding the hardware side if the setup? I am struggling a bit with getting the screen working with the esp32. I am quite sure I do not know what I am doing. I have the app up and running on a LOLIN D32 Pro V2.0.0. I was able to configure the wifi and I can get to the web admin panel of it via a browser. I am attempting to use the Lolin tft 2.4 for the touch screen. I soldered header pins onto the D32 and thats about as far as I can get. I played around with aligning the inner rows and I can get the backlight to come on, but thats it. I see in the instructions it says To use PWM dimming on the Lolin TFT 2.4" you must connect the TFT-LED pin to either D1, D2 or D4. D1 is recommended for backlight control and configured by default. I see that picture and it highlights an area in red, how are you supposed to “connect” that? All new to me. Would love pics on how to line up the D32 to the screen and how to connect the led to the D1. Thanks for any help.

Hi, for the Lolin D32 Pro you can actually use the special TFT connector in the center of the board and attach it to the same TFT connector on the side of the LCD. It will connect all the necessary pins using a single cable. The solder pads are only needed for boards that plug directly onto the pin-header on the backside of the LCD…

Now, you could also connect everything using jumper cables to these GPIOs:

    TFT_MISO=19
    TFT_MOSI=23
    TFT_SCLK=18
    TFT_DC=27
    TFT_CS=14
    TFT_RST=33
    TFT_BCKL=32
    TOUCH_CS=12

Provided you are using the lolin-d32-pro_ili9341_full_16MB firmware that you compiled from source or downloaded from here.

If you have a Github account, feel free to join the Lolin D32 Pro discussion there.

1 Like

Thanks for the reply! I am using the incorrect firmware for starters :). I will give that a shot. I have a kit on the way to make a cable for the TFT connector. Thank you for the help. I will check out the GitHub discussion.