Hi,
I am trying to sleep for some seconds in my script. I tried the following script:
var outdoor_temp, bedroom_temp, a_at_home, b_at_home;
outdoor_temp = itemRegistry.getItem('weather_OutdoorTemperature').getState();
bedroom_temp = itemRegistry.getItem('bedroom_temperature').getState();
a_at_home = itemRegistry.getItem('a_Online').getState();
b_at_home = itemRegistry.getItem('b_Online').getState();
if ((outdoor_temp < 70 || bedroom_temp < 70) && (b_at_home || a_at_home)) {
events.sendCommand('bedroom_hvac_mode', '1');
Thread::sleep(1000);
events.sendCommand('bedroom_heat_temp', '70');
} else if ((outdoor_temp > 76 || bedroom_temp > 76) && (b_at_home || a_at_home)) {
events.sendCommand('bedroom_hvac_mode', '2');
Thread::sleep(1000);
events.sendCommand('bedroom_cool_temp', '76');
} else if (outdoor_temp < 35) {
events.sendCommand('bedroom_hvac_mode', '1');
Thread::sleep(1000);
events.sendCommand('bedroom_heat_temp', '50');
} else {
events.sendCommand('bedroom_hvac_mode', '0');
}
Unfortunately, the Thread::sleep(1000);
does not work here.
I am using the script in Rules engine in Openhab 3. There is an action named execute a given script.
Do you have any suggestion to use here to sleep one second between the two commands?