| | |
| | | private boolean isZigbee = false; |
| | | |
| | | |
| | | |
| | | @Override |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | | super.onCreate(savedInstanceState); |
| | |
| | | |
| | | |
| | | // 此方法为主动获取单一设备状态,逻辑模块、背景音乐模块没有这个api,仅支持灯光,窗帘,空调。一般不需要用到。 |
| | | // HDLCommand.getDeviceState(appliancesInfo); |
| | | // HDLCommand.getDeviceState(appliancesInfo); |
| | | |
| | | |
| | | initcurState(); |
| | | initView(); |
| | | initClickOnEvent(); |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | private void initcurState() { |
| | | appliancesInfo = (AppliancesInfo) getIntent().getSerializableExtra("hdl"); |
| | | isZigbee = getIntent().getExtras().getBoolean("isZigbee2Item"); |
| | | if (isZigbee){ |
| | | HDLCommand.getDeviceState(CtrlActivity.this,appliancesInfo,isZigbee);//如果是zigbee的需要调用单一状态回复 |
| | | }else { |
| | | if (isZigbee) { |
| | | HDLCommand.getDeviceState(CtrlActivity.this, appliancesInfo, isZigbee);//如果是zigbee的需要调用单一状态回复 |
| | | } else { |
| | | // lightState = 100;//初始化灯光亮度100 |
| | | curtainState = CurtainCtrlParser.curtainOff; |
| | | // 获取所有设备的状态。deviceStateBeanList为所有设备的状态列表 |
| | |
| | | lightBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | HDLCommand.lightCtrl(appliancesInfo, 50,isZigbee);//state值代表调光大小0-100 |
| | | HDLCommand.lightCtrl(appliancesInfo, 50, isZigbee);//state值代表调光大小0-100 |
| | | // HDLCommand.lightCtrl(appliancesInfo,50,isZigbee); |
| | | } |
| | | }); |
| | |
| | | @Override |
| | | public void onClick(View view) { |
| | | //窗帘模块第二个参数 为CurtainCtrlParser.curtainOn,CurtainCtrlParser.curtainOff,CurtainCtrlParser.curtainPause其中一个 |
| | | HDLCommand.curtainCtrl(appliancesInfo, curtainState,isZigbee); |
| | | HDLCommand.curtainCtrl(appliancesInfo, curtainState, isZigbee); |
| | | if (curtainState == CurtainCtrlParser.curtainOn) { |
| | | curtainState = CurtainCtrlParser.curtainOff; |
| | | } else { |
| | |
| | | curtainBtn2.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn,isZigbee); |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn, isZigbee); |
| | | } |
| | | }); |
| | | |
| | | curtainBtn3.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff,isZigbee); |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff, isZigbee); |
| | | |
| | | } |
| | | }); |
| | |
| | | curtainBtn4.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause,isZigbee); |
| | | HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause, isZigbee); |
| | | } |
| | | }); |
| | | |
| | | curtainBtn5.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.curtainCtrl(appliancesInfo, 20,isZigbee); |
| | | HDLCommand.curtainCtrl(appliancesInfo, 20, isZigbee); |
| | | } |
| | | }); |
| | | |
| | |
| | | @Override |
| | | public void onClick(View view) { |
| | | //演示当前状态为关,设置为开。开,设置为关。 |
| | | if (airSwitchState == 0) { |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOn,isZigbee);//空调开 |
| | | } else { |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOff,isZigbee);//空调关 |
| | | } |
| | | if (airSwitchState == 0) { |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOn, isZigbee);//空调开 |
| | | } else { |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOff, isZigbee);//空调关 |
| | | } |
| | | } |
| | | }); |
| | | |
| | |
| | | switch (airModeState) { |
| | | case 0: |
| | | //若当前空调模式为制冷,则点击按钮设置为制热 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeHeatTem,isZigbee);//空调模式制热 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeHeatTem, isZigbee);//空调模式制热 |
| | | break; |
| | | case 1: |
| | | //若当前空调模式为制热,则点击按钮设置为通风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeVen,isZigbee);//空调模式通风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeVen, isZigbee);//空调模式通风 |
| | | break; |
| | | case 2: |
| | | //若当前空调模式为通风,则点击按钮设置为自动 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeAuto,isZigbee);//空调模式自动 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeAuto, isZigbee);//空调模式自动 |
| | | break; |
| | | case 3: |
| | | //若当前空调模式为自动,则点击按钮设置为抽湿 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeDehum,isZigbee);//空调模式抽湿 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeDehum, isZigbee);//空调模式抽湿 |
| | | break; |
| | | case 4: |
| | | //若当前空调模式为抽湿,则点击按钮设置为制冷 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem,isZigbee);//空调模式制冷 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem, isZigbee);//空调模式制冷 |
| | | break; |
| | | default: |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem,isZigbee);//空调模式制冷 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem, isZigbee);//空调模式制冷 |
| | | break; |
| | | |
| | | } |
| | |
| | | switch (airSpeedState) { |
| | | case 0: |
| | | //若当前空调风速为自动,则点击按钮设置为高风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedHigh,isZigbee);//风速高风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedHigh, isZigbee);//风速高风 |
| | | break; |
| | | case 1: |
| | | //若当前空调风速为高风,则点击按钮设置为中风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedMid,isZigbee);//风速中风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedMid, isZigbee);//风速中风 |
| | | break; |
| | | case 2: |
| | | //若当前空调风速为中风,则点击按钮设置为低风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedLow,isZigbee);//风速低风 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedLow, isZigbee);//风速低风 |
| | | break; |
| | | case 3: |
| | | //若当前空调风速为低风,则点击按钮设置为自动 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedAuto,isZigbee);//风速自动 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedAuto, isZigbee);//风速自动 |
| | | break; |
| | | } |
| | | } |
| | |
| | | switch (airModeState) { |
| | | case 0: |
| | | //当前空调模式为制冷 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.refTem, tempInt,isZigbee);//制冷温度 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.refTem, tempInt, isZigbee);//制冷温度 |
| | | break; |
| | | case 1: |
| | | //当前空调模式为制热 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.heatTem, tempInt,isZigbee);//制热温度 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.heatTem, tempInt, isZigbee);//制热温度 |
| | | break; |
| | | case 2: |
| | | //当前空调模式为通风 |
| | |
| | | break; |
| | | case 3: |
| | | //当前空调模式为自动 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.autoTem, tempInt,isZigbee);//自动温度 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.autoTem, tempInt, isZigbee);//自动温度 |
| | | break; |
| | | case 4: |
| | | //当前空调模式为抽湿 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.dehumTem, tempInt,isZigbee);//抽湿温度 |
| | | HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.dehumTem, tempInt, isZigbee);//抽湿温度 |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | logicBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.logicCtrl(appliancesInfo,isZigbee); |
| | | HDLCommand.logicCtrl(appliancesInfo, isZigbee); |
| | | } |
| | | }); |
| | | |
| | | sensorBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | HDLCommand.getDeviceState(CtrlActivity.this,appliancesInfo,isZigbee); |
| | | HDLCommand.getDeviceState(CtrlActivity.this, appliancesInfo, isZigbee); |
| | | } |
| | | }); |
| | | } |
| | |
| | | && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum() |
| | | && event.getLightCtrlBackInfo().getPhysicsChannelNum() == appliancesInfo.getPhysicsChannelNum() |
| | | && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceType() == appliancesInfo.getDeviceType() |
| | | ) { |
| | | ) { |
| | | // 先判断是否超时 |
| | | if (!event.isSuccess()) { |
| | | showToast("灯光控制超时,请重新再试"); |
| | |
| | | if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() |
| | | && event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() |
| | | && event.getCurtainCtrlBackInfo().getNum() == appliancesInfo.getChannelNum() |
| | | ) { |
| | | ) { |
| | | |
| | | if (!event.isSuccess()) { |
| | | showToast("窗帘控制超时,请重新再试"); |
| | |
| | | if (event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() |
| | | && event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() |
| | | && event.getAirCtrlBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() |
| | | ) { |
| | | ) { |
| | | // 先判断是否超时 |
| | | if (!event.isSuccess()) { |
| | | showToast("空调控制超时,请重新再试"); |
| | |
| | | // 先判断是否超时 |
| | | if (event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() |
| | | && event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() |
| | | ) { |
| | | ) { |
| | | if (!event.isSuccess()) { |
| | | showToast("场景控制超时,请重新再试"); |
| | | return; |
| | |
| | | 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: |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | public void showToast(String text) { |