开发版本-developer——01 first commit
This commit is contained in:
+293
@@ -0,0 +1,293 @@
|
||||
//
|
||||
/** @file GWP2PClient+Alarm.h @brief 处理设备报警的分类 */
|
||||
// P2PSDK
|
||||
//
|
||||
// Created by apple on 17/3/2.
|
||||
// Copyright © 2017年 gwell. All rights reserved.
|
||||
//
|
||||
|
||||
#import "GWP2PClient.h"
|
||||
|
||||
/**
|
||||
邮箱加密方式
|
||||
*/
|
||||
typedef enum GWP2PAlarmEmailEncryptType {
|
||||
GWP2PAlarmEmailEncryptTypeNone, /**< 不加密 */
|
||||
GWP2PAlarmEmailEncryptTypeSSL, /**< SSL加密 */
|
||||
GWP2PAlarmEmailEncryptTypeTLS, /**< TLS加密 */
|
||||
}GWP2PAlarmEmailEncryptType;
|
||||
|
||||
/**
|
||||
解除报警推送账号的操作类型
|
||||
*/
|
||||
typedef enum GWUnbindAlarmAccountOperationType {
|
||||
GWUnbindAlarmAccountOperationTypeUnbindAlarmAccount = 0,/**< 解除设备报警推送账号(当前登陆服务器的) */
|
||||
GWUnbindAlarmAccountOperationTypeStopDoorBellPush = 1,/**< 停止门铃推送至当前账号(当前登陆服务器的) */
|
||||
}GWUnbindAlarmAccountOperationType;
|
||||
|
||||
|
||||
/**
|
||||
@brief 处理设备报警的分类
|
||||
*/
|
||||
@interface GWP2PClient (Alarm)
|
||||
|
||||
#pragma mark - 设备报警设置
|
||||
/**
|
||||
设置设备移动侦测状态
|
||||
|
||||
获取设备移动侦测状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
|
||||
|
||||
@param motionDetetionOn 移动侦测是否打开
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceMotionDetetionState:(BOOL)motionDetetionOn
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
/**
|
||||
设置设备移动侦测灵敏度
|
||||
|
||||
获取设备移动侦测灵敏度请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
|
||||
|
||||
@param motionDetetionSensitivity 移动侦测灵敏度:0-6,数值越大,灵敏度越高
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceMotionDetetionSensitivity:(NSUInteger)motionDetetionSensitivity
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设置设备物件追踪状态
|
||||
|
||||
获取设备物件追踪状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
|
||||
|
||||
@param objectTrackingOn 物件追踪是否打开
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceObjectTrackingState:(BOOL)objectTrackingOn
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设置设备蜂鸣器状态
|
||||
|
||||
获取设备蜂鸣器状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
|
||||
|
||||
@param buzzTime 蜂鸣时长,单位为分,可设数字有:0(关闭), 1, 2, 3
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceBuzzerState:(NSUInteger)buzzTime
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设置设备人体红外开关状态
|
||||
|
||||
获取设备人体红外开关状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
|
||||
|
||||
如果获取不到设备人体红外开关状态,调用些方法无效
|
||||
|
||||
@param humanInfraredOn 人体红外是否打开
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceHumanInfraredState:(BOOL)humanInfraredOn
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设置设备有线报警输入开关状态
|
||||
|
||||
获取设备蜂有线报警输入开关状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
|
||||
|
||||
如果获取不到设备有线报警输入开关状态,调用些方法无效
|
||||
|
||||
@param wiredAlarmInputOn 有线报警输入是否打开
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceWiredAlarmInputState:(BOOL)wiredAlarmInputOn
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设置设备有线报警输出开关状态
|
||||
|
||||
获取设备蜂有线报警输出开关状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
|
||||
|
||||
如果获取不到设备有线报警输出开关状态,调用些方法无效
|
||||
|
||||
@param wiredAlarmOutputOn 有线报警输出是否打开
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceWiredAlarmOutputState:(BOOL)wiredAlarmOutputOn
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
获取设备报警时推送的绑定账号
|
||||
|
||||
completionBlock返回字典:
|
||||
|
||||
@"account count" 绑定账号的个数
|
||||
|
||||
@"account maxCount" 设备最大可绑定账号的个数
|
||||
|
||||
@"accounts" 绑定的账号,类型为 NSArray<NSString *> *
|
||||
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)getDeviceBindedAlarmAccountWithDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设置设备报警时推送的绑定账号
|
||||
@param accounts 要绑定的账号数组(多个账号),参数为字符串,绑定成功后覆盖原来的数据。账号为登陆技威web服务器后返回的经过 & 0x7fffffff 位处理的数字账号,在yoosee上显示的以0开头的账号
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceBindedAlarmAccounts:(NSArray<NSString *> *)accounts
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
获取设备报警邮箱
|
||||
|
||||
completionBlock字典返回:
|
||||
|
||||
@"email" 绑定的邮箱,类型:NSString
|
||||
|
||||
@"email is verified" 邮箱是否验证,类型:BOOL YES表示未验证,NO表示已验证
|
||||
|
||||
@"surport SMTP" 设备是否支持SMTP邮箱,类型:BOOL
|
||||
|
||||
@"password is right" SMTP邮箱密码是否正确,类型:BOOL
|
||||
|
||||
@"SMTP server" SMTP服务器,类型:NSString
|
||||
|
||||
@"SMTP port" SMTP端口,类型:NSNumber
|
||||
|
||||
@"SMTP user" SMTP用户,类型:NSString
|
||||
|
||||
@"SMTP password" SMTP密码,类型:NSString
|
||||
|
||||
@"encrypt type" 加密类型,类型:GWP2PAlarmEmailEncryptType
|
||||
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)getDeviceAlarmEmailWithDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设置设备报警邮箱,设置后返回的数据不准确,再调获取接口获取邮箱数据
|
||||
|
||||
老设备,不支持SMTP,是否支持SMTP在获取报警邮箱时得到,则用技威服务器的邮箱发送邮件至设置邮箱
|
||||
|
||||
新设备,支持SMTP,报警时,若完整地设置邮箱(SMTP及密码都通过验证),用设置的邮箱发送邮件至设置的邮箱自己
|
||||
|
||||
一些常用的邮箱SMTP服务器与端口号:
|
||||
|
||||
腾讯: smtp.qq.com 465
|
||||
|
||||
yahoo: smtp.mail.yahoo.com 465
|
||||
|
||||
google: 173.194.193.108 465, 173.194.67.108 465, smtp.gmail.com 465
|
||||
|
||||
189: smtp.189.cn 465
|
||||
|
||||
hotEmail: smtp.live.com 465
|
||||
|
||||
网易: smtp.163.com 25
|
||||
|
||||
新浪: smtp.sina.com.cn 465
|
||||
|
||||
completionBlock返回:获取后的邮箱密码等数据可能不准确,可参考的是邮箱是否验证成功,SMTP邮箱密码是否正确
|
||||
|
||||
@"success" BOOL类型,操作是否成功
|
||||
|
||||
@"email" 绑定的邮箱,类型:NSString
|
||||
|
||||
@"email is verified" 邮箱是否验证,类型:NSNumber 1表示未验证,0表示已验证,这个与其它逻辑相反,要注意
|
||||
|
||||
@"surport SMTP" 设备是否支持SMTP邮箱,类型:NSNumber @(BOOL)
|
||||
|
||||
@"password is right" SMTP邮箱密码是否正确,类型:NSNumber @(BOOL)
|
||||
|
||||
@param alarmEmail 报警邮箱地址, 解绑时要传 @"0",否则解绑不成功
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param isSupportSMTP 设备是否支持SMTP邮箱:获取报警邮箱时可获取此参数;若设备支持,必须传入SMTP的服务器、端口、用户名、用户密码才能绑定邮箱,此参数也必须为YES
|
||||
@param SMTPServer SMTP服务器
|
||||
@param SMTPPort SMTP服务器端口
|
||||
@param SMTPUser SMTP用户名:设备报警时用来发送邮件
|
||||
@param SMTPPassword SMTP密码 或者 SMTP授权码
|
||||
@param encryptType 加密类型
|
||||
@param emailTile 邮件主题:设备报警时发送邮件的标题
|
||||
@param emailContent 邮件内容:设备报警时发送邮件的内容
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)setDeviceAlarmEmail:(NSString *)alarmEmail
|
||||
withDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
isSupportSMTP:(BOOL)isSupportSMTP
|
||||
SMTPServer:(NSString *)SMTPServer
|
||||
SMTPPort:(NSUInteger)SMTPPort
|
||||
SMTPUser:(NSString *)SMTPUser
|
||||
SMTPPassword:(NSString *)SMTPPassword
|
||||
encryptType:(GWP2PAlarmEmailEncryptType)encryptType
|
||||
emailTitle:(NSString *)emailTile
|
||||
emailContent:(NSString *)emailContent
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
#pragma mark - 设备报警后操作
|
||||
/**
|
||||
设备报警时,关闭蜂鸣器
|
||||
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)closeBuzzerWhenDeviceIsAlarmingWithDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
/**
|
||||
设备报警时解除关联的当前报警账号
|
||||
|
||||
@param deviceID 设备ID
|
||||
@param devicePassword 设备密码
|
||||
@param operationType 操作类型,有
|
||||
@param completionBlock 与设备交互完成后的回调Block
|
||||
*/
|
||||
- (void)unbindDeviceCurrentAlarmAccountWithDeviceID:(NSString *)deviceID
|
||||
devicePassword:(NSString *)devicePassword
|
||||
operationType:(GWUnbindAlarmAccountOperationType)operationType
|
||||
completionBlock:(CompletionBlock)completionBlock;
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user