IAMMETER-cloud udostępnia pewne API, które programiści mogą wykorzystywać do ciekawych zastosowań, takich jak integracja danych z IAMMETER z systemami zewnętrznymi. Dotychczas udostępnialiśmy te API tylko naszym partnerom biznesowym i dużym klientom, ale teraz zdecydowaliśmy się otworzyć je dla wszystkich naszych klientów.
Zapraszamy do podzielenia się swoimi opiniami na naszym forum. https://imeter.club
API nie mogą być wywoływane bez ograniczeń — limitujemy dzienną liczbę wywołań dla każdego API. Prosimy nie wywoływać API zbyt często.
Jeśli liczba wywołań przekroczy limit godzinowy lub dzienny, API nie zwróci żadnych danych.
| Lp. | API | Typ limitu | Godzinowy | Dzienny | Opis |
|---|---|---|---|---|---|
| 1 | /user/login | ip | 5 | 30 | jedno IP może wywołać to API maks. 5 razy na godzinę |
| 2 | /site/meterdata/ | SN | 12 | jeden SN może wywołać to API maks. 12 razy na godzinę | |
| 3 | /site/powerAnalysis | SN | 5 | jeden SN może wywołać to API maks. 5 razy dziennie | |
| 4 | /site/offlineAnalysis | SN | 5 | jeden SN może wywołać to API maks. 5 razy dziennie |
Zwraca token konta. Token będzie używany w prawie wszystkich API.
Nie musisz wywoływać tego API, chyba że chcesz odświeżyć token. Prosimy nie wywoływać tego API więcej niż 5 razy na godzinę i nie więcej niż 30 razy dziennie.
Pobranie tokena konta, który jest używany we wszystkich API.
URL: https://www.iammeter.com/api/v1/user/login
Metoda: post
To API można przetestować online w IAMMETER SwaggerUI — pobierz token
| Lp. | Parametr | Opis | Przykład |
|---|---|---|---|
| 1 | user name | Nazwa użytkownika IAMMETER | test |
| 2 | password | Hasło IAMMETER | 123456 |
Wartość tokena będzie używana we wszystkich poniższych API.
{
"data": {
"id": 2025,
"token": "349dfxxxxxxac5169",
"refreshToken": "8adf75e5da10424985f3b83855133982"
},
"successful": true,
"message": null
}
Token można również odczytać bezpośrednio po zalogowaniu się do systemu.

Pobiera ostatnie przesłane dane dla podanego SN.
Prosimy nie wywoływać tego API więcej niż 12 razy na godzinę.
Podstawowe (meterdata): https://www.iammeter.com/api/v1/site/meterdata/{sn}
To API można przetestować online w IAMMETER SwaggerUI
Zaawansowane (meterdata2): https://www.iammeter.com/api/v1/site/meterdata2/{sn}
To API można przetestować online w IAMMETER SwaggerUI meterdata i IAMMETER SwaggerUI meterdata2
Metoda: GET
Limit: prosimy nie wywoływać tego API więcej niż 288 razy dziennie (interwał 5 minut).
Różnica między podstawowym a zaawansowanym:
Podstawowe: bez PF (Power Factor)
Zaawansowane: z PF (Power Factor)
| Nazwa | Typ | Przykład | |
|---|---|---|---|
| Token | String | xxx | wymagane |
| rtctime | string | 2025-6-16 | opcjonalne |
Definicja wartości: voltage, current, active power, imported kWh, exported kWh
{
"data": {
"values": [
[
230.220, //voltage
1.300, //curent
119.000,//active power
1766.590, //imported kWh
0.000 //exported kWh
]
],
"localTime": "2020/8/28 15:27:33",
"gmtTime": "2020/8/28 5:27:33"
},
"successful": true,
"message": null
}
Definicja wartości: voltage, current, active power, power factor, imported kWh, exported kWh.
Choć zdajemy sobie sprawę, że umieszczenie power factor między mocą czynną a energią importowaną nie jest optymalne, obecny format jest już tak skonfigurowany — prosimy mieć na uwadze to ustawienie.
{
"data":{
"values":[
[
233.41, //voltage
0.718,//current
111,//active power
0.66,//power factor
5724.85, //imported energy
0 //exported energy
]
],
"localTime":"2023/11/21 14:30:22",
"gmtTime":"2023/11/21 6:30:22"
},
"successful":true,
"message":null
}
Trzy tablice w values reprezentują fazę A, fazę B i fazę C.
Definicja wartości: voltage, current, active power, imported kWh, exported kWh
{
"data": {
"values": [
[
242.600,//voltage
1.000,//current
216.000,//active power
32354.600,//imported energy
0.000//exported energy
],
[
242.600,
1.000,
1986.000,
30536.410,
17704.720
],
[
0.000,
0.000,
0.000,
0.000,
0.000
]
],
"localTime": "2020/8/28 15:30:48",
"gmtTime": "2020/8/28 5:30:48"
},
"successful": true,
"message": null
}
Definicja elementów: voltage, current, active power, power factor, imported kWh, exported kWh
{
"data":{
"values":[
[//phase A
233.8,//voltage
0.03,//current
4,//active power
0.57,//power factor
222.53,//imported kWh
0 //exported kWh
],
[//phase B
5,
0,
0,
0,
0,
0
],
[ //phase C
3.1,
0,
0,
0,
0,
0
]
],
"localTime":"2023/11/21 14:39:36",
"gmtTime":"2023/11/21 6:39:36"
},
"successful":true,
"message":null
}

