@paul53 genial, vielen Dank für die Hilfe, es funktioniert wie gewollt... und das mit sooo wenig Quellcode. Klasse.
Ich hab nur eine kleine Änderung/Ergänzung virgenommen:
Bisher hatte ich es so, dass die broadlinkszenen die Befehle "Lampe an, 1000," + den Sendebefehl für die Farbe enthielten. Dies habe ich aufgelöst und nun nur noch den betreffenden Farbcode drin und eine eigene Szene für das Einschalten der Lampe mit Farbe weiss gesetzt.
Im "Schedule-Anweisungsblock" sende ich dann gleich den Befehl für das Einschalten der Lampe mit, damit dann in der Farbwechsel-Funktion nur noch das Umschalten zwischen den Farben erfolgt. Das Ausschalten will ich bewusst manuell halten - als Erinnerungsstütze weil man vielleicht nicht immer in der Küche steht wenn die Lampe angeht.
EDIT: Da ich ja ich den Schefule-Part das Einschalten der Lampe mit reingekommen habe, würde ja folglich die Lampe zu den Schedule-Zriten angehen - unabhängig davon ob überhaupt ein Entsorgungsrermin ansteht oder nicht.
schedule('0 12,16,20 * * *', function() {
Leichtverpackungen = getState('ical.0.events.1.Leichtverpackungen').val;
Papiertonne = getState('ical.0.events.1.Papiertonne').val;
Bioabfallbehaelter = getState('ical.0.events.1.Bioabfallbehaelter').val;
Restmuelltonne = getState('ical.0.events.1.Restmuelltonne').val;
Problemmuell = getState('ical.0.events.1.Problemmuell').val;
cnt = 0;
muelllicht();
Um das zu verhindern habe ich hier noch eine if-Abfeage eingebaut, welche dann zu den Schefule-Zeiten als erstes prüft, ob eine der Events überhaupt ein True hat. Wenn ja, dann wird die Funktion aufgerufen oder eben nicht.
schedule('0 14,17,20 * * *', function() {
Leichtverpackungen = getState('ical.0.events.1.Leichtverpackungen').val;
Papiertonne = getState('ical.0.events.1.Papiertonne').val;
Bioabfallbehaelter = getState('ical.0.events.1.Bioabfallbehaelter').val;
Restmuelltonne = getState('ical.0.events.1.Restmuelltonne').val;
Problemmuell = getState('ical.0.events.1.Problemmuell').val;
cnt = 0;
if(Leichtverpackungen === true || Papiertonne === true || Bioabfallbehaelter === true || Restmuelltonne === true || Problemmuell === true) {
setState("broadlink2.0.Scenes.Lampe an", true);
muelllicht();
}
Nochmals vielen, vielen Dank.
Gruß
Markus