New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Moderators: leecollings, remb0
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
I have some information, is this what you meant?
- Attachments
-
- Domoticz_Current_SwitchTypes.doc
- (56.5 KiB) Downloaded 170 times
-
- Posts: 851
- 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)
Yes, exactly, thx.
But WTF ! What is this hardware ? First time I see RFX device, seriously what the "Lightning 1"/"philips" have more than the classic "Light/Switch"/"On/Off" ?
So I have modified the code.
- All device of type "Lightning X" are light by defaut, so with subtype "ARC", "AC", "X10", "ELRO AB400"
- All device with subtype ""Impuls" are push button, I presume "impuls" mean "impulse" ?
I have problem with
It's dimmer device ?
On classic hardware it's "Type" : "Light/Switch", "SubType" : "Switch" AND "switchtype" : "Dimmer". And they haven't "DimmerLevels".
Can you check if your device have too "switchtype" : "Dimmer", I think no, It can explain why your switches haven't command on the device, they are reconised as "passive "switch.
If you haven't "switchtype", I will check for "IsDimmer" : true.
Same for it
This one haven't switchtype=on/off ?
Have pushed the actual change on the branch "test".
But WTF ! What is this hardware ? First time I see RFX device, seriously what the "Lightning 1"/"philips" have more than the classic "Light/Switch"/"On/Off" ?
So I have modified the code.
- All device of type "Lightning X" are light by defaut, so with subtype "ARC", "AC", "X10", "ELRO AB400"
- All device with subtype ""Impuls" are push button, I presume "impuls" mean "impulse" ?
I have problem with
Code: Select all
{
"DimmerLevels" : "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100",
"IsDimmer" : true,
"Name" : "Screen boven",
"SubType" : "Switch",
"Type" : "Light/Switch",
"idx" : "714"
},
On classic hardware it's "Type" : "Light/Switch", "SubType" : "Switch" AND "switchtype" : "Dimmer". And they haven't "DimmerLevels".
Can you check if your device have too "switchtype" : "Dimmer", I think no, It can explain why your switches haven't command on the device, they are reconised as "passive "switch.
If you haven't "switchtype", I will check for "IsDimmer" : true.
Same for it
Code: Select all
{
"DimmerLevels" : "none",
"IsDimmer" : false,
"Name" : "Zigbee plug 3",
"SubType" : "Switch",
"Type" : "Light/Switch",
"idx" : "730"
},
Have pushed the actual change on the branch "test".
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Ha, ha, need to explane something.
RFX is a RFXcom tranceiver on 433MHz, mainly used for remote controlled (plugin) powersockets. But there are also dimmers, and other devices remotely controlled on 433MHz. There are some brands (Impuls, Elro, Kaku) using the 433MHz, and using different codes.
So is "Impuls" not a pushbutton, its a brand. In my case they are also remote controlled powersockets on 433MHz. The 433MHz devices are one way direction communication devices.
The dimmer device with idx 714 name "screen boven" is a rollershutter controlled by a Somfy I/O system. I can open or close but also give it a setpoint like a dimmer. This is also for idx 713, 716, 717, 718. 712 is awning controlled by Somfy I/O.
All devices with "relais" in the name are relais connected on the Raspberry GPIO.
Thx.
RFX is a RFXcom tranceiver on 433MHz, mainly used for remote controlled (plugin) powersockets. But there are also dimmers, and other devices remotely controlled on 433MHz. There are some brands (Impuls, Elro, Kaku) using the 433MHz, and using different codes.
So is "Impuls" not a pushbutton, its a brand. In my case they are also remote controlled powersockets on 433MHz. The 433MHz devices are one way direction communication devices.
The dimmer device with idx 714 name "screen boven" is a rollershutter controlled by a Somfy I/O system. I can open or close but also give it a setpoint like a dimmer. This is also for idx 713, 716, 717, 718. 712 is awning controlled by Somfy I/O.
All devices with "relais" in the name are relais connected on the Raspberry GPIO.
Thx.
-
- Posts: 851
- 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 I need to reverse the code ^^.
Do you have check the presence of field "switchtype" on device "Screen boven" and "Zigbee plug 3" ? (can use http://IP:PORT/json.htm?type=command¶m=getdevices&rid=ID)
For me yes, because they are more "standards" devices.
Or you can test with last "test" branch, It will be enought for most of your devices, IDK for RFX dimmer.
Do you have check the presence of field "switchtype" on device "Screen boven" and "Zigbee plug 3" ? (can use http://IP:PORT/json.htm?type=command¶m=getdevices&rid=ID)
For me yes, because they are more "standards" devices.
Or you can test with last "test" branch, It will be enought for most of your devices, IDK for RFX dimmer.
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
I have downloaded the latest test version yesterday evening. It works, i think you can remove the "Ïmpuls" part in Data setup lines 414/417.
At the moment the screens/rollershutters are not working. I can select "screen boven" on the home screen and the second screen with a slide switch appears but i can't move it, it dark, not selectable.
Is the data on the display synchonized with the main Domoticz, is i switch a light on, on a mobile phone, is it on the display also? Or is the dispay acting like a switch with no actual switch status?
I tried also to display a temp en hum sensor on the dispay, it worked but after selecting this device the display was very slow, almost not responding on touch. After removing that device from the display (took some time) the display freezes and had to reset it with the button on the back.
Attached some info about "Screen boven" and "Zibee plug 3".
Thx
At the moment the screens/rollershutters are not working. I can select "screen boven" on the home screen and the second screen with a slide switch appears but i can't move it, it dark, not selectable.
Is the data on the display synchonized with the main Domoticz, is i switch a light on, on a mobile phone, is it on the display also? Or is the dispay acting like a switch with no actual switch status?
I tried also to display a temp en hum sensor on the dispay, it worked but after selecting this device the display was very slow, almost not responding on touch. After removing that device from the display (took some time) the display freezes and had to reset it with the button on the back.
Attached some info about "Screen boven" and "Zibee plug 3".
Thx
- Attachments
-
- Screen-boven.doc
- (23 KiB) Downloaded 117 times
-
- Posts: 851
- 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)
Hu ? It was normaly already removed when you have downloaded the code, I need to check if I haven't made the change on the wrong branchi think you can remove the "Ïmpuls" part in Data setup lines 414/417
Yes and no ^^. Yes the code is able to update the widget on homepage, and it does for sensor or warning widget for exemple, but I haven't do something for switch, If you have an idea of something I can do with design ? I prefer avoid use a different icon, because of memory, I can "gray a little" the icon like I do for group, but not realy visible.Is the data on the display synchonized with the main Domoticz, is i switch a light on, on a mobile phone, is it on the display also? Or is the dispay acting like a switch with no actual switch status?
Perhaps a circle under the icon ? Change the background color will be too much for me. Changing the color ? Honneslty I m still thinking use a special icon is the better solution ....
I think it's because the graph, it depend of hardware processor, domoticz json (some of them can be realy hudge).I tried also to display a temp en hum sensor on the dispay, it worked but after selecting this device the display was very slow
Can you try with another sensor ? Zigbee one are working for me, else to finish trying the device first, you can comment on device_panel.cpp line 590
Code: Select all
pTab = GetGraphValue(SelectedDevice->type, SelectedDevice->idx, &min, &max);
I m checking all was fine for thoses ones, you have issue with them ?Attached some info about "Screen boven" and "Zibee plug 3".
The dimmer device with idx 714 name "screen boven" is a rollershutter controlled by a Somfy I/O system. I can open or close but also give it a setpoint like a dimmer.
Code: Select all
"Type" : "Light/Switch",
"SubType" : "Switch",
"SwitchType" : "Blinds Percentage",
Strange you need to have 3 buttons on the right (up/stop/down) and a slider on the left. I have just made a try 10 mn ago.
Have updated again the "test" branch 5 mn ago, a crash that can happen for device without data.
Edit:
Have edited the code again, now you have a small "power on" icon on device on "on" state, and it work in real time. Time to find a better display mode.
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Hi,
I have downloaded the latest version, commit 3d76de1.
If i disable the group screen but swipe to it, the display crashes and restart, see attachment.
Display very slow when trying to display temp/hum sensor, see also same attachment.
In Domoticz i have created a group (IDX 5) that turns on/off the 4 zigbee devices. Is it possible to have this on the display to?
Suggestion for On/Off indication of a switch: put the text On or Off insteat of the power symbol?
Thanks
I have downloaded the latest version, commit 3d76de1.
If i disable the group screen but swipe to it, the display crashes and restart, see attachment.
Display very slow when trying to display temp/hum sensor, see also same attachment.
In Domoticz i have created a group (IDX 5) that turns on/off the 4 zigbee devices. Is it possible to have this on the display to?
Suggestion for On/Off indication of a switch: put the text On or Off insteat of the power symbol?
Thanks
- Attachments
-
- Display_crash_swipe.doc
- (25.5 KiB) Downloaded 101 times
-
- Posts: 851
- 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)
About the freeze for temperature sensor. When I make a try on my side
And on your side
The slower device I have is a device that make temperature+humidity+pression
So idk what is this device, can be a setting in domoticz (you can set an interval ) but for me this json is too big for the device, perhaps there is useless stuff inside ? I can perhaps use a filter.
Need to comment this line, you have it enabled by error during my tests.
For the moment I display a "on" or nothing if the device is "off" (more visible for me).
New version online in branch "test" 5 mn ago.
Code: Select all
content Length : 4786
Free memory : 110580
Code: Select all
content Length : 161936
Free memory : 220
Code: Select all
content Length : 81158
Free memory : 55284
The group/scene feature is still WIP, but yes you can make a try, have corrected the crash. This panel will show ALL groups/scenes (no watchdogs, idk if it can crash) , you can scroll bottom/top, but need to be re-enabledIf i disable the group screen but swipe to it, the display crashes and restart, see attachment.
In Domoticz i have created a group (IDX 5) that turns on/off the 4 zigbee devices. Is it possible to have this on the display to?
Code: Select all
-DNO_GROUP_PAGE # Disable the Group/scene panel
So display them like sensor, with a text on right ?Suggestion for On/Off indication of a switch: put the text On or Off insteat of the power symbol?
For the moment I display a "on" or nothing if the device is "off" (more visible for me).
New version online in branch "test" 5 mn ago.
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Hi,
I have downloaded the main version, works fine. I think the freeze problem is solved, i was logging the sensors (short log) for 7 days. I changed this setting in Domoticz to 1 day, the graph is working now and no freezing of the display.
Thx
I have downloaded the main version, works fine. I think the freeze problem is solved, i was logging the sensors (short log) for 7 days. I changed this setting in Domoticz to 1 day, the graph is working now and no freezing of the display.
Thx
-
- Posts: 851
- 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! good to know I will make test on my side.
But I make a request that return 3 days of data (it's the same you can see in domoticz itself) , so you miss 2 days ? On my side I have set this setting to 3.
In my mind was because this device have report every 5 mn for exemple and mine every 30 mn.
I can make a watchdog, for exemple don't use the fonction if the data size > 100k, but it's perhaps too late, when I check for size, the data is probably already in memory, and thoses devices have so much memory type, IDK if it's the good one that is used.
I can too disable the automatic graph and wait the user press a button to ask for it, display will be faster, but same issue if the user ask for graph, and honnestly you are the first one with issues on them.
@kniazio have memory issue too on big json, but him it's for the "info" panel, it's for that it can be disabled. For here I have found a smaller request with less information, but he don't like the "info panel" and prefere having more page with device, so it's in stand by.
The "group/scene" page is working for you ?
But I make a request that return 3 days of data (it's the same you can see in domoticz itself) , so you miss 2 days ? On my side I have set this setting to 3.
In my mind was because this device have report every 5 mn for exemple and mine every 30 mn.
I can make a watchdog, for exemple don't use the fonction if the data size > 100k, but it's perhaps too late, when I check for size, the data is probably already in memory, and thoses devices have so much memory type, IDK if it's the good one that is used.
I can too disable the automatic graph and wait the user press a button to ask for it, display will be faster, but same issue if the user ask for graph, and honnestly you are the first one with issues on them.
@kniazio have memory issue too on big json, but him it's for the "info" panel, it's for that it can be disabled. For here I have found a smaller request with less information, but he don't like the "info panel" and prefere having more page with device, so it's in stand by.
The "group/scene" page is working for you ?
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Hi,
I was using 7 days, to test i changed the setting to 1 day yesterday. Domoticz was displaying 7 days in the graph. I can set de short logging in Domoticz to 3 days also. I can try this. I am not shure missing 2 days now because i changed the setting to 1 yesterday
If a graph is displayed, the numbers on the y-axis are not complete, see attachment, the temperature is betweent 20-22 degrees.
The group/scene is working for me, with a remark. If i switch a group "On", all lamps are going on, but i can't switch the group Off. I have to swipe to the Home screen and back to the group screen and then i can switch off.
Thx
I was using 7 days, to test i changed the setting to 1 day yesterday. Domoticz was displaying 7 days in the graph. I can set de short logging in Domoticz to 3 days also. I can try this. I am not shure missing 2 days now because i changed the setting to 1 yesterday
If a graph is displayed, the numbers on the y-axis are not complete, see attachment, the temperature is betweent 20-22 degrees.
The group/scene is working for me, with a remark. If i switch a group "On", all lamps are going on, but i can't switch the group Off. I have to swipe to the Home screen and back to the group screen and then i can switch off.
Thx
- Attachments
-
- DisplayFoutY_as_1.jpg (285.53 KiB) Viewed 2089 times
-
- Posts: 851
- 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 new version online in branch "Beta".
For your display issue,on device_panel.cpp
25 is for small device, have set 35 for yor device, but it's random, tell me if you need a better value.
Have set a scale of 4 value instead of 3 for graph on Y.
Have rewrited the group code.
- Different color for group and scene
- All the button is grayed for group
- Solve your issue.
For your display issue,on device_panel.cpp
Code: Select all
#if DEVICE_SIZE == 1
lv_chart_set_axis_tick(chart, LV_CHART_AXIS_PRIMARY_Y, 3, 2, 4, 1, true, 25);
#else
lv_chart_set_axis_tick(chart, LV_CHART_AXIS_PRIMARY_Y, 3, 2, 4, 1, true, 35);
#endif
Have set a scale of 4 value instead of 3 for graph on Y.
Have rewrited the group code.
- Different color for group and scene
- All the button is grayed for group
- Solve your issue.
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Thx,
These changes are working for me.
I think i have 1 last question/ issue, i have a CO2 sensor that is displaying its values on the home screen, but i don't get a graph.
Thanks for your help and very quick responding
These changes are working for me.
I think i have 1 last question/ issue, i have a CO2 sensor that is displaying its values on the home screen, but i don't get a graph.
Thanks for your help and very quick responding
- Attachments
-
- CO2 sensor_1.jpg (316.63 KiB) Viewed 2053 times
-
- CO2_sensor.doc
- (17 KiB) Downloaded 133 times
-
- CO2 sensor_2.jpg (167.36 KiB) Viewed 2053 times
-
- Posts: 851
- 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)
New version on branch "test".
- Have added the custom sensor
- The minimum in graph is now 0 if 0 is the lower value.
- Corrected a problem on range.
And BTW, I get data for 3 days, but I display only the last 24h, so a range on X axis is 6h.
- Have added the custom sensor
- The minimum in graph is now 0 if 0 is the lower value.
- Corrected a problem on range.
And BTW, I get data for 3 days, but I display only the last 24h, so a range on X axis is 6h.
-
- Posts: 93
- Joined: Sunday 25 June 2023 21:54
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.3
- Location: The Netherlands
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Thanks again.
No more issues at the moment, works for me now.
No more issues at the moment, works for me now.
-
- Posts: 3
- Joined: Sunday 31 March 2024 18:12
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Great project!
I have a Sunton ESP32-8048S070 ESP32-S3 7inch with 8048S070C display, and based on 8048S043C I tried to integrate on https://github.com/YO8SDE/CYD-Domoticz- ... /8048C070C fork.
But on tests, I am able to see only the right half of the screen.
Touch screen is working ok and with other projects, like Tastmota is 100%, but I want Domoticz
I have a Sunton ESP32-8048S070 ESP32-S3 7inch with 8048S070C display, and based on 8048S043C I tried to integrate on https://github.com/YO8SDE/CYD-Domoticz- ... /8048C070C fork.
But on tests, I am able to see only the right half of the screen.
Touch screen is working ok and with other projects, like Tastmota is 100%, but I want Domoticz

-
- Posts: 851
- 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)
Strange it look like a resolution issue, but all seem fine.
Have found this driver, if you can test it
Have found another project that use
But for me better to reverse width and Height, and play with rotation.
For me the missing part is 480*480.
For exemple the esp32-E32S3RGB43 use same value than you in the driver
but have them reversed in platoformio.ini
I know it's like you have done, but this part is realy "try and retry" for me ^^.
I haven't found a logic, and the code is not perfect for them, so no way to be sure.
I will wait for your device is working and update all the code with good dimension.
Have found this driver, if you can test it
Code: Select all
#include <lgfx/v1/platforms/esp32s3/Panel_RGB.hpp>
#include <lgfx/v1/platforms/esp32s3/Bus_RGB.hpp>
#include <driver/i2c.h>
class LGFX: public lgfx::LGFX_Device {
public:
lgfx::Bus_RGB _bus_instance;
lgfx::Panel_RGB _panel_instance;
lgfx::Light_PWM _light_instance;
lgfx::Touch_GT911 _touch_instance;
LGFX(void) {
{
auto cfg = _bus_instance.config();
cfg.panel = &_panel_instance;
cfg.pin_d0 = GPIO_NUM_15; // B0
cfg.pin_d1 = GPIO_NUM_7; // B1
cfg.pin_d2 = GPIO_NUM_6; // B2
cfg.pin_d3 = GPIO_NUM_5; // B3
cfg.pin_d4 = GPIO_NUM_4; // B4
cfg.pin_d5 = GPIO_NUM_9; // G0
cfg.pin_d6 = GPIO_NUM_46; // G1
cfg.pin_d7 = GPIO_NUM_3; // G2
cfg.pin_d8 = GPIO_NUM_8; // G3
cfg.pin_d9 = GPIO_NUM_16; // G4
cfg.pin_d10 = GPIO_NUM_1; // G5
cfg.pin_d11 = GPIO_NUM_14; // R0
cfg.pin_d12 = GPIO_NUM_21; // R1
cfg.pin_d13 = GPIO_NUM_47; // R2
cfg.pin_d14 = GPIO_NUM_48; // R3
cfg.pin_d15 = GPIO_NUM_45; // R4
cfg.pin_henable = GPIO_NUM_41;
cfg.pin_vsync = GPIO_NUM_40;
cfg.pin_hsync = GPIO_NUM_39;
cfg.pin_pclk = 42;
cfg.freq_write = 12000000;
cfg.hsync_polarity = 0;
cfg.hsync_front_porch = 8;
cfg.hsync_pulse_width = 2;
cfg.hsync_back_porch = 43;
cfg.vsync_polarity = 0;
cfg.vsync_front_porch = 8;
cfg.vsync_pulse_width = 2;
cfg.vsync_back_porch = 12;
cfg.pclk_idle_high = 1;
_bus_instance.config(cfg);
}
_panel_instance.setBus( &_bus_instance);
{
auto cfg = _panel_instance.config();
cfg.memory_width = 800;
cfg.memory_height = 480;
cfg.panel_width = 800;
cfg.panel_height = 480;
cfg.offset_x = 0;
cfg.offset_y = 0;
_panel_instance.config(cfg);
}
{
auto cfg = _panel_instance.config_detail();
cfg.use_psram = 1;
_panel_instance.config_detail(cfg);
}
{
auto cfg = _light_instance.config();
cfg.pin_bl = 2;
//cfg.freq = 44100;
//cfg.pwm_channel = 7;
_light_instance.config(cfg);
}
_panel_instance.light( &_light_instance);
{
auto cfg = _touch_instance.config();
cfg.x_min = 0;
cfg.x_max = 800;
cfg.y_min = 0;
cfg.y_max = 480;
cfg.pin_int = -1;
cfg.bus_shared = false;
cfg.offset_rotation = 0;
// I2C
cfg.i2c_port = I2C_NUM_0; // I2C(0 = SPI or 1 = Wire)
cfg.pin_sda = 19; // SDA
cfg.pin_scl = 20; // SCL
cfg.pin_rst = 38; // RST
cfg.freq = 100000; // I2C
cfg.i2c_addr = 0x5D; // I2C 0x5D or 0x14
_touch_instance.config(cfg);
_panel_instance.setTouch( &_touch_instance);
}
setPanel( &_panel_instance);
}
};
Code: Select all
cfg.hsync_pulse_width = 10;
For me the missing part is 480*480.
For exemple the esp32-E32S3RGB43 use same value than you in the driver
Code: Select all
cfg.memory_width = 800;
cfg.memory_height = 480;
cfg.panel_width = 800;
cfg.panel_height = 480;
Code: Select all
-DTFT_WIDTH=480
-DTFT_HEIGHT=800
I haven't found a logic, and the code is not perfect for them, so no way to be sure.
I will wait for your device is working and update all the code with good dimension.
-
- Posts: 3
- Joined: Sunday 31 March 2024 18:12
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
Thank YOU!
One video will speak for me: https://youtu.be/bQmj5jpGSt8
This is the driver : esp32-8048S070C.h in /driver folder
One video will speak for me: https://youtu.be/bQmj5jpGSt8

