Преузимање историјских података
Историјски подаци сваког уређаја су у текстуалним датотекама (datalogs) на серверу уређаја. Свака датотека покрива један дан, један месец или целу историју. Потребна вам је дозвола за читање на уређају.
За извоз без кода користите извештаје апликације. Погледајте Ваши подаци (чување, извоз, брисање).
Поступак
Одељак „Поступак“- Пронађите сервер уређаја. Позовите
get_device_info.phpи прочитајте пољеdevice_server. Погледајте REST API. - Пронађите редослед колона. Позовите
get_device_definitions.php?family_id=<family>и прочитајтеreadingsиoutput_names. - Израчунајте ниво и број датотеке (bin) за период који желите.
- Преузмите сваку датотеку са сервера уређаја.
- Спојите редове, сортирајте их по времену (timestamp) и попуните празна поља.
Захтев
Одељак „Захтев“curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Замените DEVICE_SERVER вредношћу поља device_server уређаја.
| Параметар | Вредност |
|---|---|
serialno |
Серијски број уређаја |
id |
<level>.<bin>, на пример 0.20740 |
ver |
2 |
За аутентификацију пошаљите заглавље Authorization: Bearer-API YOUR_API_KEY или Authorization: Bearer YOUR_ACCESS_TOKEN.
Сервер може да пошаље датотеку компримовану (gzip или br). Опција --compressed програма curl је декомпримује.
| HTTP кôд | Значење |
|---|---|
| 200 | Датотека, као text/plain |
| 400 | Погрешан serialno или id |
| 403 | Немате дозволу за читање на уређају |
| 404 | Нема података за ову датотеку |
Нивои и бројеви датотека
Одељак „Нивои и бројеви датотека“Сви прорачуни користе UTC.
| Ниво | Једна датотека за | Прорачун броја (bin) | Пример |
|---|---|---|---|
0 |
Дан | floor(unix_seconds / 86400) |
14. октобар 2026 = 0.20740 |
1 |
Месец | (year - 1970) * 12 + (month - 1) |
Октобар 2026 = 1.681 |
2 |
Цела историја | Увек m |
2.m |
Ниво 0 има све редове дана. Ниво 1 има око један ред по дану. Ниво 2 има око један ред по месецу.
Апликација користи ниво 0 за периоде до 7 дана и ниво 1 за периоде до 5 месеци. За дуже периоде користи 2.m.
Формат реда
Одељак „Формат реда“Сваки ред је једно мерење. Поља су одвојена знаком ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputMtimestampје у unix секундама (UTC). Може да има децимале.- Затим долазе очитавања, по редоследу
readingsпородице. - Затим долазе излази, по редоследу
output_names. - Празно поље значи да се вредност није променила. Користите последњу вредност из ранијег реда.
- Вредност
2147483648значи да очитавање недостаје. - Редови нису увек сортирани. Сортирајте их по
timestamp.
Пример
Одељак „Пример“Уређај породице e11 има readings = ["T", "GI", "GIC", "GI2", "GI2C"] и нема излазе.
1791936198.977;2120;1;0;1;0| Поље | Вредност | Значење |
|---|---|---|
| timestamp | 1791936198.977 |
Време мерења |
T |
2120 |
21.20 °C, јер је конверзија за T једнака divide_by_100 |
GI |
1 |
Стање првог улаза |
GIC |
0 |
Бројач првог улаза |
GI2 |
1 |
Стање другог улаза |
GI2C |
0 |
Бројач другог улаза |
Конверзије и јединице налазите у речнику readings у дефиницијама. Погледајте REST API.
Пример за shell
Одељак „Пример за shell“Овај пример преузима последња 3 дана уређаја.
SERVER=DEVICE_SERVERSN=e11:123TODAY=$(( $(date -u +%s) / 86400 ))for BIN in $(seq $((TODAY - 2)) $TODAY); do curl -s --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://$SERVER/datalogs.php?serialno=$SN&id=0.$BIN&ver=2"done | sort -t';' -k1,1nДруги начин
Одељак „Други начин“MCP сервер има алат get_device_history. Прихвата исте нивое и бројеве датотека.

