import org.openhab.core.library.types.* import org.openhab.core.persistence.* import org.openhab.model.script.actions.* var String ArduinoUpdate = "" rule "Arduino sends to Openhab" when Item Arduino received update then ArduinoUpdate = ArduinoUpdate + Arduino.state.toString.trim println("ArduinoUpdate -> " + ArduinoUpdate) if(ArduinoUpdate.contains(";")) { // Temperatur var String itemString = "100;1;1;0;0;" if(ArduinoUpdate.contains(itemString)) { var int valueStartsOn = ArduinoUpdate.indexOf(itemString) + itemString.length var String myTemperatureAsString = ArduinoUpdate.mid(valueStartsOn, 4) var Number myTemperature = 0.0f myTemperature = Float::parseFloat(myTemperatureAsString) println(myTemperature) postUpdate(Temp01, myTemperatureAsString) } // Feuchtigkeit itemString = "100;0;1;0;1;" if(ArduinoUpdate.contains(itemString)) { var int valueStartsOn = ArduinoUpdate.indexOf(itemString) + itemString.length var String myHumidityAsString = ArduinoUpdate.mid(valueStartsOn, 4) var Number myHumidity = 0.0f; myHumidity = Float::parseFloat(myHumidityAsString) println(myHumidity) postUpdate(Hum01, myHumidity) } } ArduinoUpdate = ""; end rule "RED_LED Switch Rule" when Item RED_LED received update then var int status if(RED_LED.state == ON) status = 1 else status = 0 sendCommand(Arduino, "100;1;1;0;2;" + status + "\n") end rule "YELLOW_LED Switch Rule" when Item YELLOW_LED received update then var int status if(YELLOW_LED.state == ON) status = 1 else status = 0 sendCommand(Arduino, "100;2;1;0;2;" + status + "\n") end