RTC (Real-Time Clock) jest również parametrem w żądaniu HTTP GET, jak pokazano poniżej:
https://www.iammeter.com/api/v1/site/meterdata/59C9AB8D?token=336c9cbebcbf49139f0be060cc7ba7fd&rtctime=2025-6-16
To żądanie zwróci wartość danych licznika najbliższą podanej dacie (2025-6-16), czyli najbliższy zarejestrowany punkt czasowy.
Uwaga: te API są takie same jak w poprzednim rozdziale, z dodatkowymi parametrami
Zwraca dane historyczne w określonym interwale i zakresie czasowym.
Dane chwilowe są w interwale 1-minutowym. Dziennie jest 60×24=1440 rekordów danych. Jeśli żądasz danych historycznych w interwale 1-minutowym, możesz pobrać dane tylko z 1,39 dnia (2000/1440). Ale jeśli żądasz danych w interwale 5-minutowym, możesz pobrać dane z prawie 7 dni.
Podstawowe (meterdatalist): https://www.iammeter.com/api/v1/site/meterdatalist/{sn}
Zaawansowane (meterdatalist2): https://www.iammeter.com/api/v1/site/meterdatalist2/{sn}
Różnica między podstawowym a zaawansowanym:
Podstawowe: bez PF (Power Factor)
Zaawansowane: z PF (Power Factor)
To API można przetestować online w IAMMETER SwaggerUI meterdata i IAMMETER SwaggerUI meterdata2
| Nazwa | Typ | Przykład | |
|---|---|---|---|
| Token | String | xxx | wymagane |
| interval | number | 300 | wymagane, jednostka: sekunda |
| startTime | string | 2023-09-01 | wymagane |
| endTime | string | 2023-09-07 | wymagane |
Dane: [voltage, current, power, import energy, export energy, utc time, local time]
{
"data": [
[
227.73,
1.45,
172,
13121.56,
0,
"2023/9/12 0:00:34",
"2023/9/11 14:00:34"
],
[
229.43,
1.45,
172,
13121.56,
0,
"2023/9/12 0:01:33",
"2023/9/11 14:01:33"
]
],
"successful": true,
"message": null
}
{
"data": [
[
230,//phaseA voltage
0,//current
0,//active power
468.41,//imported kWh
0,//exported kWh
230,//PhaseB
0,
0,
236.58,
290.77,
230,//Phase C
0,
0,
258.62,
0,
"2023/9/12 0:00:15",
"2023/9/11 16:00:15"
],
[
230,
0,
0,
468.41,
0,
230,
0,
0,
236.58,
290.77,
230,
0,
0,
258.62,
0,
"2023/9/12 0:02:08",
"2023/9/11 16:02:08"
]
],
"successful": true,
"message": null
}
{
"data":[
{ //first data
"rtcTime":"2023/9/1 0:00:22",
"gmtTime":"2023/8/31 16:00:22",
"values":[
[ //phase A
235.2,//voltage
0.03,//current
4,//active power
0.57,//power factor
210.21,//import kWh
0 //exported kWh
],
[//phase B
5.5,
0,
0,
0,
0,
0
],
[ //phase C
3.3,
0,
0,
0,
0,
0
]
]
},
{ //second data
"rtcTime":"2023/9/1 8:00:49",
"gmtTime":"2023/9/1 0:00:49",
"values":[
[
233.4,
0.03,
4,
0.57,
210.24,
0
],
[
5.4,
0,
0,
0,
0,
0
],
[
3.3,
0,
0,
0,
0,
0
]
]
},
{ //third data
"rtcTime":"2023/9/1 16:00:24",
"gmtTime":"2023/9/1 8:00:24",
"values":[
[
235.6,
0.03,
4,
0.57,
210.27,
0
],
[
5.5,
0,
0,
0,
0,
0
],
[
3.4,
0,
0,
0,
0,
0
]
]
}
],
"successful":true,
"message":null
}

