示例#1
0
  public void handleCommandEvent(Event obj, String cmd) {
    super.handleCommandEvent(obj, cmd);

    int equalsPos = cmd.indexOf("=");

    String command = (equalsPos < 0) ? cmd : cmd.substring(0, equalsPos);
    String value = (equalsPos < 0) ? "" : cmd.substring(equalsPos + 1);

    // Set IP address.
    if (command.toUpperCase().equals("IPADDR")) {
      _pjLink.setIPAddress(value);

      if (value.length() == 0) {
        System.out.println("PJLink IP address cleared for " + dvDuet.getDPS().toString() + ".");
      } else {
        System.out.println(
            "PJLink IP address set to "
                + _pjLink.getIPAddress()
                + " for "
                + dvDuet.getDPS().toString()
                + ".");
      }
    } else if (command.toUpperCase().equals("?LAMPTIME")) {
      _pjLink.queryLampHours();
    } else if (command.toUpperCase().equals("?CONN")) {
      System.out.println(
          "PJLink "
              + _pjLink.getIPAddress()
              + " connection status: "
              + !_pjLink.getConnectionError());
    } else if (command.toUpperCase().equals("DEBUG")) {
      if (value.equals("1") || value.toUpperCase().equals("TRUE")) {
        _pjLink.setPrintDebug(true);
        System.out.println("Debug enabled for device " + dvDuet.getDPS().toString() + ".");
      } else if (value.equals("0") || value.toUpperCase().equals("FALSE")) {
        _pjLink.setPrintDebug(false);
        System.out.println("Debug disabled for device " + dvDuet.getDPS().toString() + ".");
      }
    } else if (command.toUpperCase().equals("?DEBUG")) {
      dvDuet.sendCommand("DEBUG-" + _pjLink.getPrintDebug());
    } else if (command.toUpperCase().equals("DISABLE_POLLING")) {
      if (value.equals("1") || value.toUpperCase().equals("TRUE")) {
        _pjLink.setDisablePolling(true);
        System.out.println("Polling disabled for device " + dvDuet.getDPS().toString() + ".");
      } else if (value.equals("0") || value.toUpperCase().equals("FALSE")) {
        _pjLink.setDisablePolling(false);
        System.out.println("Polling enabled for device " + dvDuet.getDPS().toString() + ".");
      }
    } else if (command.toUpperCase().equals("?DISABLE_POLLING")) {
      dvDuet.sendCommand("DISABLE_POLLING-" + _pjLink.getDisablePolling());
    } else if (command.toUpperCase().equals("REFRESH_INTERVAL")) {
      try {
        _pjLink.setRefreshInterval(Integer.parseInt(value));
      } catch (NumberFormatException ex) {
        // Don't care.
      }
    } else if (command.toUpperCase().equals("?REFRESH_INTERVAL")) {
      dvDuet.sendCommand("REFRESH_INTERVAL-" + _pjLink.getRefreshInterval());
    }
  }