Wie genau kann ich das abprüfen? Würde mir auch reichen.
Etwas anderes als im obigen Code ist mir spontan nicht eingefallen.
Wie genau kann ich das abprüfen? Würde mir auch reichen.
Etwas anderes als im obigen Code ist mir spontan nicht eingefallen.
Hallo zusammen,
ich bin langsam wirklich am verzweifeln.
Ich kann es leider nur so umsetzen, dass ein Shelly (2) nur in bestimmten Situationen Strom erhält, also nicht dauerhaft.
Jetzt sollte es aber doch möglich sein, dass Shelly (1) in einem Intervall prüft, ob Shelly (2) online ist, oder nicht.
Dementsprechend sollte Shelly (1) seinen Ausgang auf "ein" oder "aus" stellen. Es handelt sich um Shelly 1 Mini Gen 3.
Ich habe es mit folgendem Code versucht (IP habe ich bewusst herausgenommen):
let shelly2_ip = "192.168.xxx.xx";
function checkShelly2CloudStatus() {
Shelly.call("HTTP.GET", { url: 'http://${shelly2_ip}/rpc/Cloud.GetStatus' }, function (res, err) {
print("HTTP-Antwort: res = " + JSON.stringify(res) + ", err = " + JSON.stringify(err));
if (res && res.code === 200) {
let response = JSON.parse(res.body);
if (response.connected) {
print("Shelly 2 Cloud ist verbunden. Schalte Shelly 1 ein.");
Shelly.call("Switch.Set", { id: 0, on: true });
} else {
print("Shelly 2 Cloud ist nicht verbunden. Schalte Shelly 1 aus.");
Shelly.call("Switch.Set", { id: 0, on: false });
}
} else {
print("Fehler beim Abrufen des Cloud-Status: " + JSON.stringify(err));
}
});
}
// Wiederholung alle 5 Sekunden
Timer.set(5000, true, function () {
checkShelly2CloudStatus();
});
Alles anzeigen
Ich erhalte jedoch immer
Habe ich irgendwo einen Fehler gemacht? Wenn ich die URL aus dem Script im Browser eingebe, kann ich ohne Probleme auf den Shelly zugreifen....
Danke euch!