Hallo zusammen,
okay mit den Actions wäre es natürlich noch einfacher.
Ich hab folgendes fertiges Script gefunden und auf meinen I4 kopiert:
// Array of dimmers to be controlled
let dimmer = [
'192.168.1.115', // dimmer controlled with button 0
'192.168.1.120', // dimmer controlled with button 1
];
// CONFIG END
let dimstate = [
false,
false,
false,
false,
];
let up = [
false,
false,
false,
false,
];
// add an evenHandler for button type input and various push events
Shelly.addEventHandler(
function (event) {
if (typeof event.info.event !== 'undefined') {
let i = event.info.id;
if (typeof dimmer[i] !== 'undefined') {
if (dimstate[i] === true && event.info.event === 'btn_up') {
dimstate[i] = false;
print("release");
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?dim=stop'
},
function (response, error_code, error_message, ud) { },
null
);
}
if (event.info.event === 'single_push') {
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?turn=toggle'
},
function (rs, ec, em) { },
null
);
} else if (event.info.event === 'double_push') {
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?turn=on&brightness=100'
},
function (rs, ec, em) { },
null
);
} else if (event.info.event === 'long_push' && up[i]) {
dimstate[i] = true;
up[i] = false;
print("cycle");
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?dim=down&step=100'
},
function (rs, ec, em) { },
null
);
} else if (event.info.event === 'long_push' && up[i] === false) {
dimstate[i] = true;
up[i] = true;
print("cycle");
Shelly.call(
"http.get", {
url: 'http://' + dimmer[i] + '/light/0?dim=up&step=100'
},
function (rs, ec, em) { },
null
);
}
else {
return true;
}
}
} else {
return true;
}
},
);
Alles anzeigen
Was mir auf den ersten Blick auffällt, dass einmal REMOTE.ip und bei meinem fertigen Script dimmer[i] verwendet wird.
Könnte das klappen wenn ich das REMOTE.ip gegen die IP Adresse des Dimmers tausche und dann das ganze Script dupliziere mit der zweiten IP des zweiten Dimmers? Mir ist bewusst, dass es da eine kleine Verzögerung geben kann aber das wäre nicht schlimm.
Ansonsten lasse ich es bei Actions und einer festen Dimmereinstellung. Die Taster sollten eigentlich nur als klassische Lichtschalter dienen. Hätten mit dem Script halt nur die Vorteile gehabt, dass man die kompletten Funktionen des Dimmers ausnutzen kann.
Danke nochmal an euch!
Grüße Florian