Tuya iOS Smart Life App SDK 5.15.0
ThingSmartSceneConditionFactory Class Reference

A factory design mode for create ThingSmartSceneConditionModel. More...

#import <ThingSmartSceneConditionFactory.h>

Inheritance diagram for ThingSmartSceneConditionFactory:

Class Methods

(ThingSmartSceneConditionModel *) + createDeviceConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createPirConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createWhetherConditionWithCity:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createTimerConditionWithExprModel:
 
(ThingSmartSceneConditionModel *) + createSunsetriseTimerConditionWithCity:ExprModel:
 
(ThingSmartSceneConditionModel *) + createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle:
 
(ThingSmartSceneConditionModel *) + createManualExecuteCondition
 
(ThingSmartSceneConditionModel *) + calculateConditionWithDeviceModel:dpModel:exprModel:durationTime:
 
(ThingSmartSceneConditionModel *) + memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames:
 
(ThingSmartSceneConditionModel *) + createDeviceConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createPirConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createWhetherConditionWithCity:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createTimerConditionWithExprModel:
 
(ThingSmartSceneConditionModel *) + createSunsetriseTimerConditionWithCity:ExprModel:
 
(ThingSmartSceneConditionModel *) + createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle:
 
(ThingSmartSceneConditionModel *) + createManualExecuteCondition
 
(ThingSmartSceneConditionModel *) + calculateConditionWithDeviceModel:dpModel:exprModel:durationTime:
 
(ThingSmartSceneConditionModel *) + memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames:
 
(ThingSmartSceneConditionModel *) + createDeviceConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createPirConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createWhetherConditionWithCity:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createTimerConditionWithExprModel:
 
(ThingSmartSceneConditionModel *) + createSunsetriseTimerConditionWithCity:ExprModel:
 
(ThingSmartSceneConditionModel *) + createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle:
 
(ThingSmartSceneConditionModel *) + createManualExecuteCondition
 
(ThingSmartSceneConditionModel *) + calculateConditionWithDeviceModel:dpModel:exprModel:durationTime:
 
(ThingSmartSceneConditionModel *) + memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames:
 
(ThingSmartSceneConditionModel *) + createDeviceConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createPirConditionWithDevice:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createWhetherConditionWithCity:dpModel:exprModel:
 
(ThingSmartSceneConditionModel *) + createTimerConditionWithExprModel:
 
(ThingSmartSceneConditionModel *) + createSunsetriseTimerConditionWithCity:ExprModel:
 
(ThingSmartSceneConditionModel *) + createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle:
 
(ThingSmartSceneConditionModel *) + createManualExecuteCondition
 
(ThingSmartSceneConditionModel *) + calculateConditionWithDeviceModel:dpModel:exprModel:durationTime:
 
(ThingSmartSceneConditionModel *) + memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames:
 

Detailed Description

A factory design mode for create ThingSmartSceneConditionModel.

Note
In order to facilitate the handling of multiple languages, this class does not handle the actionDisplay and actionDisplayNew fields of the ThingSmartSceneConditionModel.

Definition at line 15 of file ThingSmartSceneConditionFactory.h.

Method Documentation

◆ calculateConditionWithDeviceModel:dpModel:exprModel:durationTime: [1/4]

+ (ThingSmartSceneConditionModel *) calculateConditionWithDeviceModel: (ThingSmartDeviceModel *)  deviceModel
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel
durationTime: (NSTimeInterval)  durationTime 

Create a duration for device's data point condition.

Parameters
deviceModelThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
durationTimeThe durtion, unit is s.
Returns
ThingSmartSceneConditionModel object.

◆ calculateConditionWithDeviceModel:dpModel:exprModel:durationTime: [2/4]

+ (ThingSmartSceneConditionModel *) calculateConditionWithDeviceModel: (ThingSmartDeviceModel *)  deviceModel
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel
durationTime: (NSTimeInterval)  durationTime 

Create a duration for device's data point condition.

Parameters
deviceModelThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
durationTimeThe durtion, unit is s.
Returns
ThingSmartSceneConditionModel object.

◆ calculateConditionWithDeviceModel:dpModel:exprModel:durationTime: [3/4]

+ (ThingSmartSceneConditionModel *) calculateConditionWithDeviceModel: (ThingSmartDeviceModel *)  deviceModel
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel
durationTime: (NSTimeInterval)  durationTime 

