Shelly PM1 plus mit Add on Temperaturexporte automatisieren

  • Hallo Leute bin neu hier und auch nicht fit mit dem coden aber Chat-gtp usw. machts möglich.

    Ich habe einen Shelly PM1 Plus mit Add on bei meiner Ölheizung installiert (funktioniert super) um hauptsächlich diese zu kontrollieren>>> noch kein Eingriff in die Heizungssteuerung (momentan auch nicht erwünscht). Meine Sensoren sind DS18b20. D. h. genauer Leitungstemperatur (100), Warmwasserspeichertemp. (101) Vorlauf (102) & Rückauftemp. (103) und Warmwasserkreis (104).

    Wichtig und wenn ich das richtig versehe relativ leicht möglich, wäre jetzt ein Google Apps skript zu schreiben (Versuch siehe unten), dass einmal Täglich (23.59 Uhr) die Tagestemperaturenhistorie (Minimal und Maximalwert). Daten von allen 5 Sensoren ausliest bzw. mir in meine Google sheets tabelle (Shelly) ausgibt.

    Danach würde ich natürlich gerne mit Makros usw. diese Daten verwenden und Heizenergie (kWh & Heizkosten) täglich automatisiert auswerten, sowie ein paar Diagramme machen. Dies ist aber momentan nicht das Problem.

    Mein Problem ist, dass er mir mit meinem fabrizierten Code keine Daten ausliest bzw. nicht ins Test sheet von Google schreibt (3x jede dritte Spalte). Server, ID, API-Key usw. habe ich natürlich verändert. Hat jemand eine Ahnung was in meinem Google apps script falsch ist?

    Ausführungsprotokoll

    12:35:47

    Hinweis

    Ausführung begonnen

    12:35:49

    Hinweis

    Ausführung abgeschlossen


    // Funktion zur Erstellung eines täglichen Triggers

    function createDailyTrigger() {

      ScriptApp.newTrigger('grabDailyData')

    .timeBased()

    .atHour(23) // Festlegen der Stunde (23 Uhr)

    .nearMinute(59) // Festlegen der Minute (59 Minuten nach der Stunde)

    .everyDays(1) // Jeden Tag ausführen

    .create();

    }


    // Funktion zum Abrufen und Speichern der Temperaturdaten von Shelly

    functiongrabDailyData() {

      vartemperatureData = [];

      varsensorIds = [100, 101, 102, 103, 104]; // IDs der 5 Sensoren

      vartimestamp = newDate(); // Aktuelles Datum

      varsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Shelly Datatabelle Test');


      // API für jeden Sensor abfragen

      for (var i = 0; i < sensorIds.length; i++) {

        try {

          var sensorId = sensorIds[i];

          var url = 'https://shelly-xxx-eu.shelly.cloud/device/status?…xxxxxxx&sensor=' + sensorId;

          var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true});

          var data = JSON.parse(response.getContentText());


          // Überprüfen, ob Temperaturdaten für den Sensor vorhanden sind

          if (data.device_status && data.device_status.temperature) {

            vartemperature = data.device_status.temperature; // Temperaturwert des Sensors

            temperatureData.push(temperature); // Temperatur speichern

    } else {

            Logger.log("Keine Temperaturdaten für Sensor " + sensorId + " verfügbar.");

    }

    } catch (e) {

          Logger.log("Fehler beim Abrufen der Daten für Sensor " + sensorId + ": " + e);

    }

    }


      // Temperaturdaten in das Tabellenblatt einfügen (jede dritte Spalte A, D, G, ...)

      if (temperatureData.length > 0) {

        var lastRow = sheet.getLastRow();

        var dataRow = [new Date()]; // Erstes Element ist das aktuelle Datum

        varcolumnOffset = 0;


        // Temperaturdaten in jede dritte Spalte einfügen (Spalten A, D, G, ...)

        for (var j = 0; j < temperatureData.length; j++) {

          var col = 1 + (j * 3); // A=1, D=4, G=7, usw.

          sheet.getRange(lastRow + 1, col).setValue(temperatureData[j]);

    }


        // Datum in die erste Spalte einfügen (A-Spalte)

        sheet.getRange(lastRow + 1, 1).setValue(timestamp);

    } else {

        Logger.log("Keine Daten zum Einfügen verfügbar.");

    }

    }

  • aber Chat-gtp usw. machts möglich.

    Offensichtlich nicht. Sonst würde es ja funktionieren

    Habe mich damit noch nicht befasst, aber trotzdem eine Frage dazu. Wo laufen denn diese Scripte? Irgendwo, bei Google in der Cloud? (Was ich nicht glaube)
    Oder local auf dem Rechner, vor dem Du sitzt? Ist dann der Rechner den ganzen Tag in Betrieb. Beschreib doch mal kurz das ganze Prinzip.

    Mit besten Grüßen

    Martin

    Falls sich Jemand von mir persönlich angegriffen fühlt, dann bitte ich um eine kurze Info. Es lässt sich alles klären. Ich bin, wie ich bin.

    Einen 3EM kann man übrigens in 1728 Varianten falsch einbauen und verdrahten .Es sind mittlerweile weitere Möglichkeiten dazu gekommen.

    In den meisten Einbauanleitungen sind die Wandler in der falschen Richtung eingezeichnet. Letzteres gilt nur für den alten 3EM.

  • Hallo, Ja noch machts es das nicht möglich (schade) aber wenigstens gibt es Vertrauen, sodass man einen Versuch startet. Vielleicht komplettiere ich es ja mit Euer Hilfe.

    Das Skript läuft (1 mal täglich) Online über einen Trigger auf Google Apps Scrips. Ich könnte es auch wenn nötig auf meinem Arbeitscomputer machen (tagsüber eingeschaltet) und die Triggerzeit verändern, da Rasperry PI werde ich mir momentan nicht kaufen für sowas aber ich glaube und hoffe, dass es so auch funktioniert.

  • Danach würde ich natürlich gerne mit Makros usw. diese Daten verwenden und Heizenergie (kWh & Heizkosten) täglich automatisiert auswerten,

    Dann würde ich mir doch überlegen, ob es sich dafür lohnt an Google-Kram festzuhalten. Für die Visualisierung und alles was dann noch kommt, wäre es doch einfacher gleich mit HA, oder IO-Broker oder ähnlichem anzufangen. Zumal, wie Du sagst, Du keine richtige Peilung hast, was das Coden angeht. Für die genannten Systeme gibt es das alles Fix und Fertig.

    Mit besten Grüßen

    Martin

    Falls sich Jemand von mir persönlich angegriffen fühlt, dann bitte ich um eine kurze Info. Es lässt sich alles klären. Ich bin, wie ich bin.

    Einen 3EM kann man übrigens in 1728 Varianten falsch einbauen und verdrahten .Es sind mittlerweile weitere Möglichkeiten dazu gekommen.

    In den meisten Einbauanleitungen sind die Wandler in der falschen Richtung eingezeichnet. Letzteres gilt nur für den alten 3EM.

  • Danke für den Input aber wenn ich das richtig verstehe heist HA immer Mini PC bzw. Rasberry Pi o. ä. . D. h. finanzieller Aufwand und auskennen tu ich mich mit dem Rasberry Pi & HA auch nicht, aber mit Excel schon, d. h ich nehme an, ich bin ich weit schneller mit Makros usw. zu visualisieren als mit R PI & HA zu lernen. Klar , ich weiß halt nicht wilange R Pi & HA zeit zum einlernen benötigen!

  • Dieses Thema enthält 2 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.