@Override
  public void run() {
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM HH:mm");
    do {
      try {
        trayIcon.setToolTip("Busy...");
        trayIcon.setImage(imageBusy);
        
        TemperatureStatus t=controller.invoke();
        t.save(orm);

        trayIcon.setToolTip("Last sample: " + sdf.format(new Date()));
        trayIcon.setImage(imageIdle);
      } catch (Exception ex) {
        if (ex instanceof java.sql.SQLException) {
          logger.error(ex.getMessage(), ex);
          System.exit(-1);
        }
        if (!(ex instanceof InterruptedException)) {
          logger.error(ex.getMessage(), ex);
          //System.exit(-1);
          trayIcon.setImage(imageError);
          trayIcon.setToolTip(ex.getMessage());
        }
      }
      try {
        Thread.sleep(interval);
      } catch (Exception ex) {
        if (!(ex instanceof InterruptedException)) {
          logger.error(ex.getMessage(), ex);
          alive = false;
        }
      }
    } while (alive);
    System.exit(0);
  }