Hier noch ein Javascript, dass alle gewünschten Aspekte erfüllen dürfte.
`//In "javascript.0.wohnung.status.lampen" wird der Status der Lampen abgelegt.
createState('javascript.0.wohnung.status.lampen', false);
//Hier müssen alleLampen, die überwacht werden sollen eingetragen werden
lampen = [
"hm-rpc.1.IEQxxx.4.STATE"/*Flur Licht1.STATE*/,
"hm-rpc.1.IEQxxx.4.STATE"/*Flur Licht3.STATE*/,
"hm-rpc.1.IEQxxx.3.STATE"/*Flur Licht2.STATE*/
];
//Bei Start des Script, Lampenstatus aktualisieren
updateLampenStatus();
//Lampenstatus aller Lampen überwachen
for (var i=0;i<lampen.length;i++) {/subscribe({id:/lampen[i]},/function/(obj)/updatelampenstatus();/});/}/prüfe/lampenstatus/und/setze/entsprechend/"wohnung.status.lampen"/updatelampenstatus()/var/zustand="0;" for/(var/i="0;i<lampen.length;i++)" if(getstate(lampen[i]).val="">zustand) zustand=getState(lampen[i]).val;
}
setState('wohnung.status.lampen',zustand);
}
//Funktion, die "javascript.0.wohnung.status.lampe" überwacht und bei Änderung alle Lampen entsprechend per alleLampenSet schaltet
subscribe({id: 'javascript.0.wohnung.status.lampen', change:'any', fromNe:'system.adapter.javascript.0'}, function (obj) {
var level=getState('javascript.0.wohnung.status.lampen').val;
alleLampenSet(level);
});
//Funktion, die alle im Array "Lampen[]" auf einen Wert setzt
function alleLampenSet(level) {
for (var i=0;i<lampen.length;i++) {/setstate(lampen[i],level);/}/<e=""></lampen.length;i++)></lampen.length;i++)>`[/i][/i][/i][/i]