Openhab 3.2
Ubuntu 20.04 on X86
I have purchased several Zooz ZEN32 Scene Controllers. Great units, and I have 3 controlling Haiku fans with great success. I added one to my master bathroom to act as a regular relay for a set of sconces, and then to control scenes for various levels of dimming and ON/OFF for other lights. I have a straight forward rule for the scenes created using blockly:
var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);
if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '1.0') {
logger.info('Master Bath Scene 1.0 Triggered');
if (itemRegistry.getItem('MasterBathSconcesLightSwitch').getState() == 'OFF') {
events.sendCommand('MasterBathSconcesLightSwitch', 'ON');
}
if (itemRegistry.getItem('MasterBathLightsDimmer').getState() != '100') {
events.sendCommand('MasterBathLightsDimmer', '100');
}
if (itemRegistry.getItem('MasterBathShowerLightsDimmer').getState() != '100') {
events.sendCommand('MasterBathShowerLightsDimmer', '100');
}
} else if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '1.3') {
logger.info('Master Bath Scene 1.3 Triggered');
if (itemRegistry.getItem('MasterBathSconcesLightSwitch').getState() == 'ON') {
events.sendCommand('MasterBathSconcesLightSwitch', 'OFF');
}
if (itemRegistry.getItem('MasterBathLightsDimmer').getState() != '100') {
events.sendCommand('MasterBathLightsDimmer', '100');
}
if (itemRegistry.getItem('MasterBathShowerLightsDimmer').getState() != '100') {
events.sendCommand('MasterBathShowerLightsDimmer', '100');
}
} else if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '2.0') {
logger.info('Master Bath Scene 2.0 Triggered');
if (itemRegistry.getItem('MasterBathSconcesLightSwitch').getState() == 'OFF') {
events.sendCommand('MasterBathSconcesLightSwitch', 'ON');
}
if (itemRegistry.getItem('MasterBathLightsDimmer').getState() != '50') {
events.sendCommand('MasterBathLightsDimmer', '50');
}
if (itemRegistry.getItem('MasterBathShowerLightsDimmer').getState() != '50') {
events.sendCommand('MasterBathShowerLightsDimmer', '50');
}
} else if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '2.3') {
logger.info('Master Bath Scene 2.3 Triggered');
if (itemRegistry.getItem('MasterBathSconcesLightSwitch').getState() == 'ON') {
events.sendCommand('MasterBathSconcesLightSwitch', 'OFF');
}
if (itemRegistry.getItem('MasterBathLightsDimmer').getState() != '50') {
events.sendCommand('MasterBathLightsDimmer', '50');
}
if (itemRegistry.getItem('MasterBathShowerLightsDimmer').getState() != '50') {
events.sendCommand('MasterBathShowerLightsDimmer', '50');
}
} else if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '3.0') {
logger.info('Master Bath Scene 3.0 Triggered');
if (itemRegistry.getItem('MasterBathSconcesLightSwitch').getState() == 'OFF') {
events.sendCommand('MasterBathSconcesLightSwitch', 'ON');
}
if (itemRegistry.getItem('MasterBathLightsDimmer').getState() != '20') {
events.sendCommand('MasterBathLightsDimmer', '20');
}
if (itemRegistry.getItem('MasterBathShowerLightsDimmer').getState() != '20') {
events.sendCommand('MasterBathShowerLightsDimmer', '20');
}
} else if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '3.3') {
logger.info('Master Bath Scene 3.3 Triggered');
if (itemRegistry.getItem('MasterBathSconcesLightSwitch').getState() == 'ON') {
events.sendCommand('MasterBathSconcesLightSwitch', 'OFF');
}
if (itemRegistry.getItem('MasterBathLightsDimmer').getState() != '20') {
events.sendCommand('MasterBathLightsDimmer', '20');
}
if (itemRegistry.getItem('MasterBathShowerLightsDimmer').getState() != '20') {
events.sendCommand('MasterBathShowerLightsDimmer', '20');
}
} else if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '4.0') {
logger.info('Master Bath Scene 4.0 Triggered');
if (itemRegistry.getItem('MasterBathSconcesLightSwitch').getState() == 'ON') {
events.sendCommand('MasterBathSconcesLightSwitch', 'OFF');
}
if (itemRegistry.getItem('MasterBathShowerLightsDimmer').getState() != '0') {
events.sendCommand('MasterBathShowerLightsDimmer', '0');
events.postUpdate('MasterBathShowerLightsSwitch', 'OFF');
}
if (itemRegistry.getItem('MasterBathLightsDimmer').getState() != '0') {
events.sendCommand('MasterBathLightsDimmer', '0');
events.postUpdate('MasterBathLightsSwitch', 'OFF');
}
if (itemRegistry.getItem('MasterBathClosetSwitch1').getState() == 'ON') {
events.sendCommand('MasterBathClosetSwitch1', 'OFF');
}
if (itemRegistry.getItem('MasterBathToiletLightSwitch').getState() == 'ON') {
events.sendCommand('MasterBathToiletLightSwitch', 'OFF');
}
} else if (itemRegistry.getItem('MasterBathSconcesSceneNumber').getState() == '5.0') {
logger.info('Master Bath Scene 5.0 Triggered');
}
Periodically the rule seems to bog down, and sometimes takes up to 10+ seconds to execute. Thinking it could be the unit, I replaced the unit through Amazon, but that did not resolve the periodic slow downs. So I figure it’s either the rule or a radio issue (but no other slowness is apparent in all my zwave devices). Looking at log, this is the only thing that stands out to me:
Here is a snippet from the log. I’m not sure what to look for, so maybe someone could help translate for me
log.txt (507.3 KB)