Create a duration for device's data point condition.

Parameters
deviceModelThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
durationTimeThe durtion, unit is s.
Returns
ThingSmartSceneConditionModel object.

◆ calculateConditionWithDeviceModel:dpModel:exprModel:durationTime: [4/4]

+ (ThingSmartSceneConditionModel *) calculateConditionWithDeviceModel: (ThingSmartDeviceModel *)  deviceModel
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel
durationTime: (NSTimeInterval)  durationTime 

Create a duration for device's data point condition.

Parameters
deviceModelThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
durationTimeThe durtion, unit is s.
Returns
ThingSmartSceneConditionModel object.

◆ createDeviceConditionWithDevice:dpModel:exprModel: [1/4]

+ (ThingSmartSceneConditionModel *) createDeviceConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a device condition.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createDeviceConditionWithDevice:dpModel:exprModel: [2/4]

+ (ThingSmartSceneConditionModel *) createDeviceConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a device condition.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createDeviceConditionWithDevice:dpModel:exprModel: [3/4]

+ (ThingSmartSceneConditionModel *) createDeviceConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a device condition.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createDeviceConditionWithDevice:dpModel:exprModel: [4/4]

+ (ThingSmartSceneConditionModel *) createDeviceConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a device condition.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle: [1/4]

+ (ThingSmartSceneConditionModel *) createGeoFenceConditionWithGeoType: (GeoFenceType)  type
geoLati: (CGFloat)  latitude
geoLonti: (CGFloat)  longitude
geoRadius: (CGFloat)  radius
geoTitle: (NSString *)  geoTitle 

Create a GeoFence conditon,conditionModel's entityId will be assigned after scene saved, the entityId represent the geoFence id, will should be upload to server by http API to trigger the automation.

Parameters
typeThe GeoFenceType, reach or leave the place.
latitudeThe geo fence center latitude.
longitudeThe geo fence center longitude.
radiusConsider latitude and longitude as the center of a circle, this property represent the radius.
geoTitleThe location name.
Returns
ThingSmartSceneConditionModel object.

◆ createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle: [2/4]

+ (ThingSmartSceneConditionModel *) createGeoFenceConditionWithGeoType: (GeoFenceType)  type
geoLati: (CGFloat)  latitude
geoLonti: (CGFloat)  longitude
geoRadius: (CGFloat)  radius
geoTitle: (NSString *)  geoTitle 

Create a GeoFence conditon,conditionModel's entityId will be assigned after scene saved, the entityId represent the geoFence id, will should be upload to server by http API to trigger the automation.

Parameters
typeThe GeoFenceType, reach or leave the place.
latitudeThe geo fence center latitude.
longitudeThe geo fence center longitude.
radiusConsider latitude and longitude as the center of a circle, this property represent the radius.
geoTitleThe location name.
Returns
ThingSmartSceneConditionModel object.

◆ createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle: [3/4]

+ (ThingSmartSceneConditionModel *) createGeoFenceConditionWithGeoType: (GeoFenceType)  type
geoLati: (CGFloat)  latitude
geoLonti: (CGFloat)  longitude
geoRadius: (CGFloat)  radius
geoTitle: (NSString *)  geoTitle 

Create a GeoFence conditon,conditionModel's entityId will be assigned after scene saved, the entityId represent the geoFence id, will should be upload to server by http API to trigger the automation.

Parameters
typeThe GeoFenceType, reach or leave the place.
latitudeThe geo fence center latitude.
longitudeThe geo fence center longitude.
radiusConsider latitude and longitude as the center of a circle, this property represent the radius.
geoTitleThe location name.
Returns
ThingSmartSceneConditionModel object.

◆ createGeoFenceConditionWithGeoType:geoLati:geoLonti:geoRadius:geoTitle: [4/4]

+ (ThingSmartSceneConditionModel *) createGeoFenceConditionWithGeoType: (GeoFenceType)  type
geoLati: (CGFloat)  latitude
geoLonti: (CGFloat)  longitude
geoRadius: (CGFloat)  radius
geoTitle: (NSString *)  geoTitle 

Create a GeoFence conditon,conditionModel's entityId will be assigned after scene saved, the entityId represent the geoFence id, will should be upload to server by http API to trigger the automation.

