Der shelly soll eine email senden, wenn die zugeordneten Aufgaben erfüllt werden. Api docs kenne ich nicht.
Jedenfalls danke!
Der shelly soll eine email senden, wenn die zugeordneten Aufgaben erfüllt werden. Api docs kenne ich nicht.
Jedenfalls danke!
Ja, das ist aber egal, da hatte ich zuvor auch die gleiche
Ich bekomme keine Nachricht an eine email. Dieses script ist mit KI erzeugt (copilot)
Wenn der Schalter (shelly 1 Gen3) einschaltet und ausschaltet, soll eine email versendet werden.
Vielleicht fehlt hier grundsätzliches, weil ich auch keine error erhalte.
Danke!
—————-
let smtp = {
server: "host11.ssl-secured.eu", // SMTP-Server-Adresse
port: 465, // SMTP-Port (z.B. 587 für TLS)
username: "info@volgger.at", // Ihr E-Mail-Benutzername
password: "——", // Ihr E-Mail-Passwort
from: "info@volgger.at", // Absender-E-Mail-Adresse
to: "c.volgger@tsn.at", // Empfänger-E-Mail-Adresse
subject: "Shelly Schalter Status", // Betreff der E-Mail
body: "hi" // E-Mail-Text
};
Shelly.addEventHandler(function (event, user_data) {
if (event.component === "switch" && (event.info.state === true event.info.state === false)) {
let state = event.info.state ? "eingeschaltet" : "ausgeschaltet";
smtp.body = "Der Shelly-Schalter wurde " + state;
print("Versuche, E-Mail zu senden mit Status: " + state);
Shelly.call(
"SMTP.SEND",
smtp,
function (result, error_code, error_message) {
if (error_code === 0) {
print("E-Mail erfolgreich gesendet");
} else {
print("Fehler beim Senden der E-Mail: ", error_message);
}
}
);
}
});
Ich glaube, das sollte jeder wissen, was da alles möglich ist 😁
Ich habe heute die KI (Microsoft Copilot) gefragt, ob sie mir ein script über eine Temperaturdifferenz-Regelung mit zwei Boilern, einer Umwälz-Pumpe, ein Umschaltventil und 5 Temperatursensoren: Kollektor, Vor- und Rücklauf, Boiler1 und Boiler 2 schreiben kann:
Hier das Ergebnis:
// Shelly Script für Differenztemperatursteuerung mit Umschaltventil, Hysterese, Minimaltemperatur und Vor-/Rücklauftemperatur
// Konfigurationsparameter
let tempBoiler1 = 0;
let tempBoiler2 = 0;
let tempKollektor = 0;
let tempKollektorVorlauf = 0;
let tempKollektorRücklauf = 0;
let thresholdBoiler1 = 60; // Schwellenwert für Boiler 1
let hysteresis = 2; // Hysterese-Wert in Grad Celsius
let minKollektorTemp = 40; // Minimale Kollektortemperatur für Pumpenbetrieb
let minDiffTemp = 3; // Minimale Temperaturdifferenz für Pumpenbetrieb
let relayPump = 0; // Relais für die Pumpe
let relayValve = 1; // Relais für das Umschaltventil
// Funktion zum Aktualisieren der Temperaturen
function updateTemperatures() {
Shelly.call("http.get", { url: "http://shelly-ip/status" }, function (res) {
let data = JSON.parse(res.body);
tempBoiler1 = data.ext_temperature[0].tC;
tempBoiler2 = data.ext_temperature[1].tC;
tempKollektor = data.ext_temperature[2].tC;
tempKollektorVorlauf = data.ext_temperature[3].tC;
tempKollektorRücklauf = data.ext_temperature[4].tC;
});
}
// Funktion zur Steuerung der Pumpe und des Ventils
function controlSystem() {
updateTemperatures();
if (tempKollektorVorlauf >= minKollektorTemp) {
if (tempBoiler1 >= thresholdBoiler1) {
// Umschaltventil auf Boiler 2 umschalten
Shelly.call("Switch.Set", { id: relayValve, on: true });
// Temperaturvergleich zwischen Boiler 2 und Kollektorvorlauf mit Hysterese und Mindestdifferenz
if (tempKollektorVorlauf > tempBoiler2 + hysteresis && (tempKollektorVorlauf - tempBoiler2) >= minDiffTemp) {
// Pumpe einschalten
Shelly.call("Switch.Set", { id: relayPump, on: true });
} else if (tempKollektorVorlauf <= tempBoiler2) {
// Pumpe ausschalten
Shelly.call("Switch.Set", { id: relayPump, on: false });
}
} else {
// Umschaltventil auf Boiler 1 zurückschalten (Standardzustand)
Shelly.call("Switch.Set", { id: relayValve, on: false });
// Pumpe einschalten, wenn Kollektortemperatur höher ist als Boiler 1 mit Hysterese und Mindestdifferenz
if (tempKollektorVorlauf > tempBoiler1 + hysteresis && (tempKollektorVorlauf - tempBoiler1) >= minDiffTemp) {
Shelly.call("Switch.Set", { id: relayPump, on: true });
} else if (tempKollektorVorlauf <= tempBoiler1 && tempKollektorVorlauf <= tempBoiler2) {
// Pumpe ausschalten, wenn Kollektortemperatur niedriger ist als beide Boiler
Shelly.call("Switch.Set", { id: relayPump, on: false });
}
}
} else {
// Pumpe ausschalten, wenn Kollektortemperatur unter der Minimaltemperatur liegt
Shelly.call("Switch.Set", { id: relayPump, on: false });
}
}
// Intervall zur regelmäßigen Überprüfung der Temperaturen
Timer.set(60000, true, function () {
controlSystem();
});
Ist schon interessant, bei mir zu Hause habe ich Haustüre, Garagentor, Klingel, Wasserpumpe, Außenbeleuchtung und andere für meine Kinder geteilt! Hat immer funktioniert (min. 1 Jahr). Jetzt sind sie auf deren shellyapp alle offline! Vielleicht muss man auf premium upgraden?
Wie lösche ich den App cache?
Alles schon versucht!
Liebe Mitglieder!
Ich habe 2 Thermostate von meiner App an zwei andere Accounts geteilt. Die Anzeige hat immer geklappt! Seit ca. 1 Woche sind die Anzeigen immer offline. Der Verlauf ist sichtbar, aber eben offline. Ich habe abgemeldet, angemeldet, offline. App deinstalliert, installiert immer offline! Neuen Account angelegt, bringt nichts!
Hat jemand eine Lösung?
Danke
Werde ich machen!
Danke für die Antworten!
Dann warte ich, vielleicht stimmt die Temperatur, was ich aber nicht glaube!
War schon der 2.Tag dasselbe Problem.
Mein H&T schläft seit 9 Stunden. Wie kann ich es aufwecken, ich bin nicht Vorort!
Danke!
Ich bin nicht Vorort. Habe schon einen Neustart versucht, leider irgendwie in der Bearbeitung hängengeblieben. Error bei Bluetooth kann ich nicht wegdrücken!
Danke!
Ich habe einen neuen Shelly Plus H&T.
Bei den Einstellungen sehe ich bei Bluetooth einen Error-Eintrag
Muss man da was machen? Er funktioniert einwandfrei!
Danke!
In der shelly app gefunden.
Bitte nächstes posting
Hier hab ich jetzt was gefunden
https://ameridroid.com/blogs/ameriblo…watchdog-script
Auf dieser Seite ist ein Link zum script
Danke! Leider sagt mir das jetzt gar nichts!
Ich dachte, da gibt es ein fertiges script zum Einfügen.