Examples of APIMessage


Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

  /**
   * {@inheritDoc}
   */
  @Override
  public void handleEvent(Item item, DSCAlarmBindingConfig config, EventPublisher publisher, DSCAlarmEvent event) {
    APIMessage apiMessage = null;
    int state;

    if(event != null) {
      apiMessage = event.getAPIMessage();
      String str = "";
      logger.debug("handleEvent(): Panel Item Name: {}", item.getName());
 
      if(config != null) {
        if(config.getDSCAlarmItemType() != null) {
          switch(config.getDSCAlarmItemType()) {
            case PANEL_CONNECTION:
              state = panelProperties.getSystemConnection();
              publisher.postUpdate(item.getName(), new DecimalType(state));
              break;
            case PANEL_MESSAGE:
              if(apiMessage != null) {
                str = apiMessage.getAPIDescription();
                panelProperties.setSystemMessage(str);
              }
              publisher.postUpdate(item.getName(), new StringType(str));
              break;
     
            case PANEL_SYSTEM_ERROR:
              panelProperties.setSystemError(1);
              panelProperties.setSystemErrorCode(0);
              int systemErrorCode = 0;
             
              if(apiMessage != null) {
                systemErrorCode = Integer.parseInt(apiMessage.getAPIData());
                panelProperties.setSystemErrorCode(systemErrorCode);
              }
             
              switch(systemErrorCode) {
                case 1:
                  panelProperties.setSystemErrorDescription("Receive Buffer Overrun");
                  break;
                case 2:
                  panelProperties.setSystemErrorDescription("Receive Buffer Overflow");
                  break;
                case 3:
                  panelProperties.setSystemErrorDescription("Transmit Buffer Overflow");
                  break;
                case 10:
                  panelProperties.setSystemErrorDescription("Keybus Transmit Buffer Overrun");
                  break;
                case 11:
                  panelProperties.setSystemErrorDescription("Keybus Transmit Time Timeout");
                  break;
                case 12:
                  panelProperties.setSystemErrorDescription("Keybus Transmit Mode Timeout");
                  break;
                case 13:
                  panelProperties.setSystemErrorDescription("Keybus Transmit Keystring Timeout");
                  break;
                case 14:
                  panelProperties.setSystemErrorDescription("Keybus Interface Not Functioning");
                  break;
                case 15:
                  panelProperties.setSystemErrorDescription("Keybus Busy - Attempting to Disarm or Arm with user code");
                  break;
                case 16:
                  panelProperties.setSystemErrorDescription("Keybus Busy – Lockout");
                  break;
                case 17:
                  panelProperties.setSystemErrorDescription("Keybus Busy – Installers Mode");
                  break;
                case 18:
                  panelProperties.setSystemErrorDescription("Keybus Busy - General Busy");
                  break;
                case 20:
                  panelProperties.setSystemErrorDescription("API Command Syntax Error");
                  break;
                case 21:
                  panelProperties.setSystemErrorDescription("API Command Partition Error - Requested Partition is out of bounds");
                  break;
                case 22:
                  panelProperties.setSystemErrorDescription("API Command Not Supported");
                  break;
                case 23:
                  panelProperties.setSystemErrorDescription("API System Not Armed - Sent in response to a disarm command");
                  break;
                case 24:
                  panelProperties.setSystemErrorDescription("API System Not Ready to Arm - System is either not-secure, in exit-delay, or already armed");
                  break;
                case 25:
                  panelProperties.setSystemErrorDescription("API Command Invalid Length");
                  break;
                case 26:
                  panelProperties.setSystemErrorDescription("API User Code not Required");
                  break;
                case 27:
                  panelProperties.setSystemErrorDescription("API Invalid Characters in Command - No alpha characters are allowed except for checksum");
                  break;
                case 28:
                  panelProperties.setSystemErrorDescription("API Virtual Keypad is Disabled");
                  break;
                case 29:
                  panelProperties.setSystemErrorDescription("API Not Valid Parameter");
                  break;
                case 30:
                  panelProperties.setSystemErrorDescription("API Keypad Does Not Come Out of Blank Mode");
                  break;
                case 31:
                  panelProperties.setSystemErrorDescription("API IT-100 is Already in Thermostat Menu");
                  break;
                case 32:
                  panelProperties.setSystemErrorDescription("API IT-100 is NOT in Thermostat Menu");
                  break;
                case 33:
                  panelProperties.setSystemErrorDescription("API No Response From Thermostat or Escort Module");
                  break;
                case 0:
                default:
                  panelProperties.setSystemErrorDescription("No Error");
                  break;
              }
              str = String.format("%03d", panelProperties.getSystemErrorCode()) + ": " + panelProperties.getSystemErrorDescription();
              publisher.postUpdate(item.getName(), new StringType(str));
              break;
            case PANEL_TIME_DATE:
              if(apiMessage != null) {
                panelProperties.setTimeDate(apiMessage.getAPIData());
                publisher.postUpdate(item.getName(), new DateTimeType(str));
                str = apiMessage.getAPIData();
              }
              break;
            default:
              logger.debug("handleEvent(): Panel item not updated.");
              break;
View Full Code Here

Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

  /**
   * {@inheritDoc}
   */
  @Override
  public void handleEvent(Item item, DSCAlarmBindingConfig config, EventPublisher publisher, DSCAlarmEvent event) {
    APIMessage apiMessage = null;
    int state;

    if(event != null) {
      apiMessage = event.getAPIMessage();
      state = Integer.parseInt(apiMessage.getAPIData().substring(1));
      String str = "";
      logger.debug("handleEvent(): Keypad Item Name: {}", item.getName());
 
      if(config != null) {
        if(config.getDSCAlarmItemType() != null) {
View Full Code Here

Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

   * {@inheritDoc}
   */
  @Override
  public void handleEvent(Item item, DSCAlarmBindingConfig config, EventPublisher publisher, DSCAlarmEvent event) {
    int tpiCode = -1;
    APIMessage tpiMessage = null;
    String strStatus = "Status Unknown!";
   
    if(event != null) {
      tpiMessage = event.getAPIMessage();
      tpiCode = Integer.parseInt(tpiMessage.getAPICode());
      strStatus = tpiMessage.getAPIName();
      logger.debug("handleEvent(): Zone Item Name: {}", item.getName());

      if(config != null) {
        if(config.getDSCAlarmItemType() != null) {
          switch(config.getDSCAlarmItemType()) {
View Full Code Here

Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

    * Handles an incoming message
    *
    * @param incomingMessage
    */
   public synchronized void handleIncomingMessage(String incomingMessage) {
    APIMessage Message = new APIMessage(incomingMessage);
    logger.debug("handleIncomingMessage(): Message recieved: {} - {}",incomingMessage,Message.toString());

    DSCAlarmEvent event = new DSCAlarmEvent(this);
    event.dscAlarmEventMessage(Message);
   
    // send message to event listeners
View Full Code Here

Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

   *
   * @param event
   */ 
  private void keypadLEDStateEventHandler(EventObject event) {
    DSCAlarmEvent dscAlarmEvent = (DSCAlarmEvent) event;
    APIMessage apiMessage = dscAlarmEvent.getAPIMessage();
    DSCAlarmItemType[] dscAlarmItemTypes =
    {
      DSCAlarmItemType.KEYPAD_READY_LED,DSCAlarmItemType.KEYPAD_ARMED_LED,
      DSCAlarmItemType.KEYPAD_MEMORY_LED,DSCAlarmItemType.KEYPAD_BYPASS_LED,
      DSCAlarmItemType.KEYPAD_TROUBLE_LED,DSCAlarmItemType.KEYPAD_PROGRAM_LED,
      DSCAlarmItemType.KEYPAD_FIRE_LED,DSCAlarmItemType.KEYPAD_BACKLIGHT_LED
    };

    String itemName;
    APICode apiCode = APICode.getAPICodeValue(apiMessage.getAPICode());
   
    int bitField = Integer.decode("0x" + apiMessage.getAPIData());
    int[] masks = {1,2,4,8,16,32,64,128};
    int[] bits = new int[8];

    for(int i=0; i < 8; i++) {
      bits[i] = bitField & masks[i];
View Full Code Here

Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

   *
   * @param event
   */
  public void dscAlarmEventRecieved(EventObject event) {
    DSCAlarmEvent dscAlarmEvent = (DSCAlarmEvent) event;
    APIMessage apiMessage = dscAlarmEvent.getAPIMessage();
    APIMessage.APIMessageType apiMessageType = apiMessage.getAPIMessageType();

    DSCAlarmItemType dscAlarmItemType = null;
    APICode apiCode = APICode.getAPICodeValue(apiMessage.getAPICode());
    String apiData = apiMessage.getAPIData();
    DSCAlarmBindingConfig config = null;
    Item item = null;
    String itemName = "";
    int forLimit = 1;

    boolean found = false;
   
    switch(apiCode) {
      case CommandAcknowledge: /*500*/
        dscAlarmItemUpdate.setConnected(true);
        dscAlarmItemType = DSCAlarmItemType.PANEL_CONNECTION;
        break;
      case SystemError: /*502*/
        dscAlarmItemType = DSCAlarmItemType.PANEL_SYSTEM_ERROR;
        break;
      case KeypadLEDState: /*510*/
      case KeypadLEDFlashState: /*511*/
        keypadLEDStateEventHandler(event);
        break;
      case TimeDateBroadcast: /*550*/
        dscAlarmItemType = DSCAlarmItemType.PANEL_TIME_DATE;
        break;
      case PartitionReady: /*650*/
      case PartitionNotReady: /*651*/
      case PartitionReadyForceArming: /*653*/
      case PartitionInAlarm: /*654*/
      case FailureToArm: /*672*/
      case SystemArmingInProgress:
        dscAlarmItemType = DSCAlarmItemType.PARTITION_STATUS;
        break;
      case PartitionArmed: /*652*/
        forLimit = 2;
      case PartitionDisarmed: /*655*/
        dscAlarmItemType = DSCAlarmItemType.PARTITION_ARM_MODE;
        break;
      case ZoneAlarm: /*601*/
      case ZoneAlarmRestore: /*602*/
        dscAlarmItemType = DSCAlarmItemType.ZONE_ALARM_STATUS;
        break;
      case ZoneTamper: /*603*/
      case ZoneTamperRestore: /*604*/
        dscAlarmItemType = DSCAlarmItemType.ZONE_TAMPER_STATUS;
        break;
      case ZoneFault: /*605*/
      case ZoneFaultRestore: /*606*/
        dscAlarmItemType = DSCAlarmItemType.ZONE_FAULT_STATUS;
        break;
      case ZoneOpen: /*609*/
      case ZoneRestored: /*610*/
        dscAlarmItemType = DSCAlarmItemType.ZONE_GENERAL_STATUS;
        break;
      case CodeRequired: /*900*/
        api.sendCommand(APICode.CodeSend);
        break;
      case LEDStatus: /*903*/
        int aData = Integer.parseInt(apiData.substring(0,1));
        switch(aData) {
          case 1:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_READY_LED;
            break;
          case 2:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_ARMED_LED;
            break;
          case 3:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_MEMORY_LED;
            break;
          case 4:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_BYPASS_LED;
            break;
          case 5:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_TROUBLE_LED;
            break;
          case 6:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_PROGRAM_LED;
            break;
          case 7:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_FIRE_LED;
            break;
          case 8:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_BACKLIGHT_LED;
            break;
          case 9:
            dscAlarmItemType = DSCAlarmItemType.KEYPAD_AC_LED;
            break;
        }
      default:
        break;
   
    }

    int partitionId = apiMessage.getPartition();
   
    int zoneId = apiMessage.getZone();
   
    logger.debug("dscAlarmEventRecieved(): Event received! Looking for item: {}", dscAlarmItemType);

    for (int i=0; i <= forLimit; i++) {
      if(dscAlarmItemType != null) {
View Full Code Here

Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

    * Handles an incoming  message
    *
    * @param incomingMessage
    */
   public synchronized void handleIncomingMessage(String incomingMessage) {
    APIMessage Message = new APIMessage(incomingMessage);
    logger.debug("handleIncomingMessage(): Message recieved: {} - {}",incomingMessage,Message.toString());

    DSCAlarmEvent event = new DSCAlarmEvent(this);
    event.dscAlarmEventMessage(Message);
   
    // send message to event listeners
View Full Code Here

Examples of org.openhab.binding.dscalarm.internal.protocol.APIMessage

   */
  @Override
  public void handleEvent(Item item, DSCAlarmBindingConfig config, EventPublisher publisher, DSCAlarmEvent event) {
    int state = 0;
    int apiCode = -1;
    APIMessage apiMessage = null;
    String strStatus = "";
   
    if(event != null) {
      apiMessage = event.getAPIMessage();
      apiCode = Integer.parseInt(apiMessage.getAPICode());
      strStatus = apiMessage.getAPIName();
      logger.debug("handleEvent(): Partition Item Name: {}", item.getName());
     
      if(config != null) {
        if(config.getDSCAlarmItemType() != null) {
          switch(config.getDSCAlarmItemType()) {
            case PARTITION_STATUS:
              switch(apiCode) {
                case 650:
                case 653:
                  state = 1;
                  partitionProperties.setState(StateType.GENERAL_STATE, state, strStatus);
                  break;
                case 651:
                case 672:
                case 673:
                  state = 0;
                  partitionProperties.setState(StateType.GENERAL_STATE, 0, strStatus);
                  break;
                case 654:
                  partitionProperties.setState(StateType.ALARM_STATE, 1, strStatus);
                  break;
                default:
                  break;
              }
              partitionProperties.setState(StateType.GENERAL_STATE, state, strStatus);
              strStatus = partitionProperties.getStateDescription(StateType.GENERAL_STATE);
              publisher.postUpdate(item.getName(), new StringType(strStatus));
              break;
            case PARTITION_ARM_MODE:
              if(apiCode == 652)
                state = Integer.parseInt(apiMessage.getMode()) + 1;
              partitionProperties.setState(StateType.ARM_STATE, state, strStatus);
              strStatus = partitionProperties.getStateDescription(StateType.ARM_STATE);
              if(item instanceof NumberItem) {
                publisher.postUpdate(item.getName(), new DecimalType(state));
              }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.