Parameters
typeThe GeoFenceType, reach or leave the place.
latitudeThe geo fence center latitude.
longitudeThe geo fence center longitude.
radiusConsider latitude and longitude as the center of a circle, this property represent the radius.
geoTitleThe location name.
Returns
ThingSmartSceneConditionModel object.

◆ createManualExecuteCondition [1/4]

+ (ThingSmartSceneConditionModel *) createManualExecuteCondition

Create an "manual execute" condition.This condition should not be saved to cloud server, when you call the API to save a smart, you should delete this type of condition first.

Returns
ThingSmartSceneConditionModel object.

◆ createManualExecuteCondition [2/4]

+ (ThingSmartSceneConditionModel *) createManualExecuteCondition

Create an "manual execute" condition.This condition should not be saved to cloud server, when you call the API to save a smart, you should delete this type of condition first.

Returns
ThingSmartSceneConditionModel object.

◆ createManualExecuteCondition [3/4]

+ (ThingSmartSceneConditionModel *) createManualExecuteCondition

Create an "manual execute" condition.This condition should not be saved to cloud server, when you call the API to save a smart, you should delete this type of condition first.

Returns
ThingSmartSceneConditionModel object.

◆ createManualExecuteCondition [4/4]

+ (ThingSmartSceneConditionModel *) createManualExecuteCondition

Create an "manual execute" condition.This condition should not be saved to cloud server, when you call the API to save a smart, you should delete this type of condition first.

Returns
ThingSmartSceneConditionModel object.

◆ createPirConditionWithDevice:dpModel:exprModel: [1/4]

+ (ThingSmartSceneConditionModel *) createPirConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timed type of human sensor condition, such as no movement for five minutes. Common human sensor conditions use -createDeviceConditionWithDevice:dpModel:exprModel:.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createPirConditionWithDevice:dpModel:exprModel: [2/4]

+ (ThingSmartSceneConditionModel *) createPirConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timed type of human sensor condition, such as no movement for five minutes. Common human sensor conditions use -createDeviceConditionWithDevice:dpModel:exprModel:.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createPirConditionWithDevice:dpModel:exprModel: [3/4]

+ (ThingSmartSceneConditionModel *) createPirConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timed type of human sensor condition, such as no movement for five minutes. Common human sensor conditions use -createDeviceConditionWithDevice:dpModel:exprModel:.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createPirConditionWithDevice:dpModel:exprModel: [4/4]

+ (ThingSmartSceneConditionModel *) createPirConditionWithDevice: (ThingSmartDeviceModel *)  device
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timed type of human sensor condition, such as no movement for five minutes. Common human sensor conditions use -createDeviceConditionWithDevice:dpModel:exprModel:.

Parameters
deviceThe device model to create condition.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createSunsetriseTimerConditionWithCity:ExprModel: [1/4]

+ (ThingSmartSceneConditionModel *) createSunsetriseTimerConditionWithCity: (ThingSmartCityModel *)  city
ExprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timer condition related to sunrise and sunset times

Parameters
cityCity to be operated.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createSunsetriseTimerConditionWithCity:ExprModel: [2/4]

+ (ThingSmartSceneConditionModel *) createSunsetriseTimerConditionWithCity: (ThingSmartCityModel *)  city
ExprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timer condition related to sunrise and sunset times

Parameters
cityCity to be operated.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createSunsetriseTimerConditionWithCity:ExprModel: [3/4]

+ (ThingSmartSceneConditionModel *) createSunsetriseTimerConditionWithCity: (ThingSmartCityModel *)  city
ExprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timer condition related to sunrise and sunset times

Parameters
cityCity to be operated.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createSunsetriseTimerConditionWithCity:ExprModel: [4/4]

+ (ThingSmartSceneConditionModel *) createSunsetriseTimerConditionWithCity: (ThingSmartCityModel *)  city
ExprModel: (ThingSmartSceneExprModel *)  exprModel 

Create a timer condition related to sunrise and sunset times

Parameters
cityCity to be operated.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createTimerConditionWithExprModel: [1/4]

+ (ThingSmartSceneConditionModel *) createTimerConditionWithExprModel: (ThingSmartSceneExprModel *)  exprModel

Create a timer condition.

Parameters
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createTimerConditionWithExprModel: [2/4]

