@Override
  public QueryContextResponse queryContext(final QueryContext query) {
    logger.info("=> queryContext: {}", query.toString());

    // check if the incoming query is on Room
    EntityId queryEntityId = query.getEntityIdList().get(0);
    if (queryEntityId.getId().contains("Room")) {
      return createRoomQueryResponse(queryEntityId);
    } else if (queryEntityId.getId().contains("Shutter")) {
      return createShutterQueryResponse(queryEntityId);
    } else {
      QueryContextResponse queryResponse = new QueryContextResponse();
      queryResponse.setErrorCode(new StatusCode(CodeEnum.CODE_404, queryEntityId.getId()));
      return queryResponse;
    }
  }