Having had delivery of a new M5Stack (never used one before) I thought I would try OMG 0.9.5 as BLE gateway on that instead of my ESP32 Dev board.
It seems to work fine in low power mode 0 but (not sure about low power mode 1 as I never got any readings from my LYWSD03MMC) and in low power mode 2 it just doesn’t behave at all - after building the 0.9.5 master with LOG_LEVEL_LCD set to LOG_LEVEL_NOTICE and LOG_TO_LCD false - this is what I see on the USB serial
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/queue.c:1442 (xQueueGenericReceive)- assert failed!
abort() was called at PC 0x4008e6f9 on core 1
I have also noticed that my TP Link router sees both the ESP32 Dev board and the M5Stack as ‘espressif’ in the list of connected devices where my RPi and Windows and most other devices show a hostname - although Windows and my RPI resolve the .local hostnames of them both correctly.
As I had 0.9.5 working in low power mode 0 (running off mains PSU) I had not bothered to look at this again until today.
Having flashed 0.9.6 release version and carried out a few tests - so far lower power mode 0 works fine.
In low power mode 1 only seems to work when the M5Stack is powered from external source.
without external power it appears to get one lot of readings, just go into sleep mode and never wake up - the screen goes off, LWT in home/OpenMQTTGateway goes to offline (a few moments later) and even having left it for 30 minutes I do not get any sensor readings (I never noticed the screen come on).
Pressing the RED button wakes it up, it reads my sensors, publishess them to MQTT and it goes off again and that is it.
On setting to low power mode 2 (whilst using external power from RPI4 so I can see the USB console) the screen goes blank and the console shows rapid reboot cycles during which it seems to connect to the WiFi and MQTT and never achives anything else (even though I can see it read the MQTT config where I changed that to attempt to go back to lower power mode 1 or 0) - only a reflash gets it back to a working state.