Zwraca wynik analizy mocy w określonym czasie.
Prosimy nie wywoływać tego API więcej niż 5 razy dziennie.
URL: https://www.iammeter.com/api/v1/site/powerAnalysis
Metoda: get
Limit: Prosimy nie wysyłać żądań do tego API dla jednego SN więcej niż 5 razy dziennie.
| Nazwa | Typ | Przykład | |
|---|---|---|---|
sn |
String | xxx | wymagane |
startTime |
String | 2023-09-01 | opcjonalne |
endTime |
String | 2023-09-07 | opcjonalne |
Uwagi:
average: średni odczyt mocy w tym zakresie czasowym.
averageDaytime: średni odczyt mocy w ciągu dnia (8:00-20:00) w tym zakresie czasowym.
minimum: minimalny odczyt mocy w tym zakresie czasowym.
maximum: maksymalny odczyt mocy w tym zakresie czasowym.
{
"data": {
"startTime": "2023-09-01",
"endTime": "2023-09-07",
"average": 862.6,
"averageDaytime": 836.9,
"minimum": 259.0,
"maximum": 3999.0
},
"successful": true,
"message": null
}
Zwraca wynik analizy mocy z ostatnich 7 dni.

Zwraca wynik analizy mocy dla określonego dnia

Zwraca status rozłączenia dla podanego SN w określonym czasie.
Prosimy nie wywoływać tego API więcej niż 5 razy dziennie.
URL: https://www.iammeter.com/api/v1/site/offlineAnalysis
Metoda: Get
Limit: Prosimy nie wysyłać żądań do tego API dla jednego SN więcej niż 5 razy dziennie.
| Nazwa | Typ | Przykład | |
|---|---|---|---|
sn |
String | xxxx | wymagane |
startTime |
String | 2023-09-01 | opcjonalne |
endTime |
String | 2023-09-07 | opcjonalne |
interval (jednostka: minuta) |
Number | 5 | opcjonalne |
Uwagi:
W tym zakresie czasowym jest łącznie 10080 minut.
Łączny czas offline wynosi 906 minut w tym zakresie czasowym.
Luki offline dłuższe niż 5 minut są wymienione w tablicy.
{
"data": {
"startTime": "2023-09-05",
"endTime": "2023-09-11",
"offlineCount": 906,
"totalCount": 10080,
"list": [
{
"startTime": "2023/9/5 0:00:00",
"endTime": "2023/9/5 15:06:14",
"duration": 906
}
]
},
"successful": true,
"message": null
}
Zwraca wynik analizy offline dla określonego dnia

