Energiedaten an die Thingspeak-Cloud senden

Energiemessdaten in Watt an die Thingspeak-Cloud senden

Dieses Shelly Gen2-Skript automatisiert das Senden von Energieverbrauchsdaten (in Watt) an die Thingspeak-Cloud-Plattform über HTTP POST-Anfragen. Das Skript erfasst die aktive Leistung (Watt) eines Shelly Schalters, formatiert sie in ein JSON-Objekt und sendet sie in anpassbaren Intervallen an Thingspeak. Mit einer einfachen API-Schlüssel-Konfiguration und der Möglichkeit, zusätzliche Daten wie Temperatur zu senden, bietet dieses Skript eine einfache Lösung für die Energieüberwachung und die Integration mit externen Plattformen.

        // Shelly GEN2 script: HTTP POST - Send energy meter watts to Thingspeak cloud

// Settings
let tsapikey = "YOURAPIKEY"; // Copy from Thingspeak.com > Channels > Channel > API Keys > Write API key
let tsjsonurl = "https://api.thingspeak.com/update.json";

// Assign watts to variable
let status = Shelly.getComponentStatus("switch", 0);
let watts = status.apower;
// let tempe = status.temperature.tC; // uncomment if you want to send temperature too
print(watts);

// Define timespan: minutes * 60 sec * 1000 milliseconds
let interval = 5 * 60 * 1000;

// Create JSON
let tsjson = {
	"api_key": tsapikey,
	"field1": watts // Change the field number as needed.
  // "field2": tempe // <- this can be used to send temperature too, just add comma to end of previous line
};

// Set timer which send the HTTP POST
Timer.set(
  interval,
  true,
  function () {Shelly.call("HTTP.POST", {"url": tsjsonurl, "body": tsjson, "timeout": 5});}
);