Неправильный расчёт доступности в GET /api/:site/stat/device/:mac для WAN (UDM-SE, Network Application 8.4.62)
**Кратко:** API некорректно рассчитывает значение доступности для WAN как 99.93060000240803, несмотря на то, что все мониторы показывают доступность: 100.
**Шаги для воспроизведения:**
1. Настройте UniFi UDM-SE (Network Application версии 8.4.62) с несколькими подключениями WAN и мониторами.
2. Мониторьте WAN с помощью проверок ICMP и DNS, где все цели последовательно возвращают доступность: 100.
3. Запросите API и проверьте значение доступности для WAN.
**Ожидаемый результат:**
Значение поля доступности должно быть 100, поскольку все мониторы под WAN сообщают доступность: 100.
**Фактический результат:**
Значение поля доступности для WAN равно 99.93060000240803, что не соответствует данным монитора.
**Дополнительная информация:**
Пример ответа JSON от API:
```json
{
"WAN": {
"alerting_monitors": [
{
"availability": 100,
"latency_average": 8,
"target": "ping.ui.com",
"type": "icmp"
},
{
"availability": 80,
"latency_average": 100,
"target": "1.1.1.1",
"type": "dns"
},
{
"availability": 80,
"latency_average": 100,
"target": "8.8.8.8",
"type": "dns"
}
],
"availability": 99.93060000240803,
"latency_average": 8,
"monitors": [
{
"availability": 100,
"latency_average": 8,
"target": "www.microsoft.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 8,
"target": "google.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 8,
"target": "1.1.1.1",
"type": "icmp"
}
],
"time_period": 86400,
"uptime": 1623746
},
"WAN2": {
"alerting_monitors": [
{
"availability": 100,
"latency_average": 19,
"target": "ping.ui.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 100,
"target": "1.1.1.1",
"type": "dns"
},
{
"availability": 100,
"latency_average": 100,
"target": "8.8.8.8",
"type": "dns"
}
],
"availability": 100,
"latency_average": 19,
"monitors": [
{
"availability": 100,
"latency_average": 21,
"target": "www.microsoft.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 17,
"target": "google.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 21,
"target": "1.1.1.1",
"type": "icmp"
}
],
"time_period": 86400,
"uptime": 1537277
},
"WAN_LTE_FAILOVER": {
"alerting_monitors": [
{
"availability": 0,
"target": "ping.ui.com",
"type": "icmp"
}
],
"downtime": 1535467
}
}
```
**Кратко:** API некорректно рассчитывает значение доступности для WAN как 99.93060000240803, несмотря на то, что все мониторы показывают доступность: 100.
**Шаги для воспроизведения:**
1. Настройте UniFi UDM-SE (Network Application версии 8.4.62) с несколькими подключениями WAN и мониторами.
2. Мониторьте WAN с помощью проверок ICMP и DNS, где все цели последовательно возвращают доступность: 100.
3. Запросите API и проверьте значение доступности для WAN.
**Ожидаемый результат:**
Значение поля доступности должно быть 100, поскольку все мониторы под WAN сообщают доступность: 100.
**Фактический результат:**
Значение поля доступности для WAN равно 99.93060000240803, что не соответствует данным монитора.
**Дополнительная информация:**
Пример ответа JSON от API:
```json
{
"WAN": {
"alerting_monitors": [
{
"availability": 100,
"latency_average": 8,
"target": "ping.ui.com",
"type": "icmp"
},
{
"availability": 80,
"latency_average": 100,
"target": "1.1.1.1",
"type": "dns"
},
{
"availability": 80,
"latency_average": 100,
"target": "8.8.8.8",
"type": "dns"
}
],
"availability": 99.93060000240803,
"latency_average": 8,
"monitors": [
{
"availability": 100,
"latency_average": 8,
"target": "www.microsoft.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 8,
"target": "google.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 8,
"target": "1.1.1.1",
"type": "icmp"
}
],
"time_period": 86400,
"uptime": 1623746
},
"WAN2": {
"alerting_monitors": [
{
"availability": 100,
"latency_average": 19,
"target": "ping.ui.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 100,
"target": "1.1.1.1",
"type": "dns"
},
{
"availability": 100,
"latency_average": 100,
"target": "8.8.8.8",
"type": "dns"
}
],
"availability": 100,
"latency_average": 19,
"monitors": [
{
"availability": 100,
"latency_average": 21,
"target": "www.microsoft.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 17,
"target": "google.com",
"type": "icmp"
},
{
"availability": 100,
"latency_average": 21,
"target": "1.1.1.1",
"type": "icmp"
}
],
"time_period": 86400,
"uptime": 1537277
},
"WAN_LTE_FAILOVER": {
"alerting_monitors": [
{
"availability": 0,
"target": "ping.ui.com",
"type": "icmp"
}
],
"downtime": 1535467
}
}
```
