Тут двух вариантов быть не может. Или ошибаетесь или нет.Возможно с логом 5 на wemos d1 (не мини) ошибаюсь.
Покажите как вы ищите в интернете, а то столько вопросов.Тоже если можно конкретнее.
Ну например так :1. Как почистить буфер?
Код:
SoftwareSerial swSer;
swSer.end();
Что бы избежать ошибок, нп. приняли вместо цифры букву и потом возможны ошибки, те что вы упоминаете.2. Зачем проверять принятые данные?
Я не знаю как выдает данные PZEM , но обычно надо "поймать" первый символ, принять всю посылку и только после этого преобразовывать все в цифры.
Установите версию плат 2.7.4 для есп, и в настройках выберите в IwIP Varian -> v2 Higher Bandwidth, немного стабильней работает.