Извините, ваш браузер не поддерживает JavaScript!
Войти

Как эффективнее использовать IAMMETER-cloud с помощью API

Предварительные условия

IAMMETER-cloud предоставляет некоторые API, и разработчики могут использовать эти 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 user name Имя пользователя IAMMETER test
2 password Пароль IAMMETER 123456

Ответ

Значение токена будет использоваться во всех API ниже.

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

Получение токена напрямую из веб-системы

Этот токен также можно прочитать непосредственно после входа в систему.

image-20230921163110697

Энергомонитор: Получение последних загруженных данных и времени UTC

Получение последних загруженных данных по указанному SN.

Пожалуйста, не вызывайте этот API более 12 раз в час.

URL и метод

Базовый (meterdata): https://www.iammeter.com/api/v1/site/meterdata/{sn}

Этот API можно протестировать онлайн в IAMMETER SwaggerUI

Расширенный (meterdata2): https://www.iammeter.com/api/v1/site/meterdata2/{sn}

Этот API можно протестировать онлайн в IAMMETER SwaggerUI meterdata и IAMMETER SwaggerUI meterdata2

Метод: GET

Лимит: пожалуйста, не отправляйте запросы к этому API более 288 раз в день (интервал 5 минут).

Разница между базовым и расширенным:

Базовый: без PF (коэффициента мощности)

Расширенный: с PF (коэффициентом мощности)

Параметры

Имя Тип Пример
Token String xxx обязательно
rtctime string 2025-6-16 опционально

Ответ: однофазный - meterdata (без коэффициента мощности)

values definition: 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
}

Ответ: однофазный - meterdata2 (с коэффициентом мощности)

values definition: voltage, current, active power, power factor, imported kWh, exported 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.

values definition: 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
}

Ответ: трёхфазный - meterdata2 (с коэффициентом мощности)

Element definition: 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
}

Пример (получение последнего загруженного значения)

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 и метод

Базовый (meterdatalist): https://www.iammeter.com/api/v1/site/meterdatalist/{sn}

Расширенный (meterdatalist2): https://www.iammeter.com/api/v1/site/meterdatalist2/{sn}

Разница между базовым и расширенным:

Базовый: без PF (коэффициента мощности)

Расширенный: с 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

Data:[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
}

Ответ: трёхфазный - 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. Если вы не укажете interval, по умолчанию используется 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

Место: Возврат почасовых или дневных данных кВт·ч для каждого типа потребления

Получение почасовых/дневных значений кВт·ч для выработки инвертора и обмена с сетью (как экспорт, так и импорт)

URL и метод

URL: https://www.iammeter.com/api/v1/site/energyhistory/{plcae_ID}?**startTime**={2024-05-05}&**endTime**={2024-07-07}&**groupby**={day}&**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: Мои места->Редактировать

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?

Какой тип электросчётчика лучше всего подходит для ваших нужд?

Как найти энергомонитор в соответствии с вашими требованиями

Используйте трёхфазный энергомонитор так, как вам удобно

3-фазный WiFi энергомонитор

Наверх