Hallo zusammen,
ich möchte mit einem i4 udn dem Wall Switch 4 auch 4 Gruppen mit Philips HUE anzusteuern.
Ich habe es nach einigem rumlesen und rumspielen geschafft, 3 Gruppen zum Leben zu erwecken.
Nun kommt aber die Fehlermeldung, daß ich maximal drei Scripte auf dem i4 aktivieren kann. Bis jetzt habe ich einfach das erste Script kopiert und war froh, dass es soweit geklappt hat.
Code
/**
* @copyright shelly-tools contributors
* @license GNU Affero General Public License (https://www.gnu.org/licenses/agpl-3.0.de.html)
* @authors https://github.com/shelly-tools/shelly-script-examples/graphs/contributors
*
* This script is intended to toggle on/Off a group of lights connected to a Phillips HuE Bridge.
*
*/
let CONFIG = {
ip: 'x.x.x.x', //Hue Bridge IP
user: 'xyzabc', //Hue Bridge API user
group: '86', // Hue group ID
input1: 0, // Shelly Button ID
btnevent1: 'single_push' //Shelly Button Event
};
// add an evenHandler
Shelly.addEventHandler(
function (event, user_data) {
//print(JSON.stringify(event));
if (typeof event.info.event !== 'undefined') {
if (event.info.id === CONFIG.input1 && event.info.event === CONFIG.btnevent1) {
// Get the current light state
Shelly.call(
"http.request", {
method: "GET",
url: 'http://' + CONFIG.ip + '/api/' + CONFIG.user + '/groups/' + CONFIG.group,
},
function (res, error_code, error_message, ud) {
let st = JSON.parse(res.body);
if (st.state.any_on === true) {
Toggle("false");
} else {
Toggle("true");
}
},
null
);
} else {
return true;
}
} else {
return true;
}
},
);
function Toggle(state) {
let b = '{"on": ' + state + '}';
Shelly.call(
"http.request", {
method: "PUT",
url: 'http://' + CONFIG.ip + '/api/' + CONFIG.user + '/groups/' + CONFIG.group + '/action',
body: b
},
function (r, e, m) {
},
null
);
}
Alles anzeigen
Ich nehme an, dass ich das alles auch in ein Script packen könnte - wenn ich es könnte.
Deswegen wende ich mich an die Spezialisten hier, und hoffe auf Tipps oder Unterstützung, wie ich mehrere Gruppen in einem Script ansteuern kann.
Vielen Dank für Hilfe,
Grüße
Alte_Sokke