//Create a class for switch level package SwitchLevel import Timer.SimulatedTimer public class SwitchLevel { private String id private String label private String displayName private int level private int rate def sendEvent def timers SwitchLevel(Closure sendEvent, String id, String label, String displayName, int level) { this.sendEvent = sendEvent this.timers = new SimulatedTimer() this.id = id this.label = label this.displayName = displayName this.level = level this.rate = level } //By Apps def setLevel(int level) { if (this.level != level) { println("the switch with id:$id is setted to level $level!") this.level = level this.rate = level sendEvent([name: "level", value: "50", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } //By Model Checker def setValue(String value) { println("the switch with id:$id is setted to level $value!") this.level = value.toInteger() this.rate = value.toInteger() } }