Съжаляваме, вашият браузър не поддържа JavaScript!
Вход

Как да използвате IAMMETER-cloud по-ефективно чрез API

Предпоставки

IAMMETER-cloud предоставя набор от API-та и разработчиците могат да ги използват за най-различни интересни задачи — например интегриране на данните от IAMMETER в система на трета страна. Досега тези API-та бяха отворени само за нашите бизнес партньори и някои големи клиенти, но решихме да ги отворим за всички наши клиенти.

Ще се радваме да споделите мнението си в нашия форум. https://imeter.club

Ограничения на API

API-тата не могат да бъдат извиквани неограничено — за всяко API ограничаваме броя на извикванията на ден. Моля, не извиквайте API-тата по-често от разрешеното.

Ако броят на извикванията надвиши почасовото или дневното ограничение, API-то няма да върне нищо.

№ API тип ограничение на час на ден описание
1 /user/login ip 5 30 един IP може да извиква това API само 5 пъти на час
2 /site/meterdata/ SN 12 един SN може да извиква това API само 12 пъти на час
3 /site/powerAnalysis SN 5 един SN може да извиква това API само 5 пъти на ден
4 /site/offlineAnalysis SN 5 един SN може да извиква това API само 5 пъти на ден

Акаунт: Получаване на токена на акаунта

Връща токена на акаунта. Токенът се използва в почти всички API-та.

Не е необходимо да извиквате това API, освен ако не искате да обновите токена. Моля, не извиквайте това API повече от 5 пъти в рамките на един час и не повече от 30 пъти на ден.

URL и метод

Получаване на токена на акаунта, който се използва във всички API-та.

URL: https://www.iammeter.com/api/v1/user/login

Метод: post

Това API може да бъде тествано онлайн в IAMMETER SwaggerUI get token

Данни

№ параметър забележка пример
1 потребителско име Потребителско име на IAMMETER test
2 парола парола на IAMMETER 123456

Отговор

Стойността на токена се използва във всички API-та по-долу.

{
    "data": {
        "id": 2025,
        "token": "349dfxxxxxxac5169",
        "refreshToken": "8adf75e5da10424985f3b83855133982"
    },
    "successful": true,
    "message": null
}

Директно получаване на токена от уеб системата

Този токен може да бъде прочетен директно и след като влезете в системата.

image-20230921163110697

Електромер: Получаване на последните качени данни и UTC времето

Връща последните качени данни за съответния SN.

Моля, не извиквайте това API повече от 12 пъти в рамките на един час.

URL и метод

Basic(meterdata): https://www.iammeter.com/api/v1/site/meterdata/{sn}

Това API може да бъде тествано онлайн в IAMMETER SwaggerUI

Advanced(meterdata2): https://www.iammeter.com/api/v1/site/meterdata2/{sn}

Това API може да бъде тествано онлайн в IAMMETER SwaggerUI meterdata и IAMMETER SwaggerUI meterdata2

Метод: GET

Ограничение: моля, не отправяйте заявки към това API повече от 288 пъти на ден (интервал от 5 минути).

Разликата между basic и advanced:

Basic: без PF (фактор на мощността)

Advanced: с PF (фактор на мощността)

Параметри

Име Тип Пример
Token String xxx задължителен
rtctime string 2025-6-16 незадължителен

Отговор: еднофазен - meterdata (без фактор на мощността)

дефиниция на стойностите: напрежение, ток, активна мощност, внесени kWh, изнесени 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
}

Отговор: еднофазен - meterdata2 (с фактор на мощността)

дефиниция на стойностите: напрежение, ток, активна мощност, фактор на мощността, внесени kWh, изнесени kWh.

Признаваме, че поставянето на фактора на мощността между активната мощност и внесената енергия не е оптимално, но текущият формат вече е устроен по този начин — моля, имайте предвид това подреждане

{
    "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
}

Отговор: трифазен - meterdata (без фактор на мощността)

Трите масива в values представляват фаза A, фаза B и фаза C.

