package com.hdl.sdk.ttl_sdk.activity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.hdl.sdk.ttl.HDLAppliances.Config.HDLApConfig; import com.hdl.sdk.ttl.HDLAppliances.HDLAirCondition.Parser.AirCtrlParser; import com.hdl.sdk.ttl.HDLAppliances.HDLCurtain.Parser.CurtainCtrlParser; import com.hdl.sdk.ttl.HDLAppliances.HDLSensor.SensorStateBackInfo; import com.hdl.sdk.ttl.HDLDeviceManger.Bean.AppliancesInfo; import com.hdl.sdk.ttl.HDLDeviceManger.Bean.DeviceStateBean; import com.hdl.sdk.ttl.HDLDeviceManger.Core.HDLCommand; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.AirFeedBackEvent; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.CurtainFeedBackEvent; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.DeviceStateEvent; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.LightFeedBackEvent; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.LogicFeedBackEvent; import com.hdl.sdk.ttl_sdk.R; import com.hdl.sdk.ttl_sdk.base.BaseActivity; import com.hdl.sdk.ttl_sdk.utlis.HDLLog; import com.hdl.sdk.ttl_sdk.utlis.HDLUtlis; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.util.List; public class CtrlActivity extends BaseActivity { /** * Topbar */ private RelativeLayout topBarBack; private TextView topBarTitle; private Button lightBtn, curtainBtn, curtainBtn2, curtainBtn3, curtainBtn4, curtainBtn5, logicBtn, airBtnSwitch, airBtnMode, airBtnTemp, airBtnSpeed; private TextView lightText, curText1, curText2, airText, logicText, sensorText; private EditText airTempEd; private LinearLayout airDisplay; private AppliancesInfo appliancesInfo; private int lightState; private int curtainState; private int airSwitchState;//Demo仅以æ¤ä½œä¸ºæ¼”ç¤ºï¼Œå®žé™…è¯·æ ¹æ®éœ€æ±‚å¼€å‘设计 private int airModeState; private int airTempState; private int airSpeedState; /** * è¦æ³¨å†Œä½¿ç”¨EventBus,这里必须è¦è®¾ç½®è¿”回true * * @return true */ @Override protected boolean isRegisterEventBus() { return true; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ctrl); // æ¤æ–¹æ³•为主动获å–å•一设备状æ€ï¼Œé€»è¾‘模å—ã€èƒŒæ™¯éŸ³ä¹æ¨¡å—没有这个api,仅支æŒç¯å…‰ï¼Œçª—帘,空调。一般ä¸éœ€è¦ç”¨åˆ°ã€‚ // HDLCommand.getDeviceStateFromLocal(appliancesInfo); initToolbar(); initcurState(); initView(); initOnClick(); } /** * åˆå§‹åŒ–Toolbar */ private void initToolbar() { topBarBack = findViewById(R.id.ll_top_b_left); setViewVisible(topBarBack); topBarTitle = findViewById(R.id.tv_top_b_header_title); topBarBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } private void initView() { lightBtn = findViewById(R.id.ctrlbtn); curtainBtn = findViewById(R.id.curtainbtn); curtainBtn2 = findViewById(R.id.curtainbtn2); curtainBtn3 = findViewById(R.id.curtainbtn3); curtainBtn4 = findViewById(R.id.curtainbtn4); curtainBtn5 = findViewById(R.id.curtainbtn5); logicBtn = findViewById(R.id.logicbtn); airDisplay = findViewById(R.id.air); airBtnSwitch = findViewById(R.id.airbtn_switch); airBtnMode = findViewById(R.id.airbtn_mode); airBtnSpeed = findViewById(R.id.airbtn_speed); airBtnTemp = findViewById(R.id.airbtn_tempBtn); airTempEd = findViewById(R.id.airet_tempet); lightText = findViewById(R.id.lightText); curText1 = findViewById(R.id.curtainText1); curText2 = findViewById(R.id.curtainText2); airText = findViewById(R.id.airText); logicText = findViewById(R.id.logicText); sensorText = findViewById(R.id.sensorText); //æ¤å¤„判æ–什么设备,并将其他设备控件éšè— //1:调光回路(ç¯ï¼‰ 2:开关回路(ç¯ï¼‰ 3:混åˆè°ƒå…‰ç±» (ç¯ï¼‰ 4:混åˆå¼€å…³ç±»ï¼ˆç¯ï¼‰ // 5:开åˆå¸˜ç”µæœºï¼ˆçª—帘)6:å·å¸˜ç”µæœºï¼ˆçª—帘) 7ï¼šçª—å¸˜æ¨¡å— ï¼ˆçª—å¸˜ï¼‰ // 8:HVAC 模å—(空调) 9ï¼šé€šç”¨ç©ºè°ƒé¢æ¿(空调) // 10ï¼šèƒŒæ™¯éŸ³ä¹æ¨¡å—(音ä¹ï¼‰ 11ï¼šç¬¬ä¸‰æ–¹èƒŒæ™¯éŸ³ä¹æ¨¡å—(音ä¹ï¼‰ // 12:逻辑模å—(场景) 13:全局逻辑模å—(场景) //101ã€102ã€103ã€104 ä¸ºç¯ TYPE_LIGHT_DIMMERã€TYPE_LIGHT_RELAYã€TYPE_LIGHT_MIX_DIMMERã€TYPE_LIGHT_MIX_RELAY //201ã€202ã€203 为窗帘 TYPE_CURTAIN_GLYSTROã€TYPE_CURTAIN_ROLLERã€TYPE_CURTAIN_MODULE //301ã€304 为空调 TYPE_AC_HVACã€TYPE_AC_PANEL //501ã€502 为场景 TYPE_LOGIC_MODULEã€TYPE_GLOBAL_LOGIC_MODULE //601-625 ä¸ºä¼ æ„Ÿå™¨ // HDLLog.Log("KKKgetDeviceType"+appliancesInfo.getDeviceType()); switch (appliancesInfo.getDeviceType()) { case HDLApConfig.TYPE_LIGHT_DIMMER: case HDLApConfig.TYPE_LIGHT_RELAY: case HDLApConfig.TYPE_LIGHT_MIX_DIMMER: case HDLApConfig.TYPE_LIGHT_MIX_RELAY: curtainBtn.setVisibility(View.GONE); curtainBtn2.setVisibility(View.GONE); curtainBtn3.setVisibility(View.GONE); curtainBtn4.setVisibility(View.GONE); curtainBtn5.setVisibility(View.GONE); logicBtn.setVisibility(View.GONE); airDisplay.setVisibility(View.GONE); curText1.setVisibility(View.GONE); curText2.setVisibility(View.GONE); airText.setVisibility(View.GONE); logicText.setVisibility(View.GONE); sensorText.setVisibility(View.GONE); if (appliancesInfo.getCurState() != null) { int curLightState = HDLUtlis.getIntegerByObject(appliancesInfo.getCurState()); lightText.setText("当å‰ç¯å…‰äº®åº¦ï¼š" + curLightState); lightBtn.setText("当å‰ç¯å…‰äº®åº¦ï¼š" + curLightState); if (curLightState == 100) { lightState = 0; } else { lightState = 100; } } else { lightText.setText("未获å–到ç¯å…‰äº®åº¦"); lightBtn.setText("未获å–到ç¯å…‰äº®åº¦"); } break; case HDLApConfig.TYPE_CURTAIN_GLYSTRO: case HDLApConfig.TYPE_CURTAIN_ROLLER: case HDLApConfig.TYPE_CURTAIN_MODULE: case HDLApConfig.TYPE_CURTAIN_SHANGRILA: lightBtn.setVisibility(View.GONE); logicBtn.setVisibility(View.GONE); airDisplay.setVisibility(View.GONE); lightText.setVisibility(View.GONE); airText.setVisibility(View.GONE); logicText.setVisibility(View.GONE); sensorText.setVisibility(View.GONE); if (appliancesInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) { //çª—å¸˜æ¨¡å— curText2.setVisibility(View.GONE); curtainBtn2.setVisibility(View.GONE); curtainBtn3.setVisibility(View.GONE); curtainBtn4.setVisibility(View.GONE); curtainBtn5.setVisibility(View.GONE); if (appliancesInfo.getCurState() != null) { String stringCurtainState = ""; int curCurtainState = HDLUtlis.getIntegerByObject(appliancesInfo.getCurState()); HDLLog.Log("curCurtainState = " + curCurtainState); switch (curCurtainState) { case CurtainCtrlParser.TYPE_STATE_PAUSE: stringCurtainState += "窗帘模å—åœæ¢çжæ€"; curtainState = CurtainCtrlParser.curtainOn;//åˆå§‹åŒ–çª—å¸˜æŽ§åˆ¶çŠ¶æ€ break; case CurtainCtrlParser.TYPE_STATE_OPEN: stringCurtainState += "窗帘模å—开状æ€"; curtainState = CurtainCtrlParser.curtainOff;//åˆå§‹åŒ–çª—å¸˜æŽ§åˆ¶çŠ¶æ€ break; case CurtainCtrlParser.TYPE_STATE_CLOSE: stringCurtainState += "窗帘模å—关状æ€"; curtainState = CurtainCtrlParser.curtainOn;//åˆå§‹åŒ–çª—å¸˜æŽ§åˆ¶çŠ¶æ€ break; default: stringCurtainState = "未获å–到窗帘模å—状æ€"; curtainState = CurtainCtrlParser.curtainOff;//åˆå§‹åŒ–çª—å¸˜æŽ§åˆ¶çŠ¶æ€ break; } curText1.setText(stringCurtainState); curtainBtn.setText(stringCurtainState); } else { curText1.setText("未获å–到窗帘模å—状æ€"); curtainBtn.setText("未获å–到窗帘模å—状æ€"); } } else { //å¼€åˆå¸˜ã€å·å¸˜ curText1.setVisibility(View.GONE); curtainBtn.setVisibility(View.GONE); if (appliancesInfo.getCurState() != null) { curText2.setText("当å‰çª—帘状æ€ï¼š" + HDLUtlis.getIntegerByObject(appliancesInfo.getCurState())); } else { curText2.setText("未获å–到窗帘模å—状æ€"); } } break; case HDLApConfig.TYPE_AC_HVAC: case HDLApConfig.TYPE_AC_PANEL: case HDLApConfig.TYPE_AC_TECHSYS: case HDLApConfig.TYPE_AC_KNXTECHSYS: lightBtn.setVisibility(View.GONE); curtainBtn.setVisibility(View.GONE); curtainBtn2.setVisibility(View.GONE); curtainBtn3.setVisibility(View.GONE); curtainBtn4.setVisibility(View.GONE); curtainBtn5.setVisibility(View.GONE); logicBtn.setVisibility(View.GONE); curText1.setVisibility(View.GONE); curText2.setVisibility(View.GONE); lightText.setVisibility(View.GONE); logicText.setVisibility(View.GONE); sensorText.setVisibility(View.GONE); if (appliancesInfo.getArrCurState() != null) { String stringACState = ""; byte[] acCurState = appliancesInfo.getArrCurState(); for (int index = 0; index < acCurState.length; index++) { if (index == 0 && acCurState[index] == 0) { airSwitchState = 0; stringACState += "空调已关é—"; //如果空调关é—状æ€ï¼Œåˆ™æ— 需å†é历 break; } if (index == 0 && acCurState[index] == 1) { airSwitchState = 1; stringACState += "空调æ£åœ¨è¿è¡Œ"; } switch (index) { case 1: switch (acCurState[index]) { case 0: airModeState = 0; stringACState += " 空调模å¼:制冷"; break; case 1: airModeState = 1; stringACState += " 空调模å¼:制çƒ"; break; case 2: airModeState = 2; stringACState += " 空调模å¼:通风"; break; case 3: airModeState = 3; stringACState += " 空调模å¼:自动"; break; case 4: airModeState = 4; stringACState += " 空调模å¼:抽湿"; break; default: airModeState = -1; stringACState += " 未知空调模å¼"; break; } break; case 2: switch (acCurState[1]) { case 0: airTempState = acCurState[index] & 0xff; stringACState += " 制冷温度:" + (acCurState[index] & 0xff); break; case 1: airTempState = acCurState[index] & 0xff; stringACState += " åˆ¶çƒæ¸©åº¦ï¼š" + (acCurState[index] & 0xff); break; case 2: airTempState = -1; stringACState += " é€šé£Žæ— æ¸©åº¦æ˜¾ç¤º"; break; case 3: airTempState = acCurState[index] & 0xff; stringACState += " 自动温度:" + (acCurState[index] & 0xff); break; case 4: airTempState = acCurState[index] & 0xff; stringACState += " 抽湿温度:" + (acCurState[index] & 0xff); break; default: airTempState = -2; stringACState += " 未知温度"; break; } break; case 3: String curSpeed; switch (appliancesInfo.getArrCurState()[index]) { case 0: airSpeedState = 0; curSpeed = " 风速自动"; break; case 1: airSpeedState = 1; curSpeed = " 风速高"; break; case 2: airSpeedState = 2; curSpeed = " 风速ä¸"; break; case 3: airSpeedState = 3; curSpeed = " 风速低"; break; default: airSpeedState = -1; curSpeed = " 未知风速"; break; } switch (appliancesInfo.getArrCurState()[1]) { case 0: stringACState += curSpeed; break; case 1: stringACState += curSpeed; break; case 2: stringACState += curSpeed; break; case 3: stringACState += curSpeed; break; case 4: stringACState += " æŠ½æ¹¿æ— é£Žé€Ÿ"; break; default: stringACState += " 未知空调模å¼"; break; } break; default: break; } } airText.setText(stringACState); } else { airText.setText("未获å–到空调设备状æ€"); } break; case HDLApConfig.TYPE_LOGIC_MODULE: case HDLApConfig.TYPE_GLOBAL_LOGIC_MODULE: lightBtn.setVisibility(View.GONE); curtainBtn.setVisibility(View.GONE); curtainBtn2.setVisibility(View.GONE); curtainBtn3.setVisibility(View.GONE); curtainBtn4.setVisibility(View.GONE); curtainBtn5.setVisibility(View.GONE); airDisplay.setVisibility(View.GONE); curText1.setVisibility(View.GONE); curText2.setVisibility(View.GONE); lightText.setVisibility(View.GONE); sensorText.setVisibility(View.GONE); break; case HDLApConfig.TYPE_SENSOR_DRY_CONTACT://2019-07-03 å±è”½ case HDLApConfig.TYPE_SENSOR_MOVEMENT_DETECTOR: case HDLApConfig.TYPE_SENSOR_TEMP: case HDLApConfig.TYPE_SENSOR_HUMIDITY: case HDLApConfig.TYPE_SENSOR_ILLUMINACE: case HDLApConfig.TYPE_SENSOR_VOC: case HDLApConfig.TYPE_SENSOR_PM_2_POINT_5: case HDLApConfig.TYPE_SENSOR_C02: case HDLApConfig.TYPE_SENSOR_LPG: case HDLApConfig.TYPE_SENSOR_CO_H2: case HDLApConfig.TYPE_SENSOR_CH4: case HDLApConfig.TYPE_SENSOR_SMOG: case HDLApConfig.TYPE_SENSOR_WIND_SPEED: case HDLApConfig.TYPE_SENSOR_WIND_PRESSURE: case HDLApConfig.TYPE_SENSOR_LIQUID_FLOW: case HDLApConfig.TYPE_SENSOR_LIQUID_PRESSURE: case HDLApConfig.TYPE_SENSOR_LIQUID_DEPTH: case HDLApConfig.TYPE_SENSOR_RAIN_FALL: case HDLApConfig.TYPE_SENSOR_WEIGHT: case HDLApConfig.TYPE_SENSOR_HEIGHT_LENGTH: case HDLApConfig.TYPE_SENSOR_OBJECT_SPEED: case HDLApConfig.TYPE_SENSOR_SHAKE: case HDLApConfig.TYPE_SENSOR_VOLTAGE: case HDLApConfig.TYPE_SENSOR_ELECTRICITY: case HDLApConfig.TYPE_SENSOR_POWER: case HDLApConfig.TYPE_SENSOR_FLOODING: case HDLApConfig.TYPE_SENSOR_DOOR_MAGNET: case HDLApConfig.TYPE_SENSOR_EMERGENCY_BUTTON: case HDLApConfig.TYPE_SENSOR_PM_10: lightBtn.setVisibility(View.GONE); curtainBtn.setVisibility(View.GONE); curtainBtn2.setVisibility(View.GONE); curtainBtn3.setVisibility(View.GONE); curtainBtn4.setVisibility(View.GONE); curtainBtn5.setVisibility(View.GONE); airDisplay.setVisibility(View.GONE); curText1.setVisibility(View.GONE); curText2.setVisibility(View.GONE); lightText.setVisibility(View.GONE); logicBtn.setVisibility(View.GONE); logicText.setVisibility(View.GONE); if (appliancesInfo.getCurState() != null) { float value = (float) appliancesInfo.getCurState(); sensorText.setText("ä¼ æ„Ÿå™¨æ•°å€¼ï¼š" + value); } break; } } private void initcurState() { // lightState = 100;//åˆå§‹åŒ–ç¯å…‰äº®åº¦100 curtainState = CurtainCtrlParser.curtainOff; appliancesInfo = (AppliancesInfo) getIntent().getSerializableExtra("hdl"); // èŽ·å–æ‰€æœ‰è®¾å¤‡çš„状æ€ã€‚deviceStateBeanList为所有设备的状æ€åˆ—表 List<DeviceStateBean> deviceStateBeanList = HDLCommand.getAllDevicesState(); // ç¬¬ä¸‰æ–¹å¯æ ¹æ®è‡ªå·±çš„需求刷新设备页。以下为示例代ç 。 for (DeviceStateBean deviceStateBean : deviceStateBeanList) { //注æ„ï¼ç¬¬ä¸‰æ–¹åº”该将设备集åˆå…¨éƒ¨åœ¨è¿™é‡Œé历一é以下æ“作,并更新状æ€å€¼ã€‚这里仅作为Demo演示,åªåˆ¤æ–一个。 //å…ˆåˆ¤æ–æ¤æ¨¡å—是å¦ä¸ºå½“å‰è®¾å¤‡çš„æ¨¡å— if (deviceStateBean.getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && deviceStateBean.getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()) { // å†åˆ¤æ–是什么类型的设备。 switch (deviceStateBean.getDeviceType()) { case HDLApConfig.TYPE_LIGHT_DIMMER: //åˆ¤æ–æ˜¯å“ªä¸ªå›žè·¯çš„设备 if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { appliancesInfo.setCurState(deviceStateBean.getCurState()); } break; case HDLApConfig.TYPE_LIGHT_RELAY: //åˆ¤æ–æ˜¯å“ªä¸ªå›žè·¯çš„设备 if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { appliancesInfo.setCurState(deviceStateBean.getCurState()); } break; case HDLApConfig.TYPE_LIGHT_MIX_DIMMER: //åˆ¤æ–æ˜¯å“ªä¸ªå›žè·¯çš„设备 if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { appliancesInfo.setCurState(deviceStateBean.getCurState()); } break; case HDLApConfig.TYPE_LIGHT_MIX_RELAY: //åˆ¤æ–æ˜¯å“ªä¸ªå›žè·¯çš„设备 if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { appliancesInfo.setCurState(deviceStateBean.getCurState()); } break; case HDLApConfig.TYPE_CURTAIN_GLYSTRO: case HDLApConfig.TYPE_CURTAIN_ROLLER: case HDLApConfig.TYPE_CURTAIN_MODULE: case HDLApConfig.TYPE_CURTAIN_SHANGRILA: //åˆ¤æ–æ˜¯å“ªä¸ªå›žè·¯çš„设备 if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { appliancesInfo.setCurState(deviceStateBean.getCurState()); } break; case HDLApConfig.TYPE_AC_HVAC: case HDLApConfig.TYPE_AC_PANEL: case HDLApConfig.TYPE_AC_TECHSYS: case HDLApConfig.TYPE_AC_KNXTECHSYS: //åˆ¤æ–æ˜¯å“ªä¸ªå›žè·¯çš„设备 if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); } break; default: break; } } } } private void initOnClick() { lightBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { HDLCommand.lightCtrl(appliancesInfo, lightState); // HDLCommand.lightCtrl(appliancesInfo,50); } }); curtainBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //窗帘模å—ç¬¬äºŒä¸ªå‚æ•° 为CurtainCtrlParser.curtainOn,CurtainCtrlParser.curtainOff,CurtainCtrlParser.curtainPauseå…¶ä¸ä¸€ä¸ª HDLCommand.curtainCtrl(appliancesInfo, curtainState, 0); if (curtainState == CurtainCtrlParser.curtainOn) { curtainState = CurtainCtrlParser.curtainOff; } else { curtainState = CurtainCtrlParser.curtainOn; } } }); curtainBtn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn, 0); } }); curtainBtn3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff, 0); } }); curtainBtn4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause, 0); } }); curtainBtn5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { HDLCommand.curtainCtrl(appliancesInfo, 50, 0); } }); airBtnSwitch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //演示当å‰çжæ€ä¸ºå…³ï¼Œè®¾ç½®ä¸ºå¼€ã€‚开,设置为关。 if (airSwitchState == 0) { HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOn);//空调开 } else { HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOff);//空调关 } } }); airBtnMode.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { switch (airModeState) { case 0: //若当å‰ç©ºè°ƒæ¨¡å¼ä¸ºåˆ¶å†·ï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºåˆ¶çƒ HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeHeatTem);//空调模å¼åˆ¶çƒ break; case 1: //若当å‰ç©ºè°ƒæ¨¡å¼ä¸ºåˆ¶çƒï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºé€šé£Ž HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeVen);//空调模å¼é€šé£Ž break; case 2: //若当å‰ç©ºè°ƒæ¨¡å¼ä¸ºé€šé£Žï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºè‡ªåЍ HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeAuto);//空调模å¼è‡ªåЍ break; case 3: //若当å‰ç©ºè°ƒæ¨¡å¼ä¸ºè‡ªåŠ¨ï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºæŠ½æ¹¿ HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeDehum);//ç©ºè°ƒæ¨¡å¼æŠ½æ¹¿ break; case 4: //若当å‰ç©ºè°ƒæ¨¡å¼ä¸ºæŠ½æ¹¿ï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºåˆ¶å†· HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem);//空调模å¼åˆ¶å†· break; default: HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem);//空调模å¼åˆ¶å†· break; } } }); airBtnSpeed.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { switch (airSpeedState) { case 0: //若当å‰ç©ºè°ƒé£Žé€Ÿä¸ºè‡ªåŠ¨ï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºé«˜é£Ž HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedHigh);//风速高风 break; case 1: //若当å‰ç©ºè°ƒé£Žé€Ÿä¸ºé«˜é£Žï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºä¸é£Ž HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedMid);//风速ä¸é£Ž break; case 2: //若当å‰ç©ºè°ƒé£Žé€Ÿä¸ºä¸é£Žï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºä½Žé£Ž HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedLow);//风速低风 break; case 3: //若当å‰ç©ºè°ƒé£Žé€Ÿä¸ºä½Žé£Žï¼Œåˆ™ç‚¹å‡»æŒ‰é’®è®¾ç½®ä¸ºè‡ªåЍ HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedAuto);//风速自动 break; } } }); airBtnTemp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String tempStr = airTempEd.getText().toString(); if (TextUtils.isEmpty(tempStr) || TextUtils.isEmpty(tempStr)) { showToast("设置的温度ä¸èƒ½ä¸ºç©º"); return; } int tempInt = Integer.parseInt(tempStr); if (tempInt < 16 || tempInt > 30) { showToast("温度设置范围为:16~30æ‘„æ°åº¦(℃)"); return; } switch (airModeState) { case 0: //当å‰ç©ºè°ƒæ¨¡å¼ä¸ºåˆ¶å†· HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.refTem, tempInt);//制冷温度 break; case 1: //当å‰ç©ºè°ƒæ¨¡å¼ä¸ºåˆ¶çƒ HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.heatTem, tempInt);//åˆ¶çƒæ¸©åº¦ break; case 2: //当å‰ç©ºè°ƒæ¨¡å¼ä¸ºé€šé£Ž showToast("通风模å¼ä¸èƒ½æŽ§åˆ¶æ¸©åº¦"); break; case 3: //当å‰ç©ºè°ƒæ¨¡å¼ä¸ºè‡ªåЍ HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.autoTem, tempInt);//自动温度 范围0-84 break; case 4: //当å‰ç©ºè°ƒæ¨¡å¼ä¸ºæŠ½æ¹¿ HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.dehumTem, tempInt);//抽湿温度 范围0-84 break; default: break; } // HDLCommand.airCtrl(appliancesInfo,AirCtrlParser.upTem,1);//ä¸Šå‡æ¸©åº¦ 范围0-5 // HDLCommand.airCtrl(appliancesInfo,AirCtrlParser.downTem,1);//䏋陿¸©åº¦ 范围0-5 } }); logicBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { HDLCommand.logicCtrl(appliancesInfo); } }); } @Override protected void onDestroy() { super.onDestroy(); } /** * ç¯å…‰æŽ§åˆ¶å›žè°ƒEvent * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onLightFeedBackInfoEventMain(LightFeedBackEvent event) { if (event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum() ) { // å…ˆåˆ¤æ–æ˜¯å¦è¶…æ—¶ if (!event.isSuccess()) { showToast("ç¯å…‰æŽ§åˆ¶è¶…æ—¶ï¼Œè¯·é‡æ–°å†è¯•"); lightBtn.setText("ç¯å…‰æŽ§åˆ¶è¶…æ—¶ï¼Œè¯·é‡æ–°å†è¯•"); return; } int brightness = event.getLightCtrlBackInfo().getBrightness(); lightState = brightness == 100 ? 0 : 100;//如果返回100é‡ç½®çжæ€ä¸º0,å之é‡ç½®çжæ€100 lightBtn.setText("当å‰äº®åº¦ = " + brightness); lightText.setText("当å‰äº®åº¦ = " + brightness); /*以下为ç¯å…‰æŽ¨é€ç¤ºä¾‹ä»£ç ,å¯ä»¥è¯†åˆ«å“ªä¸ªç»§ç”µå™¨ï¼Œå“ªä¸ªè°ƒå…‰ç¯ï¼Œå“ªä¸ªå›žè·¯ï¼Œä¹Ÿå¯ç”¨ä½œæŽ§åˆ¶å›žé¦ˆã€‚ 按需求调用*/ String remarks = event.getLightCtrlBackInfo().getRemarks();//获å–返回的ç¯å…‰å¤‡æ³¨ã€‚如果æ¯ä¸ªç¯å…‰å›žè·¯å¤‡æ³¨éƒ½å”¯ä¸€ï¼Œå¯ä»¥ç›´æŽ¥é€šè¿‡å¤‡æ³¨åˆ¤æ– String parentRemarks = event.getLightCtrlBackInfo().getParentRemarks();//获å–继电器或调光ç¯å¤‡æ³¨ã€‚这里å¯ä»¥çŸ¥é“是哪个设备返回的 int num = event.getLightCtrlBackInfo().getChannelNum();//获å–回路å·ã€‚这里å¯ä»¥èŽ·å–到这个继电器或调光ç¯çš„å›žè·¯å· showToast(remarks + " 回路,回路å·ä¸ºï¼š" + num + " 返回" + " 亮度为:" + brightness); HDLLog.Log("当å‰äº®åº¦ = " + brightness); } } /** * çª—å¸˜æ¨¡å—æŽ§åˆ¶å›žè°ƒEvent * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onCurtainFeedBackInfoEventMain(CurtainFeedBackEvent event) { // å…ˆåˆ¤æ–æ˜¯å¦è¶…æ—¶ HDLLog.Log("onCurtainFeedBackInfoEventMain in"); if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() && event.getCurtainCtrlBackInfo().getNum() == appliancesInfo.getChannelNum() ) { if (!event.isSuccess()) { showToast("çª—å¸˜æŽ§åˆ¶è¶…æ—¶ï¼Œè¯·é‡æ–°å†è¯•"); return; } int curState = event.getCurtainCtrlBackInfo().getState(); //窗帘模å—:curState:0=åœæ¢,1=打开,2=å…³é—。 //å¼€åˆå¸˜ç”µæœºï¼Œå·å¸˜ç”µæœºï¼šcurState:1-100å¼€åˆåº¦ã€‚也会返回0,1,2çš„çŠ¶æ€ //建议开åˆå¸˜ç”µæœºï¼Œå·å¸˜ç”µæœºæŒ‰åœæ¢åŽå†è¯»å–当å‰çŠ¶æ€æ¥èŽ·å–当å‰çжæ€å€¼ String remarks = event.getCurtainCtrlBackInfo().getRemarks(); String parentRemarks = event.getCurtainCtrlBackInfo().getParentRemarks(); int num = event.getCurtainCtrlBackInfo().getNum(); // showToast(parentRemarks+" çš„ "+remarks+" 回路å·ï¼š"+num+" 返回"+" 状æ€ä¸ºï¼š"+curState); HDLLog.Log(parentRemarks + " çš„ " + remarks + " 回路å·ï¼š" + num + " 返回" + " 状æ€ä¸ºï¼š" + curState); if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) { //åˆ¤æ–æ˜¯å¦ä¸ºçª—å¸˜æ¨¡å— switch (curState) { case CurtainCtrlParser.TYPE_STATE_CLOSE: curtainBtn.setText("窗帘关"); curText1.setText("窗帘关"); HDLLog.Log("窗帘控制 :窗帘关" + " 回路å·ï¼š" + num); break; case CurtainCtrlParser.TYPE_STATE_OPEN: curtainBtn.setText("窗帘开"); curText1.setText("窗帘开"); HDLLog.Log("窗帘控制 :窗帘开" + " 回路å·ï¼š" + num); break; case CurtainCtrlParser.TYPE_STATE_PAUSE: curtainBtn.setText("窗帘暂åœ"); curText1.setText("窗帘暂åœ"); HDLLog.Log("窗帘控制 :窗帘暂åœ" + " 回路å·ï¼š" + num); break; } } else { //å¼€åˆå¸˜æˆ–å·å¸˜ 显示百分比 curtainBtn5.setText("窗帘开到" + curState + "%"); curText2.setText("窗帘开到" + curState + "%"); } } } /** * ç©ºè°ƒæ¨¡å—æŽ§åˆ¶å›žè°ƒEvent * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onAirFeedBackInfoEventMain(AirFeedBackEvent event) { if (event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() && event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getAirCtrlBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() ) { // å…ˆåˆ¤æ–æ˜¯å¦è¶…æ—¶ if (!event.isSuccess()) { showToast("ç©ºè°ƒæŽ§åˆ¶è¶…æ—¶ï¼Œè¯·é‡æ–°å†è¯•"); return; } byte[] curState = event.getAirCtrlBackInfo().getCurState(); switch (curState[0] & 0xFF) { case AirCtrlParser.airSwich: switch (curState[1] & 0xFF) { case AirCtrlParser.airOff: airSwitchState = 0; airText.setText("空调关"); showToast("空调关"); HDLLog.Log("空调关"); break; case AirCtrlParser.airOn: airSwitchState = 1; airText.setText("空调开"); showToast("空调开"); HDLLog.Log("空调开"); break; default: break; } break; case AirCtrlParser.airSpeed: switch (curState[1] & 0xFF) { case AirCtrlParser.airSpeedAuto: airSpeedState = 0; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedAuto自动风速"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedAuto自动风速"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedAuto自动风速"); break; case AirCtrlParser.airSpeedHigh: airSpeedState = 1; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedHigh风速高"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedHigh风速高"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedHigh风速高"); break; case AirCtrlParser.airSpeedMid: airSpeedState = 2; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedMid风速ä¸"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedMid风速ä¸"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedMid风速ä¸"); break; case AirCtrlParser.airSpeedLow: airSpeedState = 3; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedLow风速低"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedLow风速低"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedLow风速低"); break; default: break; } break; case AirCtrlParser.airMode: switch (curState[1] & 0xFF) { case AirCtrlParser.airModeRefTem: airModeState = 0; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶å†·"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶å†·"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶å†·"); break; case AirCtrlParser.airModeHeatTem: airModeState = 1; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶çƒ"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶çƒ"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶çƒ"); break; case AirCtrlParser.airModeVen: airModeState = 2; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šé€šé£Ž"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šé€šé£Ž"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šé€šé£Ž"); break; case AirCtrlParser.airModeAuto: airModeState = 3; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šè‡ªåЍ"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šè‡ªåЍ"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šè‡ªåЍ"); break; case AirCtrlParser.airModeDehum: airModeState = 4; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šæŠ½æ¹¿"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šæŠ½æ¹¿"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šæŠ½æ¹¿"); break; default: airModeState = -1; break; } break; case AirCtrlParser.refTem: airTempState = curState[1] & 0xFF; airText.setText("空调制冷,温度为:" + (curState[1] & 0xFF)); showToast("空调制冷,温度为:" + (curState[1] & 0xFF)); HDLLog.Log("空调制冷,温度为:" + (curState[1] & 0xFF)); break; case AirCtrlParser.heatTem: airTempState = curState[1] & 0xFF; airText.setText("空调制çƒï¼Œåˆ¶çƒæ¸©åº¦ä¸º" + (curState[1] & 0xFF)); showToast("空调制çƒï¼Œåˆ¶çƒæ¸©åº¦ä¸º" + (curState[1] & 0xFF)); HDLLog.Log("空调制çƒï¼Œåˆ¶çƒæ¸©åº¦ä¸º" + (curState[1] & 0xFF)); break; case AirCtrlParser.autoTem: airTempState = -1; airText.setText("空调自动,自动温度为" + (curState[1] & 0xFF)); showToast("空调自动,自动温度为" + (curState[1] & 0xFF)); HDLLog.Log("空调自动,自动温度为" + (curState[1] & 0xFF)); break; case AirCtrlParser.dehumTem: airTempState = curState[1] & 0xFF; airText.setText("空调抽湿,抽湿温度为" + (curState[1] & 0xFF)); showToast("空调抽湿,抽湿温度为" + (curState[1] & 0xFF)); HDLLog.Log("空调抽湿,抽湿温度为" + (curState[1] & 0xFF)); break; case AirCtrlParser.upTem: airTempState = curState[1] & 0xFF; airText.setText("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸Šå‡æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); showToast("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸Šå‡æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); HDLLog.Log("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸Šå‡æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); break; case AirCtrlParser.downTem: airTempState = curState[1] & 0xFF; airText.setText("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸‹é™æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); showToast("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸‹é™æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); HDLLog.Log("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸‹é™æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); break; } } } /** * é€»è¾‘æ¨¡å—æŽ§åˆ¶å›žè°ƒEvent * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onLogicFeedBackInfoEventMain(LogicFeedBackEvent event) { // å…ˆåˆ¤æ–æ˜¯å¦è¶…æ—¶ if (event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() && event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getLogicCtrlBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() ) { if (!event.isSuccess()) { showToast("åœºæ™¯æŽ§åˆ¶è¶…æ—¶ï¼Œè¯·é‡æ–°å†è¯•"); return; } showToast("场景控制æˆåŠŸ"); } } /** * 获å–å•一设备状æ€å›žè°ƒEvent * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onDeviceStateEventMain(DeviceStateEvent event) { if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() ) { //è¿™ä¸ªè¿”å›žçš„ä¿¡æ¯æ˜¯å½“å‰çжæ€çš„ switch (event.getAppliancesInfo().getDeviceType()) { case HDLApConfig.TYPE_LIGHT_DIMMER: case HDLApConfig.TYPE_LIGHT_RELAY: case HDLApConfig.TYPE_LIGHT_MIX_DIMMER: case HDLApConfig.TYPE_LIGHT_MIX_RELAY: if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { if (!event.isSuccess()) { showToast("获å–ç¯å…‰çжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } lightBtn.setText("亮度 = " + HDLUtlis.getIntegerByObject(event.getAppliancesInfo().getCurState())); } break; case HDLApConfig.TYPE_CURTAIN_GLYSTRO: case HDLApConfig.TYPE_CURTAIN_ROLLER: case HDLApConfig.TYPE_CURTAIN_MODULE: case HDLApConfig.TYPE_CURTAIN_SHANGRILA: if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { if (!event.isSuccess()) { showToast("获å–窗帘状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } //窗帘模å—:curState:0=åœæ¢,1=打开,2=å…³é—。 //å¼€åˆå¸˜ç”µæœºï¼Œå·å¸˜ç”µæœºï¼šcurState:1-100å¼€åˆåº¦ã€‚ int curState = HDLUtlis.getIntegerByObject(event.getAppliancesInfo().getCurState()); if (event.getAppliancesInfo().getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) {//åˆ¤æ–æ˜¯å¦ä¸ºçª—帘模å—,å¦åˆ™ä¸ºå¼€åˆå¸˜æˆ–å·å¸˜ç”µæœº switch (curState) { case CurtainCtrlParser.curtainOff: curtainBtn.setText("窗帘关"); curText1.setText("窗帘关"); break; case CurtainCtrlParser.curtainOn: curtainBtn.setText("窗帘开"); curText1.setText("窗帘开"); break; case CurtainCtrlParser.curtainPause: curtainBtn.setText("窗帘暂åœ"); curText1.setText("窗帘暂åœ"); break; } } else { curtainBtn5.setText("窗帘开到" + curState + "%"); } } break; case HDLApConfig.TYPE_AC_HVAC: case HDLApConfig.TYPE_AC_PANEL: case HDLApConfig.TYPE_AC_TECHSYS: case HDLApConfig.TYPE_AC_KNXTECHSYS: if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { if (!event.isSuccess()) { showToast("获å–空调状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } byte[] curState = event.getAppliancesInfo().getArrCurState(); switch (curState[0] & 0xFF) { case AirCtrlParser.airSwich: switch (curState[1] & 0xFF) { case AirCtrlParser.airOff: airSwitchState = 0; airText.setText("空调关"); showToast("空调关"); HDLLog.Log("空调关"); break; case AirCtrlParser.airOn: airSwitchState = 1; airText.setText("空调开"); showToast("空调开"); HDLLog.Log("空调开"); break; default: break; } break; case AirCtrlParser.airSpeed: switch (curState[1] & 0xFF) { case AirCtrlParser.airSpeedAuto: airSpeedState = 0; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedAuto自动风速"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedAuto自动风速"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedAuto自动风速"); break; case AirCtrlParser.airSpeedHigh: airSpeedState = 1; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedHigh风速高"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedHigh风速高"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedHigh风速高"); break; case AirCtrlParser.airSpeedMid: airSpeedState = 2; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedMid风速ä¸"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedMid风速ä¸"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedMid风速ä¸"); break; case AirCtrlParser.airSpeedLow: airSpeedState = 3; airText.setText("空调风速,风速模å¼ä¸ºï¼šairSpeedLow风速低"); showToast("空调风速,风速模å¼ä¸ºï¼šairSpeedLow风速低"); HDLLog.Log("空调风速,风速模å¼ä¸ºï¼šairSpeedLow风速低"); break; default: break; } break; case AirCtrlParser.airMode: switch (curState[1] & 0xFF) { case AirCtrlParser.airModeRefTem: airModeState = 0; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶å†·"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶å†·"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶å†·"); break; case AirCtrlParser.airModeHeatTem: airModeState = 1; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶çƒ"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶çƒ"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šåˆ¶çƒ"); break; case AirCtrlParser.airModeVen: airModeState = 2; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šé€šé£Ž"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šé€šé£Ž"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šé€šé£Ž"); break; case AirCtrlParser.airModeAuto: airModeState = 3; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šè‡ªåЍ"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šè‡ªåЍ"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šè‡ªåЍ"); break; case AirCtrlParser.airModeDehum: airModeState = 4; airText.setText("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šæŠ½æ¹¿"); showToast("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šæŠ½æ¹¿"); HDLLog.Log("空调模å¼ï¼Œæ¨¡å¼ä¸ºï¼šæŠ½æ¹¿"); break; default: break; } break; case AirCtrlParser.refTem: airTempState = curState[1] & 0xFF; airText.setText("空调制冷,温度为:" + (curState[1] & 0xFF)); showToast("空调制冷,温度为:" + (curState[1] & 0xFF)); HDLLog.Log("空调制冷,温度为:" + (curState[1] & 0xFF)); break; case AirCtrlParser.heatTem: airTempState = curState[1] & 0xFF; airText.setText("空调制çƒï¼Œåˆ¶çƒæ¸©åº¦ä¸º" + (curState[1] & 0xFF)); showToast("空调制çƒï¼Œåˆ¶çƒæ¸©åº¦ä¸º" + (curState[1] & 0xFF)); HDLLog.Log("空调制çƒï¼Œåˆ¶çƒæ¸©åº¦ä¸º" + (curState[1] & 0xFF)); break; case AirCtrlParser.autoTem: airTempState = curState[1] & 0xFF; airText.setText("空调自动,自动温度为" + (curState[1] & 0xFF)); showToast("空调自动,自动温度为" + (curState[1] & 0xFF)); HDLLog.Log("空调自动,自动温度为" + (curState[1] & 0xFF)); break; case AirCtrlParser.dehumTem: airTempState = curState[1] & 0xFF; airText.setText("空调抽湿,抽湿温度为" + (curState[1] & 0xFF)); showToast("空调抽湿,抽湿温度为" + (curState[1] & 0xFF)); HDLLog.Log("空调抽湿,抽湿温度为" + (curState[1] & 0xFF)); break; case AirCtrlParser.upTem: airTempState = curState[1] & 0xFF; airText.setText("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸Šå‡æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); showToast("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸Šå‡æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); HDLLog.Log("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸Šå‡æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); break; case AirCtrlParser.downTem: airTempState = curState[1] & 0xFF; airText.setText("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸‹é™æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); showToast("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸‹é™æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); HDLLog.Log("ç©ºè°ƒè°ƒæ¸©ï¼Œä¸‹é™æ¸©åº¦ï¼š" + (curState[1] & 0xFF)); break; } } break; case HDLApConfig.TYPE_SENSOR_DRY_CONTACT://2019-07-03 å±è”½ //ä¼ æ„Ÿå™¨ 干接点 ã€‚åªæœ‰å¼€å…³çŠ¶æ€ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---干接点状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float dryContactValue = (float) event.getAppliancesInfo().getCurState(); String dryContactUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---干接点状æ€ï¼š" + dryContactValue + dryContactUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---干接点状æ€ï¼š" + dryContactValue + dryContactUnit); break; case HDLApConfig.TYPE_SENSOR_MOVEMENT_DETECTOR: //ä¼ æ„Ÿå™¨ 移动探测 ã€‚çµæ•度 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---ç§»åŠ¨æŽ¢æµ‹çµæ•度状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float mdValue = (float) event.getAppliancesInfo().getCurState(); String mdValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---ç§»åŠ¨æŽ¢æµ‹çµæ•度:" + mdValue + mdValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---ç§»åŠ¨æŽ¢æµ‹çµæ•度:" + mdValue + mdValueUnit); break; case HDLApConfig.TYPE_SENSOR_TEMP: //ä¼ æ„Ÿå™¨ 温度 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---温度状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float tempValue = (float) event.getAppliancesInfo().getCurState(); String tempValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---温度:" + tempValue + tempValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---温度:" + tempValue + tempValueUnit); break; case HDLApConfig.TYPE_SENSOR_HUMIDITY: //ä¼ æ„Ÿå™¨ 湿度 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---湿度状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float humidityValue = (float) event.getAppliancesInfo().getCurState(); String humidityValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---湿度:" + humidityValue + humidityValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---湿度:" + humidityValue + humidityValueUnit); break; case HDLApConfig.TYPE_SENSOR_ILLUMINACE: //ä¼ æ„Ÿå™¨ 照度 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---照度状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float illuminaceValue = (float) event.getAppliancesInfo().getCurState(); String illuminaceValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---照度:" + illuminaceValue + illuminaceValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---照度:" + illuminaceValue + illuminaceValueUnit); break; case HDLApConfig.TYPE_SENSOR_VOC: //ä¼ æ„Ÿå™¨ 当å‰ç©ºæ°”è´¨é‡ç‰çº§ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---当å‰ç©ºæ°”è´¨é‡ç‰çº§çжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float vocValue = (float) event.getAppliancesInfo().getCurState(); String vocValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---当å‰ç©ºæ°”è´¨é‡ç‰çº§ï¼š" + vocValue + vocValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---当å‰ç©ºæ°”è´¨é‡ç‰çº§ï¼š" + vocValue + vocValueUnit); break; case HDLApConfig.TYPE_SENSOR_PM_2_POINT_5: //ä¼ æ„Ÿå™¨ pm2.5 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---pm2.5状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float pm2_5Value = (float) event.getAppliancesInfo().getCurState(); String pm2_5ValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---pm2.5:" + pm2_5Value + pm2_5ValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---pm2.5:" + pm2_5Value + pm2_5ValueUnit); break; case HDLApConfig.TYPE_SENSOR_C02: //ä¼ æ„Ÿå™¨ 二氧化碳 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---二氧化碳状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float co2Value = (float) event.getAppliancesInfo().getCurState(); String co2ValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---二氧化碳:" + co2Value + co2ValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---二氧化碳:" + co2Value + co2ValueUnit); break; case HDLApConfig.TYPE_SENSOR_LPG: //ä¼ æ„Ÿå™¨ 液化石油气 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---液化石油气状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float lpgValue = (float) event.getAppliancesInfo().getCurState(); String lpgValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---液化石油气:" + lpgValue + lpgValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---液化石油气:" + lpgValue + lpgValueUnit); break; case HDLApConfig.TYPE_SENSOR_CO_H2: //ä¼ æ„Ÿå™¨ 人工煤气 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---人工煤气状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float coh2Value = (float) event.getAppliancesInfo().getCurState(); String coh2ValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---人工煤气:" + coh2Value + coh2ValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---人工煤气:" + coh2Value + coh2ValueUnit); break; case HDLApConfig.TYPE_SENSOR_CH4: //ä¼ æ„Ÿå™¨ 天然气 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---天然气状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float ch4Value = (float) event.getAppliancesInfo().getCurState(); String ch4ValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---天然气:" + ch4Value + ch4ValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---天然气:" + ch4Value + ch4ValueUnit); break; case HDLApConfig.TYPE_SENSOR_SMOG: //ä¼ æ„Ÿå™¨ 烟雾 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---烟雾状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float smogValue = (float) event.getAppliancesInfo().getCurState(); String smogValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---烟雾:" + smogValue + smogValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---烟雾:" + smogValue + smogValueUnit); break; case HDLApConfig.TYPE_SENSOR_WIND_SPEED: //ä¼ æ„Ÿå™¨ 风速 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---风速状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float windSpeedValue = (float) event.getAppliancesInfo().getCurState(); String windSpeedValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---风速:" + windSpeedValue + windSpeedValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---风速:" + windSpeedValue + windSpeedValueUnit); break; case HDLApConfig.TYPE_SENSOR_WIND_PRESSURE: //ä¼ æ„Ÿå™¨ 风压 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---风压状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float windPressureValue = (float) event.getAppliancesInfo().getCurState(); String windPressureValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---风压:" + windPressureValue + windPressureValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---风压:" + windPressureValue + windPressureValueUnit); break; case HDLApConfig.TYPE_SENSOR_LIQUID_FLOW: //ä¼ æ„Ÿå™¨ 液体æµé‡ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---液体æµé‡çжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float liquidFlowValue = (float) event.getAppliancesInfo().getCurState(); String liquidFlowValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---液体æµé‡ï¼š" + liquidFlowValue + liquidFlowValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---液体æµé‡ï¼š" + liquidFlowValue + liquidFlowValueUnit); break; case HDLApConfig.TYPE_SENSOR_LIQUID_PRESSURE: //ä¼ æ„Ÿå™¨ 液体压力 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---液体压力状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float liquidPressureValue = (float) event.getAppliancesInfo().getCurState(); String liquidPressureValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---液体压力:" + liquidPressureValue + liquidPressureValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---液体压力:" + liquidPressureValue + liquidPressureValueUnit); break; case HDLApConfig.TYPE_SENSOR_LIQUID_DEPTH: //ä¼ æ„Ÿå™¨ 液体深度 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---液体深度状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float liquidDepthValue = (float) event.getAppliancesInfo().getCurState(); String liquidDepthValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---液体深度:" + liquidDepthValue + liquidDepthValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---液体深度:" + liquidDepthValue + liquidDepthValueUnit); break; case HDLApConfig.TYPE_SENSOR_RAIN_FALL: //ä¼ æ„Ÿå™¨ é›¨é‡ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---雨é‡çжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float rainFallValue = (float) event.getAppliancesInfo().getCurState(); String rainFallValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---雨é‡ï¼š" + rainFallValue + rainFallValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---雨é‡ï¼š" + rainFallValue + rainFallValueUnit); break; case HDLApConfig.TYPE_SENSOR_WEIGHT: //ä¼ æ„Ÿå™¨ é‡é‡ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---é‡é‡çжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float weightValue = (float) event.getAppliancesInfo().getCurState(); String weightValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---é‡é‡ï¼š" + weightValue + weightValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---é‡é‡ï¼š" + weightValue + weightValueUnit); break; case HDLApConfig.TYPE_SENSOR_HEIGHT_LENGTH: //ä¼ æ„Ÿå™¨ é‡é‡ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---é‡é‡çжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float height_lengthValue = (float) event.getAppliancesInfo().getCurState(); String height_lengthValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---é‡é‡ï¼š" + height_lengthValue + height_lengthValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---é‡é‡ï¼š" + height_lengthValue + height_lengthValueUnit); break; case HDLApConfig.TYPE_SENSOR_OBJECT_SPEED: //ä¼ æ„Ÿå™¨ 物体速度 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---物体速度状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float objectSpeedValue = (float) event.getAppliancesInfo().getCurState(); String objectSpeedUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---物体速度:" + objectSpeedValue + objectSpeedUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---物体速度:" + objectSpeedValue + objectSpeedUnite); break; case HDLApConfig.TYPE_SENSOR_SHAKE: //ä¼ æ„Ÿå™¨ 震动 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---震动状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float shakeValue = (float) event.getAppliancesInfo().getCurState(); String shakeValueUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---震动:" + shakeValue + shakeValueUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---震动:" + shakeValue + shakeValueUnite); break; case HDLApConfig.TYPE_SENSOR_VOLTAGE: //ä¼ æ„Ÿå™¨ 电压 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---电压状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float voltageValue = (float) event.getAppliancesInfo().getCurState(); String voltageValueUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---电压:" + voltageValue + voltageValueUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---电压:" + voltageValue + voltageValueUnite); break; case HDLApConfig.TYPE_SENSOR_ELECTRICITY: //ä¼ æ„Ÿå™¨ ç”µæµ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---电æµçжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float electricityValue = (float) event.getAppliancesInfo().getCurState(); String electricityValueUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---电æµï¼š" + electricityValue + electricityValueUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---电æµï¼š" + electricityValue + electricityValueUnite); break; case HDLApConfig.TYPE_SENSOR_POWER: //ä¼ æ„Ÿå™¨ 功率 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---功率状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float powerValue = (float) event.getAppliancesInfo().getCurState(); String powerValueUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---功率:" + powerValue + powerValueUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---功率:" + powerValue + powerValueUnite); break; case HDLApConfig.TYPE_SENSOR_FLOODING: //ä¼ æ„Ÿå™¨ 水浸 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---水浸状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float floodingValue = (float) event.getAppliancesInfo().getCurState(); String floodingValueUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---水浸:" + floodingValue + floodingValueUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---水浸:" + floodingValue + floodingValueUnite); break; case HDLApConfig.TYPE_SENSOR_DOOR_MAGNET: //ä¼ æ„Ÿå™¨ é—¨ç£çª—ç£ if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---é—¨ç£çª—ç£çжæ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float doorMagnetValue = (float) event.getAppliancesInfo().getCurState(); String doorMagnetValueUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---é—¨ç£çª—ç£ï¼š" + doorMagnetValue + doorMagnetValueUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---é—¨ç£çª—ç£ï¼š" + doorMagnetValue + doorMagnetValueUnite); break; case HDLApConfig.TYPE_SENSOR_EMERGENCY_BUTTON: //ä¼ æ„Ÿå™¨ 紧急按钮 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---紧急按钮状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float emergencyButtonValue = (float) event.getAppliancesInfo().getCurState(); String emergencyButtonUnite = ((SensorStateBackInfo) event).getUnite();//数值å•ä½ showToast("ä¼ æ„Ÿå™¨---紧急按钮:" + emergencyButtonValue + emergencyButtonUnite); HDLLog.Log("ä¼ æ„Ÿå™¨---紧急按钮:" + emergencyButtonValue + emergencyButtonUnite); break; case HDLApConfig.TYPE_SENSOR_PM_10: //ä¼ æ„Ÿå™¨ pm10 if (appliancesInfo.getChannelNum() != event.getAppliancesInfo().getChannelNum() || !event.isSuccess()) { showToast("获å–ä¼ æ„Ÿå™¨---pm10状æ€å¤±è´¥ï¼Œè¯·é‡æ–°å†è¯•"); return; } float pm10Value = (float) event.getAppliancesInfo().getCurState(); String pm10ValueUnit = ((SensorStateBackInfo) event).getUnite(); showToast("ä¼ æ„Ÿå™¨---pm10:" + pm10Value + pm10ValueUnit); HDLLog.Log("ä¼ æ„Ÿå™¨---pm10:" + pm10Value + pm10ValueUnit); break; } } } }