How can we help?

Searching:

0 results found

Rules/Post

POST /odata/Rules

Description

To create a new Rule.

See the following for request and response details ‒

See Also

Request ‒ Rules/Post

Properties for Rules are organized hierarchically by object. The hierarchy of objects for the Rules/Post request properties is as follows –

Request – Rules/Post – Rules (General) Properties

Property Type Description Mandatory
name String A free-text name for the Rule. This name can be included in the message that is sent. Y
description String A free-text description of the Rule.
active Boolean Specifies whether the Rule is active, meaning that it can be used – True/False. Y
severity String Specifies the severity of the event that triggered this Rule. Typically, this is used when the Rule triggers an AlarmInstance and may have one of the following values –

  • Critical
  • Warning
  • Major
  • Minor
Y
cronSchedule String Specifies the CRON schedule when this Rule is triggered. If this field contains a CRON schedule, then no other conditions in this Rule are relevant, including the schedule property.

“cronSchedule” : “00 12 * * *”,

This property is typically used to report periodic information from a Device, such as its status (ON/OFF).

This option is only relevant if the TimeBased option is specified in the type property (described below).

type String/
Enum
Two kinds of Rules are provided as specified by the value in this property –

  • TimeBased – This Rule is automatically triggered according to the schedule defined in the cronSchedule property (described above).
  • Conditional – Specifies that this Rule is triggered when the readings of a Device match the conditions defined in the conditions property of this Rule.
timezone String The default timezone of the Rule.

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

“timezone”:”Asia/Jerusalem”

category String The type of entity on which the action (described above) is performed, such as a Device, Application or Product.
level For internal use.
automaticallyDismiss Boolean If true, when the Rule restores, then all the AlarmInstances that were created by this Rule and are still open are all automatically closed.
relativeMeetingSchedule RelativeMeetingSchedule Specify trigger by meeting.
notifyOnRestore Boolean If True, then when the Rule restores, a notification is automatically sent, according to the SMS (smsProperties), email (emailProperties) or phone call (phoneCallProperties) properties defined for this Rule, as described below.
tenantId This field is automatically filled by the Axonize Server, and there is no need to fill it in.
appId A unique Application identifier that is automatically generated by Axonize. This is the identifier of the Application to which this Rule is assigned.

This identifier is automatically added by Axonize when the Applications/Post request is used.

restoreActions Array These are the actions that are executed after a Restore event occurs.

A restore event occurs and the rule is triggered when both of the following happen –

  • After the conditions of a Rule have been met.

– And –

  • After the Rule’s conditions cease to be met, meaning that the previous conditions have been restored.

For example, if the condition of the Rule is that the temperature is over 20°, then the Restore actions are triggered after the temperature has gone over 20° (which triggers the Rule) and then goes below 20° (which triggers the Restore event).

schedule (Deprecated)

See weeklySchedule

Object Deprecated

Specifies the day and time of day when the Rule is active (meaning that the Rule can be triggered if the other conditions are met). True indicates that the Rule is active for the specified day during the time range (times) specified by startTime and endTime.

“schedule” : {

“sun” : true,

“mon” : false,

“tue” : false,

“wed” : false,

“thu” : false,

“fri” : false,

“sat” : false,

“times” : {

}

Note ‒ If the startTime is later than the endTime, the clock schedules from the end time to the start time. For example, a startTime of 19:00 and an endTime of 23:00 represents the period from 7:00–11:00 pm. A startTime of 23:00 and an endTime of 7:00 represents the period from 11:00 pm of one day until 07:00AM the following day.

weeklySchedule Object Defines the time range in which the Rule is active for each day of the week.

The timeRange property defines when the Rule is active on a specific day. Each timeRange has the following format –

Null or

[“startTime” : “19:17”,

“endTime” : “23:17”]

 

“weeklySchedule”: {

“sun”: {

“active”: true,

“timeRange”:[“startTime” : “19:17”,

“endTime” : “23:17”]

},

“mon”: {

“active”: true,

“timeRange”: null

},

“tue”: {

“active”: true,

“timeRange”: null

},

“wed”: {

“active”: true,

“timeRange”: null

},

“thu”: {

“active”: true,

“timeRange”: null

},

“fri”: {

“active”: true,

“timeRange”: null

},

“sat”: {

“active”: true,

“timeRange”: null

}

Note ‒ If the startTime is later than the endTime, the clock schedules from the end time to the start time. For example, a startTime of 19:00 and an endTime of 23:00 represents the period from 7:00–11:00 pm. A startTime of 23:00 and an endTime of 7:00 represents the period from 11:00 pm of one day until 07:00AM the following day.

 

Request – Rules/Post – Actions (General) Properties

Property Type Description Mandatory
actions Array Specifies the operations that are activated when the conditions of the Rule are met.

Multiple actions can be triggered by each Rule. This array comprises a variety of objects, as described below.

Y
actions/type String Various types of actions are supported by Axonize, as follows –

Various properties are provided for each action type, as described below.

Only the properties of the action(s) to be triggered must be filled out.

Y

 

Request – Rules/Post – emailProperties

 

Property Type Description Mandatory
actions/emailProperties Array These are the actions properties to be filled out in order to trigger the sending of an email –

“emailProperties”: {

“message”: “{severity} alarm from {deviceName} – {triggeringEvent} {operator} {threshold} on value {value}”,

“subject”: “{name} triggered”,

“userIds”: [],

“userDetails”: [

{

“name”: “-“,

“phoneNumber”: null,

“email”: “user@axonize.com”

}

]

},

“smsProperties”: null,

“phoneCallProperties”: null,

“alarmInstanceProperties”: null,

“eventLogEntryProperties”: null,

“commandProperties”: null,

“webServiceProperties”: null,

“ruleRecurrenceSettings”: null

actions/emailProperties/message Object The message of the email to be sent. Various Axonize keywords can be included in the message inside brackets {}. For example –

“message”: “{severity} alarm from {deviceName} – {triggeringEvent} {operator} {threshold} on value {value}”,

These keywords enable you to include information retrieved by Axonize in the message. For more details about keywords, see Axonize Message Keywords.

Default messages and keywords are provided for each country and they can be localized (translated).

actions/emailProperties/subject String The subject of the email to be sent. Axonize keywords can also be included in the subject, as described above.
actions/emailProperties/userIds String One or both these fields can be used to define the users to whom to send the email –

  • userIds is a list of the Axonize User IDs. The email of each user is defined in Users.

“userIds” : [

“58346e394e123c088069d384”,

“583589234e123c088069d48e”,

“59cb7d26e5742d1711231cd1”,

“51234e240922dcf172c467778”

]

  • userDetails enables you to define the recipients to whom to send email in the structure below –

“userDetails”: [

{“name”: “-“,

“phoneNumber”: null,

“email”: “user@axonize.com”

}

actions/emailProperties/userDetails String

 

Request – Rules/Post – smsProperties

Property Type Description Mandatory
actions/smsProperties Object These are the actions properties to be filled out in order to trigger the sending of an SMS.

Some of the properties for defining an SMS action are the same as described above for actions/emailProperties. Refer there for a description of –

  • Message
  • UserIds
  • UserDetails

In order to send an SMS, it is mandatory that the User’s phoneNumber be defined. The country code must be used at the beginning of the number. For example, +44 for Germany.

“SmsProperties” : {

“userDetails” : [

{

“name” : “”,

“phoneNumber” : “+95465464”,

“email” : null

}

],

“message” : “{severity} alarm from {deviceName} – {triggeringEvent} {operator} {threshold} on value {value}”,

“userIds” : [

“580c7cfdcb517ad4e824e1ff”,

“587df1b3132dce1a5cec3c0d”

]

}

 

Request – Rules/Post – phoneCallProperties

Property Type Description Mandatory actions/phoneCallProperties Object These are the actions properties to be filled out in order to trigger an automated voice phone call that reads out the message.

The properties for defining a phone call action are the same as described above for actions/smsProperties. Refer there for a description.

 

Request – Rules/Post – alarmInstanceProperties

Property Type Description Mandatory
actions/alarmInstanceProperties Object These are the actions properties to be filled out in order to trigger an Axonize AlarmInstance.

The AlarmInstance that is triggered may use fields from the Rule that triggered it and/or from the Device itself.

If the message field is filled out, then this message is used in the Alarm. If not, then the default AlarmInstance message is used.

 

Request – Rules/Post – eventLogEntryProperties

Property Type Description Mandatory
actions/eventLogEntryProperties Object These are the actions properties to be filled out in order to trigger the recording of an event in the Axonize log.

For example, to record in a log that an email was sent, an air conditioner was turned off and so on.

The contents of the message field are recorded in the log.

The EventLogEntries/Get endpoint can be used to retrieve the contents of the log.

 

Request – Rules/Post – commandProperties

Property Type Description Mandatory
actions/commandProperties Object These are the actions properties to be filled out in order to send a command to a Device that activates operations on the Device.

“CommandProperties” : {

“commandId” : “54456c3e711206b0f932e4”,

“message” : null,

“commandArgument” : “{“name”:”Off”}”,

“deviceIds” : [

“5859b04442231f0111366a6a1”

]

}

actions/commandProperties/commandId String The identifier of the command to be sent to the device. Commands are defined in the Products/Post response.
actions/commandProperties/message String Free text that represents the method to be executed on the Device.

The Device software or the Axonize SDK on the Device must be listening for this command in order to execute it when it is received.

actions/commandProperties/commandArgument String The argument to be used in the command.
actions/commandProperties/deviceIds Array of Strings A list of the Devices on which to activate the command. deviceId is returned by the Devices/Post or Devices/Get endpoint.
actions/commandProperties/shouldExecuteOnTriggeringDevice Boolean When set to True, executes the command on all explicitly specified Device(s), as well as on the actual Device that triggered the Rule. The actually triggering Device does not need to be one of the Devices that you explicitly specify.

For example, let’s say that you have a Rule that applies to all refrigerators, which is to be triggered whenever the temperature of one of the refrigerators in the group exceeds 20°. This means that you do not need to create a comparable rule for each refrigerator individually. In this case, whenever the temperature of one of the refrigerators in the group exceeds 20° degrees, the command is executed on that device.

actions/commandProperties/value String The value to be used in the command.

 

Request – Rules/Post – webServiceProperties

Property Type Description Mandatory
actions/webServiceProperties Object These are the actions properties to be filled out in order to trigger a web service.

This feature enables you to link up to any system that has an HTTP endpoint. This feature can be used to integrate with your existing servers.

This means that any internal process that you have in your organization can be looped in through a web service action. This action sends an HTTP call when a Rule is triggered, and then you can use your own logic in your own system to trigger any desired action.

“WebServiceProperties”:{

“url” : “https://sprinkles.com/api/commands/sendCommand”,

“method” : “POST”,

“headers” : [

{

“key” : “customerId”,

“value” : “3423423db20422f29”

}

],

“body” : “{\”commandId\”:\”4\”}”,

“contentType” : “application/json”

}

actions/webServiceProperties/url String The URL to which to send the call.
actions/webServiceProperties/method String The method of the web service – POST, GET, DELETE, PUT or PATCH.
actions/webServiceProperties/headers Array An array of key/values that are sent as HTTP headers. The key becomes the header key and the value becomes the header value.
actions/webServiceProperties/body String The body of the HTTP call.
actions/webServiceProperties/contentType String The content type of the body of the HTTP call. For example, “application/json”.

 

Request – Rules/Post – additionalPropertyProperties

Property Type Description Mandatory
actions/additionalPropertyProperties Object Specifies that the value of an additionalProperty of a specific Device is updated to the value specified below. These additional properties are assigned by the Product to which the Device belongs.

For example, if the Product defines a property called Color, then all Devices of that Product have that property. A Rule can specify that if the temperature of a specific Device goes over 80 degrees, then the value of the additionalProperty named Color is changed to Red.

actions/additionalPropertyProperties/name String Specifies the name of a property to be updated. This must be the name of one of the additionalProperties defined for the Product of the Device to which this Rule applies belongs.
actions/additionalPropertyProperties/value String Specifies the value to which to update the property with the name described above.
actions/additionalPropertyProperties/deviceId String Specifies that the unique identifier of the Device whose property (of the Product) is to be updated, as described above.
actions/additionalPropertyProperties/propertyOperation Object Specifies the action that will be used on the additional property’s value. This action’s value ia relative to the previous value of the additional property.

For example, if the rule triggered it will increase the property by two.

 

Request – Rules/Post –propertyOperationProperties

Property Type Description Mandatory
actions/additionalPropertyProperties/propertyOperation/relativeOperator Enum The type of opartion that this action will perform.
The operator values are :

  • Plus
  • Minus
  • Multiple
  • Division
  • Percent
actions/additionalPropertyProperties/propertyOperation/relativeModifier
Double The value that will be modified.

 

Request – Rules/Post – ruleRecurrenceSettings Properties

Property Type Description Mandatory
actions/ruleRecurrenceSettings Array Defines how an action is repeated when this rule is triggered. For example, that an SMS is sent repeatedly every few minutes.

“ruleRecurrenceSettings” : {

“repeatFrequency” : NumberInt(5),

“maxNumberOfOccurrences” : NumberInt(5)

},

ruleRecurrenceSettings/repeatFrequency Integer The interval, in minutes, after which to repeat the action.
ruleRecurrenceSettings/maxNumberOfOccurrences Integer The maximum number of times to repeat the action.

 

Request – Rules/Post – conditions Properties

Property Type Description Mandatory
conditions Array Specifies the condition(s) that triggers the Rule. Conditions can be defined at three levels, as follows –

  • Device level (for one or more Devices).
  • Product level applies to all the Devices of this Product.
  • Application ID level. This level applies for all Devices for a given customer.

For example, a condition could be defined at the Product level for refrigerators and there are 50 refrigerators of this Product. The Rule triggers the sending of a text message if the refrigerator temperature exceeds 15 degrees. This means that every refrigerator (meaning each of the 50 refrigerators) belonging to this Product whose temperature exceeds 15 degrees will send a text message.

To define that multiple conditions must exist in a Device at the same time (AND) in order to trigger the Rule, then define multiple conditions in the same Rule. This only works at the Device level.

“conditions”: [

{

“id”: null,

“appIdForRule”: null,

“productId”: null,

“eventName”: “Temperature”,

“typeCode”: 7,

“threshold”: “19”,

“operator”: “>”,

“durationInMinutes”: 3,

“conditionCount”: 0,

“isRelative”: false,

“type”: “Threshold”,

“name”: “Temp > 19 for 3 minutes”,

“ruleTarget”: “Device Level Rule”,

“targetId”: “Axonize.Common.Models.NonSql.DeviceNode”,

“eventProductId”: null,

“devices”: [

{

“id”: “583ee9fa4e41868148e409bd”,

“name”:

“BT Temp 3”

}],”locationConditionSettings”: null

}

],

“ruleRecurrenceSettings”: null

}

Y
conditions/id String A unique identifier of this condition generated by Axonize and returned in the Rules/Post response. N
conditions/ appIdForRule String Specifies the Application ID(s) to which the condition applies. You must have permissions to access this Application.

Specifying a value here means that the Rule applies to the Application ID level.

N
conditions/productId String Specifies the Product ID(s) to which the condition applies. You must have permission to access this Product.

Specifying a value here means that the Rule applies to the Product level.

N
conditions/ eventName String The name of the Event of the Application ID/Product/Device on which to apply the condition.

Axonize works on a combination of eventName and typeCode (described below).

N
conditions/typeCode Integer The type code to which the condition applies.

Axonize works on a combination of eventName and typeCode (described above).

If eventName is not specified, then the condition applies to all events with the typeCode specified here, regardless of their eventName.

Y
conditions/threshold String The value to which to compare the reading value.
conditions/operator String The operator for the condition, which must be appropriate for the data type.

Numeric operators are shown below –

“>”:

“<“:

“=”:

“!=”:

“>=”:

“<=”:

String operators are shown below –

“=”

“!=”

N
conditions/ durationInMinutes Integer Specifies how long a condition must continuously exist on a Device before the Rule is triggered.

For example, a Rule can specify that an SMS is sent after 5 minutes (duration) if the temperature of a refrigerator is over 20°. In this case, the temperature must be over 20° for the entire 5 minutes in order for the SMS to be sent.

Duration conditions can only be used at the Device level.

N
conditions/ conditionCount Integer Specifies the number of times that the condition must occur consecutively in order to trigger the Rule.

Consecutively means that each consecutive reading received by Axonize meets the condition.

For example, a Rule can specify that a temperature must be over 20 degrees in four consecutive readings.

N
conditions/isRelative Boolean Set this value to True to indicate that the condition is met if the latest reading differs (based on operator described above) from the first reading by more than the value in the threshold property (described above).

Before this Rule has ever been triggered for a specific Device, the first reading is the anchor. This means that the first reading is the value compared to which all the latest readings are compared.

After the Rule is triggered for a specific Device, the reading that triggered the Rule becomes the new anchor against which all future readings are compared.

N
conditions/type String This property can have one of the following values –

  • Threshold – Indicates that the condition is triggered based on Threshold (this is the default).
  • Location – Indicates that the condition is triggered based on Location (as described in locationConditionSettings below).
  • Instantaneous – Indicates that the condition is an instantaneous one.
  • Property – Indicates that the condition is triggered when comparing a reading value to a property or setting value. When using this value, the name of the property to which you want to compare should be placed in the conditions/threshold property. The condition and the condition name should reference the reading to which you want to compare.
  • PropertyAndStatic – Indicates that the condition is triggered when comparing between a property/
    setting and a static value that you provide in the conditions/threshold described above. This condition is evaluated every time the property or setting is changed. For example, if fan speed is set to High. When using this condition type, the conditions/typecode should be set to 70000.
  • Reading – Compare between the input reading to other reading (Need to define field readingCondition if you choose this type)
N
conditions/name String Specifies the name of the condition. Y
conditions/ruleTarget String A calculated value that indicates the level to which the condition applies. This property can have one of the following values –

  • Device Level Rule
  • App Level Rule
  • Product Level Rule
N
conditions/targetId tring A read-only value that specifies the IDs (Application ID, Product ID, Device ID[s]) to which the condition applies. N
conditions/eventProductId For internal use only. N
conditions/devices Array Specifies the Device(s) to which the condition applies, including its ID and name (name is optional).

{

“id” : ” 599463f13f8c96478014f1c0 “,

“name” : “Fridge20”

}

Specifying a value here means that the Rule applies to the Device level.

N
conditions/locationConditionSettings Object Specifies the geo-fence location for which the condition applies. For example, the location of the Device must be within the circle created by a geo‑fence around a particular point.

When specifying a value here, you cannot also specify an operator or threshold.

locationConditionSettings:{shouldBeInside: true, latitude: “32.0910665”, longitude: “34.78774490000001”, radius: 0.5}

N
conditions/locationConditionSettings/ shouldBeInside Boolean When shouldbeinside is True, the Rule is triggered when the Device is located inside the circle created by the geo-fence circle (described below).

When shouldbeinside is False, the Rule is triggered when a Device is outside the geo-fence circle.

conditions/locationConditionSettings/latitude The latitude of the center of the geo-fence.
conditions/locationConditionSettings/longitude The longitude of the center of the geo-fence.
conditions/locationConditionSettings/radius Double The radius of the
geo-fence around the latitude/longitude center of the circle described above.
condition/readingCondition RuleReadingCondition Specify reading condition Y
condition/relativeOperation RelativeOperation Specify constant operation for the condition
Condition/relativeOperation/relativeOperator Enum Specify the operator:

  • Plus
  • Minus
  • Multiple
  • Division
  • Percent
Condition/relativeOperation/relativeModifier Double Specify the modifier

 

Request – Rules/Post – ConditionSettings Properties

Property Type Description Mandatory
conditions/locationConditionSettings Object Specifies the geo-fence location for which the condition applies. For example, the location of the Device must be within the circle created by a geo‑fence around a particular point.

When specifying a value here, you cannot also specify an operator or threshold.

locationConditionSettings:{shouldBeInside: true, latitude: “32.0910665”, longitude: “34.78774490000001”, radius: 0.5}

N
conditions/locationConditionSettings/ shouldBeInside Boolean When shouldbeinside is True, the Rule is triggered when the Device is located inside the circle created by the geo-fence circle (described below).

When shouldbeinside is False, the Rule is triggered when a Device is outside the geo-fence circle.

conditions/locationConditionSettings/latitude The latitude of the center of the geo-fence.
conditions/locationConditionSettings/longitude The longitude of the center of the geo-fence.
conditions/locationConditionSettings/radius Double The radius of the geo-fence around the latitude/longitude center of the circle described above.

 

Request – Rules/Post – readingCondition Properties

Property Type Description Mandatory
Condition/readingCondition/deviceId String Specify the device id for the reading condition
Condition/readingCondition/eventName String Specify the event name for the reading condition
Condition/readingCondition/eventType Int Specify the event type for the reading condition

 

 

Request – Rules/Post – relativeMeetingSchedule Properties

Property Type Description Mandatory
Rule/relativeMeetingSchedule/deviceIds Array of Strings Specify the device ids for the calendars
Rule/relativeMeetingSchedule/appId String Specify the app id for the calendars
Rule/relativeMeetingSchedule/productId String Specify the product id for the calendars
Rule/relativeMeetingSchedule/relativeMeetingTimes/minutes Int Specify the minutes to trigger before or after the meeting
Rule/relativeMeetingSchedule/relativeMeetingTimes/meetingRelativePosition Enum Specify if the rule trigger time will apply to the start or end time of the meeting. 0 for start, 1 for end
Rule/relativeMeetingSchedule/relativeMeetingTimes/timeRelativePosition Enum Specify if the rule trigger time will apply to before or after the start or end time of the meeting. 0 for before, 1 for after

 

Example JSON Rules/Post Request

curl -X POST \

http://api.dev.axonize.com/odata/rules\

-H ‘Authorization: Token’ \

-H ‘Content-Type: application/json’ \

-H ‘appId: 801A048A-9F23-429F-BF0D-B6D35B22771E’ \

-d ‘{“active”:true,”name”:”BasicRule”,”description”:””,”severity”:”Warning”,”notifyOnRestore”:false,”weeklySchedule”:{“sun”:{“active”:true,”timeRange”:null},”mon”:{“active”:true,”timeRange”:null},”tue”:{“active”:true,”timeRange”:null},”wed”:{“active”:true,”timeRange”:null},”thu”:{“active”:true,”timeRange”:null},”fri”:{“active”:true,”timeRange”:null},”sat”:{“active”:true,”timeRange”:null}},”timezone”:”Asia/Jerusalem”,”actions”:[{“type”:”AlarmInstance”},{“type”:”EventLogEntry”,”eventLogEntryProperties”:{“message”:”{severity} alarm from {deviceName} – {triggeringEvent} {operator} {threshold} on value {value}”}}],”conditions”:[{“name”:”ConditionName”,”type”:”Threshold”,”devices”:[{“id”:”5ab1200721b5bb23b84fa126″,”name”:”qsdas1j”}],”typeCode”:1039,”operator”:”<“,”threshold”:”10″,”eventName”:”Soil Humidity”,”eventProductId”:”58845d33922dcf2b0cc4632a”}]}’

Response ‒ Rules/Post

All the same properties in the request are returned in the response. The response that is returned also contains the following properties –

Property Type Description
id String A unique identifier that is automatically generated for this Rule by Axonize.
conditions/id String A unique identifier of each Condition defined in the Rules/Post Request is generated by Axonize.
actions/id String A unique identifier of each Action defined in the Rules/Post Request is generated by Axonize.
createDate, createUser, updateDate,
updateUser
See Common Response Properties.

Example JSON Rules/Post Response

Status 201 – Created

{

“@odata.context”: “http://dev-axonizeapi-axonize.dev-ase-axonize.p.azurewebsites.net/odata/$metadata#Rules/$entity”,

“name”: “BasicRule”,

“description”: “”,

“active”: true,

“severity”: “Warning”,

“cronSchedule”: null,

“type”: “Conditional”,

“timezone”: “Asia/Jerusalem”,

category”: null,

“level”: “ByApp”,

“automaticallyDismiss”: false,

“notifyOnRestore”: false,

“tenantId”: “5883b7cb922dd1139c1d15ce”,

“id”: “5b547a4e19ec0c05707d1220”,

“appId”: “1aaf017c-b987-4f53-94d6-ad9afb8e4767”,

“createDate”: “2018-07-22T12:36:30.8357086Z”,

“createUser”: “5b0d033821b5bc289491564d”,

“updateDate”: “0001-01-01T00:00:00Z”,

“updateUser”: null,

“actions”: [

{

“id”: “5b547a4e19ec0c05707d121d”,

“type”: “AlarmInstance”,

“emailProperties”: null,

“smsProperties”: null,

“phoneCallProperties”: null,

“alarmInstanceProperties”: null,

“eventLogEntryProperties”: null,

“commandProperties”: null,

“webServiceProperties”: null,

“ruleRecurrenceSettings”: null,

“additionalPropertyProperties”: null

},

{

“id”: “5b547a4e19ec0c05707d121e”,

“type”: “EventLogEntry”,

“emailProperties”: null,

“smsProperties”: null,

“phoneCallProperties”: null,

“alarmInstanceProperties”: null,

“eventLogEntryProperties”: {

“message”: “{severity} alarm from {deviceName} – {triggeringEvent} {operator} {threshold} on value {value}”

},

“commandProperties”: null,

“webServiceProperties”: null,

“ruleRecurrenceSettings”: null,

“additionalPropertyProperties”: null

}

],

“restoreActions”: [],

“schedule”: null,

“weeklySchedule”: {

“sun”: {

“active”: true,

“timeRange”: null

},

“mon”: {

“active”: true,

“timeRange”: null

},

“tue”: {

“active”: true,

“timeRange”: null

},

“wed”: {

“active”: true,

“timeRange”: null

},

“thu”: {

“active”: true,

“timeRange”: null

},

“fri”: {

“active”: true,

“timeRange”: null

},

“sat”: {

“active”: true,

“timeRange”: null

}

},

“conditions”: [

{

“id”: “5b547a4e19ec0c05707d121f”,

“appIdForRule”: null,

“productId”: null,

“eventName”: “Soil Humidity”,

“typeCode”: 1039,

“threshold”: “10”,

“operator”: “<“,

“durationInMinutes”: 0,

“conditionCount”: 0,

“isRelative”: false,

“type”: “Threshold”,

“name”: “ConditionName”,

“ruleTarget”: “Device Level Rule”,

“targetId”: “Axonize.Common.Models.NonSql.DeviceNode”,

“eventProductId”: “58845d33922dcf2b0cc4632a”,

“devices”: [

{

“id”: “5ab1200721b5bb23b84fa126”,

“name”: “qsdas1j”

}

],

“locationConditionSettings”: null

}

],

“ruleRecurrenceSettings”: null

}

 

}