Ich bin von der Shelly-Doku positiv überrascht. Also wenn man einen MQTT-Broker (mosquitto) bereits hat, weil man z.B. die Daten sammelt, kann man MQTT auch beim ESP8266 nutzen.
Wenn du in C/C++ entwickeln willst, gibt es sicherlich auch Bibliotheken für: MQTT und JSON
Via MQTT werden die Nachrichten empfangen und mittels JSON wird der Payload (die Daten) deserialisiert.
Wenn MQTT beim Shelly EM3 aktiviert wird, sendet der die Daten automatisch alle 30 Sekunden (meine ich gelesen zu haben).
Ich bin ein Fan von Micropython, weiß aber auch, dass umqtt ziemlich problematisch auf dem ESP8266 ist, da der RAM nicht so groß ist.
Mit C wird man da sicherlich bessere Ergebnisse erzielen, da es weniger RAM benötigt.
Alternativer Controller: https://www.berrybase.de/seeed…cu-board-mit-wlan-und-ble
Der hat 400 KB RAM, anstatt nur 96 KB RAM beim ESP8266.