Opis na tym schemacie jest typowy dla portu szeregowego
Więc RX PZEM łączysz z TX MCU i nawzajem.
Nie ma znaczenia czy jesteś w trybie programowania adresów czy nie - to wciąż jest ten sam i taki sam port szeregowy.
Swoją drogą na schemacie widać jak to działa…
Chyba szanse na sukces spadają do minimum - nawet nie rozważasz czy zjarasz ESP czy nie?
(hint: sprzętowy UART w ESP ma w/g legend tolerancję 5V, inne piny raczej nie).
Pytanie pomocnicze - czy uważasz że elektronika może działać bez zasilania (Vcc o takim napięciu jak sobie wymyślisz by nie puścić tego z dymem) i poziomu odniesienia (masa - GND).
Widziałeś kiedykolwiek wcześniej schemat strefy niskiego napięcia z obrazka powyżej? Spróbuj przeanalizować jej działanie.
Nie ma tu jakiejś głębokiej filozofii, przy programowaniu adresów zamiast (sugerowanych) 5V możesz użyć do zasilania 3,3V i układu połączeń bez dodatkowych diod Schottky’ego.
Jeśli w układzie z diodami (to już na czas budowy układu użytkowego) 3.3V byłoby zbyt niskim napięciem, to można użyć takie druciarstwo jak zasilanie z 5V ALE z włączoną szeregowo diodą prostowniczą (to obniży zasilanie do około 4.4V) lub bezpieczniej dwoma (uzyskasz zamiast 5V koło 3.8V), co w połączeniu ze spadkiem na diodach Shottky’ego da napięcia bezpieczne dla ESP
Nie wiem czy dobrze zrozumiałem pytanie, ale oczywiście oprócz powyższego, zarówno podczas programowania adresów jak i podczas pracy użytkowej PZEM musi być zasilany napięciem sieciowym. (Bo jego MCU jest zasilany obwodem sieciowym, co jest też opisane w podstawowej dokumentacji):
Co do kodu, to pisałeś wcześniej, że rozumiesz o co tu chodzi.
“Klocek” kodu do programowania adresów to jedno (na pierwszy ogień), a drugie to fakt, że oczywiście konfiguracja urządzenia w ESPHome musi być w pełni kompletna (bez tego nie zadziała, bądź nawet się nie skompiluje).
Po zaprogramowaniu PZEMów musisz wywalić (lub zakomentować) cały ten “klocek”, bo nie może on występować w użytkowej wersji oprogramowania (przecież przeprogramowałby adresy, co jest przecież niepożądane po wstępnej konfiguracji każdego PZEM oddzielnie).
Oczywiście soft użytkowy też musi być kompletny (ale “kompletny inaczej”).