marcfager / nspanel-mf

Custom HMI controlled by ESPHome for the Sonoff NSPanel. Includes media player card and home screen with weather data and clock. More to come.
215 stars 60 forks source link

Touch hotspot > fix available #5

Closed emms007 closed 2 years ago

emms007 commented 2 years ago

Hello Thanks for sharing your work, I build a v0 of mine from yours and I am very happy. Thanks a lot.

I notice your hotspots have an offset. Have you seen there is a command to avoid this? https://github.com/masto/NSPanel-Demo-Files/wiki/HowTo Fixing the touch offset for EU panels: Add lcd_dev fffb 0002 0000 0020 to Program.s (at the top of the Nextion Editor)

marcfager commented 2 years ago

Hi,

Thanks, happy to hear you found the work useful! :)

I am aware of the fix and I have implemented it into my current work code. Before pushing it out I want to fix few other things (when starting a swipe on top of a button the button is pushed - which is not the prefered behaviour). However, unfortunately I have recently had issues that when I update the ESPHome config OTA, the update seems to get corrupted almost every time, which makes the development significantly slower and more difficult. The compiler in ESPHome indicates that there's plenty of RAM and Flash available, but I am suspecting that adding many text_sensor objects might actually be too much for the ESP to handle.

emms007 commented 2 years ago

I also faced a flashing problem. It would take hours to flash and would end up in corrupted data. I solved the problem by flashing something a completely different image then back to my target image.

marcfager commented 2 years ago

Hi,

I think you're onto something here. I do not know how ESPHome handles the sketch during OTA flash. Could it be that if the sketch grows too much in size, there is simply not enough memory to store both the old and new sketch in memory to perform the OTA upgrade? I will test this by using a minimal temporary sketch when doing the update to check. :)

sublime93 commented 2 years ago

I faced that same problem. I was able to get around this problem by removing font "0" it seems to only be used on the "Swipe" page.

I assume this is really only because the size of the tft is now quite a bit smaller.

PS: I also improved upload speed by changing baud to 230400

marcfager commented 2 years ago

Hi, The font could actually be removed completely, since it is not used. I have tried to minimize the file size on the fonts used by just including the basic alphabet, numbers and few special symbols.

To clarify the flashing issues I have had are with the ESP (not the Nextion). Which is quite time consuming, as I need to remove the panel, open it, connect the flash header etc. :)

sublime93 commented 2 years ago

Interesting. I had failures of OTA uploads to the esp. Compiling, downloading, and uploading to the esp directly via web ui seemed to help, but still not perfect.

Seems like with a lot yaml code esphome gets a bit unreliable.

kiliansitel commented 2 years ago

Hi,

really like your config and using it as a base for my own project. But with your latest code I am having issues with OTA and even local flash. I managed to get your latest code running with a lot of effort, but when I add something to the esp config and update the panel it refuses to boot. No console log at all.

Did you managed to find out what is causing this ?

Thanks, looking forward to your next update. :)

marcfager commented 2 years ago

Nice to hear you enjoyed the code! :)

I have the same issue. I don't know exactly what is causing it, but I think having many text sensors in HA consumes resources from the ESP. I am looking into a solution to change this and use a HA blueprint to put the memory consuming parts to a HA blueprint instead. Practically all of the text strings can be handled from HA as well as the ESP. The "Send command" service can be used to put the data directly to the Nextion. As many of the strings, such as light names, are pretty static there is no real purpose to keep them in memory on the ESP. If they would be needed for some feature, the data can also be fetched from the Nextion to the ESP.