дефиниция на стойностите: напрежение, ток, активна мощност, внесени kWh, изнесени 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
}

Отговор: трифазен - meterdata2 (с фактор на мощността)

Дефиниция на елементите: напрежение, ток, активна мощност, фактор на мощността, внесени kWh, изнесени 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
}

Пример (получаване на последната качена стойност)

image-20230921164457116

Пример (получаване на стойността близо до определено RTC време)

RTC (Real-Time Clock, часовник в реално време) също е параметър в HTTP GET заявката, както е показано по-долу:

https://www.iammeter.com/api/v1/site/meterdata/59C9AB8D?token=336c9cbebcbf49139f0be060cc7ba7fd&rtctime=2025-6-16

Тази заявка ще върне качената стойност от електромера, най-близка до указаната дата (2025-6-16), тоест най-близкия записан момент от време.

Електромер: Получаване на историческите записи

Забележка: тези API-та са същите като в предходната глава, само че са добавени още параметри

Връща историческите данни за зададения интервал и времеви диапазон.

  • времеви диапазон: последният месец
  • максимален обем данни: 2000 записа

Моментните данни са с интервал от 1 минута. Това прави 60*24=1440 записа на ден. Ако заявите историческите данни с интервал от 1 минута, ще получите данни само за 1.39 (2000/1440) дни. Но ако заявите данните с интервал от 5 минути, ще получите данни за почти 7 дни.

URL и метод

Basic(meterdatalist):https://www.iammeter.com/api/v1/site/meterdatalist/

**Advanced(meterdatalist2):**https://www.iammeter.com/api/v1/site/meterdatalist2/{sn}

Разликата между basic и advanced:

Basic: без PF (фактор на мощността)

Advanced: с PF (фактор на мощността)

Това API може да бъде тествано онлайн в IAMMETER SwaggerUI meterdata и IAMMETER SwaggerUI meterdata2

Параметри

Име Тип Пример
Token String xxx задължителен
interval number 300 задължителен, единица: секунда
startTime string 2023-09-01 задължителен
endTime string 2023-09-07 задължителен

Отговор: еднофазен - meterdatalist

Данни:[напрежение, ток, мощност, внесена енергия, изнесена енергия, UTC време, местно време]



{
    "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
}

Отговор: трифазен - meterdatalist

{
    "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
}

Отговор: трифазен - meterdatalist2

{
    "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
}

Пример

https://www.iammeter.com/api/v1/Site/MeterDataList/{yourSN}?token={yourToken}&startTime=2023-09-01&endTime=2023-09-07&interval=300

image-20230926150649591

Електромер: Анализ на отчитанията на мощността

Връща резултата от анализа на мощността за указания период.

Моля, не извиквайте това API повече от 5 пъти на ден.

URL и метод

URL:https://www.iammeter.com/api/v1/site/powerAnalysis

Метод: get

Ограничение: моля, не отправяйте заявки към това API за един SN повече от 5 пъти на ден.

Параметри

Име Тип Пример
sn String xxx задължителен
startTime String 2023-09-01 незадължителен
endTime String 2023-09-07 незадължителен

Забележка:

  1. Максималният времеви диапазон е 7 дни в рамките на последния месец.
  2. Времевият параметър е незадължителен; ако не го използвате, API-то ще върне резултата за последните 7 дни.

Отговор

average: средно отчитане на мощността в този времеви диапазон.

averageDaytime: средно отчитане на мощността през светлата част на деня (8:00–20:00) в този времеви диапазон.

minimum: минимално отчитане на мощността в този времеви диапазон.

maximum: максимално отчитане на мощността в този времеви диапазон.

{
    "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
}

Пример

Връща резултата от анализа на мощността за последните 7 дни.

image-20230921163444898

Връща резултата от анализа на мощността за указания ден

https://www.iammeter.com/api/v1/site/powerAnalysis?token={YourToken}&sn={YourSN}&starttime=2023-09-21&endtime=2023-09-21

