Dear all,
I upgraded to OH 3 and combined this to move my installation from RP4 to Docker on Synology.
I experienced kind of a random behavior in some rules. For example I have a own booting routine to ensure a deterministic boot order of my rules. When booting OH3, I get randomly errors for the identical script. If I just reload the same rule file again, it might work or might not work.
Is there anything known?
Error message (not quite helpful, no line of code etc)
Script execution of rule with UID ‘boot-2’ failed: sleep interrupted in boot
var boot_onetime_finished = 0
rule "Boot"
when
System started
then
BootFinished.sendCommand(OFF)
end
rule "Boot via Cron"
when
Item BootStart received command ON or
Time cron "0/30 * * ? * * *" // Alle 30 Sekunden
then
if (boot_onetime_finished == 0) {
boot_onetime_finished = 1
BootStart.sendCommand (OFF)
BootFinished.sendCommand(OFF)
BootUIStart.sendCommand(OFF)
BootUIFinished.sendCommand(OFF)
BootGoogleHomeStart.sendCommand(OFF)
BootGoogleHomeFinished.sendCommand(OFF)
BootAnwesenheitStart.sendCommand(OFF)
BootAnwesenheitFinished.sendCommand(OFF)
BootSpeedTestStart.sendCommand(OFF)
BootSpeedTestFinished.sendCommand(OFF)
BootTimeOfTheDayStart.sendCommand(OFF)
BootTimeOfTheDayFinished.sendCommand(OFF)
BootZigbeeStart.sendCommand(OFF)
BootZigbeeFinished.sendCommand(OFF)
val mailActions = getActions("mail","mail:smtp:gmail")
mailActions.sendMail("xxx", "OpenHAB Boot gestartet","OpenHAB Boot gestartet")
logInfo("Boot: ","Start")
BootStatus.sendCommand("Start")
// Persistance
logInfo("Boot: ","Persistance Laden: Warten")
BootStatus.sendCommand("Persistance Laden: Warten")
while (BootPersistanceFinished.state != ON) {
}
Thread::sleep(10*1000)
logInfo("Boot: ","Persistance Laden: Abgeschlossen")
BootStatus.sendCommand("Persistance Laden: Abgeschlossen")
// UI
logInfo("Boot: ","UI: Gestartet, warten")
BootStatus.sendCommand("UI: Gestartet, warten")
BootUIFinished.sendCommand(OFF)
BootUIStart.sendCommand(ON)
while (BootUIFinished.state != ON) {
}
Thread::sleep(10*1000)
logInfo("Boot: ","UI: Abgeschlossen")
BootStatus.sendCommand("UI: Abgeschlossen")
// Google home
logInfo("Boot: ","Google Home: Gestartet, warten")
BootStatus.sendCommand("Google Home: Gestartet, warten")
BootGoogleHomeFinished.sendCommand(OFF)
BootGoogleHomeStart.sendCommand(ON)
while (BootGoogleHomeFinished.state != ON) {
}
Thread::sleep(10*1000)
logInfo("Boot: ","Google Home: Abgeschlossen")
BootStatus.sendCommand("Google Home: Abgeschlossen")
// Time Of The Day
logInfo("Boot: ","Time Of The Day: Gestartet, warten")
BootStatus.sendCommand("Time Of The Day: Gestartet, warten")
BootTimeOfTheDayFinished.sendCommand(OFF)
BootTimeOfTheDayStart.sendCommand(ON)
while (BootTimeOfTheDayFinished.state != ON) {
}
Thread::sleep(10*1000)
logInfo("Boot: ","Time Of The Day: Abgeschlossen")
BootStatus.sendCommand("Time Of The Day: Abgeschlossen")
// Anwesenheit
logInfo("Boot: ","Anwesenheit: Gestartet, warten")
BootStatus.sendCommand("Anwesenheit: Gestartet, warten")
BootAnwesenheitFinished.sendCommand(OFF)
BootAnwesenheitStart.sendCommand(ON)
while (BootAnwesenheitFinished.state != ON) {
}
Thread::sleep(10*1000)
logInfo("Boot: ","Anwesenheit: Abgeschlossen")
BootStatus.sendCommand("Anwesenheit: Abgeschlossen")
// Speed Test
logInfo("Boot: ","Speed Test: Gestartet, warten")
BootStatus.sendCommand("Speed Test: Gestartet, warten")
BootSpeedTestFinished.sendCommand(OFF)
BootSpeedTestStart.sendCommand(ON)
while (BootSpeedTestFinished.state != ON) {
}
Thread::sleep(10*1000)
logInfo("Boot: ","Speed Test: Abgeschlossen")
BootStatus.sendCommand("Speed Test: Abgeschlossen")
// Zigbee
logInfo("Boot: ","Zigbee: Gestartet, warten")
BootStatus.sendCommand("Zigbee: Gestartet, warten")
BootZigbeeFinished.sendCommand(OFF)
BootZigbeeStart.sendCommand(ON)
while (BootZigbeeFinished.state != ON) {
}
Thread::sleep(10*1000)
logInfo("Boot: ","Zigbee: Abgeschlossen")
BootStatus.sendCommand("Zigbee: Abgeschlossen")
BootStatus.sendCommand("Abgeschlossen")
BootFinished.sendCommand(ON)
mailActions.sendMail("xxx", "OpenHAB Boot beendet","OpenHAB Boot beendet")
}
end
Happy for help!
Thanks and best
MatzeMuc86