// // ThreeControlCenterViewController.m // Ifish // // Created by imac on 16/4/18. // Copyright © 2016年 imac. All rights reserved. // #import "ThreeControlCenterViewController.h" #import "manulswitchMSModel.h" #import "SetTimeController.h" #define LIGHT1_TAG 201 #define LIGHT2_TAG 202 #define PUMP_TAG 203 #import "ThreeControlName.h" #import "ThreeControlNameViewController.h" #import "UserExtendataArchaver.h" //三控 返回消息类型 typedef NS_ENUM(NSInteger,ThreeControBackMsgTape){ // 三控六定时器 返回消息类型71字节 ThreeControlBackmsgTapeSenventyOneByte, // 三控六定时器 返回消息类型 99 字节 (最早陈工) ThreeControlBackmsgTapeNinetyNineByte }; @interface ThreeControlCenterViewController () @property(nonatomic,strong) SetTimeController*SetTimeVC; @property(nonatomic,assign) ThreeControBackMsgTape threeControltype; @property(nonatomic,strong) BackmassegeModel*backmodel; @property (nonatomic,strong) ThreeControlNameViewController *changeNameVC ; @end @implementation ThreeControlCenterViewController - (void)viewDidLoad { [super viewDidLoad]; //主界面按钮事件分离 _backmodel=[[BackmassegeModel alloc] init]; [Socketsingleton sharedInstance].communiteDelegate = self; [self.SetTimeButton addTarget:self action:@selector(threeControlSetBtnAction:) forControlEvents:UIControlEventTouchUpInside]; [self.setbackBtn addTarget:self action:@selector(threeControlSetBtnAction:) forControlEvents:UIControlEventTouchUpInside]; UITapGestureRecognizer*tapgestureRecognizer=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(threeCenterViewSetTap)]; [self.setImag addGestureRecognizer:tapgestureRecognizer]; UITapGestureRecognizer*tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(threeControlViewclockViewClick)]; self.clockView.userInteractionEnabled=YES; [self.clockView addGestureRecognizer:tapGesture]; [self initThreeControlButton]; } -(void)viewWillAppear:(BOOL)animated{ [self creatFishAnimation]; } -(void)viewDidAppear:(BOOL)animated{ } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } #pragma mark - 初始化三控按钮 -(void)initThreeControlButton{ NSArray*nomalarr=@[@"PFLight1_off.png",@"PFLight1_off.png",@"ChongLang_off.png"]; CGFloat btnControlWith = kScreenSize.width*7/32; CGFloat btnControlPlace = (kScreenSize.width - 3*btnControlWith * 105 / 122 )/4; for (int i=0; i%@",data); //[sock readDataWithTimeout:-1 tag:0]; NSString*string1=[dataContorl dataToHexString:data]; self.temperature.hidden=NO; //设备在线显示与设备离线相对应 self.dulabel.hidden=NO; //设备在线显示与设备离线相对应 收到返回数据改变显示状态 self.notOnLineLabel.hidden = YES; self.temperaturebackImg.hidden=NO; [self.indicatorView stopAnimating]; //[_HUD hide:YES]; [self.myhud hidmyHud]; if (_SetTimeVC.indicatorView) { [_SetTimeVC.indicatorView stopAnimating]; } self.dataLength=string1.length; if (string1.length==IFISH_BACKMASGTYAP99) { //99 字节 全用BackmassegeModel //三控 6定时器 99字节两控 self.threeControltype = ThreeControlBackmsgTapeNinetyNineByte; [DeviceCommunicateDataUnity readSoketbackMassageOfThreeControlData:data WithModel:_backmodel]; if ([_backmodel.yunxingmoshi isEqualToString:@"00"]) { self.waringLabel.hidden=YES; self.clockView.hidden=YES; }else{ self.clockView.hidden=NO; self.waringLabel.hidden=NO; } if ([_backmodel.baojingSwitch isEqualToString:@"01"]) { self.temperaturebackImg.hidden=NO; }else{ self.temperaturebackImg.hidden=YES; } }else if (string1.length==IFISH_BACKMASGTYAP71){ self.threeControltype = ThreeControlBackmsgTapeSenventyOneByte; [DeviceCommunicateDataUnity readSoketThreeControlBackMassageData:data WithModel:_backmodel]; if ([_backmodel.yunxingmoshi isEqualToString:@"00"]) { self.waringLabel.hidden=YES; self.clockView.hidden=YES; }else{ self.clockView.hidden=NO; self.waringLabel.hidden=NO; } //背景图片状态 if ([_backmodel.baojingSwitch isEqualToString:@"01"]) { self.temperaturebackImg.hidden=NO; // self.shuixiangwendu.hidden=YES; }else{ self.temperaturebackImg.hidden=YES; //self.shuixiangwendu.hidden=NO; } } //按钮状态 dispatch_async(dispatch_get_main_queue(), ^{ switch (self.threeControltype) { case ThreeControlBackmsgTapeSenventyOneByte: { [DeviceCommunicateDataUnity resetThreeControlButtonState:_light1Button addlight2:_light2Button addpump:_pumpButton withBackModel:_backmodel]; // 实时刷新设置界面 时间设置 _SetTimeVC.timeArr=[DeviceCommunicateDataUnity refreshThreeControlTimerAddTemperatureWithBackMassageModel:_backmodel]; [_SetTimeVC.tableView reloadData]; } break; case ThreeControlBackmsgTapeNinetyNineByte: { [DeviceCommunicateDataUnity resetThreeControlButtonState:_light1Button addlight2:_light2Button addpump:_pumpButton withBackModel:_backmodel]; // 实时刷新设置界面 时间设置 _SetTimeVC.timeArr=[DeviceCommunicateDataUnity refreshThreeControlTimerAddTemperatureWithBackMassageModel:_backmodel]; [_SetTimeVC.tableView reloadData]; } break; default: break; } }); //温度label [DeviceCommunicateDataUnity setTemperaturelabel:self.temperature addTemperaturebackImg:self.temperaturebackImg addbubleImge:self.bubble WithBackData:data addWithBackMassageModel:_backmodel addWithTableview:self.tableView] ; [self endRefreshing]; //} } //设备登陆成功 -(void)ifishDeviceLogInSuccees{ self.isconnect=YES; NSLog(@"app登录成功"); } -(void)ifishDeviceLogInFail{ [self endRefreshing]; [self.indicatorView stopAnimating]; dispatch_async(dispatch_get_main_queue(), ^{ [self deviceNotOnlineState];//设备离线 }); } #pragma mark -父类方法 -(void)shezhiMingCheng { _changeNameVC = [[ThreeControlNameViewController alloc] init]; _changeNameVC.name = self.name.text; _changeNameVC.device = self.currentDevice; __weak typeof (self)wself = self; _changeNameVC.NameWithBlock = ^(NSString *nameStr){ wself.name.text = nameStr; [wself initCHNames]; }; [ wself.navigationController pushViewController: _changeNameVC animated:YES]; } -(void)initCHNames{ ThreeControlName *name = [UserExtendataArchaver currentThreeControlName:self.currentDevice.macAddress]; self.light1name.text = name.light1Name; self.light2name.text = name.light2Name; self.pumpname.text = name.pumpName; } @end