image-20230922101047074

Електромер: Анализ на офлайн статуса

Връща статуса на прекъсване на връзката за съответния SN през указания период.

Моля, не извиквайте това API повече от 5 пъти на ден.

URL и метод

URL:https://www.iammeter.com/api/v1/site/offlineAnalysis

Метод:Get

Ограничение: моля, не отправяйте заявки към това API за един SN повече от 5 пъти на ден.

Параметри

Име Тип Пример
sn String xxxx задължителен
startTime String 2023-09-01 незадължителен
endTime String 2023-09-07 незадължителен
interval(единица: минута) Number 5 незадължителен

Забележка:

  1. Максималният времеви диапазон е 7 дни в рамките на последния месец.
  2. Времевият параметър е незадължителен; ако не го използвате, API-то ще върне резултата за последните 7 дни.
  3. Ако не укажете интервала, по подразбиране се използват 5 минути.

Отговор

В този времеви диапазон има общо 10080 минути.

Общото време офлайн в този диапазон е 906 минути.

Прекъсванията, по-дълги от 5 минути, са изброени в масива.

{
    "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
}

Пример

Връща резултата от офлайн анализа за указания ден

https://www.iammeter.com/api/v1/site/offlineAnalysis?token={YourToken}&sn={YourSN}&starttime=2023-09-21&endtime=2023-09-21

image-20230922101653639

Акаунт: извличане на последните данни от всички електромери в един акаунт

Връща последната стойност на всички електромери в този акаунт.

URL и метод

URL:https://www.iammeter.com/api/v1/site/metersdata?token=xxx

Метод:Get

Ограничение: моля, уверете се, че не отправяте заявки към това API по-често от веднъж на всеки 5 минути.

Параметри

Име Тип Пример
Token String xxx задължителен

Отговор

{
    "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
}

Пример

image-20240222114848312

Място: Връщане на почасовите или дневните kWh данни за всеки тип потребление.

Извличане на почасовите/дневните kWh стойности за производството на инвертора и обмена с мрежата (както изнесена, така и внесена енергия)

URL и метод

URL:https://www.iammeter.com/api/v1/site/energyhistory/?startTime={2024-05-05}&endTime={2024-07-07}&groupby=&Token={2be6d1xxxxxxcc688}

Метод: get

Ограничение:

groupby = day : данни за 90 дни (90 записа)

groupby = hour : данни за 7 дни (168 записа)

Параметри

Име Тип Описание Пример
Token String токен на акаунта xxx задължителен
place_ID number ID на мястото задължителен
startTime string начално време на връщаните от това API данни 2023-09-01 задължителен
endTime string крайно време на връщаните от това API данни 2023-09-07 задължителен
groupby enum избор на интервала на връщаните данни (час/ден) day/hour задължителен

Place_ID: My Places->Edit

place_id

Отговор: еднофазен

place_id:1360

startTime=2024-05-05

endTime=2024-05-07

groupby=day

https://www.iammeter.com/api/v1/site/energyhistory/1360?startTime=2024-05-05&endTime=2024-05-07&groupby=day&Token=f7eba1ac8c194b3fbc8e79b8af0adb72

{
	"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

https://www.iammeter.com/api/v1/site/energyhistory/2393?startTime=2024-05-05&endTime=2024-05-07&groupby=day&Token=f7eba1ac8c194b3fbc8e79b8af0adb72

{
	"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

https://www.iammeter.com/api/v1/site/energyhistory/2393?startTime=2024-05-05&endTime=2024-05-07&groupby=day&Token=f7eba1ac8c194b3fbc8e79b8af0adb72

{
	"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
}

Референции

API на WiFi електромера

Какви възможности предлага IAMMETER?

Кой тип електрически измервателен уред е най-подходящ за вашите нужди?

Как да намерите подходящия електромер според вашите изисквания

Използвайте трифазния електромер по начина, който предпочитате

Трифазен WiFi електромер

Нагоре