|  |  | 
 |  |  |     @Override | 
 |  |  |     public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { | 
 |  |  |         ParseParamsForUpV2 para = (ParseParamsForUpV2)params ; | 
 |  |  |         int bsLen = new CommonV2().parseDataLen(para.upBuffer) ; | 
 |  |  |         int bsLen = new CommonV2().parseDataLen4P206(para.upBuffer) ; | 
 |  |  |         if(bsLen > 0){ | 
 |  |  |             this.doParse(para.upBuffer, | 
 |  |  |                     bsLen, | 
 |  |  | 
 |  |  |             confirmCommand.isQuickSend = true ; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         callback.callback(midRs.reportOrResponse_trueOrFalse); | 
 |  |  |         callback.callback(midRs.reportOrResponse_trueOrFalse, para.data.subData==null?null:((DataV2)(para.data.subData)).subData); | 
 |  |  |         if(para.data != null && para.data.getSubData() != null){ | 
 |  |  |             Object subData = para.data.getSubData() ; | 
 |  |  |             Object subData = ((DataV2)para.data.getSubData()).subData ; | 
 |  |  |             if(subData instanceof DataCd83OpenVo){ | 
 |  |  |                 callback.notify(new ValveStateInfo(true)); | 
 |  |  |             }else if(subData instanceof DataCd83CloseVo){ | 
 |  |  |                 callback.notify(new ValveStateInfo(false)); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return new MidResult[]{midRs, confirmCommand} ; | 
 |  |  |         return new MidResult[]{confirmCommand, midRs} ; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 执行分析 | 
 |  |  | 
 |  |  |         Data data = new Data() ; | 
 |  |  |         data.setSubData(new DataV2()) ; | 
 |  |  |  | 
 |  |  |         int bsLen = new CommonV2().parseDataLen(bs) ; | 
 |  |  |         int bsLen = new CommonV2().parseDataLen4P206(bs) ; | 
 |  |  |         if(bsLen > 0){ | 
 |  |  |             try { | 
 |  |  |             obj.doParse(bs, |