Das Problem schien entweder an den Homematic-Geräten oder am Adapter gelegen zu haben. Mit der aktuellen Firmware der Geräte und auch einem Update des Adapters läuft alles wieder zuverlässig.
Da es nur acht HM-Geräte sind, arbeite ich ohne setStateDelayed.
Falls es jemand gebrauchen kann, hier mein vollständiges Script:
/*
**
** Steuerung aller Rollladen
**
*/
// Steuerungselemente
var cronVal = '0 8 * * *';
var dpIstDunkel = 'javascript.0.Helligkeit.IstDunkel';
// Datenpunkte
var dpRollButton = 'javascript.0.Button.RollladenButton';
var dpBeschattungSG = 'javascript.0.Beschattung.Beschattung_SG_Rollladen';
var dpBeschattungEG = 'javascript.0.Beschattung.Beschattung_EG_Rollladen';
var dpSperreKueche = 'javascript.0.Sperren.RollladeKüche';
var dpSperreBalkon = 'javascript.0.Sperren.RollladeBalkon';
var dpSperreWohnzimmer = 'javascript.0.Sperren.RollladeWohnzimmer';
var dpSperreTerrasse = 'javascript.0.Sperren.RollladeTerrasse';
var dpSperreSensorBalkon = 'hm-rpc.1.00109709AAA540.1.STATE';
// Aktoren
var idRollBueroVorne = 'hm-rpc.1.0011170999D57E.4.LEVEL';
var idRollBueroSeite = 'hm-rpc.1.0011170999CD2B.4.LEVEL';
var idRollWindfang = 'hm-rpc.1.00111709A6A04C.4.LEVEL';
var idRollGaesteWC = 'hm-rpc.1.00111709A6A03F.4.LEVEL';
var idRollKuecheSeite = 'hm-rpc.1.00111709A6A03D.4.LEVEL';
var idRollKuecheHinten = 'hm-rpc.1.001158A98B2B4C.4.LEVEL';
var idRollKuecheBalkon = 'hm-rpc.1.001158A98B2B0B.4.LEVEL';
var idRollKuecheLuftraum = 'hm-rpc.1.001158A98A542D.4.LEVEL';
var idRollTreppenhaus = 'shelly.0.SHSW-25#687E94#1.Shutter.Position';
var idRollStudio = 'shelly.0.SHSW-25#68841C#1.Shutter.Position';
var idRollHWR = 'shelly.0.SHSW-25#688A18#1.Shutter.Position';
var idRollWohnzimmer = 'shelly.0.SHSW-21#55B9B6#1.Shutter.Position';
var idRollTerrasse = 'shelly.0.SHSW-21#55A5A7#1.Shutter.Position';
var idRollKaminzimmer = 'shelly.0.SHSW-21#5A48C4#1.Shutter.Position';
// Arrays und Variablen
var idRollArr = [idRollBueroVorne, idRollBueroSeite, idRollWindfang,
idRollGaesteWC, idRollKuecheSeite, idRollKuecheHinten,
idRollKuecheBalkon, idRollKuecheLuftraum, idRollTreppenhaus,
idRollStudio, idRollHWR, idRollWohnzimmer,
idRollTerrasse, idRollKaminzimmer];
// Funktionen Rollladen
function allRollUp() {
idRollArr.forEach(function(idRoll, index, array) {
setState(idRoll, 100);
});
}
function allRollDown() {
var stateSperreKueche = getState(dpSperreKueche).val;
var stateSperreBalkon = getState(dpSperreBalkon).val;
var stateSperreWohnzimmer = getState(dpSperreWohnzimmer).val;
var stateSperreTerrasse = getState(dpSperreTerrasse).val;
var stateSperreSensorBalkon = getState(dpSperreSensorBalkon).val;
setState(idRollWindfang, 0);
setState(idRollGaesteWC, 0);
setState(idRollBueroVorne, 0);
setState(idRollBueroSeite, 0);
setState(idRollKuecheSeite, 0);
setState(idRollTreppenhaus, 0);
setState(idRollStudio, 0);
setState(idRollHWR, 0);
if(stateSperreKueche === false) {
setState(idRollKuecheHinten, 0);
setState(idRollKuecheLuftraum, 0);
if(stateSperreBalkon === false && stateSperreSensorBalkon === 0) setState(idRollKuecheBalkon, 0);
}
if(stateSperreWohnzimmer === false) {
setState(idRollWohnzimmer, 0);
setState(idRollTerrasse, 0);
if(stateSperreTerrasse === false) setState(idRollKaminzimmer, 0);
}
}
// Listener und Timer
schedule (
cronVal,
function ()
{
if(getState(dpRollButton).val === 'closed') {
setState(dpRollButton, 'open');
log('Alle Rollladen hochgefahren', 'info');
}
}
);
on ({
id: dpIstDunkel,
change: 'ne',
val: true
},
function ()
{
if(getState(dpRollButton).val === 'open') {
setState(dpRollButton, 'closed');
setStateDelayed(dpBeschattungSG, false, 5000);
setStateDelayed(dpBeschattungEG, false, 5000);
log('Alle Rollladen heruntergefahren', 'info');
}
}
);
on ({
id: dpRollButton,
change: 'ne',
val: 'closed'
},
function ()
{
allRollDown();
}
);
on (
{
id: dpRollButton,
change: 'ne',
val: 'open'
},
function ()
{
allRollUp();
}
);
Viele Grüße
Levy