ifish/Ifish/GWP2PSDK/GWP2P.framework/Headers/GWP2PClient+Alarm.h

346 lines
14 KiB
Objective-C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
/** @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 alarmOn 开关状0关1开
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)setDeviceSpecialAlarmState:(NSUInteger)alarmOn
withDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
/**
设置设备报警白光灯状态
获取设备备报警白光灯状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
@param alarmOn 开关状0关1开
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)setDeviceWhiteAlarmLightState:(NSUInteger)alarmOn
withDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
/**
设置AI实验室人形侦测开关状态
获取AI实验室人形侦测开关状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
@param detectionOn 开关状0关1开
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)setDeviceAIHumanoidDetectionState:(BOOL)detectionOn
withDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
/**
设置设备红蓝灯开关状态
获取设备红蓝灯开关状态请调 getMultipledeviceStatusWithDeviceID:password:completionBlock:
@param alarmOn 开关状0关1开
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)setDeviceRedBluelAlarmLightState:(NSUInteger)alarmOn
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