No, it does not recover.
The Problem is not easy to debug. I now want to build a serial gateway. With that, I am more flexible to test. Maybe to run MySensors on a second raspberry pi with a standard Home Assistant HASS-Os image. Or I check the MySensors network with MyController.
At this moment i run the whole system on 64 Bit raspbian, with HA in docker, which is a little bit experimental and i had to fix some lines in the ethernet gateway to compile it for 64 bit. So this is experimental, too.
I've found that:
char *protocolMyMessage2Serial(const MyMessage &message)
{
(void)snprintf_P(_fmtBuffer, (uint8_t)MY_GATEWAY_MAX_SEND_LENGTH,
PSTR("%" PRIu8 ";%" PRIu8 ";%" PRIu8 ";%" PRIu8 ";%" PRIu8 ";%s\n"), message.getSender(),
message.getSensor(), message.getCommand(), message.isEcho(), message.getType(),
message.getString(_convBuffer));
return _fmtBuffer;
}
We put in the print "message.getEcho()", but this isn't echoed message.
I think we should put "message.getRequestEcho()" here.