Zwraca najnowsze wartości wszystkich liczników energii na tym koncie.
URL: https://www.iammeter.com/api/v1/site/metersdata?token=xxx
Metoda: Get
Limit: Prosimy nie wysyłać żądań do tego API częściej niż raz na 5 minut.
| Nazwa | Typ | Przykład | |
|---|---|---|---|
| Token | String | xxx | wymagane |
{
"data":[
{
"sn":"DA2BED94",
"values":[
223.71,
1.74,
225,
14761.03,
0
],
"gmtTime":"2024/2/22 3:46:20"
},
{
"sn":"B384789C",
"values":[
[
248.9,
13.9,
3356,
21228,
0,
null,
null
],
[
248.9,
13.9,
-2747,
8988.48,
18489.44,
null,
null
],
[
null,
null,
null,
null,
null,
null,
null
],
[
248.9,
13.9,
-2747,
8988.48,
18489.44,
null,
null
]
],
"gmtTime":"2024/2/22 3:45:15"
},
{
"sn":"674B1E5D",
"values":[
[
220.4,
1.86,
377,
5345.985,
20.565
],
[
220.4,
1.86,
377,
5367.715,
0.033
],
[
220.5,
1.86,
377,
5369.532,
0.033
]
],
"gmtTime":"2024/2/22 3:45:50"
},
{
"sn":"59C9AB8D",
"values":[
[
245.3,
6.5,
1604,
46055.7,
0,
null,
null
],
[
245.3,
6.5,
-910,
15726.73,
8956.56,
null,
null
],
[
null,
null,
null,
null,
null,
null,
null
],
[
245.3,
6.5,
-910,
15726.73,
8956.56,
null,
null
]
],
"gmtTime":"2024/2/22 3:45:15"
},
{
"sn":"3FE34ABE",
"values":[
[
230,
15.9,
3650.1,
2704.35,
0,
49.99,
0.94
],
[
230,
-11.5,
-2650.1,
1411.31,
1722.35,
49.99,
0.94
],
[
230,
4.3,
1000,
1946.03,
0,
49.99,
0.94
]
],
"gmtTime":"2024/2/22 3:46:01"
}
],
"successful":true,
"message":null
}

Pobiera godzinowe/dzienne wartości kWh dla generacji z inwertera i wymiany z siecią (zarówno eksport, jak i import)
Metoda: get
Limit:
groupby = day: 90 dni danych (90 rekordów)
groupby = hour: 7 dni danych (168 rekordów)
| Nazwa | Typ | Opis | Przykład | |
|---|---|---|---|---|
| Token | String | token konta | xxx | wymagane |
| place_ID | number | ID miejsca | wymagane | |
| startTime | string | czas rozpoczęcia zwracanych danych | 2023-09-01 | wymagane |
| endTime | string | czas zakończenia zwracanych danych | 2023-09-07 | wymagane |
| groupby | enum | wybór interwału danych (godzina/dzień) | day/hour | wymagane |
place_ID: Moje miejsca → Edytuj

place_id:1360
startTime=2024-05-05
endTime=2024-05-07
groupby=day
{
"data": [{
"time": "2024/5/5 0:00:00",
"yield": 0,
"fromGrid": 9.62,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/6 0:00:00",
"yield": 0,
"fromGrid": 9.16,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
}
],
"successful": true,
"message": null
}
place_id:2393
startTime=2024-05-05
endTime=2024-05-07
groupby=day
{
"data": [{
"time": "2024/5/5 0:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/6 0:00:00",
"yield": 0.1,
"fromGrid": 0.22,
"toGrid": 7.15,
"specialLoad": 0,
"selfUse": 0
}
],
"successful": true,
"message": null
}
place_id:2393
startTime=2024-05-05
endTime=2024-05-06
groupby=hour
{
"data": [{
"time": "2024/5/5 0:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 1:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 2:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 3:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 4:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 5:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 6:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 7:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 8:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 9:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 10:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 11:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 12:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 13:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 14:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 15:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 16:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 17:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 18:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 19:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 20:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 21:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 22:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
},
{
"time": "2024/5/5 23:00:00",
"yield": 0,
"fromGrid": 0,
"toGrid": 0,
"specialLoad": 0,
"selfUse": 0
}
],
"successful": true,
"message": null
}
Jakie możliwości oferuje IAMMETER?
Jaki typ licznika energii najlepiej odpowiada Twoim potrzebom?
Jak znaleźć licznik energii odpowiedni do swoich wymagań
Trójfazowy licznik energii Wi-Fi (WEM3080T)
Jednofazowy licznik energii Wi-Fi (WEM3080)
Trójfazowy licznik energii Wi-Fi (WEM3046T)
Trójfazowy licznik energii Wi-Fi (WEM3050T)