Как восстановить забытый пароль администратора IAMMETER
Если вы забыли имя или пароль администратора локального веб-интерфейса счётчика IAMMETER, старые данные не нужны. Подписанное восстановление проверяет право управления устройством, отключает Admin Security и удаляет забытые локальные учётные данные.
Используйте процедуру только при забытых данных. Если они известны, измените их или отключите защиту на вкладке Security. Полная настройка описана в руководстве Local Admin Security.
Содержание страницы
- Как работает восстановление
- Перед началом
- Шаг 1: создание одноразового payload
- Шаг 2: получение подписанного ответа
- Шаг 3: отправка payload и подписи
Вы также можете отправить тот же запрос восстановления со страницы IAMMETER WEM API Test — Admin Security Public. Откройте операцию POST /api/admin/recovery, используйте тот же JSON для восстановления и отправьте его из браузера, который может обратиться к локальному IP-адресу устройства. Запрос Swagger отправляется непосредственно на устройство и не проходит через IAMMETER Cloud.
- Устранение неполадок
- Зачем нужен подписанный одноразовый challenge
- Связанная документация по безопасности
Как работает восстановление
- Счётчик создаёт одноразовый payload, привязанный к устройству.
- IAMMETER Contributor проверяет право аккаунта управлять SN и подписывает именно этот payload.
- Устройство проверяет подпись Ed25519, удаляет учётные данные и отключает Admin Security.
Данные энергии, Wi-Fi и настройки не удаляются. После этого можно задать новые учётные данные.
Перед началом
Нужны локальный доступ к счётчику, его IP, аккаунт IAMMETER с правом управления SN и браузер, открывающий локальный интерфейс. curl требуется только для ручного способа.
Откройте
http://<device-ip>/api/admin/status
и найдите "recoverySupported":1. Если поля нет, установите совместимую прошивку или обратитесь в поддержку.
Challenge содержит одноразовый nonce. Не выключайте устройство и не запрашивайте новый challenge до завершения: новый запрос или перезапуск аннулирует предыдущий payload.
Шаг 1: создайте одноразовый payload восстановления
Откройте
http://<device-ip>/api/admin/recovery_challenge
или выполните:
curl "http://<device-ip>/api/admin/recovery_challenge"
Пример ответа:
{
"successful": 1,
"alg": "ed25519",
"payload": "reset_admin|DEVICE_SN|DEVICE_MAC|ONE_TIME_NONCE"
}
Скопируйте весь payload, не меняя символы, разделители, регистр, SN, MAC или nonce.

Не обновляйте страницу и не вызывайте endpoint повторно: каждый запрос немедленно аннулирует предыдущий challenge.
Шаг 2: получите подписанный ответ
Войдите в IAMMETER Admin Recovery, вставьте payload и отправьте его. После проверки связи SN с аккаунтом сервис вернёт подпись Ed25519 именно для этого payload.

Для curl точно скопируйте подпись. Если браузер видит локальное устройство, продолжите прямо на странице Contributor.
Шаг 3: отправьте payload и подпись устройству
Вариант A: завершить восстановление в браузере
Если компьютер и счётчик находятся в одной сети и локальный интерфейс доступен:
- В Step 3: Send to your device укажите локальный IP.
- Выполните действие на странице для отправки подписанного результата.
- Дождитесь Recovery completed: старые данные удалены, Admin Security отключён.

Вариант B: отправить вручную через curl
curl -X POST "http://<device-ip>/api/admin/recovery" \
-H "Content-Type: application/json" \
-d '{"payload":"<original-payload>","signature":"<signature>"}'
Example:
curl -X POST "http://192.168.1.100/api/admin/recovery" \
-H "Content-Type: application/json" \
-d '{"payload":"reset_admin|DEVICE_SN|DEVICE_MAC|ONE_TIME_NONCE","signature":"128_HEX_CHARACTER_SIGNATURE"}'
Payload должен полностью совпадать с подписанным. После успешной проверки устройство удаляет имя и пароль, отключает Admin Security и аннулирует nonce. При необходимости задайте новые данные на вкладке Security.
Устранение неполадок
Подпись отклонена
Создайте новую пару payload/подпись, не запрашивая между ними новый challenge. Перезапуск, изменение payload, подпись другого устройства или повторное использование уже принятой подписи также приводят к отказу.
Недостаточно памяти
{
"successful": 0,
"message": "low memory, please change to standalone mode",
"freeMemory": 18000,
"minFreeRequired": 28000
}
Перезапустите устройство, создайте новый payload и быстро завершите процедуру. Payload, созданный до перезапуска, недействителен.
Зачем нужен подписанный одноразовый challenge
IAMMETER не предоставляет анонимный сброс. Payload связывает операцию с SN, MAC и случайным nonce; Contributor проверяет права аккаунта; IAMMETER подписывает payload, а прошивка проверяет его встроенным открытым ключом. Новый challenge, перезапуск или успешное восстановление аннулирует nonce и исключает повторное использование.
Связанная документация IAMMETER по безопасности
- Настройка Local Admin Security, защищённых API, Modbus/TCP и SSDP
- Обновление Admin Security и контекст EN 18031-1:2024
Статья EN 18031 описывает работу над безопасностью прошивки; она не утверждает, что сертификат для конкретного счётчика уже выдан. Данные сертификации будут опубликованы отдельно.