package samplescripts; import de.root1.kad.knxservice.KnxServiceException; import de.root1.kad.logicplugin.Logic; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Timer; import java.util.TimerTask; import java.util.logging.Level; import java.util.logging.Logger; public class VOC extends Logic { String vocGa = "VOC"; private TimerTask tt = new TimerTask() { @Override public void run() { String[] cmd = new String[]{"/opt/usb-sensors-linux/airsensor/airsensor", "-v", "-o"}; try { Process exec = Runtime.getRuntime().exec(cmd); InputStream inputStream = exec.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); String data = br.readLine(); br.close(); int exitvalue = exec.waitFor(); int vocValue = Integer.parseInt(data); log.info("Read VOC value: {} exitvalue: {}",data, exitvalue); write(vocGa, String.valueOf(vocValue)); } catch (IOException ex) { ex.printStackTrace(); } catch (InterruptedException ex) { Logger.getLogger(VOC.class.getName()).log(Level.SEVERE, null, ex); } catch (KnxServiceException ex) { ex.printStackTrace(); } } }; private Timer t = new Timer("VOC reader"); @Override public void init() { setPA("1.1.202"); t.schedule(tt, 5000, 60000); } }