The S3 version is available for installation. It’s free. Install
Thanks a lot! I’m just playing with it and learning “how to” (like touches, where to return, go to next dashboard etc…). Getting there… (is there any help or newest video you made?)
BTW:.. license says “trial mode expired” … is that ok (for now at least)?
I wonder, however, is this in any way translatable? Englihs is not exactly nice to read if i’m from slovenia… ![]()
There are a couple of videos, but they’re not very informative about how navigation works link1, link2. (Video in Russian
) General tips: switching dashboards is done by swiping up/down. Why not right/left? This is to avoid competing with sliders, as a computer can’t understand user intent, and for it, swiping right/left would be the same for both sliders and pages. Exiting expanded pages is also done by swiping up/down, but on the left side of the screen for the same reason.
That’s ok. Everything will work. I just didn’t feel like editing the backend and frontend and writing out the terms right now. But in the future, I’ll remove the license page from the S3 version.
I can add two files to the repository: an English json file and a Slovenian one (albeit machine-translated). You can correct it and send it to me, and then I’ll add it to the firmware.
I can do that, sure, thanks!
I’ve added the languages that are currently available to the repository. Yours too. Check it out, and then I can add it to the firmware. It’s a lot of words, though)))
Translation is very good, even great. I just corrected small stuff (grammar) so if i made all right you should have a pull request now.
One (minor) thing i did notice though is in weather card: when i slide to left to see other days (or hours) whole thing goes to left but returns to “basic view” immediately - it doesn’t stay on right-most days (hours). I hope you know what i mean, otherwise i’ll try to record a video.
I’ll add this to the firmware with some other changes mid-week, thanks for your input!
Yep, I know about this bug, I will fix it, but could you please file an Issue in the repository so I don’t forget?
@alaltitov I have installed the software in a 4848S040 but it can’t login to homeassistant what can I be doing wrong, where can i get a trial license ?
Need more information. What are the symptoms? Could you show me the logs? I mean, I can’t help you without information. What do you mean, “it can’t login to homeassistant”?
@alaltitov
The display gets wifi then cannot reach Home Assistant and reboot:
I tried with the local IP address https://xxx.xxx.xxx.xxx:8143
and with the URL
in linux command line:
jaime@jaime-LenovoC30:~$ wscat -c wss://192.168.1.80:8123/api/websocket
error: Hostname/IP does not match certificate’s altnames: IP: 192.168.1.80 is not in the cert’s list:
jaime@jaime-LenovoC30:~$ wscat -c wss://xxxx.xxxxxxxx.xxx/api/websocket
Connected (press CTRL+C to quit)
< {“type”:“auth_required”,“ha_version”:“2026.7.4”}
Disconnected (code: 1000, reason: “”)
jaime@jaime-LenovoC30:~$
I Think the problem is :
I (10388) hass_client: Creating websocket client: url=ws://https://xxxx.xxxxx.net/api/websocket secure=0 buffer=4096 stack=4096
must be
url=wss://xxxx.xxxxx.net/api/websocket
the logs:
Monitor: requesting serial port access...
Monitor: opening serial port at 115200 baud...
Monitor: serial port opened.
Monitor: resetting device...
�
��)@�(���!v�R!ѐ�p�!b���!u!1���!BB��)t!,.�ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x18 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x14f0
load:0x403c8700,len:0xda0
load:0x403cb700,len:0x2f58
entry 0x403c8908
I (24) boot: ESP-IDF v6.0.1-dirty 2nd stage bootloader
I (25) boot: compile time Aug 2 2026 14:44:25
I (25) boot: Multicore bootloader
I (26) boot: chip revision: v0.2
I (28) boot: efuse block revision: v1.3
I (32) boot.esp32s3: Boot SPI Speed : 80MHz
I (36) boot.esp32s3: SPI Mode : DIO
I (39) boot.esp32s3: SPI Flash Size : 16MB
I (43) boot: Enabling RNG early entropy source...
I (48) boot: Partition Table:
I (50) boot: ## Label Usage Type ST Offset Length
I (57) boot: 0 nvs WiFi data 01 02 00012000 00006000
I (63) boot: 1 otadata OTA data 01 00 00018000 00002000
I (70) boot: 2 phy_init RF data 01 01 0001a000 00001000
I (76) boot: 3 ota_0 OTA app 00 10 00020000 00700000
I (83) boot: 4 ota_1 OTA app 00 11 00720000 00700000
I (89) boot: End of partition table
I (93) esp_image: segment 0: paddr=00020020 vaddr=3c1c0020 size=3f21d0h (4137424) map
I (842) esp_image: segment 1: paddr=004121f8 vaddr=3fca0300 size=05b98h ( 23448) load
I (847) esp_image: segment 2: paddr=00417d98 vaddr=40378000 size=08280h ( 33408) load
I (855) esp_image: segment 3: paddr=00420020 vaddr=42000020 size=1b7b0ch (1800972) map
I (1178) esp_image: segment 4: paddr=005d7b34 vaddr=40380280 size=0fffch ( 65532) load
I (1193) esp_image: segment 5: paddr=005e7b38 vaddr=50000000 size=00024h ( 36) load
I (1203) boot: Loaded app from partition at offset 0x20000
I (1203) boot: Disabling RNG early entropy source...
I (1214) octal_psram: vendor id : 0x0d (AP)
I (1214) octal_psram: dev id : 0x02 (generation 3)
I (1214) octal_psram: density : 0x03 (64 Mbit)
I (1217) octal_psram: good-die : 0x01 (Pass)
I (1221) octal_psram: Latency : 0x01 (Fixed)
I (1225) octal_psram: VCC : 0x01 (3V)
I (1230) octal_psram: SRF : 0x01 (Fast Refresh)
I (1235) octal_psram: BurstType : 0x01 (Hybrid Wrap)
I (1240) octal_psram: BurstLen : 0x01 (32 Byte)
I (1244) octal_psram: Readlatency : 0x02 (10 cycles@Fixed)
I (1249) octal_psram: DriveStrength: 0x00 (1/1)
I (1254) MSPI Timing: Enter psram timing tuning
I (1259) esp_psram: Found 8MB PSRAM device
I (1262) esp_psram: Speed: 80MHz
I (1454) mmu_psram: Instructions copied and mapped to SPIRAM
I (1455) cpu_start: Multicore app
I (1778) esp_psram: SPI SRAM memory test OK
I (1786) cpu_start: GPIO 44 and 43 are used as console UART I/O pins
I (1786) cpu_start: Pro cpu start user code
I (1786) cpu_start: cpu freq: 160000000 Hz
I (1789) app_init: Application information:
I (1792) app_init: Project name: universal_panel
I (1797) app_init: App version: 2026.7.0
I (1801) app_init: Compile time: Aug 2 2026 14:43:49
I (1806) app_init: ELF file SHA256: 9c7b8c167...
I (1811) app_init: ESP-IDF: v6.0.1-dirty
I (1815) efuse_init: Min chip rev: v0.0
I (1819) efuse_init: Max chip rev: v0.99
I (1823) efuse_init: Chip rev: v0.2
I (1827) heap_init: Initializing. RAM available for dynamic allocation:
I (1833) heap_init: At 3FCC0960 len 00028DB0 (163 KiB): RAM
I (1839) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM
I (1844) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (1849) heap_init: At 600FE000 len 00001FE8 (7 KiB): RTCRAM
I (1855) esp_psram: Adding pool of 6385K of PSRAM memory to heap allocator
I (1862) spi_flash: detected chip: boya
I (1865) spi_flash: flash io: dio
I (1868) sleep_gpio: Configure to isolate all GPIO pins in sleep state
I (1874) sleep_gpio: Enable automatic switching of GPIO sleep configuration
I (1881) main_task: Started on CPU0
I (1905) esp_psram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (1905) main_task: Calling app_main()
I (1905) app_mem: App memory initialized: PSRAM-first, internal fallback, target=ESP32-S3
I (1913) app_boot: Booting board profile: guition_esp32_4848s040_st7701s_gt911
I (1920) app_boot: Target: esp32s3
I (1923) app_boot: Display: 480x480
I (1926) app_boot: Network: wifi=internal(prio=50) eth=none(prio=100 supported=0)
I (1934) app_boot: Storage: sd=spi supported=1 mount=/sdcard
I (1952) display_rotation: No saved rotation namespace in NVS, using board default: 0
I (1952) storage_sd: storage_sd initialized: supported=1 backend=2 mount=/sdcard
I (1956) storage_sd: Mount SDSPI: mount=/sdcard host=1 freq=20000 cs=42 sclk=48 mosi=47 miso=41
I (1966) main_task: Returned from app_main()
E (1985) vfs_fat_sdmmc: sdmmc_card_init failed (0x107).
E (1985) vfs_fat_sdmmc: esp_vfs_fat_sdspi_sdcard_init failed (0x107).
W (1986) storage_sd: SDSPI mount failed: ESP_ERR_TIMEOUT
W (1991) storage_sd: SD mount failed: ESP_ERR_TIMEOUT
W (1995) app_boot: storage_sd_mount failed, continuing without SD: ESP_ERR_TIMEOUT
I (2003) pp: pp rom version: e7ae62f
I (2006) net80211: net80211 rom version: e7ae62f
I (2011) wifi:wifi driver task: 3fceed7c, prio:23, stack:6656, core=0
I (2019) wifi:wifi firmware version: b37c951
I (2020) wifi:wifi certification version: v7.0
I (2024) wifi:config NVS flash: enabled
I (2028) wifi:config nano formatting: disabled
I (2032) wifi:Init data frame dynamic rx buffer num: 32
I (2037) wifi:Init static rx mgmt buffer num: 5
I (2041) wifi:Init management short buffer num: 32
I (2046) wifi:Init static tx buffer num: 16
I (2050) wifi:Init tx cache buffer num: 32
I (2054) wifi:Init static tx FG buffer num: 2
I (2058) wifi:Init static rx buffer size: 1600
I (2062) wifi:Init static rx buffer num: 16
I (2066) wifi:Init dynamic rx buffer num: 32
I (2070) wifi_init: rx ba win: 16
I (2073) wifi_init: accept mbox: 6
I (2076) wifi_init: tcpip mbox: 32
I (2079) wifi_init: udp mbox: 6
I (2082) wifi_init: tcp mbox: 6
I (2085) wifi_init: tcp tx win: 5760
I (2088) wifi_init: tcp rx win: 5760
I (2091) wifi_init: tcp mss: 1440
I (2094) wifi_init: WiFi/LWIP prefer SPIRAM
I (2098) wifi_init: WiFi IRAM OP enabled
I (2102) wifi_init: WiFi RX IRAM OP enabled
I (2106) wifi:Set ps type: 0, coexist: 0
I (2110) net_wifi_int: Wi-Fi STA bandwidth forced to 20 MHz
I (2115) net_wifi_int: Internal Wi-Fi backend initialized
I (2120) connectivity: Connectivity initialized: wifi_prio=50 eth_prio=100 keep_wifi_when_eth=1 wifi_available=1 eth_available=0
I (2131) display_backlight: Backlight initialized on GPIO 38 active_high invert=0 freq=100Hz physical_range=0..100% zero_is_off=1
I (2143) mipi_rgb: RGB display path selected
I (2147) panel_st7701s: Install 3-wire SPI panel IO
I (2151) panel_st7701s: 3-wire SPI config: cs=39 scl=48 sda=47 clock=500000 mode=3 io_multiplex=1
I (2160) lcd_panel.io.3wire_spi: Panel IO create success, version: 1.0.1
I (2166) panel_st7701s: Install ST7701 RGB panel driver
I (2171) panel_st7701s: RGB config: 480x480 pclk=12000000 hbp=10 hfp=20 hpw=10 vbp=10 vfp=10 vpw=10 pclk_neg=0 fbs=3 psram=1
I (2182) panel_st7701s: ST7701S panel config: reset=-1 bgr=1 bpp=16 init_cmds=36
I (2189) st7701: version: 2.0.2
W (2340) st7701_rgb: The 3Ah command has been used and will be overwritten by external initialization sequence
W (2341) st7701_rgb: The 36h command has been used and will be overwritten by external initialization sequence
W (2489) lcd_panel.io.3wire_spi: Delete but keep CS line inactive
I (2531) panel_st7701s: ST7701S panel initialized
I (2532) hw_i2c: I2C initialized: port=0 sda=19 scl=45 freq=100000
I (2532) touch_gt9xx: GT9xx touch detected at I2C address 0x5D
I (2541) touch_gt9xx: GT9xx diagnostics before driver init: addr=0x5D product_id='911.' fw=0x1060 cfg_ver=0x63 x_output_max=480 y_output_max=480 touch_num_reg=0x05
I (2551) touch_gt9xx: GT9xx raw bytes before driver init: pid=39 31 31 00 fw=60 10 cfg=63 x=E0 01 y=E0 01 touch_num=05
I (2561) touch_gt9xx: Touch config passed to driver: x_max=480 y_max=480 swap_xy=0 mirror_x=0 mirror_y=0
I (2570) GT911: I2C address initialization procedure skipped - using default GT9xx setup
I (2579) GT911: TouchPad_ID:0x39,0x31,0x31
I (2582) GT911: TouchPad_Config_Version:99
I (2590) touch_gt9xx: GT9xx diagnostics after driver init: addr=0x5D product_id='911.' fw=0x1060 cfg_ver=0x63 x_output_max=480 y_output_max=480 touch_num_reg=0x05
I (2600) touch_gt9xx: GT9xx raw bytes after driver init: pid=39 31 31 00 fw=60 10 cfg=63 x=E0 01 y=E0 01 touch_num=05
I (2610) touch_gt9xx: GT9xx touch initialized using GT911-compatible driver at 0x5D handle=0x3c725798
I (2619) display: Display subsystem initialized with backlight off
I (2625) lvgl_port: Color config: panel_rgb888=0 CONFIG_LV_COLOR_DEPTH=16
I (2632) app_mem: App memory initialized: PSRAM-first, internal fallback, target=ESP32-S3
I (2640) app_mem: LVGL custom memory initialized
I (2644) esp_lvgl:adapter: LVGL adapter initialized successfully
I (2650) lvgl_port: LVGL mode: rotation=0 adapter_rotation=0 framebuffer_count=3 tear_mode=TRIPLE_PARTIAL board_tear_mode=0 draw_lines=480 ppa_requested=0 ppa_enabled=0 rgb888=0 bpp=2 cache_line=0 ppa_align=0 use_psram=1
E (2674) esp_lvgl:disp: alloc partial draw buffer 460800 bytes failed
W (2675) esp_lvgl:disp: tear mode 4 setup failed, falling back to allocated buffers
I (2683) lvgl_port: LVGL registered display format: RGB565 cf=18 bpp=16 size=2 CONFIG_LV_COLOR_DEPTH=16 panel_rgb888=0
I (2693) esp_lvgl:touch: Touch input device registered successfully (IRQ mode: disabled)
I (2701) lvgl_port: Touch registered successfully
I (2705) lvgl_port: Touch LVGL logging enabled
I (2710) esp_lvgl:adapter: LVGL task started successfully
I (2774) lvgl_port: LVGL port initialized
I (2910) events_manager: App event loop created: queue=256 prio=18 stack=8192
I (2952) hass_dispatch: Dispatcher initialized: drivers=18 + generic fallback
I (2998) hass_api: HASS API initialized, config present
I (2998) home_cfg: Home config initialized for board=guition_esp32_4848s040_st7701s_gt911 display=480x480
I (3042) dash_cfg: Dashboard config initialized for board=guition_esp32_4848s040_st7701s_gt911 display=480x480
I (3129) web_log: log capture installed, ring=65536 bytes
I (3174) web_api: Registering HASS Panel Web API routes
I (3261) web_api: HASS Panel Web API routes registered
I (3262) app_hass_web: HASS Panel webserver started on port 80 for board=guition_esp32_4848s040_st7701s_gt911
I (3305) battery: Battery backend disabled or unsupported for this board
I (3306) ui_power: UI power initialized brightness=100
I (3309) ui_settings: Settings applied: locale=en flag=gb theme=1 accent=0x000000 timezone=GMT0BST,M3.5.0/1,M10.5.0 time_12h=0 backlight=100 sleep_idx=0
I (3321) ui_sleep: Sleep timer initialized poll=250ms
I (3326) ui_dash_mgr: Dashboard position save worker started
I (3331) ui_dash_mgr: Dashboard manager initialized
W (3336) ui_home_cfg: Home config active JSON profile: portrait
I (3343) ui_home_mgr: Home manager initialized: cards=0
I (3376) ui_shell: Shell overlay initialized: screen=480x480 top=38 bottom=76 content=366
I (3456) ui_page_wifi: Wi-Fi page initialized root=0x3c7ada18 popup=0x3c7af040 keyboard=0x3c7afd5c
I (3474) ui_page_home: Home page initialized root=0x3c7b20d8 content=0x3c7b213c
I (3476) ui_page_dashboards: Dashboards page initialized root=0x3c7b22ac content=0x3c7b23d0
I (3582) ui_page_climate: Climate page initialized root=0x3c7b2528
I (3686) ui_page_light: Light page initialized root=0x3c7b6bd4
I (3858) ui_page_media_player: Media player page initialized root=0x3c7ba880
I (3922) ui_page_humidifier: Humidifier page initialized root=0x3c7bc950
I (3989) ui_page_water_heater: Water heater page initialized root=0x3c7bf1d0
I (4128) ui_page_info: Info page initialized root=0x3c7c7d80 content=0x3c7c7e38
I (4140) ui_manager: UI manager initialized disp=0x3c7260a0
I (4140) ui_wifi_ctrl: Wi-Fi UI controller initialized
I (4141) ui_orchestrator: UI orchestrator initialized
I (4147) ui_manager: Page shown: 1
I (4156) ui_manager: Page shown: 3
I (4156) app_hass_panel: HASS API start skipped: no active network (app_start)
I (4157) app_hass_panel: HASS panel app started
I (4301) phy_init: phy_version 711,97bcf0a2,Aug 25 2025,19:04:10
I (4348) wifi:mode : sta (98:a3:16:e5:aa:5c)
I (4349) wifi:enable tsf
I (4350) net_wifi_int: Wi-Fi STA started
I (4350) connectivity: Wi-Fi STA started
I (4351) connectivity: Dispatch event: started iface=wifi_sta has_ip=0 ip=0.0.0.0
I (4358) app_hass_panel: Connectivity event: STARTED iface=wifi_sta
I (4449) ui_wifi_ctrl: Handling STARTED for Wi-Fi
I (4571) net_wifi_int: Stored Wi-Fi credentials found for SSID: Casa
I (4573) net_wifi_int: Connecting to SSID: Casa auth_threshold=3 sae_pwe_h2e=3 pmf_required=0 failure_retry_cnt=0 save_after_got_ip=0
I (4615) connectivity: Saved Wi-Fi credentials found, backend is expected to connect
I (4615) app_boot: Boot completed successfully
I (7064) wifi:new:<6,0>, old:<1,0>, ap:<255,255>, sta:<6,0>, prof:1, snd_ch_cfg:0x0
I (7065) wifi:state: init -> auth (0xb0)
I (7085) wifi:state: auth -> assoc (0x0)
I (7089) wifi:Association refused temporarily time 1024, comeback time 1124 (TUs)
I (8241) wifi:state: assoc -> assoc (0x0)
I (9242) wifi:state: assoc -> init (0x400)
I (9243) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1, snd_ch_cfg:0x0
I (9244) wifi:new:<11,0>, old:<6,0>, ap:<255,255>, sta:<11,0>, prof:1, snd_ch_cfg:0x0
I (9250) wifi:state: init -> auth (0xb0)
I (9256) wifi:state: auth -> assoc (0x0)
I (9264) wifi:state: assoc -> run (0x10)
I (9277) wifi:connected with Casa, aid = 1, channel 11, BW20, bssid = 9c:a2:f4:b4:43:10
I (9277) wifi:security: WPA2-PSK, phy: bgn, rssi: -71, cipher(pairwise:0x3, group:0x3), pmf:0
I (9282) wifi:pm start, type: 0
I (9285) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
I (9293) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time: 10000
I (9303) net_wifi_int: Wi-Fi link up
I (9304) connectivity: Wi-Fi link up
I (9308) connectivity: Dispatch event: link_up iface=wifi_sta has_ip=0 ip=0.0.0.0
I (9309) wifi:<ba-add>idx:0 (ifx:0, 9c:a2:f4:b4:43:10), tid:0, ssn:0, winSize:64I (9315) app_hass_panel: Connectivity event: LINK_UP iface=wifi_sta
I (9374) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (10356) esp_netif_handlers: sta ip: 192.168.1.134, mask: 255.255.255.0, gw: 192.168.1.1
I (10356) net_wifi_int: Wi-Fi got IP: 192.168.1.134
I (10357) connectivity: Wi-Fi got IP: 192.168.1.134
I (10362) connectivity: Dispatch event: got_ip iface=wifi_sta has_ip=1 ip=192.168.1.134
I (10362) connectivity: Active uplink changed: none -> wifi_sta
I (10370) app_hass_panel: Connectivity event: GOT_IP iface=wifi_sta ip=192.168.1.134
I (10383) app_hass_panel: HASS API start begin (got_ip)
I (10388) hass_client: Creating websocket client: url=ws://https://xxxx.xxxxx.net/api/websocket secure=0 buffer=4096 stack=4096
I (10399) hass_client: core_init reconnect_timer=0x3fceb174
I (10404) hass_client: core_init auth_watchdog_timer=0x3fceb1a0
I (10410) hass_client: core_init auth_response_timer=0x3fceb1cc
I (10415) hass_client: core_init ha_ping_timer=0x3fceb1f8
I (10420) hass_client: core_init send_lock=0x3fceb224
I (10425) hass_client: core_init rx_queue=0x3fceb27c len=8 item_size=8
I (10431) hass_client: core_init creating rx worker stack=12288 prio=3
I (10438) hass_client: core_init rx_task=0x3fceb318 task_ok=1
I (10443) hass_client: HASS websocket client initialized: url=ws://https://xxxx.xxxxx.net/api/websocket
I (10452) hass_client: WebSocket start
I (10456) websocket_client: Started
I (10459) hass_api: HASS API started: https://xxxx.xxxxx.net
I (10464) app_hass_panel: HASS API start requested (got_ip)
I (10469) connectivity: Dispatch event: active_uplink_changed iface=wifi_sta has_ip=1 ip=192.168.1.134
I (10478) app_hass_panel: Connectivity event: ACTIVE_UPLINK_CHANGED iface=wifi_sta
I (10485) app_hass_panel: HASS API start skipped (active_uplink_changed): started=1 starting=0
I (10461) hass_client: RX worker started
I (10505) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10514) ui_wifi_ctrl: Handling GOT_IP for Wi-Fi: 192.168.1.134
I (10518) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10535) ui_wifi_ctrl: Handling ACTIVE_UPLINK_CHANGED
I (10540) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10564) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10583) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10605) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10656) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10679) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10694) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10707) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10724) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10752) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
I (10780) websocket_client: Redirecting to https://xxxx.xxxxx.net:80/api/websocket
E (10781) esp-tls: Failed to create socket (family 2 socktype 1 protocol 0)
E (10783) transport_base: Failed to open a new connection: 32770
E (10789) transport_ws: Error connecting to host https://xxxx.xxxxx.net:80
E (10796) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_ERR_ESP_TLS_CANNOT_CREATE_SOCKET, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_code=302, errno=23
W (10813) hass_client: WebSocket error
W (10816) app_hass_panel: Event: HASS_DISCONNECTED reason=0
W (10821) hass_client: Reconnect scheduled: reason=ws_error delay=5000 ms
W (10828) hass_client: WebSocket disconnected
I (10832) hass_client: Reconnect already scheduled, reason=ws_disconnected ignored
W (15828) hass_client: Reconnect timer fired
W (15828) websocket_client: Client was not started
***ERROR*** A stack overflow in task Tmr Svc has been detected.
Yep, there’s an issue with S3 using an external address, but it works fine with an internal one. I haven’t resolved this issue yet. On P4, it works with both external and internal addresses. If you don’t mind, could you file an issue in the repository so I don’t forget to fix it?
It doesn’t work with the internal address because of the SSL certificate; I’ll report it.
Hi everyone,
I wanted to share a quick showcase of my panel project, but before I get into the details, I have to start with a massive shoutout and thank you to alaltitov.
There is absolutely no way I would have ever imagined pulling this off without his original code and his ongoing support on this forum. His dedication to this community is incredible. The foundation he built—the original codebase, the UI, and the Home Assistant integration—is honestly just too perfect.
What makes it even more impressive is that alaltitov pulled all of this off without relying on any AI. He built this pre-“vibe coding,” just relying on pure skill and hard work.
My current project is a fork of his repository. Much of his flawless original code remains completely intact, but I’ve shifted the focus heavily toward live plane tracking and monitoring.
I am incredibly grateful for the foundation he provided, and I’m very happy to return my modified code to the community. If there is any interest in the plane-tracking fork I’ve put together, let me know below and I’ll gladly share it!
I’d like to add my input to this discussion. I just installed DarkForgeUI on my 4848S040 display and encountered the exact same issue: entity retrieval fails because my Home Assistant setup uses local HTTPS (https://192.168.1.x:8123 / DuckDNS).
Due to ISP or network constraints, I cannot revert Home Assistant to plain HTTP or use a reverse proxy like NGINX.
Could adding an option in the Web UI to “Skip SSL / Ignore certificate check” (similar to client.setInsecure()) completely solve the problem for everyone running HA directly over HTTPS?
Thanks a lot for the great work on this project!
Hi! I’ve uploaded an updated version to the site! I’m not sure I did it correctly, but it’s worth a try. I’ve added a certificate verification check. I can’t test your specific case, but it works for me in these scenarios:
http://homeassistant.local:8123
http://192.168.2.121:8123
https://hass.alexey.keenetic.pro (specifically https with TLS enabled, although it opens in the browser like this: http://hass.alexey.keenetic.pro)
A weather forecast scrolling bug has also been fixed, and the following languages have been added: sl, nl. The loading pipeline has been slightly adjusted, so it may take a little longer to load; this still needs optimization.
Thank you very much for your kind words
I’m on vacation; I’ll test it next week.
Have you posted the code someplace yet? That airplane tracking system is amazing!
I installed it and initially experienced several serial connection drops; then, once the installation was complete, it got stuck in a boot loop.
I currently have ESPHome installed. Does your firmware require the original software as a starting point?
Hi! The firmware doesn’t require any software. If you have any problems during the firmware update, check the power and USB cable. Why isn’t there a connection? Check how you’re entering the Home Assistant address. It would also be good to see the logs. Without them, it’s just guessing.




