| | |
| | | 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 org.greenrobot.eventbus.Subscribe; |
| | | import org.greenrobot.eventbus.ThreadMode; |
| | | |
| | | import java.util.List; |
| | | |
| | | public class CtrlActivity extends BaseActivity { |
| | | /**Topbar*/ |
| | | /** |
| | | * Topbar |
| | | */ |
| | | private RelativeLayout topBarBack; |
| | | private TextView topBarTitle; |
| | | private Button lightBtn, curtainBtn, curtainBtn2, curtainBtn3, curtainBtn4, curtainBtn5, |
| | |
| | | private int airSpeedState; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 要注册使用EventBus,这里必须要设置返回true |
| | | * |
| | | * @return true |
| | | */ |
| | | @Override |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | } |
| | | break; |
| | | case HDLApConfig.TYPE_CURTAIN_GLYSTRO: |
| | | //判断是哪个回路的设备 |
| | | if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { |
| | | appliancesInfo.setCurState(deviceStateBean.getCurState()); |
| | | } |
| | | break; |
| | | case HDLApConfig.TYPE_CURTAIN_ROLLER: |
| | | //判断是哪个回路的设备 |
| | | if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { |
| | | appliancesInfo.setCurState(deviceStateBean.getCurState()); |
| | | } |
| | | break; |
| | | 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: |
| | | //判断是哪个回路的设备 |
| | | if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { |
| | | appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); |
| | | } |
| | | break; |
| | | case HDLApConfig.TYPE_AC_PANEL: |
| | | //判断是哪个回路的设备 |
| | | if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { |
| | | appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); |
| | | } |
| | | break; |
| | | case HDLApConfig.TYPE_AC_TECHSYS: |
| | | case HDLApConfig.TYPE_AC_KNXTECHSYS: |
| | | //判断是哪个回路的设备 |
| | | if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) { |
| | | appliancesInfo.setArrCurState(deviceStateBean.getArrCurState()); |
| | |
| | | @Override |
| | | public void onClick(View view) { |
| | | //窗帘模块第二个参数 为CurtainCtrlParser.curtainOn,CurtainCtrlParser.curtainOff,CurtainCtrlParser.curtainPause其中一个 |
| | | HDLCommand.curtainCtrl(appliancesInfo, curtainState); |
| | | HDLCommand.curtainCtrl(appliancesInfo, curtainState, 0); |
| | | if (curtainState == CurtainCtrlParser.curtainOn) { |
| | | curtainState = CurtainCtrlParser.curtainOff; |
| | | } else { |
| | |
| | | curtainBtn2.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn); |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn, 0); |
| | | } |
| | | }); |
| | | |
| | | curtainBtn3.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff); |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff, 0); |
| | | } |
| | | }); |
| | | |
| | | curtainBtn4.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause); |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause, 0); |
| | | } |
| | | }); |
| | | |
| | | curtainBtn5.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, 50); |
| | | HDLCommand.curtainCtrl(appliancesInfo, 50, 0); |
| | | } |
| | | }); |
| | | |
| | |
| | | |
| | | /** |
| | | * 灯光控制回调Event |
| | | * |
| | | * @param event |
| | | */ |
| | | @Subscribe(threadMode = ThreadMode.MAIN) |
| | |
| | | String remarks = event.getLightCtrlBackInfo().getRemarks();//获取返回的灯光备注。如果每个灯光回路备注都唯一,可以直接通过备注判断 |
| | | String parentRemarks = event.getLightCtrlBackInfo().getParentRemarks();//获取继电器或调光灯备注。这里可以知道是哪个设备返回的 |
| | | int num = event.getLightCtrlBackInfo().getChannelNum();//获取回路号。这里可以获取到这个继电器或调光灯的回路号 |
| | | showToast("模块:"+ parentRemarks + " 的 " + remarks + " 回路,回路号为:" + num + " 返回" + " 亮度为:" + brightness); |
| | | showToast(remarks + " 回路,回路号为:" + num + " 返回" + " 亮度为:" + brightness); |
| | | HDLLog.Log("当前亮度 = " + brightness); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 窗帘模块控制回调Event |
| | | * |
| | | * @param event |
| | | */ |
| | | @Subscribe(threadMode = ThreadMode.MAIN) |
| | |
| | | |
| | | /** |
| | | * 空调模块控制回调Event |
| | | * |
| | | * @param event |
| | | */ |
| | | @Subscribe(threadMode = ThreadMode.MAIN) |
| | |
| | | |
| | | /** |
| | | * 逻辑模块控制回调Event |
| | | * |
| | | * @param event |
| | | */ |
| | | @Subscribe(threadMode = ThreadMode.MAIN) |
| | |
| | | |
| | | /** |
| | | * 获取单一设备状态回调Event |
| | | * |
| | | * @param event |
| | | */ |
| | | @Subscribe(threadMode = ThreadMode.MAIN) |
| | |
| | | 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("获取窗帘状态失败,请重新再试"); |
| | |
| | | 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("获取空调状态失败,请重新再试"); |
| | |
| | | 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; |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |