New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
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)
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)
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)
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.
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)
Hello,
?
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.
You mean if you use the optionIt would also be very interesting to have more than one page that can be updated
Code: Select all
DBONUSPAGE=XEdit:
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)
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)
Few updates for the moment.
I m wating for the new widget that mix a temperature sensor + the setpoint (with options like min/max)
I m wating for the new widget that mix a temperature sensor + the setpoint (with options like min/max)
- 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)
Should be there in latest beta : https://github.com/domoticz/domoticz/pull/6444Thorgal789 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)
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
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)
Yeah ^^.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
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)
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.
-
-
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.
-
-
-
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)
The new version is now online, on master branch.
Some cosmetic changes, the group/scene widget now react on clic.
Some cosmetic changes, the group/scene widget now react on clic.
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
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)
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)
The problem is there is so much binaries possibles, lot of hardware, lot of settings according the feature you need.
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 ?
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)But i can compile binary if you want one specific ? Just say me the hardware and the settings ?
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
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.
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)
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)
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¶m=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¶m=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)
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 (130.16 KiB) Viewed 23 times
-
- Somfy_dashboard.jpg (77.88 KiB) Viewed 23 times
-
- 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)
Some more pictures....
- Attachments
-
- ScreenKamerKlein.jpg (32.62 KiB) Viewed 19 times
-
- Display_screen_kamer-klein.jpg (111.52 KiB) Viewed 19 times
-
- 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)
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
Need to have
Not sure for synthax, but ATM my domoticz installation is out ^^
You can check the good switchtype with the url
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;
}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;
}You can check the good switchtype with the url
Code: Select all
http://IP:PORT/json.htm?type=command¶m=getdevices&rid=IDWho is online
Users browsing this forum: No registered users and 1 guest