Ten skrypt odtwarza działanie profilu activation_switch z urządzeń Shelly Gen1, korzystając z możliwości skryptowania Shelly. Konfiguruje przełącznik w trybie „detached” i dodaje obsługę zdarzeń do zarządzania naciśnięciami przycisku. Skrypt ignoruje pojedyncze i podwójne naciśnięcia, aktywując przełącznik z zdefiniowanym przez użytkownika limitem czasu, gdy zostanie wykryte zdarzenie "btn_up". To idealne rozwiązanie dla użytkowników, którzy chcą emulować działanie Gen1 na swoich urządzeniach Shelly — skrypt umożliwia dostosowanie czasu przełączania oraz identyfikatorów przełącznika/wejścia.
// Przykład skryptu Shelly: replikacja profilu activation_switch
// Zachowanie Gen1 odtworzone za pomocą skryptu
let CONFIG = {
toggleTimeout: 5,
inputId: 0,
switchId: 0,
};
Shelly.call("Switch.SetConfig", {
id: CONFIG.switchId,
config: {
in_mode: "detached",
},
});
Shelly.addEventHandler(function (event) {
if (typeof event.info.event === "undefined") return;
if (event.info.component === "input:" + JSON.stringify(CONFIG.inputId)) {
// ignoruj zdarzenia single_push i double_push
if (event.info.event.indexOf("push") >= 0) return;
let swParams = {
id: CONFIG.switchId,
on: true,
};
if (event.info.event === "btn_up") {
swParams.toggle_after = CONFIG.toggleTimeout;
}
Shelly.call("Switch.Set", swParams);
}
});