This is the driver : esp32-8048S070C.h in /driver folder
Code: Select all
#include <lgfx/v1/platforms/esp32s3/Panel_RGB.hpp>
#include <lgfx/v1/platforms/esp32s3/Bus_RGB.hpp>
#include <driver/i2c.h>
class LGFX: public lgfx::LGFX_Device {
public:
lgfx::Bus_RGB _bus_instance;
lgfx::Panel_RGB _panel_instance;
lgfx::Light_PWM _light_instance;
lgfx::Touch_GT911 _touch_instance;
LGFX(void) {
{
auto cfg = _bus_instance.config();
cfg.panel = &_panel_instance;
cfg.pin_d0 = GPIO_NUM_15; // B0
cfg.pin_d1 = GPIO_NUM_7; // B1
cfg.pin_d2 = GPIO_NUM_6; // B2
cfg.pin_d3 = GPIO_NUM_5; // B3
cfg.pin_d4 = GPIO_NUM_4; // B4
cfg.pin_d5 = GPIO_NUM_9; // G0
cfg.pin_d6 = GPIO_NUM_46; // G1
cfg.pin_d7 = GPIO_NUM_3; // G2
cfg.pin_d8 = GPIO_NUM_8; // G3
cfg.pin_d9 = GPIO_NUM_16; // G4
cfg.pin_d10 = GPIO_NUM_1; // G5
cfg.pin_d11 = GPIO_NUM_14; // R0
cfg.pin_d12 = GPIO_NUM_21; // R1
cfg.pin_d13 = GPIO_NUM_47; // R2
cfg.pin_d14 = GPIO_NUM_48; // R3
cfg.pin_d15 = GPIO_NUM_45; // R4
cfg.pin_henable = GPIO_NUM_41;
cfg.pin_vsync = GPIO_NUM_40;
cfg.pin_hsync = GPIO_NUM_39;
cfg.pin_pclk = 42;
cfg.freq_write = 12000000;
cfg.hsync_polarity = 0;
cfg.hsync_front_porch = 8;
cfg.hsync_pulse_width = 2;
cfg.hsync_back_porch = 43;
cfg.vsync_polarity = 0;
cfg.vsync_front_porch = 8;
cfg.vsync_pulse_width = 2;
cfg.vsync_back_porch = 12;
cfg.pclk_idle_high = 1;
_bus_instance.config(cfg);
}
_panel_instance.setBus( &_bus_instance);
{
auto cfg = _panel_instance.config();
cfg.memory_width = 800;
cfg.memory_height = 480;
cfg.panel_width = 800;
cfg.panel_height = 480;
cfg.offset_x = 1000;
cfg.offset_y = 2000;
_panel_instance.config(cfg);
}
{
auto cfg = _panel_instance.config_detail();
cfg.use_psram = 1;
_panel_instance.config_detail(cfg);
}
{
auto cfg = _light_instance.config();
cfg.pin_bl = 2;
//cfg.freq = 44100;
//cfg.pwm_channel = 7;
_light_instance.config(cfg);
}
_panel_instance.light( &_light_instance);
{
auto cfg = _touch_instance.config();
cfg.x_min = 0;
cfg.x_max = 480;
cfg.y_min = 0;
cfg.y_max = 800;
cfg.pin_int = -1;
cfg.bus_shared = false;
cfg.offset_rotation = 0;
// I2C
cfg.i2c_port = I2C_NUM_0; // I2C(0 = SPI or 1 = Wire)
cfg.pin_sda = 19; // SDA
cfg.pin_scl = 20; // SCL
cfg.pin_rst = 38; // RST
cfg.freq = 100000; // I2C 8000 de incercat
cfg.i2c_addr = 0x5D; // I2C 0x5D or 0x14
_touch_instance.config(cfg);
_panel_instance.setTouch( &_touch_instance);
}
setPanel( &_panel_instance);
}
};
-
- Posts: 851
- 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)
Thx ^^.
Do you want to make the PR ? or can i Use yours files ?
By the way the square is the symbol "µ" ?
I have another used with issue with special characters. It's possible to use custom police with more chart, but need to se if I can just add 1 char on an existing one.
Do you want to make the PR ? or can i Use yours files ?
By the way the square is the symbol "µ" ?
I have another used with issue with special characters. It's possible to use custom police with more chart, but need to se if I can just add 1 char on an existing one.
-
- Posts: 3
- Joined: Sunday 31 March 2024 18:12
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: New project, a small wall display to control Domoticz using CYD (Cheap ESP32 touchscreen)
I did 2 Push Request, first on the main branch and the second one on test.
Yes, the square box is a "µ" , can be change to "u". For my situation I resolved in Domoticz.
I did some tests on switched and they are working ok.
Thank you once again for your help and work!
Yes, the square box is a "µ" , can be change to "u". For my situation I resolved in Domoticz.
I did some tests on switched and they are working ok.
Thank you once again for your help and work!
Who is online
Users browsing this forum: No registered users and 1 guest