Ich würde ja lieber mal die Beiträge ein wenig kürzer fassen, dann verliert man vielleicht nicht das Interesse, sie komplett zu lesen. Und Zitate gehören gekennzeichnet und nicht in den eigenen Text mit integriert, ob Du das nun schöner findest oder nicht. Und ich sehe es Dir nicht nach, wenn meine Worte als Deine in Deinem Text erscheinen.
Du solltest Dir auch mal Gedanken machen, wieso ein 4000W-WR Deiner Meinung nach bei 2000W abregeln sollte. Wie sind die Module verschaltet. Alles passend zum WR? Maximalstrom der Module passt zum WR? Mit welchem Shelly misst Du denn bei diesem WR? Wenn er nicht abregeln würde, mutest Du dem dann 4000W zu?
Oder sich einem die Denkweise nicht erschließt (Anzeige Wh statt W).
Wie das funktionieren sollte, da hast Du Dir wohl auch noch keine Gedanken gemacht.
Du möchtest W-Anzeige und das möglichst sekündlich. Dann müsste also in der App eine Echtzeit-Kurve dargestellt werden mit entsprechender Auflösung. 3600s hat Die Stunde. Der Tag hat 86400 Messwerte und die Woche entsprechend ca. 600000. Wo sollen die Werte gespeichert werden? Auf Deinem Handy? Welche Ansicht hättest Du denn gerne? 1 Minute am Stück? Wie oft sollen die Daten in der App aktualisiert werden? 1 mal pro Sekunde? Ich gehe mal davon aus, das beim Wechsel zwischen Tages-/ Wochen-/ Monats-/ Jahresanzeige (Jahr hat dann 31536000 Messwerte), oder zwischen verschiedenen Shelly´s alle Werte jedes Mal aus der Cloud abgerufen werden. Es sei denn, sie würden dauerhaft auf Deinem Handy gespeichert werden. Nun nimm die Anzahl der User, welche messende Shelly´s benutzen und multipliziere dieses mit der von Dir gewünschten Datenmenge. Dann kannst Du dir ein Bild von der Serverlast machen. Wieso, sollten die Cloudbetreiber Dir das ermöglichen? Serverleistung ist nicht kostenlos. Reicht doch, wenn die das alles kostenlos für Dich speichern.
Nun wären wir beim selber abrufen:
http://192.168.1.175/status (ist ein Shelly PM) Das bringt dann so ein Ergebnis:
{"wifi_sta":{"connected":true,"ssid":"xxxxxxxxxxx","ip":"192.168.1.175","rssi":-79},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"10:02","unixtime":1661068958,"serial":48070,"has_update":true,"mac":"AAAAAAAAAAAA","cfg_changed_cnt":5,"actions_stats":{"skipped":0},"relays":[{"ison":true,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"source":"http"}],"meters":[{"power":339.29,"overpower":0.00,"is_valid":true,"timestamp":1661076158,"counters":[347.572, 339.965, 315.502],"total":3633936}],"inputs":[{"input":0,"event":"","event_cnt":0}],"temperature":44.49,"overtemperature":false,"tmp":{"tC":44.49,"tF":112.08, "is_valid":true},"temperature_status":"Normal","ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"update":{"status":"pending","has_update":true,"new_version":"20220809-124723/v1.12-g99f7e0b","old_version":"20220209-094317/v1.11.8-g8c7bb8d"},"ram_total":50456,"ram_free":32416,"fs_size":233681,"fs_free":148843,"uptime":1550409}
Dann programmierst Du eine kleine App, die diese Abfrage sekündlich macht und den Wert nach "power" in eine Datenbank schreibt. Fertig.
Das Ganze natürlich für alle Deine Anlagen.
Und dann ab damit in Deine Exceltabelle.