// // TwoControlNinetyninebiteViewController.m // Ifish // // Created by imac on 16/3/7. // Copyright © 2016年 imac. All rights reserved. // #import "TwoControlNinetyninebiteViewController.h" #import "SetTimeCell.h" #import "SecondSetTimeCell.h" #import "SetTimeModel.h" #import "SetSelectorTime.h" //#import "AsyncSocket.h" #import "setWaringTpModel.h" #import "appLogin.h" #import "workTypeModel.h" #import "SetSelectorTime.h" #define TIME_TAG 300 #import "MyPickerView.h" #import "searchDeviceModel.h" #import "MydatePickerView.h" #define SET_CELL_TAG 2200 #define MYSWITCH_TAG 3200 #import "CenterViewController.h" #import "TimerSateModel.h" #import "TemperatureSetCell.h" #import "TemperatureSetModel.h" #import "TwoControlBackmsgmodel.h" #import "BrightnessCell.h" #import "GuiDengViewCell.h" #import "ChangeWaterCell.h" #import "GuidengKaiGuanModel.h" #import "BrightnessModel.h" #import "remindCyclePic.h" #import "setRemindWaterModel.h" #import "CreatErWeiMaController.h" // 两控 99bites @interface TwoControlNinetyninebiteViewController () { MydatePickerView*_mydatepicView; MyPickerView* _mypicView; remindCyclePic*_remindPic; dispatch_queue_t _mainQueue; BOOL _huanShuiSwitchIsOn; } @property(nonatomic,strong)NSIndexPath*indexpath; //@property(nonatomic)AsyncSocket*clientSocket; @property(nonatomic,copy)NSString*statString; @property(nonatomic,copy)NSString*endString; @property(nonatomic,copy)NSString*nextChangeDateLabel; @property(nonatomic,strong)setRemindWaterModel*waterInfmodel; @end @implementation TwoControlNinetyninebiteViewController - (void)viewDidLoad { [super viewDidLoad]; _switchCellArr=[[NSMutableArray alloc]init]; _mySwitchButtonArry=[[NSMutableArray alloc]init]; _indexpatchArr=[[NSMutableArray alloc]init]; _selcterTimerArr=[[NSArray alloc]init]; _selectorSwitchArr=[[NSArray alloc]init]; _waterInfmodel=[[setRemindWaterModel alloc]init]; [super viewDidLoad]; _mainQueue = dispatch_get_main_queue(); self.navigationController.navigationBar.backItem.title=@""; [self addTitleViewWithTitle:@"设置"]; [self initData]; [self creatIndicatorView]; self.tableView.backgroundColor=COLOR_MIAN; self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone; // if ([self.currentdevice.isMaster isEqualToString:@"1"]) { // UIBarButtonItem*rightItem=[[UIBarButtonItem alloc]initWithTitle:@"分享设备" style: UIBarButtonItemStyleDone target:self action:@selector(twonineItemClick)]; // rightItem.tintColor=[UIColor whiteColor]; // self.navigationItem.rightBarButtonItem=rightItem; // } } -(void)twonineItemClick{ CreatErWeiMaController*vc=[[CreatErWeiMaController alloc]init] ; vc.erdevicemodel=self.currentdevice; [self.navigationController pushViewController:vc animated:YES]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(void)initData{ self.titleArr=@[@[@"预警设置",@"柜灯开关",@"背光亮度",@"换水提醒",@"定时模式"],@[@"时段1",@"时段2"],@[@"时段1",@"时段2"]]; BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"]; if (backmodel) { NSString*low=backmodel.miniTp; NSString*heigh=backmodel.maxTp; UInt64 lowten=[dataContorl hexToTen:low]; UInt64 heighten=[dataContorl hexToTen:heigh]; float formatlow=lowten/10; float formatheigh=heighten/10; NSString*wenduString=[NSString stringWithFormat:@"%.0f~%.0f°C",formatlow,formatheigh]; // 十六进制 NSString*startTimeHex1=[backmodel.timer1 substringWithRange:NSMakeRange(4, 4)]; NSString*endTimeHex1=[backmodel.timer1 substringWithRange:NSMakeRange(8, 4)]; // 十进制 NSString*startTimeTen1=[dataContorl hexStringToDateString:startTimeHex1]; NSString*endTimeTen1=[dataContorl hexStringToDateString:endTimeHex1]; NSString*setTim1=[NSString stringWithFormat:@"%@~%@",startTimeTen1,endTimeTen1]; // 十六进制 NSString*startTimeHex2=[backmodel.timer2 substringWithRange:NSMakeRange(4, 4)]; NSString*endTimeHex2=[backmodel.timer2 substringWithRange:NSMakeRange(8, 4)]; // 十进制 NSString*startTimeTen2=[dataContorl hexStringToDateString:startTimeHex2]; NSString*endTimeTen2=[dataContorl hexStringToDateString:endTimeHex2]; NSString*setTim2=[NSString stringWithFormat:@"%@~%@",startTimeTen2,endTimeTen2]; // // 十六进制 NSString*startTimeHex3=[backmodel.timer3 substringWithRange:NSMakeRange(4, 4)]; NSString*endTimeHex3=[backmodel.timer3 substringWithRange:NSMakeRange(8, 4)]; // 十进制 NSString*startTimeTen3=[dataContorl hexStringToDateString:startTimeHex3]; NSString*endTimeTen3=[dataContorl hexStringToDateString:endTimeHex3]; NSString*setTim3=[NSString stringWithFormat:@"%@~%@",startTimeTen3,endTimeTen3]; // 十六进制 NSString*startTimeHex4=[backmodel.timer4 substringWithRange:NSMakeRange(4, 4)]; NSString*endTimeHex4=[backmodel.timer4 substringWithRange:NSMakeRange(8, 4)]; // 十进制 NSString*startTimeTen4=[dataContorl hexStringToDateString:startTimeHex4]; NSString*endTimeTen4=[dataContorl hexStringToDateString:endTimeHex4]; NSString*setTim4=[NSString stringWithFormat:@"%@~%@",startTimeTen4,endTimeTen4]; NSString*switchButton1=[backmodel.timer1 substringWithRange:NSMakeRange(2, 2)]; NSString*switchButton2=[backmodel.timer2 substringWithRange:NSMakeRange(2, 2)]; NSString*switchButton3=[backmodel.timer3 substringWithRange:NSMakeRange(2, 2)]; NSString*switchButton4=[backmodel.timer4 substringWithRange:NSMakeRange(2, 2)]; _selectorSwitchArr=@[switchButton1,switchButton2,switchButton3,switchButton4]; _selcterTimerArr=@[setTim1,setTim2,setTim3,setTim4]; self.timeArr=@[@[wenduString,@"设置时段"],@[setTim1,setTim2],@[setTim3,setTim4]]; }else{ [self showTitle:@"" messsage:@"设备已离线"]; self.timeArr=@[@[@"20~30°C",@"设置时段"],@[@"2:00~5:00",@"设置时段"],@[@"2:00~5:00",@"设置时段"]]; _selcterTimerArr=@[@"2:00~5:00",@"2:00~5:00",@"2:00~5:00",@"2:00~5:00",@"2:00~5:00"];//防crash } } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 3; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if (section==0) { return 5 ; }else{ return 2; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"]; static NSString *cellID=@"kongCell"; UITableViewCell *kongCell=[tableView dequeueReusableCellWithIdentifier:cellID]; if (kongCell==nil) { kongCell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID]; } if (indexPath.section==0&&indexPath.row==0){ TemperatureSetCell*cell=[tableView dequeueReusableCellWithIdentifier:@"TemperatureSetCell"]; if (cell==nil) { cell=[[[NSBundle mainBundle]loadNibNamed:@"TemperatureSetCell" owner:self options:nil]lastObject]; } cell.tag=indexPath.row +SET_CELL_TAG+indexPath.section*10; TemperatureSetModel*model=[[TemperatureSetModel alloc]init]; model.title=self.titleArr[indexPath.section][indexPath.row]; cell.titleLabel.text=model.title; model.temperatureLabel=self.timeArr[indexPath.section][indexPath.row]; cell.temperaturelabel.text=model.temperatureLabel; [cell.temPSwitch addTarget:self action:@selector(tempSwitchAction:) forControlEvents:UIControlEventTouchUpInside]; if ([backmodel.baojingSwitch isEqualToString:@"01"]) { [cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; cell.temPSwitch.selected = NO; }else{ [cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; cell.temPSwitch.selected = YES; } return cell; }else if (indexPath.section==0&&indexPath.row==1){ //背光 //背光 BrightnessCell*cell=[tableView dequeueReusableCellWithIdentifier:@"BrightnessCell"]; if (cell==nil) { cell=[[[NSBundle mainBundle]loadNibNamed:@"BrightnessCell" owner:self options:nil]lastObject]; } if (![_currentdevice.isLightness isEqual:[NSNull null]]) { if ([_currentdevice.isLightness isEqualToString:@"1"]) { //有背光 cell.brightTitleLabel.text=_titleArr[indexPath.section][indexPath.row]; // 系统默认YES 这里拖拽结束时再传值需设为NO cell.btightnessSlider.continuous=NO; if (backmodel) { UInt64 lightTen=[dataContorl hexToTen:backmodel.brightness]; [cell.btightnessSlider setValue:lightTen animated:YES]; // int sliderValue=(int)(lightTen+0.5); // int percent=(sliderValue*100)/250; // cell.persentLabel.text=[NSString stringWithFormat:@"%d%",percent]; // cell.persentLabel.textColor=COLOR_LABEL_TITLE; } [cell.btightnessSlider addTarget:self action:@selector(btightnessSlider:) forControlEvents:UIControlEventValueChanged]; cell.brightTitleLabel.hidden=NO; cell.btightnessSlider.hidden=NO; cell.persentLabel.hidden=NO; return cell; }else{ //无背光 return kongCell; } }else{ return kongCell; } }else if (indexPath.section==0&&indexPath.row==2){ // 柜灯 GuiDengViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@"GuiDengViewCell"]; if (cell==nil) { cell=[[[NSBundle mainBundle]loadNibNamed:@"GuiDengViewCell" owner:self options:nil]lastObject]; } if (![_currentdevice.isSarkLamp isEqual:[NSNull null]]) { if ([_currentdevice.isSarkLamp isEqualToString:@"1"]) { cell.guidengtitle=_titleArr[indexPath.section][indexPath.row]; [cell.guidengSwitch addTarget:self action:@selector(guidengSwitchAtion:) forControlEvents:UIControlEventTouchUpInside]; if ([backmodel.tankLight isEqualToString:@"01"]) { //[cell.guidengSwitch setOn:YES]; [cell.guidengSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; cell.guidengSwitch.selected = NO; }else{ [cell.guidengSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; cell.guidengSwitch.selected = YES; //[cell.guidengSwitch setOn:NO]; } return cell; }else{ return kongCell; } }else{ return kongCell; } }else if (indexPath.section==0&&indexPath.row==3){ // 换水提醒 ChangeWaterCell*cell=[tableView dequeueReusableCellWithIdentifier:@"ChangeWaterCell"]; if (cell==nil) { cell=[[[NSBundle mainBundle]loadNibNamed:@"ChangeWaterCell" owner:self options:nil]lastObject]; } [cell.ChangeWaterSwitch addTarget:self action:@selector(twoControlNinetychangeWaterSwitch:) forControlEvents:UIControlEventTouchUpInside]; if (![self.currentdevice.waterRemind isEqual:[NSNull null]]) { if ([self.waterInfmodel.waterremind isEqualToString:@"1"]) { //[cell.ChangeWaterSwitch setOn:YES]; cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"firstSetCell"]]; cell.ChangeWaterSwitch.selected = NO; [cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; _huanShuiSwitchIsOn=YES; }else{ // [cell.ChangeWaterSwitch setOn:NO]; _huanShuiSwitchIsOn=NO; cell.ChangeWaterSwitch.selected = YES; [cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"set_cellBack"]]; } if (self.waterInfmodel.remindcycle == 0) { //在未获取换水信息时暂时显示 cell.huanshuiDaylabel.text=@"换水时间"; }else{ cell.huanshuiDaylabel.text=[NSString stringWithFormat:@"%ld天",(long)self.waterInfmodel.remindcycle]; } NSLog(@"你"); return cell; }else{ kongCell.textLabel.text =@"错误信息 waterRemind null"; return kongCell; } }else if (indexPath.section==0&&indexPath.row==4){ static NSString*nextHuanShuiLablecellId=@"labelcell"; UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:nextHuanShuiLablecellId]; if (cell==nil) { cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nextHuanShuiLablecellId]; } if (_huanShuiSwitchIsOn) { cell.backgroundColor=COLOR_BACK_; cell.textLabel.text=[NSString stringWithFormat:@"下次换水时间:%@",self.waterInfmodel.remindDate]; cell.textLabel.font=[UIFont systemFontOfSize:12]; [cell.textLabel sizeToFit]; cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"secondSetCell"]]; }else{ cell.textLabel.text=@""; } cell.userInteractionEnabled = NO; return cell; }else{ SetTimeCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SetTimeCell"]; if (cell==nil) { cell=[[[NSBundle mainBundle]loadNibNamed:@"SetTimeCell" owner:self options:nil]lastObject]; } if (indexPath.section==0&&indexPath.row==0) { cell.mySwitchButton.hidden=YES; }else{ cell.mySwitchButton.hidden=NO; } SetTimeModel*model=[[SetTimeModel alloc]init]; model.title=self.titleArr[indexPath.section][indexPath.row]; cell.titleLabel.text=model.title; model.timestring=self.timeArr[indexPath.section][indexPath.row]; cell.timeLabel.text=model.timestring; cell.timeLabel.tag=TIME_TAG+indexPath.section*10+indexPath.row; if (indexPath.section!=0) { cell.tag=indexPath.row +SET_CELL_TAG+indexPath.section*10; cell.mySwitchButton.tag=indexPath.row +MYSWITCH_TAG+indexPath.section*10; [_indexpatchArr addObject:indexPath]; [_mySwitchButtonArry addObject:cell.mySwitchButton]; [_switchCellArr addObject:cell]; } if (indexPath.section!=0) { if (indexPath.section==1&&indexPath.row==0) {//UV 开关一 NSString*state=[backmodel.timer1 substringWithRange:NSMakeRange(2, 2)]; if ([state isEqualToString:@"00"]) { [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; }else{ [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; } } if (indexPath.section==1&&indexPath.row==1) {//UV 开关2 NSString*state=[backmodel.timer2 substringWithRange:NSMakeRange(2, 2)]; if ([state isEqualToString:@"00"]) { [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; }else{ [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; } } if (indexPath.section==2&&indexPath.row==0) {//灯 开关3 NSString*state=[backmodel.timer3 substringWithRange:NSMakeRange(2, 2)]; if ([state isEqualToString:@"00"]) { [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; }else{ [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; } } if (indexPath.section==2&&indexPath.row==1) {// 灯 开关4 NSString*state=[backmodel.timer4 substringWithRange:NSMakeRange(2, 2)]; if ([state isEqualToString:@"00"]) { [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; }else{ [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; } } // if (indexPath.section==2&&indexPath.row==0) {//开关5 水泵 // NSString*state=[backmodel.timer5 substringWithRange:NSMakeRange(2, 2)]; // // if ([state isEqualToString:@"00"]) { // // [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; // // }else{ // // [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; // } // } // if (indexPath.section==2&&indexPath.row==1) {//开关6 水泵 // NSString*state=[backmodel.timer6 substringWithRange:NSMakeRange(2, 2)]; // // if ([state isEqualToString:@"00"]) { // // [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; // // }else{ // // [cell.mySwitchButton setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; // } // } } [cell.mySwitchButton addTarget:self action:@selector(btnCliCk:) forControlEvents:UIControlEventTouchUpInside]; if ([self.currentdevice.isWorkModel isEqualToString:@"1"]) { if ([backmodel.yunxingmoshi isEqualToString:@"01"]) {// 自动模式下 cell.mySwitchButton.userInteractionEnabled=YES; }else{ cell.mySwitchButton.userInteractionEnabled=NO; } }else{ cell.mySwitchButton.userInteractionEnabled=YES; } [cell bringSubviewToFront:cell.mySwitchButton]; [cell SetFourTimerBackAtIndex:indexPath]; return cell; } } -(void)btnCliCk:(UIButton*)btn{ TimerSateModel*stateModel=[[TimerSateModel alloc]init]; stateModel.sendmacId = self.currentdevice.macAddress; stateModel.resavemacId = self.currentdevice.macAddress; stateModel.crc16String=@"0000"; BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"]; NSString*backState=nil; // SetSelectorTime*selectorTimeModel=[[SetSelectorTime alloc]init]; if (btn.tag==3210) { backState=[backmodel.timer1 substringWithRange:NSMakeRange(2, 2)]; _indexpath=[_indexpatchArr objectAtIndex:0]; stateModel.timerNumber=@"01"; // stateModel.timerState=[backmodel.timer1 substringWithRange:NSMakeRange(2, 2)]; }else if (btn.tag==3211){ backState=[backmodel.timer2 substringWithRange:NSMakeRange(2, 2)]; _indexpath=[_indexpatchArr objectAtIndex:1]; stateModel.timerNumber=@"02"; // stateModel.timerState=[backmodel.timer2 substringWithRange:NSMakeRange(2, 2)]; }else if (btn.tag==3220){ backState=[backmodel.timer3 substringWithRange:NSMakeRange(2, 2)]; _indexpath=[_indexpatchArr objectAtIndex:2]; stateModel.timerNumber=@"03"; // stateModel.timerState=[backmodel.timer3 substringWithRange:NSMakeRange(2, 2)]; }else if (btn.tag==3221){ backState=[backmodel.timer4 substringWithRange:NSMakeRange(2, 2)]; _indexpath=[_indexpatchArr objectAtIndex:3]; stateModel.timerNumber=@"04"; // stateModel.timerState=[backmodel.timer4 substringWithRange:NSMakeRange(2, 2)]; } if ([backState isEqualToString:@"01"]) { // mySwitchIsOn=YES; // }else{ // mySwitchIsOn=NO; stateModel.timerState=@"00";// 关 NSString*stateString=[NSString stringWithFormat:@"%@%@%@%@",stateModel.description,stateModel.timerNumber,stateModel.timerState,stateModel.crc16String]; NSData*selctorData=[dataContorl stringToHexData:stateString]; [[Socketsingleton sharedInstance] soketWriteData:selctorData]; [_indicatorView startAnimating]; [btn setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; }else{ stateModel.timerState=@"01";// 开 NSString*selectorString=[NSString stringWithFormat:@"%@%@%@%@",stateModel.description,stateModel.timerNumber,stateModel.timerState,stateModel.crc16String]; NSData*selctorData=[dataContorl stringToHexData:selectorString]; [[Socketsingleton sharedInstance] soketWriteData:selctorData]; [_indicatorView startAnimating]; [btn setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; } // if (mySwitchIsOn==YES) { // mySwitchIsOn=NO; // stateModel.timerState=@"00";// 关 // NSString*stateString=[NSString stringWithFormat:@"%@%@%@%@",stateModel.description,stateModel.timerNumber,stateModel.timerState,stateModel.crc16String]; // // NSData*selctorData=[dataContorl stringToHexData:stateString]; // [self.clientSocket writeData:selctorData withTimeout:-1 tag:1]; // [self.clientSocket readDataWithTimeout:-1 tag:1]; // [_indicatorView startAnimating]; // [btn setImage:[UIImage imageNamed:@"Switch-Off"] forState:UIControlStateNormal]; // // }else{ // mySwitchIsOn=YES; // stateModel.timerState=@"01";// 开 // NSString*selectorString=[NSString stringWithFormat:@"%@%@%@%@",stateModel.description,stateModel.timerNumber,stateModel.timerState,stateModel.crc16String]; // // NSData*selctorData=[dataContorl stringToHexData:selectorString]; // [self.clientSocket writeData:selctorData withTimeout:-1 tag:1]; // [self.clientSocket readDataWithTimeout:-1 tag:1]; // [_indicatorView startAnimating]; // [btn setImage:[UIImage imageNamed:@"Switch-On"] forState:UIControlStateNormal]; // } } #pragma mark 开启关闭报警 -(void)tempSwitchAction:(UISwitch*)temperatureSwitch{ BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"]; setWaringTpModel*warModel1=[[setWaringTpModel alloc]init]; warModel1.sendmacId = self.currentdevice.macAddress; warModel1.resavemacId = self.currentdevice.macAddress; BOOL isOn=[temperatureSwitch isOn]; if (isOn) { NSLog(@"开"); warModel1.kaiguan=@"01";// 开 warModel1.miniwaterTp=@"0000"; // 0 warModel1.maxwaterTp=@"0000";//0 }else{ warModel1.kaiguan=@"00";// 关 warModel1.miniwaterTp=@"0000"; // 0 warModel1.maxwaterTp=@"0000";//0 NSLog(@"关"); } [self setTmperatureStateWithModel:warModel1 addBackModel:backmodel]; } -(void)setTmperatureStateWithModel:(setWaringTpModel*)waringModel addBackModel:(BackmassegeModel*)backModel{ NSString*maxminTpString=waringModel.description; waringModel.crc16Ing=@"0000"; NSString*minString=[NSString stringWithFormat:@"%@%@%@%@%@",maxminTpString,waringModel.kaiguan,waringModel.miniwaterTp,waringModel.maxwaterTp,waringModel.crc16Ing]; NSData*minwenDuData=[dataContorl stringToHexData:minString]; [[Socketsingleton sharedInstance] soketWriteData:minwenDuData]; [_indicatorView startAnimating]; backModel.miniTp=waringModel.miniwaterTp; backModel.maxTp=waringModel.maxwaterTp; } #pragma mark 切换模式 -(void)twoNinetyNineswitchAction:(UIButton*)sender{ UIButton *switchButton = (UIButton*)sender; // BOOL isButtonOn=[switchButton isOn]; if (switchButton.selected == YES) { NSLog(@"开"); // 切换自动模式 switchButton.selected = NO; workTypeModel*zidongModel=[[workTypeModel alloc]init]; zidongModel.sendmacId = self.currentdevice.macAddress; zidongModel.resavemacId = self.currentdevice.macAddress; zidongModel.crc16String=@"0000"; zidongModel.workstyle=@"01"; NSString*ziDongString=[NSString stringWithFormat:@"%@%@%@",zidongModel.description,zidongModel.workstyle,zidongModel.crc16String]; NSData*zidongData=[dataContorl stringToHexData:ziDongString]; [[Socketsingleton sharedInstance] soketWriteData:zidongData]; self.isAuto=YES; [_indicatorView startAnimating]; // 自动模式下锁定 灯和水泵按钮 BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"]; backmodel.yunxingmoshi=@"01"; //...存储? }else{ switchButton.selected = YES; self.isAuto=NO; // 切换 手动模式 workTypeModel*zidongModel=[[workTypeModel alloc]init]; zidongModel.workstyle=@"00"; zidongModel.crc16String=@"0000"; NSString*ziDongString=[NSString stringWithFormat:@"%@%@%@",zidongModel.description,zidongModel.workstyle,zidongModel.crc16String]; NSData*zidongData=[dataContorl stringToHexData:ziDongString]; [[Socketsingleton sharedInstance] soketWriteData:zidongData]; TwoControlBackmsgmodel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackTwoControlInfo"]; backmodel.yunxingmoshi=@"00"; [_indicatorView startAnimating]; //...存储? NSLog(@"关"); } } #pragma mark 柜光灯开关Action -(void)guidengSwitchAtion:(UIButton*)sender{ UIButton *switchButton = (UIButton*)sender; // BOOL isButtonOn=[switchButton isOn]; GuidengKaiGuanModel*guidengModel=[[GuidengKaiGuanModel alloc]init]; guidengModel.resavemacId =self.currentdevice.macAddress; guidengModel.sendmacId = self.currentdevice.macAddress; guidengModel.crc16Str=@"0000"; if (switchButton.selected ==YES) { NSLog(@"开"); guidengModel.onOff=@"01"; switchButton.selected = NO; NSString* guidengOrder=[NSString stringWithFormat:@"%@%@%@",guidengModel.description,guidengModel.onOff,guidengModel.crc16Str]; NSData*guidengData=[dataContorl stringToHexData:guidengOrder]; [[Socketsingleton sharedInstance] soketWriteData:guidengData]; TwoControlBackmsgmodel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackTwoControlInfo"]; backmodel.tankLight=@"01"; [_indicatorView startAnimating]; }else{ NSLog(@"关"); switchButton.selected = YES; guidengModel.onOff=@"00"; NSString* guidengOrder=[NSString stringWithFormat:@"%@%@%@",guidengModel.description,guidengModel.onOff,guidengModel.crc16Str]; NSData*guidengData=[dataContorl stringToHexData:guidengOrder]; [[Socketsingleton sharedInstance] soketWriteData:guidengData]; TwoControlBackmsgmodel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackTwoControlInfo"]; backmodel.tankLight=@"00"; [_indicatorView startAnimating]; } } #pragma mark 背光灯亮度Action -(void)btightnessSlider:(UISlider*)sender{ UISlider*slider=(UISlider*)sender; NSLog(@"%f",slider.value); //这里 只传整数 //1.强转四舍五入 int sliderValue=(int)(slider.value+0.5); // //2.高斯函数,向下取整 // int sliderValue1=floor(slider.value); // //3. ceil 函数,向上取整 // int sliderValue2=ceil(slider.value); NSLog(@"%d",sliderValue); self.percent=(sliderValue*100)/250; NSString*hexString=[dataContorl ToHex:sliderValue]; if (hexString.length<2) { hexString=[NSString stringWithFormat:@"0%@",hexString]; } NSLog(@"%@",hexString); BrightnessModel*brightModel=[[BrightnessModel alloc]init ]; brightModel.sendmacId = self.currentdevice.macAddress; brightModel.resavemacId = self.currentdevice.macAddress; brightModel.liangdu=hexString; brightModel.crc16Code=@"0000"; NSString*changeLightOder=[NSString stringWithFormat:@"%@%@%@",brightModel.description,brightModel.liangdu,brightModel.crc16Code]; NSData*changeLghtData=[dataContorl stringToHexData:changeLightOder]; [[Socketsingleton sharedInstance] soketWriteData:changeLghtData]; [_indicatorView startAnimating]; } #pragma mark 换水提醒Action -(void)twoControlNinetychangeWaterSwitch:(UIButton*)sender{ UIButton*huanShuiSwitch=(UIButton*)sender; //BOOL isButtonOn=[huanShuiSwitch isOn]; NSUserDefaults*defuat=[NSUserDefaults standardUserDefaults]; NSString*picResult=[defuat valueForKey:@"ninetypicResult"]; int pic = picResult.intValue; if (pic==0) { [self showTitle:@"" messsage:@"请设置提醒天数"]; if (huanShuiSwitch.selected == YES) { huanShuiSwitch.selected = NO; }else{ huanShuiSwitch.selected = YES; } }else{ //第一次进入 //.... if (huanShuiSwitch.selected == YES) { //开 huanShuiSwitch.selected = NO; [IFISHHTTPTOOL setRemindWaterInfWith:self.currentdevice.deviceId waterRemind:@"1" remindCycle:picResult huishuiShiJian:^(setRemindWaterModel *remindModel) { self.nextChangeDateLabel=remindModel.remindDate; }]; //更新选择状态 设置界面 在不断 刷新 self.waterInfmodel.waterremind=@"1"; [self.tableView reloadData]; }else{ //关 huanShuiSwitch.selected = YES; [IFISHHTTPTOOL setRemindWaterInfWith:self.currentdevice.deviceId waterRemind:@"0" remindCycle:picResult huishuiShiJian:^(setRemindWaterModel *remindModel) { self.nextChangeDateLabel=remindModel.remindDate; }]; self.waterInfmodel.waterremind=@"0"; [self.tableView reloadData]; } } } //-(void)returnBool:(ReturnBoolBlock)block{ // self.returnboolBlock=block; // //} #pragma mark tableView 头视图和脚视图 -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ if (section == 1) { return 50; }else if (section ==0){ return 5; }else { return 0; } } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ if (indexPath.section==0&&indexPath.row==4) { //ChangeWaterCell*cell=(ChangeWaterCell*)[self tableView:tableView cellForRowAtIndexPath:indexPath]; if (_huanShuiSwitchIsOn) { return 33; }else{ return 0; } }else if (indexPath.section==0&&indexPath.row==1){ if (![_currentdevice.isLightness isEqual:[NSNull null]]) { if ([_currentdevice.isLightness isEqualToString:@"1"]) { return 50; }else{ return 0; } }else{ return 0; } }else if (indexPath.section==0&&indexPath.row==2){ // if (![_currentdevice.isSarkLamp isEqual:[NSNull null]]) { if ([_currentdevice.isSarkLamp isEqualToString:@"1"]) { return 50; }else{ return 0; } }else{ return 0; } }else if (indexPath.section==0&&indexPath.row==5){ //_currentdevice.isWorkModel=@"0"; //运行模式 if (![_currentdevice.isWorkModel isEqual:[NSNull null]]) { if ([_currentdevice.isWorkModel isEqualToString:@"1"]) { return 50; }else{ return 0; } }else{ return 0; } }else if (indexPath.section==0&&indexPath.row==3){ if (![_currentdevice.waterRemind isEqual:[NSNull null]]) { return 50; }else{ return 0; } }else if (indexPath.section==0&&indexPath.row==0){ //会否有 预警 if (![_currentdevice.isPushWendu isEqual:[NSNull null]]) { if ([_currentdevice.isPushWendu isEqualToString:@"1"]) { return 50; }else{ return 0; } }else{ return 0; } }else{ return 50; } } -(NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ NSString*str=@""; if (section==1) { str=@"灯"; }else if (section==2){ str=@"UV/冲浪"; } return str; } -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ return 1; } -(UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ if (section==2) { UIImageView*secondSectionHeader=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"secondSetCell"]]; return secondSectionHeader; } return nil; } -(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ if (section==1) { BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"]; UIImageView*secondSectionHeader=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"firstSetCell"]]; secondSectionHeader.userInteractionEnabled = YES; UILabel *label=[[UILabel alloc] init]; label.text=@"定时模式"; label.font = [UIFont systemFontOfSize:15]; label.frame=CGRectMake(18, 5, 100, 40); [secondSectionHeader addSubview:label]; //UISwitch *swich=[[UISwitch alloc] init]; UIButton *swBtn=[UIButton buttonWithType:UIButtonTypeCustom]; swBtn.frame=CGRectMake(kScreenSize.width- 24 - 49, 8, 60, 33); [swBtn addTarget:self action:@selector(twoNinetyNineswitchAction:) forControlEvents:UIControlEventTouchUpInside]; if ([backmodel.yunxingmoshi isEqualToString:@"01"]) { [swBtn setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal]; swBtn.selected = NO; }else{ [swBtn setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal]; swBtn.selected = YES; } if (![_currentdevice.isWorkModel isEqual:[NSNull null]]) { if ([_currentdevice.isWorkModel isEqualToString:@"1"]) { [swBtn setHidden:NO]; }else{ [swBtn setHidden:YES]; } }else{ [swBtn setHidden:YES]; } [secondSectionHeader addSubview:swBtn]; return secondSectionHeader; }else if (section == 0){ UIView*oneHeader=[[UIView alloc] init]; oneHeader.backgroundColor=COLOR_MIAN; return oneHeader; }else{ return nil; } } #pragma mark tableView 点击事件 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ _indexpath=indexPath; if (indexPath.row==0&&indexPath.section==0) { _mypicView=[[MyPickerView alloc]init]; _mypicView.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); [self.view.window addSubview:_mypicView]; [_mypicView.cancleButton addTarget:self action:@selector(mypicviewRemoveByCancle) forControlEvents:UIControlEventTouchUpInside]; [_mypicView.sureButton addTarget:self action:@selector(mypicViewRemoveByDone) forControlEvents:UIControlEventTouchUpInside]; [self temperatureMainQueue]; }else if (indexPath.section==0&&indexPath.row==3){ //换水提醒日期选择 _remindPic=[[remindCyclePic alloc]init]; _remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height); [self.view.window addSubview:_remindPic]; [_remindPic.cancleBtn addTarget:self action:@selector(remindCyclePicRemove) forControlEvents:UIControlEventTouchUpInside]; [_remindPic.sureBtn addTarget:self action:@selector(remindCyclePicDone) forControlEvents:UIControlEventTouchUpInside]; [self huanShuiMainQueue]; }else if (indexPath.section!=0){ BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"]; if ([self.currentdevice.isWorkModel isEqualToString:@"1"]) { if ([backmodel.yunxingmoshi isEqualToString:@"01"]) {//zidong mo shi _mydatepicView=[[MydatePickerView alloc]init]; _mydatepicView.frame=CGRectMake(0, 0, kScreenSize.width,self.view.bounds.size.height); [_mydatepicView.cancleButton addTarget:self action:@selector(cancleButtonClick) forControlEvents:UIControlEventTouchUpInside]; [_mydatepicView.sureButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside]; if (backmodel) { [self useMainQueue]; } // 设置pickerView 默认选择行 [self.view.window addSubview:_mydatepicView]; }else{ [self showTitle:@"" messsage:@"请开启定时模式"]; } }else{ _mydatepicView=[[MydatePickerView alloc]init]; _mydatepicView.frame=CGRectMake(0, 0, kScreenSize.width,self.view.bounds.size.height); [_mydatepicView.cancleButton addTarget:self action:@selector(cancleButtonClick) forControlEvents:UIControlEventTouchUpInside]; [_mydatepicView.sureButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside]; if (backmodel) { [self useMainQueue]; } // 设置pickerView 默认选择行 [self.view.window addSubview:_mydatepicView]; } } } #pragma mark 移除换水时间选择器 -(void)remindCyclePicRemove{ [_remindPic removeFromSuperview]; } #pragma mark 换水时间设置 -(void)remindCyclePicDone{ if (_indexpath.section==0&&_indexpath.row==3) { ChangeWaterCell*cell=[self.tableView cellForRowAtIndexPath:_indexpath]; NSString *str=_remindPic.picViewResultString; if (str==nil) { //str=@"1"; NSLog(@"ni hua dong tai kuai"); str=[NSString stringWithFormat:@"%ld",(long)self.waterInfmodel.remindcycle]; [_remindPic makeToast:@"请设置换水天数"]; return; } cell.huanshuiDaylabel.text=[NSString stringWithFormat:@"%@天",str]; //设置换水日期 [IFISHHTTPTOOL setRemindWaterInfWith:self.currentdevice.deviceId waterRemind:@"1" remindCycle:str huishuiShiJian:^(setRemindWaterModel *remindModel) { self.nextChangeDateLabel=remindModel.remindDate; self.waterInfmodel.waterremind=@"1"; self.waterInfmodel.remindDate=remindModel.remindDate; self.waterInfmodel.remindcycle = remindModel.remindcycle; [self.tableView reloadData]; }]; NSUserDefaults*defuat=[NSUserDefaults standardUserDefaults]; [defuat setValue:str forKey:@"picResult"]; [defuat synchronize]; [_remindPic removeFromSuperview]; } } #pragma mark 默认换水时间 -(void)huanShuiMainQueue{ if (_remindPic.picViewResultString !=nil || (_remindPic.picViewResultString ==nil && self.waterInfmodel.remindcycle !=0 )) { NSArray*shijianArr=[_remindPic.picArr objectAtIndex:0]; dispatch_async(_mainQueue, ^{ NSLog(@"a"); for (NSInteger k=0; k