You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1562 lines
64 KiB
1562 lines
64 KiB
1 year ago
|
zabbix_export:
|
||
|
version: '7.0'
|
||
|
template_groups:
|
||
|
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
|
||
|
name: Templates/Applications
|
||
|
templates:
|
||
|
- uuid: af21edc47557400583e537904ea632aa
|
||
|
template: 'Aranet Cloud'
|
||
|
name: 'Aranet Cloud'
|
||
|
description: 'Generated by official Zabbix template tool "Templator" 2.0.0'
|
||
|
vendor:
|
||
|
name: Zabbix
|
||
|
version: 7.0-0
|
||
|
groups:
|
||
|
- name: Templates/Applications
|
||
|
items:
|
||
|
- uuid: 56f89fce2b1541b7898ad56362d4b28a
|
||
|
name: 'Aranet: Get data'
|
||
|
type: SCRIPT
|
||
|
key: aranet.get_data
|
||
|
history: '0'
|
||
|
trends: '0'
|
||
|
value_type: TEXT
|
||
|
params: |
|
||
|
var Aranet = {
|
||
|
params: {},
|
||
|
auth_token: null,
|
||
|
refresh_token: null,
|
||
|
space_id: null,
|
||
|
|
||
|
setParams: function (params) {
|
||
|
['api_endpoint', 'username', 'password', 'space_name'].forEach(function (field) {
|
||
|
if (typeof params !== 'object' || typeof params[field] === 'undefined'
|
||
|
|| params[field] === '') {
|
||
|
throw 'Required param is not set: "' + field + '".';
|
||
|
}
|
||
|
});
|
||
|
|
||
|
Aranet.params = params;
|
||
|
if (typeof Aranet.params.api_endpoint === 'string') {
|
||
|
if (!Aranet.params.api_endpoint.endsWith('/')) {
|
||
|
Aranet.params.api_endpoint += '/';
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
request: function (method, query, data) {
|
||
|
var response,
|
||
|
request = new HttpRequest(),
|
||
|
url = Aranet.params.api_endpoint + query;
|
||
|
|
||
|
request.addHeader('Content-Type: application/json');
|
||
|
|
||
|
if (Aranet.auth_token !== null) {
|
||
|
request.addHeader('Authorization: Bearer ' + Aranet.auth_token);
|
||
|
}
|
||
|
|
||
|
if (typeof data !== 'undefined') {
|
||
|
data = JSON.stringify(data);
|
||
|
}
|
||
|
|
||
|
switch (method) {
|
||
|
case 'get':
|
||
|
response = request.get(url, data);
|
||
|
break;
|
||
|
|
||
|
case 'post':
|
||
|
response = request.post(url, data);
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
throw 'Unsupported HTTP request method: ' + method;
|
||
|
}
|
||
|
|
||
|
Zabbix.log(4, '[ Aranet scraper ] Received response with status code ' + request.getStatus() + ': ' + response);
|
||
|
|
||
|
if (request.getStatus() < 200 || request.getStatus() >= 300) {
|
||
|
var message = 'Request failed with status code ' + request.getStatus();
|
||
|
|
||
|
message += ': ' + response;
|
||
|
throw message;
|
||
|
}
|
||
|
|
||
|
if (response !== null) {
|
||
|
try {
|
||
|
response = JSON.parse(response);
|
||
|
}
|
||
|
catch (error) {
|
||
|
throw 'Failed to parse response received from Aranet Cloud. Check debug log for more information.';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
status: request.getStatus(),
|
||
|
response: response
|
||
|
};
|
||
|
},
|
||
|
|
||
|
login: function () {
|
||
|
var result,
|
||
|
data = {
|
||
|
login: Aranet.params.username,
|
||
|
passw: Aranet.params.password
|
||
|
};
|
||
|
|
||
|
result = Aranet.request('post', 'user/login', data);
|
||
|
if (typeof result.response !== 'object'
|
||
|
|| typeof result.response.auth === 'undefined'
|
||
|
|| result.status != 200) {
|
||
|
throw 'Cannot login to Aranet Cloud. Check debug log for more information.';
|
||
|
}
|
||
|
|
||
|
Aranet.auth_token = result.response.auth;
|
||
|
Aranet.refresh_token = result.response.refresh;
|
||
|
|
||
|
var spaces = result.response.spaces;
|
||
|
for (var key in spaces) {
|
||
|
if (spaces[key] == Aranet.params.space_name) {
|
||
|
Aranet.space_id = key;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return result.response;
|
||
|
},
|
||
|
|
||
|
logout: function () {
|
||
|
var result,
|
||
|
data = {
|
||
|
refresh: Aranet.refresh_token
|
||
|
};
|
||
|
|
||
|
try {
|
||
|
result = Aranet.request('post', 'user/logout', data);
|
||
|
if (result.status != 204) {
|
||
|
throw 'Cannot logout from Aranet Cloud ' + request.getStatus() + ': ' + result.response;
|
||
|
}
|
||
|
}
|
||
|
catch (error) {
|
||
|
Zabbix.log(4, '[ Aranet scraper ] ' + error)
|
||
|
}
|
||
|
},
|
||
|
|
||
|
getMetrics: function () {
|
||
|
var result = Aranet.request('get', 'metrics/' + Aranet.space_id);
|
||
|
|
||
|
if (typeof result.response !== 'object'
|
||
|
|| typeof result.response.data === 'undefined'
|
||
|
|| result.status != 200) {
|
||
|
throw 'Cannot get metrics data from Aranet Cloud. Check debug log for more information.';
|
||
|
};
|
||
|
|
||
|
return result.response;
|
||
|
},
|
||
|
|
||
|
getSensors: function () {
|
||
|
var result = Aranet.request('get', 'sensors/' + Aranet.space_id + '?fields=devices,metrics,telemetry,name');
|
||
|
|
||
|
if (typeof result.response !== 'object'
|
||
|
|| typeof result.response.data === 'undefined'
|
||
|
|| result.status != 200) {
|
||
|
throw 'Cannot get sensors data from Aranet Cloud. Check debug log for more information.';
|
||
|
};
|
||
|
|
||
|
return result.response;
|
||
|
},
|
||
|
|
||
|
getGateways: function () {
|
||
|
var result = Aranet.request('get', 'gateways/' + Aranet.space_id);
|
||
|
|
||
|
if (typeof result.response !== 'object'
|
||
|
|| typeof result.response.devices === 'undefined'
|
||
|
|| result.status != 200) {
|
||
|
throw 'Cannot get gateways data from Aranet Cloud. Check debug log for more information.';
|
||
|
};
|
||
|
|
||
|
return result.response;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var processed_metrics = {},
|
||
|
processed_sensors = [];
|
||
|
|
||
|
try {
|
||
|
Aranet.setParams(JSON.parse(value));
|
||
|
|
||
|
Aranet.login();
|
||
|
|
||
|
var raw_metrics = Aranet.getMetrics(),
|
||
|
raw_sensors = Aranet.getSensors(),
|
||
|
raw_gateways = Aranet.getGateways();
|
||
|
|
||
|
Aranet.logout();
|
||
|
|
||
|
var items = raw_metrics.data.items;
|
||
|
for (item_idx in items) {
|
||
|
var unit_name,
|
||
|
units = items[item_idx].units;
|
||
|
|
||
|
units.some(function (unit) {
|
||
|
unit_name = unit.name;
|
||
|
if (unit.selected) {
|
||
|
return true;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
processed_metrics[items[item_idx].id] = {
|
||
|
name: items[item_idx].name,
|
||
|
unit: unit_name
|
||
|
}
|
||
|
|
||
|
delete items[item_idx];
|
||
|
}
|
||
|
|
||
|
var items = raw_sensors.data.items;
|
||
|
for (item_idx in items) {
|
||
|
var upd_ts = 0,
|
||
|
gateway = {},
|
||
|
sensor_metrics = [],
|
||
|
metrics = items[item_idx].metrics,
|
||
|
telemetry = items[item_idx].telemetry;
|
||
|
|
||
|
for (m_idx in metrics) {
|
||
|
var unit = processed_metrics[metrics[m_idx].id];
|
||
|
|
||
|
if (upd_ts < metrics[m_idx].t) {
|
||
|
upd_ts = metrics[m_idx].t;
|
||
|
}
|
||
|
|
||
|
sensor_metrics.push({
|
||
|
name: unit.name,
|
||
|
unit: unit.unit,
|
||
|
value: metrics[m_idx].v
|
||
|
});
|
||
|
}
|
||
|
|
||
|
for (var t_idx in telemetry) {
|
||
|
var unit = processed_metrics[telemetry[t_idx].id];
|
||
|
|
||
|
if (upd_ts < telemetry[t_idx].t) {
|
||
|
upd_ts = telemetry[t_idx].t;
|
||
|
}
|
||
|
|
||
|
sensor_metrics.push({
|
||
|
name: unit.name,
|
||
|
unit: unit.unit,
|
||
|
value: telemetry[t_idx].v
|
||
|
});
|
||
|
}
|
||
|
|
||
|
raw_gateways.devices.some(function (dev) {
|
||
|
if (items[item_idx].devices[0].id === dev.id) {
|
||
|
gateway = {
|
||
|
id: dev.id,
|
||
|
name: dev.device
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
})
|
||
|
|
||
|
if (upd_ts) {
|
||
|
sensor_metrics.push({
|
||
|
name: 'Last update',
|
||
|
unit: 's',
|
||
|
value: upd_ts
|
||
|
});
|
||
|
}
|
||
|
|
||
|
var sensor_id = parseInt(items[item_idx].id).toString(16).slice(-5);
|
||
|
|
||
|
processed_sensors.push({
|
||
|
id: sensor_id,
|
||
|
name: items[item_idx].name.trim() === '' ? sensor_id : items[item_idx].name,
|
||
|
gateway: gateway,
|
||
|
metrics: sensor_metrics
|
||
|
});
|
||
|
|
||
|
delete items[item_idx];
|
||
|
}
|
||
|
|
||
|
return JSON.stringify(processed_sensors);
|
||
|
}
|
||
|
catch (error) {
|
||
|
Zabbix.log(3, '[ Aranet scraper ] ERROR: ' + error);
|
||
|
throw 'Scraping failed: ' + error;
|
||
|
}
|
||
|
timeout: 10s
|
||
|
parameters:
|
||
|
- name: api_endpoint
|
||
|
value: '{$ARANET.API.ENDPOINT}'
|
||
|
- name: password
|
||
|
value: '{$ARANET.API.PASSWORD}'
|
||
|
- name: space_name
|
||
|
value: '{$ARANET.API.SPACE_NAME}'
|
||
|
- name: username
|
||
|
value: '{$ARANET.API.USERNAME}'
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: raw
|
||
|
- uuid: 92fb73948fa74de8a6a219397b77b570
|
||
|
name: 'Aranet: Sensors discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.sensor.discovery
|
||
|
delay: '0'
|
||
|
history: '0'
|
||
|
trends: '0'
|
||
|
value_type: TEXT
|
||
|
description: 'Discovery for Aranet Cloud sensors'
|
||
|
preprocessing:
|
||
|
- type: JAVASCRIPT
|
||
|
parameters:
|
||
|
- |
|
||
|
var input = JSON.parse(value),
|
||
|
output = [];
|
||
|
|
||
|
input.forEach(function (sensor) {
|
||
|
sensor.metrics.forEach(function (metric) {
|
||
|
output.push(
|
||
|
{
|
||
|
'{#SENSOR_ID}': sensor.id,
|
||
|
'{#SENSOR_NAME}': sensor.name,
|
||
|
'{#GATEWAY_ID}': sensor.gateway.id,
|
||
|
'{#GATEWAY_NAME}': sensor.gateway.name,
|
||
|
'{#METRIC}': metric.name,
|
||
|
'{#UNIT}': metric.unit
|
||
|
}
|
||
|
);
|
||
|
})
|
||
|
});
|
||
|
|
||
|
return JSON.stringify(output);
|
||
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||
|
parameters:
|
||
|
- 15m
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: discovery
|
||
|
- tag: component
|
||
|
value: raw
|
||
|
discovery_rules:
|
||
|
- uuid: c4d177c29cb34e87b6bec0d22bd3ae23
|
||
|
name: 'Battery voltage discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.battery.voltage.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Battery voltage'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Battery voltage sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: b5fca30b1433461f82ea7fe5c72687ef
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.battery.voltage["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
trigger_prototypes:
|
||
|
- uuid: 6a931421d804418085e586dfc0e11311
|
||
|
expression: 'max(/Aranet Cloud/aranet.battery.voltage["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) < {$ARANET.BATT.VOLTAGE.MIN.CRIT:"{#SENSOR_NAME}"}'
|
||
|
name: '{#METRIC}: Critically low battery voltage on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
event_name: '{#METRIC}: Critically low battery voltage on "[{#GATEWAY_NAME}] {#SENSOR_NAME}" (below {$ARANET.BATT.VOLTAGE.MIN.CRIT:"{#SENSOR_NAME}"}{#UNIT} for 5m)'
|
||
|
priority: HIGH
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: capacity
|
||
|
- uuid: d729130760f9418baa40fb9eeb8a3ca4
|
||
|
expression: 'max(/Aranet Cloud/aranet.battery.voltage["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) < {$ARANET.BATT.VOLTAGE.MIN.WARN:"{#SENSOR_NAME}"}'
|
||
|
name: '{#METRIC}: Low battery voltage on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
event_name: '{#METRIC}: Low battery voltage on "[{#GATEWAY_NAME}] {#SENSOR_NAME}" (below {$ARANET.BATT.VOLTAGE.MIN.WARN:"{#SENSOR_NAME}"}{#UNIT} for 5m)'
|
||
|
priority: WARNING
|
||
|
dependencies:
|
||
|
- name: '{#METRIC}: Critically low battery voltage on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
expression: 'max(/Aranet Cloud/aranet.battery.voltage["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) < {$ARANET.BATT.VOLTAGE.MIN.CRIT:"{#SENSOR_NAME}"}'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: capacity
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: f10b45e1e1024cb19ea8a705281e61fc
|
||
|
name: 'CO2 discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.co2.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: CO₂
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud CO2 sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 5057bec2a8d0446cb3515f1771e30d41
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.co2["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
trigger_prototypes:
|
||
|
- uuid: 9d88ae8357b444728c63844462d25f83
|
||
|
expression: 'min(/Aranet Cloud/aranet.co2["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) > {$ARANET.CO2.MAX.CRIT:"{#SENSOR_NAME}"}'
|
||
|
name: '{#METRIC}: Critically high CO2 level on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
event_name: '{#METRIC}: Critically high CO2 level on "[{#GATEWAY_NAME}] {#SENSOR_NAME}" (over {$ARANET.CO2.MAX.CRIT:"{#SENSOR_NAME}"}{#UNIT} for 5m)'
|
||
|
priority: HIGH
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: notice
|
||
|
- uuid: cc54c75ee607485981388da0f7f99ea2
|
||
|
expression: 'min(/Aranet Cloud/aranet.co2["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) > {$ARANET.CO2.MAX.WARN:"{#SENSOR_NAME}"}'
|
||
|
name: '{#METRIC}: High CO2 level on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
event_name: '{#METRIC}: High CO2 level on "[{#GATEWAY_NAME}] {#SENSOR_NAME}" (over {$ARANET.CO2.MAX.WARN:"{#SENSOR_NAME}"}{#UNIT} for 5m)'
|
||
|
priority: WARNING
|
||
|
dependencies:
|
||
|
- name: '{#METRIC}: Critically high CO2 level on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
expression: 'min(/Aranet Cloud/aranet.co2["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) > {$ARANET.CO2.MAX.CRIT:"{#SENSOR_NAME}"}'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: notice
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: c42c2ae80f0d40688031f0ef3adb4dfb
|
||
|
name: 'Current discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.current.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Current
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Current sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 68434a6b6881497b8f7892b00044e3e7
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.current["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 0d5eca62cf6e4db8abed33e7ad907925
|
||
|
name: 'Differential Pressure discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.diff_pressure.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Differential Pressure'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Differential Pressure sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: d02fa9c559af492d8f23503c6c0e6b67
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.diff_pressure["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: b9f0950111b6488098c79a60b2a444d6
|
||
|
name: 'Distance discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.distance.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Distance
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Distance sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 4a2dd84d9be34e39b4b8e0c03199ebec
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.distance["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 7cf9f5296e784045a86aa0fc7bb1ba69
|
||
|
name: 'Humidity discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.humidity.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Humidity
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud humidity sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: b0b25cd929fe493e8db07b19f64e623a
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.humidity["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
trigger_prototypes:
|
||
|
- uuid: 9697528bedd64aca9da1e6343182fe0c
|
||
|
expression: 'min(/Aranet Cloud/aranet.humidity["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) > {$ARANET.HUMIDITY.MAX.WARN:"{#SENSOR_NAME}"}'
|
||
|
name: '{#METRIC}: High humidity on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
event_name: '{#METRIC}: High humidity on "[{#GATEWAY_NAME}] {#SENSOR_NAME}" (over {$ARANET.HUMIDITY.MAX.WARN:"{#SENSOR_NAME}"}{#UNIT} for 5m)'
|
||
|
priority: HIGH
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: notice
|
||
|
- uuid: 85c1be625bc940588671bc43e6ed6a8a
|
||
|
expression: 'max(/Aranet Cloud/aranet.humidity["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) < {$ARANET.HUMIDITY.MIN.WARN:"{#SENSOR_NAME}"}'
|
||
|
name: '{#METRIC}: Low humidity on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
event_name: '{#METRIC}: Low humidity on "[{#GATEWAY_NAME}] {#SENSOR_NAME}" (below {$ARANET.HUMIDITY.MIN.WARN:"{#SENSOR_NAME}"}{#UNIT} for 5m)'
|
||
|
priority: WARNING
|
||
|
dependencies:
|
||
|
- name: '{#METRIC}: High humidity on "[{#GATEWAY_NAME}] {#SENSOR_NAME}"'
|
||
|
expression: 'min(/Aranet Cloud/aranet.humidity["{#GATEWAY_ID}", "{#SENSOR_ID}"],5m) > {$ARANET.HUMIDITY.MAX.WARN:"{#SENSOR_NAME}"}'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: notice
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 144396930b4b4049acb4bfd7b183a6f7
|
||
|
name: 'Illuminance discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.illuminance.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Illuminance
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Illuminance sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 0617cbdf99844d82a469bf600c94bcfa
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.illuminance["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 16b57e7a700c4041b787a8916442cd59
|
||
|
name: 'Last update discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.last_update.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Last update'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Last update metric'
|
||
|
item_prototypes:
|
||
|
- uuid: 296198c168694dc0bd0af5d1cc07cc0e
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.last_update["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
- type: JAVASCRIPT
|
||
|
parameters:
|
||
|
- 'return Math.floor(Date.now()/1000 - Number(value));'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
trigger_prototypes:
|
||
|
- uuid: b0aa8bb4e07e47b5824595b824081d75
|
||
|
expression: 'last(/Aranet Cloud/aranet.last_update["{#GATEWAY_ID}", "{#SENSOR_ID}"]) > {$ARANET.LAST_UPDATE.MAX.WARN:"{#SENSOR_NAME}"}'
|
||
|
name: '{#METRIC}: Sensor data "[{#GATEWAY_NAME}] {#SENSOR_NAME}" is not updated'
|
||
|
event_name: '{#METRIC}: Sensor data "[{#GATEWAY_NAME}] {#SENSOR_NAME}" is not updated (more than {$ARANET.LAST_UPDATE.MAX.WARN:"{#SENSOR_NAME}"})'
|
||
|
priority: WARNING
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: availability
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 9b33a2810e644c3c998d431a4a860993
|
||
|
name: 'pH discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.ph.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: pH
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud pH sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: ad6f3af944a04305a196ff60bdae078f
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.ph["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 1763029f67494745a2f52c980ae86b9c
|
||
|
name: 'Pore Electrical Conductivity discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.pore_electric_cond.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Pore Electrical Conductivity'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Pore Electrical Conductivity sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 4610a3ef84e54ddeb778e4f1c9e7ab8a
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.pore_electric_cond["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: c1a3941026c24d178a494de66c7be2cc
|
||
|
name: 'PPFD discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.ppfd.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: PPFD
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud PPFD sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 7f41b6f57a024e4fa632268bec66fdd3
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.ppfd["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 11a77f7018ca4b8f92f65888e3e2a237
|
||
|
name: 'Atmospheric pressure discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.pressure.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Atmospheric Pressure'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud atmospheric pressure sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 3534343a6f78415e94b52f791a1a419a
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.pressure["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 6d5e1eebba704d5e88aa67ed029d95ca
|
||
|
name: 'Pulses discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.pulses.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Pulses
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Pulses sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 471e5f773216407e819c840161562d1e
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.pulses["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 92f27211f4dd4f61b7939cf8b07fc959
|
||
|
name: 'Pulses Cumulative discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.pulses_cumulative.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Pulses Cumulative'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Pulses Cumulative sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: da698f1bec144ab8aa8d960669c385d5
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.pulses_cumulative["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 2caab3aefe0b498588aa3ec0d8578e09
|
||
|
name: 'RSSI discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.rssi.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: RSSI
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud RSSI sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: eefb5804ec224d26a3050246907c35aa
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.rssi["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 4d6116d2bd3049b9bb550e1d77338b2e
|
||
|
name: 'Soil Dielectric Permittivity discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.soil_dielectric_perm.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Soil Dielectric Permittivity'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Soil Dielectric Permittivity sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 53b7bb6bab76432f95599917e61a3ea7
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.soil_dielectric_perm["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: e44cc900de3b4353bbccc6f01388c103
|
||
|
name: 'Soil Electrical Conductivity discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.soil_electric_cond.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Soil Electrical Conductivity'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Soil Electrical Conductivity sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 2f73f57b147c4d3498bd46a4048e2418
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.soil_electric_cond["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 215affa3d0d34aa2b27be4ec75ba3349
|
||
|
name: 'Temperature discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.temp.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Temperature
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud temperature sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 86a562af26184359ac7d2287c6bd87c6
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.temp["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 9e9bf9e27be743368c50036f02fab572
|
||
|
name: 'Voltage discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.voltage.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Voltage
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Voltage sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 461f54e7c7ce4658b8acc83be8d6906c
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.voltage["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: c059e164b01242b78ab8505d12c2d291
|
||
|
name: 'Volumetric Water Content discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.volum_water_content.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: 'Volumetric Water Content'
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Volumetric Water Content sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 8a03e78d9f4145b58c55d04189b90423
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.volumetric.water.content["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
- uuid: 414889299c224d748c857fcf028d9e96
|
||
|
name: 'Weight discovery'
|
||
|
type: DEPENDENT
|
||
|
key: aranet.weight.discovery
|
||
|
delay: '0'
|
||
|
filter:
|
||
|
evaltype: AND
|
||
|
conditions:
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
formulaid: F
|
||
|
- macro: '{#SENSOR_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: G
|
||
|
- macro: '{#SENSOR_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
formulaid: E
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
formulaid: B
|
||
|
- macro: '{#GATEWAY_NAME}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
operator: NOT_MATCHES_REGEX
|
||
|
formulaid: C
|
||
|
- macro: '{#GATEWAY_ID}'
|
||
|
value: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
formulaid: A
|
||
|
- macro: '{#METRIC}'
|
||
|
value: Weight
|
||
|
formulaid: D
|
||
|
description: 'Discovery for Aranet Cloud Weight sensors'
|
||
|
item_prototypes:
|
||
|
- uuid: 6eb5e840b089469ca644a20bcb7739d4
|
||
|
name: '{#METRIC}: [{#GATEWAY_NAME}] {#SENSOR_NAME}'
|
||
|
type: DEPENDENT
|
||
|
key: 'aranet.weight["{#GATEWAY_ID}", "{#SENSOR_ID}"]'
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: '{#UNIT}'
|
||
|
preprocessing:
|
||
|
- type: JSONPATH
|
||
|
parameters:
|
||
|
- '$[?(@.id == "{#SENSOR_ID}" && @.name == "{#SENSOR_NAME}")].metrics[?(@.name == "{#METRIC}")].value.first()'
|
||
|
master_item:
|
||
|
key: aranet.get_data
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: '{#METRIC}'
|
||
|
master_item:
|
||
|
key: aranet.sensor.discovery
|
||
|
tags:
|
||
|
- tag: class
|
||
|
value: service
|
||
|
- tag: target
|
||
|
value: aranet
|
||
|
macros:
|
||
|
- macro: '{$ARANET.API.ENDPOINT}'
|
||
|
value: 'https://aranet.cloud/api'
|
||
|
description: 'Aranet Cloud API endpoint.'
|
||
|
- macro: '{$ARANET.API.PASSWORD}'
|
||
|
value: '<PUT YOUR PASSWORD>'
|
||
|
description: 'Aranet Cloud password.'
|
||
|
- macro: '{$ARANET.API.SPACE_NAME}'
|
||
|
value: '<PUT YOUR SPACE NAME>'
|
||
|
description: 'Aranet Cloud organization name.'
|
||
|
- macro: '{$ARANET.API.USERNAME}'
|
||
|
value: '<PUT YOUR USERNAME>'
|
||
|
description: 'Aranet Cloud username.'
|
||
|
- macro: '{$ARANET.BATT.VOLTAGE.MIN.CRIT}'
|
||
|
value: '2'
|
||
|
description: 'Battery voltage critical threshold.'
|
||
|
- macro: '{$ARANET.BATT.VOLTAGE.MIN.WARN}'
|
||
|
value: '1'
|
||
|
description: 'Battery voltage warning threshold.'
|
||
|
- macro: '{$ARANET.CO2.MAX.CRIT}'
|
||
|
value: '1000'
|
||
|
description: 'CO2 critical threshold.'
|
||
|
- macro: '{$ARANET.CO2.MAX.WARN}'
|
||
|
value: '600'
|
||
|
description: 'CO2 warning threshold.'
|
||
|
- macro: '{$ARANET.HUMIDITY.MAX.WARN}'
|
||
|
value: '70'
|
||
|
description: 'Maximum humidity threshold.'
|
||
|
- macro: '{$ARANET.HUMIDITY.MIN.WARN}'
|
||
|
value: '20'
|
||
|
description: 'Minimum humidity threshold.'
|
||
|
- macro: '{$ARANET.LAST_UPDATE.MAX.WARN}'
|
||
|
value: 1h
|
||
|
description: 'Data update delay threshold.'
|
||
|
- macro: '{$ARANET.LLD.FILTER.GATEWAY_ID.MATCHES}'
|
||
|
value: .+
|
||
|
description: 'Filter of discoverable sensors by gateway id.'
|
||
|
- macro: '{$ARANET.LLD.FILTER.GATEWAY_NAME.MATCHES}'
|
||
|
value: .+
|
||
|
description: 'Filter of discoverable sensors by gateway name.'
|
||
|
- macro: '{$ARANET.LLD.FILTER.GATEWAY_NAME.NOT_MATCHES}'
|
||
|
value: CHANGE_IF_NEEDED
|
||
|
description: 'Filter to exclude discoverable sensors by gateway name.'
|
||
|
- macro: '{$ARANET.LLD.FILTER.SENSOR_ID.MATCHES}'
|
||
|
value: .+
|
||
|
description: 'Filter of discoverable sensors by id.'
|
||
|
- macro: '{$ARANET.LLD.FILTER.SENSOR_NAME.MATCHES}'
|
||
|
value: .+
|
||
|
description: 'Filter of discoverable sensors by name.'
|
||
|
- macro: '{$ARANET.LLD.FILTER.SENSOR_NAME.NOT_MATCHES}'
|
||
|
value: CHANGE_IF_NEEDED
|
||
|
description: 'Filter to exclude discoverable sensors by name.'
|