API calls sind immer erforderlich, lokal braucht man dazu aber keinen URL.
Das gelingt mit einem registrierten EventHandler oder StatusHandler. Auf Grund des Messwertes und einer oder zwei Schwellen (Hysterese!) kann geschaltet werden.
Dies gelingt bereits mit einem kleinen Skript. Ungetestet, da ich derzeit nur einen Rollladen-Shelly Plus 2PM zum testen verwenden kann.
Code
let Messausgang = 0, // An welchem Ausgang soll der Messwert herangezogen werden?
Schaltausgang = 1, // Welcher Ausgang soll geschaltet werden?
Level1 = 30, // unteren Wert zum schalten eintragen
Level2 = 40; // oberen Wert zum Schalten eintragen
function processStatus(status) {
if(status.component === "switch:" + Messausgang
&& status.delta !== undefined
&& status.delta.apower !== undefined) {
print(status.delta.apower);
if(status.delta.apower < Level1)
Shelly.call("switch.set", {id:Schaltausgang, on:true}); // Schaltausgang einschalten
else if(status.delta.apower > Level2)
Shelly.call("switch.set", {id:Schaltausgang, on:false}); // Schaltausgang ausschalten
}
}
Shelly.addStatusHandler(processStatus);
Alles anzeigen
Für ein zielgerichteteres Skript ist eine genauere Beschreibung deines Ziels erforderlich. ![]()