+ (ThingSmartSceneConditionModel *) createTimerConditionWithExprModel: (ThingSmartSceneExprModel *)  exprModel

Create a timer condition.

Parameters
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createTimerConditionWithExprModel: [3/4]

+ (ThingSmartSceneConditionModel *) createTimerConditionWithExprModel: (ThingSmartSceneExprModel *)  exprModel

Create a timer condition.

Parameters
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createTimerConditionWithExprModel: [4/4]

+ (ThingSmartSceneConditionModel *) createTimerConditionWithExprModel: (ThingSmartSceneExprModel *)  exprModel

Create a timer condition.

Parameters
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createWhetherConditionWithCity:dpModel:exprModel: [1/4]

+ (ThingSmartSceneConditionModel *) createWhetherConditionWithCity: (ThingSmartCityModel *)  city
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create an whether condition.

Parameters
cityWhether condition need a city.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createWhetherConditionWithCity:dpModel:exprModel: [2/4]

+ (ThingSmartSceneConditionModel *) createWhetherConditionWithCity: (ThingSmartCityModel *)  city
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create an whether condition.

Parameters
cityWhether condition need a city.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createWhetherConditionWithCity:dpModel:exprModel: [3/4]

+ (ThingSmartSceneConditionModel *) createWhetherConditionWithCity: (ThingSmartCityModel *)  city
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create an whether condition.

Parameters
cityWhether condition need a city.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ createWhetherConditionWithCity:dpModel:exprModel: [4/4]

+ (ThingSmartSceneConditionModel *) createWhetherConditionWithCity: (ThingSmartCityModel *)  city
dpModel: (ThingSmartSceneDPModel *)  dpModel
exprModel: (ThingSmartSceneExprModel *)  exprModel 

Create an whether condition.

Parameters
cityWhether condition need a city.
dpModelThe dpModel to create condition.
exprModelCreate with ThingSmartSceneConditionExprBuilder.
Returns
ThingSmartSceneConditionModel object.

◆ memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames: [1/4]

+ (ThingSmartSceneConditionModel *) memberBackHomeConditionWithDevId: (NSString *)  devId
entitySubIds: (NSString *)  entitySubIds
memberIds: (NSString *)  memberIds
memberNames: (NSString *)  memberNames 

Create member going home condition.

Parameters
devIdThe device ID.
entitySubIdsThe entity sub IDs.
memberIdsThe member IDs string, each data is separated by commas.
memberNamesThe member names string, each data is separated by commas.
Returns
ThingSmartSceneConditionModel object.

◆ memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames: [2/4]

+ (ThingSmartSceneConditionModel *) memberBackHomeConditionWithDevId: (NSString *)  devId
entitySubIds: (NSString *)  entitySubIds
memberIds: (NSString *)  memberIds
memberNames: (NSString *)  memberNames 

Create member going home condition.

Parameters
devIdThe device ID.
entitySubIdsThe entity sub IDs.
memberIdsThe member IDs string, each data is separated by commas.
memberNamesThe member names string, each data is separated by commas.
Returns
ThingSmartSceneConditionModel object.

◆ memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames: [3/4]

+ (ThingSmartSceneConditionModel *) memberBackHomeConditionWithDevId: (NSString *)  devId
entitySubIds: (NSString *)  entitySubIds
memberIds: (NSString *)  memberIds
memberNames: (NSString *)  memberNames 

Create member going home condition.

Parameters
devIdThe device ID.
entitySubIdsThe entity sub IDs.
memberIdsThe member IDs string, each data is separated by commas.
memberNamesThe member names string, each data is separated by commas.
Returns
ThingSmartSceneConditionModel object.

◆ memberBackHomeConditionWithDevId:entitySubIds:memberIds:memberNames: [4/4]

+ (ThingSmartSceneConditionModel *) memberBackHomeConditionWithDevId: (NSString *)  devId
entitySubIds: (NSString *)  entitySubIds
memberIds: (NSString *)  memberIds
memberNames: (NSString *)  memberNames 

Create member going home condition.

Parameters
devIdThe device ID.
entitySubIdsThe entity sub IDs.
memberIdsThe member IDs string, each data is separated by commas.
memberNamesThe member names string, each data is separated by commas.
Returns
ThingSmartSceneConditionModel object.

The documentation for this class was generated from the following files: