New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Subforum for general discussions. Do not dump your questions/problems here, but try to find the subforum where it belongs!

Moderators: leecollings, remb0

Ltech
Posts: 4
Joined: Sunday 23 February 2025 21:14
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Ltech »

Yes, roll back the invert ligt, and put the lightness to 0
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

Nice, so if I m right code updated with your device.
iw2fag
Posts: 5
Joined: Sunday 19 February 2023 15:54
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by iw2fag »

Good morning, this is an interesting project.
To display the instantaneous powers instead of the accumulation, I made a change to the code.
It would also be very interesting to have more than one page that can be updated.
I have tried to make a few changes but so far nothing significant, I need to read the code better to understand what to do.
My CYD device has the ILI9342 driver (9341 vs 9342 landscape vs portrait)

Starting from CYD-Domoticz-Remote-3.0.0.tar.gz for now I have made two moficies working perfectly
The first one because the device names would not be clearly visible.
in platformio.ini
..... omissis
#-DSMOOTH_FONT=1
-DTOTAL_ICONX=2 # How many icon widht
-DTOTAL_ICONY=3 # How many icon heights
-DDEVICE_SIZE=1 # Device display size
..... omissis

in data_setup.cpp
omissis ......
//if (RJson2.containsKey(“Data”)) JSondata = RJson2[“Data”];
//if (RJson2.containsKey(“Level”)) JSonLevel = RJson2[“Level”];
if (RJson2[“Data”].is<const char*>()) JSondata = RJson2[“Data”];
if ((myDevices[ID].type == TYPE_CONSUMPTION) || (myDevices[ID].type == TYPE_POWER))
{
JSondata = RJson2["Usage"];
}
...... omossis

In the near future, I will try to introduce a switch, e.g. something like
#-DFIELD_SEL=1 // energy on meter power.
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

Hello,
It would also be very interesting to have more than one page that can be updated
You mean if you use the option

Code: Select all

DBONUSPAGE=X
?

Edit:
Have started something, but after reflexion, I m not sure it's usefull.
The homepage is to display your more usefull widgets, permanently, if you have 2 pages, it mean you loose 50% of your importants widgets because you can't see them, if I want to display more than 3*3 widget permanently, better to take a bigger display.

Others page than the homepage are updated when you display them ? (but not in real time)

For the "JSondata = RJson2["Usage"];"
I have made a try on my side, device type TYPE_POWER, are displaying instantaneous powers on my side by defaut
And right, TYPE_CONSUMPTION display lot of data, but never the instantaneous powers, but for me it's normal this widget is for consumption.

If you are interested by "Consumption Statistic" I m on a new project, using E-paper, not in real time (to save battery, so bad for instantaneous power), not action possible, but bigger display and work on battery, so it's possible to put it everywhere.
maybellebodie
Posts: 1
Joined: Wednesday 03 December 2025 8:17
Target OS: Windows
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by maybellebodie »

Following this thread actually reminds me of those simple wall panels you see in a lot of home-automation scenes in movies. Nothing fancy — just clean, quick controls. The CYD setup here feels pretty close to that, and it's great to see it working so smoothly. Thanks for sharing all the updates!
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

Few updates for the moment.
I m wating for the new widget that mix a temperature sensor + the setpoint (with options like min/max)
User avatar
waltervl
Posts: 6689
Joined: Monday 28 January 2019 18:48
Target OS: Linux
Domoticz version: 2025.1
Location: NL
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by waltervl »

Thorgal789 wrote: Wednesday 03 December 2025 16:52 Few updates for the moment.
I m wating for the new widget that mix a temperature sensor + the setpoint (with options like min/max)
Should be there in latest beta : https://github.com/domoticz/domoticz/pull/6444
https://github.com/domoticz/domoticz/pull/6467
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

waltervl wrote: Wednesday 03 December 2025 17:04 Should be there in latest beta : https://github.com/domoticz/domoticz/pull/6444
https://github.com/domoticz/domoticz/pull/6467
Yeah ^^.
I don't think I'm the only one who's going to love the new widget :).

And they are still working on it
https://github.com/domoticz/domoticz/pull/6475
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

Ok, so the code is updated on branch "test"
Not official yet, because I need to re-test all widgets, it seems some libs was updated and have broked some features.

But I have added the weight widget (I need it for my cat) and have improved the thermostat widget, now it support min/max/step, I m using an "arc" widget instead of a "slider".
And If you are using the new "mixed" thermostat (the same widget can be used for temperature and setpoint), you have the temperature on the homepage, but if you select the widget you have access to the setpoint.
Have corrected the dimmer slider, it send request only on release, not during the selection with the finger.
-
-
Thermostat_widget.jpg
Thermostat_widget.jpg (117.05 KiB) Viewed 458 times
dashboard_thermostat.jpg
dashboard_thermostat.jpg (163.91 KiB) Viewed 458 times
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

The new version is now online, on master branch.
Some cosmetic changes, the group/scene widget now react on clic.
Menno
Posts: 38
Joined: Wednesday 24 July 2019 13:23
Target OS: Linux
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Menno »

Could you perhaps make some binaries available?
Platformio and I do not get along.
Or a webflasher like https://lachimalaif.github.io/DataDispl ... nstalator/
(Very nice data display for the CYD)
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

The problem is there is so much binaries possibles, lot of hardware, lot of settings according the feature you need.

Code: Select all

	#-DFORCE_CONFIG # Enable or disable the forced network configuration.
	-DFORCECALIBRATE=false # Reset the calibration at every restart, used to reset it after a config change.
	#-DOLD_DOMOTICZ # If you are using older Domoticz version < 2023.2
	-DBONUSPAGE=0 # Special page to add, similar to Homepage but not updated, from 1 to 3
	-DFASTCLIC # Enable 1 clic action for some widget
	#-DNO_INFO_PAGE # Disable the Info panel
	#-DNO_GROUP_PAGE # Disable the Group/scene panel
	#-DCUSTOM_FONT
	#-DAUTO_BRIGHTNESS
	#-DLIGHTWS # Only possible for version > 16088, decrease WS requests.
	#-DPUSHOTA # To enable PUSH OTA (Don't enable both OTA)
	#-DPULLOTA # To enable PULL OTA (Don't enable both OTA)
Long time I have installed Platformio but I don't remember I had problem, if I remember all was working with defaut settings.

But i can compile binary if you want one specific ? Just say me the hardware and the settings ?
Menno
Posts: 38
Joined: Wednesday 24 July 2019 13:23
Target OS: Linux
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Menno »

My board has ESP32-2432S028 printed on it, but it should be a ESP32-2432S028R, as the R means resistive touch.
The DataDisplay by lachimalaif works on it, so all hardware, including touch works.
I was able to compile for the board definition ESP32-2432S028R and upload this, but afterwards the screen just stays blank.
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

I know at least 3 versions for the ESP32-2432S028R, we can differentiate them with usb port.
But from my memory they can work bad, but not with blank screen (the BL PIN is always 21)

It's possible to use 3 different driver for this device but as the lachimalaif code use the lib TFT_eSPI for graphic, I don't see why you can have issue, it's the one used by defaut on code.

On Platformio, with the device connected, can you try the fonction "serial monitor", you will have debug logs (you can reset the device on the button RST)

Code: Select all

Starting application
Config version: 3
Display buffer size: 7680 bytes
Screen init done
Brightness value: 255
Wifi connecting to SSID: XXXXXXXXX
WiFi Status: Disconnected
Wifi connected
Connecting to Webserver
[WSc] Connected to url: /json
http://192.168.1.1:8080/json.htm?type=command&param=getdevices&rid=122
Re-alloc from 0 to 8
Initialise Domoticz device id: 122 , Name : Loki
http://192.168.1.1:8080/json.htm?type=command&param=getdevices&rid=75
Re-alloc from 0 to 3
Initialise Domoticz devic
Rik60
Posts: 151
Joined: Sunday 25 June 2023 21:54
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.2
Location: The Netherlands
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Rik60 »

I see some strange things, if i look at the icons and settings in Domoticz comparing with the display icons, they don't match. See the attached images.
Attachments
Display_dashboard.jpg
Display_dashboard.jpg (130.16 KiB) Viewed 23 times
Somfy_dashboard.jpg
Somfy_dashboard.jpg (77.88 KiB) Viewed 23 times
ScreenBoven.jpg
ScreenBoven.jpg (31.3 KiB) Viewed 23 times
Last edited by Rik60 on Wednesday 25 February 2026 21:17, edited 1 time in total.
Rik60
Posts: 151
Joined: Sunday 25 June 2023 21:54
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.2
Location: The Netherlands
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Rik60 »

Some more pictures....
Attachments
ScreenKamerKlein.jpg
ScreenKamerKlein.jpg (32.62 KiB) Viewed 19 times
Display_screen_kamer-klein.jpg
Display_screen_kamer-klein.jpg (111.52 KiB) Viewed 19 times
Display_screen_boven.jpg
Display_screen_boven.jpg (104.24 KiB) Viewed 19 times
Thorgal789
Posts: 882
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)

Post by Thorgal789 »

Ha yes the "screen kamer klein" is not reconised as covering ?
So the "blind percentage" are good but not "blind % + stop".

On the code you can found

Code: Select all

                else if ((strcmp(switchtype,"Venetian Blinds EU") == 0) || (strcmp(switchtype,"Venetian Blinds US") == 0) || (strcmp(switchtype,"Blinds Percentage") == 0))
                {
                    d->type = TYPE_BLINDS;
                }
Need to have

Code: Select all

                else if ((strcmp(switchtype,"Venetian Blinds EU") == 0) || (strcmp(switchtype,"Venetian Blinds US") == 0) || (strcmp(switchtype,"Blinds Percentage") == 0) || (strcmp(switchtype,"Blinds % + Stop") == 0))
                {
                    d->type = TYPE_BLINDS;
                }
Not sure for synthax, but ATM my domoticz installation is out ^^

You can check the good switchtype with the url

Code: Select all

http://IP:PORT/json.htm?type=command&param=getdevices&rid=ID
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest