Browse Source

AlarmRules

pull/3477/head
Andrii Shvaika 6 years ago
parent
commit
f3a5cb3162
  1. 29
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/AlarmCondition.java
  2. 24
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/AlarmRule.java
  3. 37
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/DeviceProfileAlarm.java
  4. 3
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/DeviceProfileData.java

29
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/AlarmCondition.java

@ -0,0 +1,29 @@
/**
* Copyright © 2016-2020 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.common.data.device.profile;
import org.thingsboard.server.common.data.query.KeyFilter;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class AlarmCondition {
private List<KeyFilter> condition;
private TimeUnit durationUnit;
private long durationValue;
}

24
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/AlarmRule.java

@ -0,0 +1,24 @@
/**
* Copyright © 2016-2020 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.common.data.device.profile;
public class AlarmRule {
private AlarmCondition condition;
// Advanced
private String alarmDetails;
}

37
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/DeviceProfileAlarm.java

@ -0,0 +1,37 @@
/**
* Copyright © 2016-2020 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.common.data.device.profile;
import lombok.Data;
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
import java.util.List;
import java.util.Map;
@Data
public class DeviceProfileAlarm {
private String id;
private String alarmType;
private Map<AlarmSeverity, AlarmRule> createRules;
private AlarmRule clearRule;
// Hidden in advanced settings
private boolean propagate;
private List<String> propagateRelationTypes;
}

3
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/DeviceProfileData.java

@ -17,10 +17,13 @@ package org.thingsboard.server.common.data.device.profile;
import lombok.Data;
import java.util.List;
@Data
public class DeviceProfileData {
private DeviceProfileConfiguration configuration;
private DeviceProfileTransportConfiguration transportConfiguration;
private List<DeviceProfileAlarm> alarms;
}

Loading…
Cancel
Save