623 lines
27 KiB
Objective-C
623 lines
27 KiB
Objective-C
//
|
|
// DeviceCommunicateDataUnity.m
|
|
// Ifish
|
|
//
|
|
// Created by imac on 16/1/7.
|
|
// Copyright © 2016年 imac. All rights reserved.
|
|
//
|
|
|
|
#import "DeviceCommunicateDataUnity.h"
|
|
#import "AppDelegate.h"
|
|
#define LIGHT1_TAG 201
|
|
#define LIGHT2_TAG 202
|
|
#define PUMP_TAG 203
|
|
#define TWOC_PUMP 210
|
|
#define TWOC_LIGHT 211
|
|
#define TWOC_LIGHT2 212
|
|
#import "manulswitchMSModel.h"
|
|
#import "Socketsingleton.h"
|
|
|
|
@implementation DeviceCommunicateDataUnity
|
|
//99字节三控返回数据解析 三控 6定时器
|
|
+(void)readSoketbackMassageOfThreeControlData:(NSData*)data WithModel:(BackmassegeModel*)backModel{
|
|
//backModel=[[BackmassegeModel alloc]init];
|
|
NSString*totalString=[dataContorl dataToHexString:data];// 转十六进制
|
|
backModel.yunxingmoshi=[totalString substringWithRange:NSMakeRange(30, 2)];
|
|
backModel.light1=[totalString substringWithRange:NSMakeRange(32, 4)];
|
|
backModel.light2=[totalString substringWithRange:NSMakeRange(36, 4)];
|
|
backModel.pump=[totalString substringWithRange:NSMakeRange(40, 4)];
|
|
backModel.timer1=[totalString substringWithRange:NSMakeRange(52,12)];
|
|
backModel.timer2=[totalString substringWithRange:NSMakeRange(64, 12)];
|
|
backModel.timer3=[totalString substringWithRange:NSMakeRange(76, 12)];
|
|
backModel.timer4=[totalString substringWithRange:NSMakeRange(88, 12)];
|
|
backModel.timer5=[totalString substringWithRange:NSMakeRange(100, 12)];
|
|
backModel.timer6=[totalString substringWithRange:NSMakeRange(112, 12)];
|
|
backModel.timer7=[totalString substringWithRange:NSMakeRange(124, 12)];
|
|
backModel.timer8=[totalString substringWithRange:NSMakeRange(136, 12)];
|
|
backModel.timer9=[totalString substringWithRange:NSMakeRange(148, 12)];
|
|
backModel.timer10=[totalString substringWithRange:NSMakeRange(160, 12)];
|
|
backModel.wendu=[totalString substringWithRange:NSMakeRange(172, 4)];//16进制型
|
|
backModel.Ph=[totalString substringWithRange:NSMakeRange(176, 4)];
|
|
backModel.brightness=[totalString substringWithRange:NSMakeRange(180, 2)];
|
|
backModel.tankLight=[totalString substringWithRange:NSMakeRange(182, 2)];
|
|
//backModel.shidu=[totalString substringWithRange:NSMakeRange(180, 4)];
|
|
backModel.baojingSwitch=[totalString substringWithRange:NSMakeRange(184, 2)];
|
|
backModel.miniTp=[totalString substringWithRange:NSMakeRange(186, 4)];
|
|
backModel.maxTp=[totalString substringWithRange:NSMakeRange(190, 4)];
|
|
//实施更新数据 保存
|
|
[[DataCenter defaultDtacenter] setValue:backModel forKey:@"DeviceBackInfo"];
|
|
}
|
|
|
|
//71字节 返回数据解析
|
|
+(void)readSoketThreeControlBackMassageData:(NSData*)data WithModel:(BackmassegeModel*)backModel{
|
|
|
|
NSString*totalString=[dataContorl dataToHexString:data];// 转十六进制
|
|
backModel.yunxingmoshi=[totalString substringWithRange:NSMakeRange(30, 2)];
|
|
backModel.light1=[totalString substringWithRange:NSMakeRange(32, 4)];
|
|
backModel.light2=[totalString substringWithRange:NSMakeRange(36, 4)];
|
|
backModel.pump=[totalString substringWithRange:NSMakeRange(40, 4)];
|
|
backModel.timer1=[totalString substringWithRange:NSMakeRange(44,12)];
|
|
backModel.timer2=[totalString substringWithRange:NSMakeRange(56, 12)];
|
|
backModel.timer3=[totalString substringWithRange:NSMakeRange(68, 12)];
|
|
backModel.timer4=[totalString substringWithRange:NSMakeRange(80, 12)];
|
|
backModel.timer5=[totalString substringWithRange:NSMakeRange(92, 12)];
|
|
backModel.timer6=[totalString substringWithRange:NSMakeRange(104, 12)];
|
|
|
|
backModel.wendu=[totalString substringWithRange:NSMakeRange(116, 4)];//16进制型
|
|
backModel.Ph=[totalString substringWithRange:NSMakeRange(120, 4)];
|
|
|
|
backModel.brightness=[totalString substringWithRange:NSMakeRange(124, 2)];
|
|
backModel.tankLight=[totalString substringWithRange:NSMakeRange(126, 2)];
|
|
|
|
//backModel.shidu=[totalString substringWithRange:NSMakeRange(124, 4)];
|
|
|
|
backModel.baojingSwitch=[totalString substringWithRange:NSMakeRange(128, 2)];
|
|
backModel.miniTp=[totalString substringWithRange:NSMakeRange(130, 4)];
|
|
backModel.maxTp=[totalString substringWithRange:NSMakeRange(134, 4)];
|
|
//实施更新数据 保存
|
|
[[DataCenter defaultDtacenter]setValue:backModel forKey:@"DeviceBackInfo"];
|
|
|
|
}
|
|
+(void)resetThreeControlButtonState:(UIButton*)light1 addlight2:(UIButton*)light2 addpump:(UIButton*)pump withBackModel:(BackmassegeModel*)backModel{
|
|
//灯一
|
|
|
|
NSString*stateString1=[backModel.light1 substringWithRange:NSMakeRange(2, 2)];
|
|
|
|
if ([stateString1 isEqualToString:@"01"]) {
|
|
[light1 setImage:[UIImage imageNamed:@"PFLight1_on.png"] forState:UIControlStateNormal];
|
|
light1.selected=YES;
|
|
}else{
|
|
[light1 setImage:[UIImage imageNamed:@"PFLight1_off.png"] forState:UIControlStateNormal];
|
|
light1.selected=NO;
|
|
|
|
}
|
|
NSString*stateString2=[backModel.light2 substringWithRange:NSMakeRange(2, 2)];// 灯二
|
|
|
|
if ([stateString2 isEqualToString:@"01"]) {
|
|
[light2 setImage:[UIImage imageNamed:@"PFLight1_on.png"] forState:UIControlStateNormal];
|
|
light2.selected=YES;
|
|
}else{
|
|
[light2 setImage:[UIImage imageNamed:@"PFLight1_off.png"] forState:UIControlStateNormal];
|
|
light2.selected=NO;
|
|
|
|
}
|
|
// 水泵
|
|
|
|
NSString*stateString3=[backModel.pump substringWithRange:NSMakeRange(2, 2)];
|
|
|
|
if ([stateString3 isEqualToString:@"01"]) {
|
|
[pump setImage:[UIImage imageNamed:@"ChongLang_on.png"] forState:UIControlStateNormal];
|
|
pump.selected=YES;
|
|
}else{
|
|
pump.selected=NO;
|
|
[pump setImage:[UIImage imageNamed:@"ChongLang_off.png"] forState:UIControlStateNormal];
|
|
}
|
|
}
|
|
|
|
+(void)resettwoControlbutton:(UIButton*)light1 addpump:(UIButton*)light2 withbackmsgModel:(BackmassegeModel*)backModel
|
|
{
|
|
|
|
// 灯
|
|
NSString*stateString1=[backModel.light1 substringWithRange:NSMakeRange(2, 2)];
|
|
|
|
if ([stateString1 isEqualToString:@"01"]) {
|
|
[light1 setImage:[UIImage imageNamed:@"PFLight1_on.png"] forState:UIControlStateNormal];
|
|
light1.selected=YES;
|
|
}else{
|
|
[light1 setImage:[UIImage imageNamed:@"PFLight1_off.png"] forState:UIControlStateNormal];
|
|
light1.selected=NO;
|
|
|
|
}
|
|
// 水泵
|
|
NSString*stateString2=[backModel.light2 substringWithRange:NSMakeRange(2, 2)];
|
|
|
|
if ([stateString2 isEqualToString:@"01"]) {
|
|
[light2 setImage:[UIImage imageNamed:@"ChongLang_on.png"] forState:UIControlStateNormal];
|
|
light2.selected=YES;
|
|
}else{
|
|
[light2 setImage:[UIImage imageNamed:@"ChongLang_off.png"] forState:UIControlStateNormal];
|
|
light2.selected=NO;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
+(NSArray*)refreshThreeControlTimerAddTemperatureWithBackMassageModel:(BackmassegeModel*)backModel{
|
|
NSArray*timerArr=[[NSArray alloc]init];
|
|
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)];
|
|
|
|
if (!backModel.timer1)
|
|
{
|
|
return nil;
|
|
}
|
|
// 十进制
|
|
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*startTimeHex5=[backModel.timer5 substringWithRange:NSMakeRange(4, 4)];
|
|
NSString*endTimeHex5=[backModel.timer5 substringWithRange:NSMakeRange(8, 4)];
|
|
// 十进制
|
|
NSString*startTimeTen5=[dataContorl hexStringToDateString:startTimeHex5];
|
|
NSString*endTimeTen5=[dataContorl hexStringToDateString:endTimeHex5];
|
|
NSString*setTim5=[NSString stringWithFormat:@"%@~%@",startTimeTen5,endTimeTen5];
|
|
|
|
// 十六进制
|
|
NSString*startTimeHex6=[backModel.timer6 substringWithRange:NSMakeRange(4, 4)];
|
|
NSString*endTimeHex6=[backModel.timer6 substringWithRange:NSMakeRange(8, 4)];
|
|
// 十进制
|
|
NSString*startTimeTen6=[dataContorl hexStringToDateString:startTimeHex6];
|
|
NSString*endTimeTen6=[dataContorl hexStringToDateString:endTimeHex6];
|
|
NSString*setTim6=[NSString stringWithFormat:@"%@~%@",startTimeTen6,endTimeTen6];
|
|
|
|
|
|
timerArr=@[@[wenduString,@"设置时段"],@[setTim1,setTim2],@[setTim3,setTim4],@[setTim5,setTim6,@""]];
|
|
|
|
return timerArr;
|
|
|
|
}
|
|
//注意返回 信息模型 99 字节模型
|
|
+(NSArray*)refreshTwoControlSetViewWithBackMassageModel:(BackmassegeModel*)backModel{
|
|
NSArray*timerArr=[[NSArray alloc]init];
|
|
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];
|
|
timerArr=@[@[wenduString,@"设置时段"],@[setTim1,setTim2],@[setTim3,setTim4,@""]];
|
|
|
|
return timerArr;
|
|
}
|
|
|
|
|
|
+(void)setTemperaturelabel:(UILabel*)temperaturelabel addTemperaturebackImg:(UIImageView*)temperaturebackImg addbubleImge:(UIImageView*)bubleImg WithBackData:(NSData*)data addWithBackMassageModel:(BackmassegeModel*)backModel addWithTableview:(UITableView*)tableview{
|
|
|
|
NSString*str=[dataContorl dataToHexString:data];
|
|
|
|
if (str.length==198) {//三控99字节温度显示
|
|
str=[str substringWithRange:NSMakeRange(172,4)];
|
|
}else if (str.length==142){//三控71字节温度显示
|
|
str=[str substringWithRange:NSMakeRange(116,4)];
|
|
}
|
|
|
|
//str=[str substringWithRange:NSMakeRange(172,4)];
|
|
UInt64 mac=[dataContorl hexToTen:str];
|
|
NSLog(@"%llu",mac);
|
|
|
|
float TPlabel=mac/10+(mac%10)*0.1;
|
|
NSString *stringFloat = [NSString stringWithFormat:@"%.1f",TPlabel];
|
|
NSLog(@"%@",stringFloat);
|
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
if (mac==0) {
|
|
|
|
temperaturelabel.text=@"00.0";
|
|
[bubleImg addSubview:temperaturelabel];
|
|
temperaturebackImg.image=[UIImage imageNamed:@"cold_snow"];
|
|
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
|
|
}else{
|
|
|
|
}
|
|
|
|
[bubleImg addSubview:temperaturebackImg];
|
|
}else{
|
|
|
|
temperaturelabel.text=stringFloat;
|
|
temperaturelabel.textAlignment=NSTextAlignmentCenter;
|
|
|
|
[bubleImg addSubview:temperaturelabel];
|
|
NSString*heighTmp=backModel.maxTp;
|
|
UInt64 max=[dataContorl hexToTen:heighTmp];
|
|
UInt64 min=[dataContorl hexToTen:backModel.miniTp];
|
|
|
|
if (mac>=max) {
|
|
temperaturebackImg.image=[UIImage imageNamed:@"hot_fire"];
|
|
[tableview addSubview:temperaturebackImg];
|
|
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
|
|
}else{
|
|
|
|
}
|
|
|
|
}else if (mac<=min){
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
|
|
}else{
|
|
|
|
}
|
|
|
|
temperaturebackImg.image=[UIImage imageNamed:@"cold_snow"];
|
|
|
|
[tableview addSubview:temperaturebackImg];
|
|
}else if (mac>min&&mac<max){
|
|
|
|
[temperaturebackImg removeFromSuperview
|
|
];
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
//两控 四定时器
|
|
+(NSArray*)refreshTwoControlTimerAddTemperatureWithBackMassageModel:(TwoControlBackmsgmodel*)backModel{
|
|
NSArray*timerArr=[[NSArray alloc]init];
|
|
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];
|
|
//
|
|
|
|
timerArr=@[@[wenduString,@"设置时段"],@[setTim1,setTim2],@[setTim3,setTim4]];
|
|
|
|
return timerArr;
|
|
|
|
}
|
|
//两控 零定时器设置界面刷新
|
|
+(NSArray*)refreshTwoControlTimerWithBackMassageModel:(TwoControlBackmsgmodel*)backModel{
|
|
NSArray*timerArr=[[NSArray alloc]init];
|
|
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];
|
|
|
|
|
|
timerArr=@[wenduString];
|
|
|
|
return timerArr;
|
|
|
|
}
|
|
|
|
//两控
|
|
+(void)readSoketbackMassageOfTwoControlData:(NSData*)data WithModel:(TwoControlBackmsgmodel*)backModel{
|
|
//返回data 57 字节
|
|
NSString*totalString=[dataContorl dataToHexString:data];// 转十六进制
|
|
backModel.yunxingmoshi=[totalString substringWithRange:NSMakeRange(30, 2)];
|
|
backModel.light=[totalString substringWithRange:NSMakeRange(32, 4)];
|
|
|
|
backModel.pump=[totalString substringWithRange:NSMakeRange(36, 4)];
|
|
backModel.timer1=[totalString substringWithRange:NSMakeRange(40,12)];
|
|
backModel.timer2=[totalString substringWithRange:NSMakeRange(52, 12)];
|
|
backModel.timer3=[totalString substringWithRange:NSMakeRange(64, 12)];
|
|
backModel.timer4=[totalString substringWithRange:NSMakeRange(76, 12)];
|
|
|
|
backModel.wendu=[totalString substringWithRange:NSMakeRange(88, 4)];//16进制型
|
|
backModel.Ph=[totalString substringWithRange:NSMakeRange(92, 4)];
|
|
//backModel.shidu=[totalString substringWithRange:NSMakeRange(96, 4)];
|
|
|
|
backModel.brightness=[totalString substringWithRange:NSMakeRange(96, 2)];
|
|
backModel.tankLight=[totalString substringWithRange:NSMakeRange(98, 2)];
|
|
|
|
backModel.baojingSwitch=[totalString substringWithRange:NSMakeRange(100, 2)];
|
|
backModel.miniTp=[totalString substringWithRange:NSMakeRange(102, 4)];
|
|
backModel.maxTp=[totalString substringWithRange:NSMakeRange(106, 4)];
|
|
//实施更新数据 保存
|
|
|
|
[[DataCenter defaultDtacenter]setValue:backModel forKey:@"DeviceBackTwoControlInfo"];
|
|
|
|
|
|
}
|
|
|
|
+(void)resetTwoControlButtonState:(UIButton*)light1 addpump:(UIButton*)pump withBackModel:(TwoControlBackmsgmodel*)backModel{
|
|
//灯
|
|
|
|
NSString*stateString1=[backModel.light substringWithRange:NSMakeRange(2, 2)];
|
|
|
|
if ([stateString1 isEqualToString:@"01"]) {
|
|
[light1 setImage:[UIImage imageNamed:@"PFLight1_on.png"] forState:UIControlStateNormal];
|
|
light1.selected=YES;
|
|
}else{
|
|
[light1 setImage:[UIImage imageNamed:@"PFLight1_off.png"] forState:UIControlStateNormal];
|
|
light1.selected=NO;
|
|
|
|
}
|
|
// 水泵
|
|
|
|
NSString*stateString3=[backModel.pump substringWithRange:NSMakeRange(2, 2)];
|
|
|
|
if ([stateString3 isEqualToString:@"01"]) {
|
|
[pump setImage:[UIImage imageNamed:@"ChongLang_on.png"] forState:UIControlStateNormal];
|
|
pump.selected=YES;
|
|
}else{
|
|
pump.selected=NO;
|
|
[pump setImage:[UIImage imageNamed:@"ChongLang_off.png"] forState:UIControlStateNormal];
|
|
}
|
|
|
|
|
|
}
|
|
+(void)setTwoControlTemperaturelabel:(UILabel*)temperaturelabel addTemperaturebackImg:(UIImageView*)temperaturebackImg addbubleImg:(UIImageView*)bubleImg WithBackData:(NSData*)data addWithBackMassageModel:(TwoControlBackmsgmodel*)backModel addWithTableview:(UITableView*)tableview{
|
|
|
|
NSString*str=[dataContorl dataToHexString:data];
|
|
|
|
str=[str substringWithRange:NSMakeRange(88,4)];
|
|
UInt64 mac=[dataContorl hexToTen:str];
|
|
NSLog(@"%llu",mac);
|
|
|
|
float TPlabel=mac/10+(mac%10)*0.1;
|
|
NSString *stringFloat = [NSString stringWithFormat:@"%.1f",TPlabel];
|
|
NSLog(@"%@",stringFloat);
|
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
if (mac==0) {
|
|
temperaturelabel.text=@"00.0";
|
|
[bubleImg addSubview:temperaturelabel];
|
|
temperaturebackImg.image=[UIImage imageNamed:@"cold_snow"];
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
|
|
}else{
|
|
// shuixiangwenduLabel.hidden=NO;
|
|
}
|
|
|
|
[tableview addSubview:temperaturebackImg];
|
|
}else{
|
|
|
|
temperaturelabel.text=stringFloat;
|
|
temperaturelabel.textAlignment=NSTextAlignmentCenter;
|
|
|
|
[bubleImg addSubview:temperaturelabel];
|
|
NSString*heighTmp=backModel.maxTp;
|
|
UInt64 max=[dataContorl hexToTen:heighTmp];
|
|
UInt64 min=[dataContorl hexToTen:backModel.miniTp];
|
|
|
|
if (mac>=max) {
|
|
temperaturebackImg.image=[UIImage imageNamed:@"hot_fire"];
|
|
[tableview addSubview:temperaturebackImg];
|
|
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
//shuixiangwenduLabel.hidden=YES;
|
|
}else{
|
|
//shuixiangwenduLabel.hidden=NO;
|
|
}
|
|
;
|
|
}else if (mac<=min){
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
//shuixiangwenduLabel.hidden=YES;
|
|
}else{
|
|
//shuixiangwenduLabel.hidden=NO;
|
|
}
|
|
|
|
temperaturebackImg.image=[UIImage imageNamed:@"cold_snow"];
|
|
|
|
[tableview addSubview:temperaturebackImg];
|
|
}else if (mac>min&&mac<max){
|
|
//shuixiangwenduLabel.hidden=NO;
|
|
[temperaturebackImg removeFromSuperview
|
|
];
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
//零控
|
|
|
|
+(void)readSoketbackMassageZeroControlData:(NSData*)data WithModel:(ZeroControlBackmsgModel*)backModel{
|
|
NSString*totalString=[dataContorl dataToHexString:data];// 转十六进制
|
|
backModel.wendu=[totalString substringWithRange:NSMakeRange(30, 4)];//16进制型
|
|
backModel.Ph=[totalString substringWithRange:NSMakeRange(34, 4)];
|
|
//backModel.shidu=[totalString substringWithRange:NSMakeRange(38, 4)];
|
|
|
|
backModel.brightness=[totalString substringWithRange:NSMakeRange(38, 2)];
|
|
backModel.tankLight=[totalString substringWithRange:NSMakeRange(40, 2)];
|
|
|
|
backModel.baojingSwitch=[totalString substringWithRange:NSMakeRange(42, 2)];
|
|
backModel.miniTp=[totalString substringWithRange:NSMakeRange(44, 4)];
|
|
backModel.maxTp=[totalString substringWithRange:NSMakeRange(48, 4)];
|
|
//实施更新数据 保存
|
|
[[DataCenter defaultDtacenter]setValue:backModel forKey:@"DeviceBackZeroControlInfo"];
|
|
|
|
|
|
}
|
|
+(void)setZeroControlTemperaturelabel:(UILabel*)temperaturelabel addTemperaturebackImg:(UIImageView*)temperaturebackImg addbubleImgeView:(UIImageView*)bubleImg WithBackData:(NSData*)data addWithBackMassageModel:(ZeroControlBackmsgModel*)backModel addWithTableview:(UITableView*)tableview{
|
|
|
|
NSString*str=[dataContorl dataToHexString:data];
|
|
|
|
str=[str substringWithRange:NSMakeRange(30,4)];
|
|
UInt64 mac=[dataContorl hexToTen:str];
|
|
NSLog(@"%llu",mac);
|
|
|
|
float TPlabel=mac/10+(mac%10)*0.1;
|
|
NSString *stringFloat = [NSString stringWithFormat:@"%.1f",TPlabel];
|
|
NSLog(@"%@",stringFloat);
|
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
if (mac==0) {
|
|
temperaturelabel.text=@"00.0";
|
|
[bubleImg addSubview:temperaturelabel];
|
|
temperaturebackImg.image=[UIImage imageNamed:@"cold_snow"];
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
//shuixiangwenduLabel.hidden=YES;
|
|
}else{
|
|
//shuixiangwenduLabel.hidden=NO;
|
|
}
|
|
|
|
[tableview addSubview:temperaturebackImg];
|
|
}else{
|
|
|
|
temperaturelabel.text=stringFloat;
|
|
temperaturelabel.textAlignment=NSTextAlignmentCenter;
|
|
|
|
[bubleImg addSubview:temperaturelabel];
|
|
NSString*heighTmp=backModel.maxTp;
|
|
UInt64 max=[dataContorl hexToTen:heighTmp];
|
|
UInt64 min=[dataContorl hexToTen:backModel.miniTp];
|
|
|
|
if (mac>=max) {
|
|
temperaturebackImg.image=[UIImage imageNamed:@"hot_fire"];
|
|
[tableview addSubview:temperaturebackImg];
|
|
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
//shuixiangwenduLabel.hidden=YES;
|
|
}else{
|
|
// shuixiangwenduLabel.hidden=NO;
|
|
}
|
|
|
|
}else if (mac<=min){
|
|
temperaturebackImg.image=[UIImage imageNamed:@"cold_snow"];
|
|
if ([backModel.baojingSwitch isEqualToString:@"01"]) {
|
|
//shuixiangwenduLabel.hidden=YES;
|
|
}else{
|
|
//shuixiangwenduLabel.hidden=NO;
|
|
}
|
|
|
|
[tableview addSubview:temperaturebackImg];
|
|
}else if (mac>min&&mac<max){
|
|
//shuixiangwenduLabel.hidden=NO;
|
|
[temperaturebackImg removeFromSuperview
|
|
];
|
|
}
|
|
}
|
|
});
|
|
}
|
|
+(NSArray*)refreshNoneControlSetViewWithBackMassageModel:(ZeroControlBackmsgModel*)backModel{
|
|
NSArray*timerArr=[[NSArray alloc]init];
|
|
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];
|
|
|
|
|
|
timerArr=@[wenduString];
|
|
|
|
return timerArr;
|
|
|
|
}
|
|
@end
|