Shelly Script bzw. mJS ist eine Untermenge von JavaScript mit zusätzlichem API (Application Programming Interface).
Die API beinhaltet die in der Shelly Dokumentation beschriebenen RPC Methoden (Remote Procedure Call), welche u.a. per HTTP und in einem Skript per Shelly.call(Methode, Parameter, callback) aufgerufen werden können.
Zum erstellen oder anpassen eines Skript solltest du dich deshalb auch mit JavaScript beschäftigen.
Eine brauchbare Quelle (Tutorial und Referenz zum Nachschlage) hierfür ist w3schools: https://www.w3schools.com/
… aber wie selektiere ich nun den Inputs. wo, an welcher Stelle ergänze ich input:2 bzw. id:2
Wenn du im Skript bspw. alle 4 Tasten unterschiedlich nutzen willst, kannst du eine Fallunterscheidung verwenden.
Weil die Event Informationen redundant sind, brauchst du hier den Komponentennamen nicht, es genügt deren Id, wenn zuvor der Name auf "input" geprüft wird.
Shelly.addEventHandler(
function (event) {
if(event.name==="input"){
let id = event.info.id;
// Anweisungen, die für alle Tasten vor deren Unterscheidung gelten sollen.
switch(id) { // Fallunterscheidung nach der Tasten Id, 0 bis 3
case 0:
// Anweisungen zu Taste 0
break;
case 1:
// Anweisungen zu Taste 1
break;
case 2:
// Anweisungen zu Taste 2
break;
case 3:
// Anweisungen zu Taste 3
break; // hier nicht erforderlich, stört aber auch nicht
}
// Anweisungen, die für alle Tasten nach deren spezifischen Behandlungen (s. case Id) gelten sollen
}
}
);
Alles anzeigen
Kleiner Hinweis:
Ich nutze nicht selten bei englischsprachigen Begriffen und Abkürzungen mal dieses mal jenes Geschlecht.
API mit I = Interface kann als das Interface oder als die Schnittstelle gedacht werden, entsprechend das API oder die API.
Edit:
Zur Sprache Shelly Script kenne ich kein Tutorial. Dasjenige in der Shelly Dokumentation ist ausschließlich zur Handhabung von Skripten geeignet, nicht zum kennenlernen der Sprache.
Auch kenne ich keine JavaScript Einführung, die außerhalb von Webseiten angesiedelt ist.
Da muss man halt durch, wobei die Kenntnis einer C ähnlichen Sprache nützlich ist.