I have a rules file to sync nikobus items with mios items (switches).
The bindings are ok.
Sync rules (example below) do not run, for none of the defined switches. The log gives nothing indicating that the rule is not triggered?
Any help for this would be welcome. All was working on OH1
rule "Link LPgarageStatus to LP_garage"
when
Item LPgarageStatus changed
then
if(LP_garage.state != LPgarageStatus.state && SystemStarting.state == OFF) {
sendCommand(LP_garage,LPgarageStatus.state.toString())
logDebug("vera", "Vera switch LPgarageStatus has been synced to state " + LPgarageStatus.state.toString() + " with Nikobus switch LP_garage")
}
end
rule "Link LP_garage to LPgarageStatus"
when
Item LP_garage changed
then if(LP_garage.state != LPgarageStatus.state && SystemStarting.state == OFF) {
sendCommand(LPgarageStatus,LP_garage.state.toString())
logDebug("vera", "Nikobus switch LP_garage has been synced to state " + LP_garage.state.toString() + " with Vera switch LPgarageStatus")
}
end
var java.util.concurrent.locks.ReentrantLock lock = new java.util.concurrent.locks.ReentrantLock()
rule "Link LPgarageStatus to LP_garage"
when
Item LPgarageStatus changed
then
lock.lock()
try {
if(LP_garage.state != LPgarageStatus.state && SystemStarting.state == OFF) {
LP_garage.sendCommand(LPgarageStatus.state.toString())
logDebug("vera", "Vera switch LPgarageStatus has been synced to state " + LPgarageStatus.state.toString() + " with Nikobus switch LP_garage")
}
} finally{
lock.unlock()
}
end
Rule adapted and working in OH2B5
import java.util.concurrent.locks.ReentrantLock
rule “Link LPgarageStatus to LPgarage”
when
Item LPgarageStatus changed
then
var ReentrantLock lock = new ReentrantLock()
lock.lock()
try {
if(LPgarage.state != LPgarageStatus.state && SystemStarting.state == OFF) {
LPgarage.sendCommand(LPgarageStatus.state.toString())
logDebug("vera", "Vera switch LPgarageStatus has been synced to state " + LPgarageStatus.state.toString() + " with Nikobus switch LPgarage")
}
} finally{
lock.unlock()
}
end