Initial commit

This commit is contained in:
ifish
2017-08-15 16:59:01 +08:00
commit bdc83e07ef
5766 changed files with 423223 additions and 0 deletions
@@ -0,0 +1,152 @@
//
// DeviceCommunicateDataUnity.h
// Ifish
//
// Created by imac on 16/1/7.
// Copyright © 2016年 imac. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BackmassegeModel.h"
#import "TwoControlBackmsgmodel.h"
#import "MyHud.h"
#import "ZeroControlBackmsgModel.h"
/**
* 爱鱼奇设备通信
*/
@interface DeviceCommunicateDataUnity : NSObject
#pragma mark 三控协议99字节
//*****三控协议部分*****//
/**
* 读取soket返回信息
*
* @param data 99字节十六进制数据
* @param backModel 返回信息数据模型 十六进制
*/
+(void)readSoketbackMassageOfThreeControlData:(NSData*)data WithModel:(BackmassegeModel*)backModel;
/**
* 实时更新控制按钮状态 3 控6定时器
*
* @param light1 灯1
* @param light2 灯2
* @param pump 水泵
* @param backModel 返回信息数据模型 十六进制
*/
+(void)resetThreeControlButtonState:(UIButton*)light1 addlight2:(UIButton*)light2 addpump:(UIButton*)pump withBackModel:(BackmassegeModel*)backModel;
/**
* 张工 99字节 按钮状态
*
* @param light1 灯
* @param light2 水泵
* @param backModel
*/
+(void)resettwoControlbutton:(UIButton*)light1 addpump:(UIButton*)light2 withbackmsgModel:(BackmassegeModel*)backModel;
/**
* 三控协议返回71字节
*
* @param data data description
* @param backModel backModel description
*/
+(void)readSoketThreeControlBackMassageData:(NSData*)data WithModel:(BackmassegeModel*)backModel;
/**
* 实时更新设置界面时间与温度显示
*
* @param backModel 返回信息数据模型 十六进制
*
* @return 返回 十进制 温度与时间数组
*/
+(NSArray*)refreshThreeControlTimerAddTemperatureWithBackMassageModel:(BackmassegeModel*)backModel;
/**
* 99字节 2控四定时器界面
*
* @param backModel
*
* @return
*/
+(NSArray*)refreshTwoControlSetViewWithBackMassageModel:(BackmassegeModel*)backModel;
/**
* 设置主界面温度显示及 温度预警背景显示
*
* @param temperaturelabel 温度label
* @param temperaturebackImg 温度预警背景图片
* @param shuixiangwenduLabel 水箱温度文字label
* @param data soket返回数据
* @param backModel 返回信息数据模型
* @param tableview 主界面tableview
*/
+(void)setTemperaturelabel:(UILabel*)temperaturelabel addTemperaturebackImg:(UIImageView*)temperaturebackImg addbubleImge:(UIImageView*)bubleImg WithBackData:(NSData*)data addWithBackMassageModel:(BackmassegeModel*)backModel addWithTableview:(UITableView*)tableview;
#pragma mark 两控协议
//****两控协议部分****//
/**
*注两控又分为 两控四定时器和两控零定时器。。。根据设备model controlAmount 和timerAmount 可做区分
*/
/**
* 实时更新设置界面时间与温度显示 四定时器
*
* @param backModel backModel description
*
* @return return value description
*/
+(NSArray*)refreshTwoControlTimerAddTemperatureWithBackMassageModel:(TwoControlBackmsgmodel*)backModel;
/**
* 实时更新设置界面时间与温度显示 零定时器
*
* @param backModel
*
* @return
*/
+(NSArray*)refreshTwoControlTimerWithBackMassageModel:(TwoControlBackmsgmodel*)backModel;
/**
* 根据返回信息重置 两控按钮状态
*
* @param light1 light1 description
* @param pump pump description
* @param backModel backModel description
*/
+(void)resetTwoControlButtonState:(UIButton*)light1 addpump:(UIButton*)pump withBackModel:(TwoControlBackmsgmodel*)backModel;
/**
* 读取soket返回信息2控
*
* @param data
* @param backModel
*/
+(void)readSoketbackMassageOfTwoControlData:(NSData*)data WithModel:(TwoControlBackmsgmodel*)backModel;
+(void)setTwoControlTemperaturelabel:(UILabel*)temperaturelabel addTemperaturebackImg:(UIImageView*)temperaturebackImg addbubleImg:(UIImageView*)bubleImg WithBackData:(NSData*)data addWithBackMassageModel:(TwoControlBackmsgmodel*)backModel addWithTableview:(UITableView*)tableview;
//------------------------//
#pragma mark - 零控协议
//*****零控协议*****//
/**
* 无控只刷新主界面温度
*/
+(void)readSoketbackMassageZeroControlData:(NSData*)data WithModel:(ZeroControlBackmsgModel*)backModel;
+(void)setZeroControlTemperaturelabel:(UILabel*)temperaturelabel addTemperaturebackImg:(UIImageView*)temperaturebackImg addbubleImgeView:(UIImageView*)bubleImg WithBackData:(NSData*)data addWithBackMassageModel:(ZeroControlBackmsgModel*)backModel addWithTableview:(UITableView*)tableview;
+(NSArray*)refreshNoneControlSetViewWithBackMassageModel:(ZeroControlBackmsgModel*)backModel;
//------------------------//
@end
@@ -0,0 +1,619 @@
//
// 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)];
// 十进制
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