Another Ego Z6 conversion

Inspired by Martin’s conversion, I’m starting one as well.
A lot of details are already covered in Martin’s post, don’t want to contaminate the original post, therefore starts a new topic here.

For easier access to Ego’s messages, the first step I did was to create a gateway that broadcasts ego messages via ESP now.


It is connected to one spare usb-c port in the 485 bus hub.

On top of the ESP_NOW master and slave example code, I’m able to print the message on the receiving ESP32 with

#define EGO_MSG_LEN 14
char egoMsgPrintBuffer[EGO_MSG_LEN * 2 + 1];

void sprintEgoMessage(const uint8_t* data) {
  char *ptr = &egoMsgPrintBuffer[0];
  for (int i = 0; i < EGO_MSG_LEN; i++) {
    ptr += sprintf(ptr, "%02X", data[i]);
  }
}

in the serial monitor

19:30:32.720 ->   Message: 55AA110E08FFFCFFF700254AE85E
19:30:32.753 ->   Message: 55AA040E0000000000060000A9BE
19:30:32.753 ->   Message: 55AA090E051E001C50050000CFD2
19:30:32.753 ->   Message: 55AA120E080004FFFB0019282330
19:30:32.753 ->   Message: 55AA110E08FFFBFFF900264AD716
19:30:32.753 ->   Message: 55AA110E08FFFBFFF900264AD716
19:30:32.753 ->   Message: 55AACC0E03000100002A02006DCB

Next step is to create a client that filters known/decoded messages and show the new ones.

Please feel free to leave suggestions.