UMDK-M200

Осуществляет работу с электросчетчиком «Меркурий 203.2Т» и «Меркурий 200.02» компании Инкотекс.

«Меркурий 203.2Т» подключен по интерфейсу физического уровня RS485. Использует выходы DIO25 и DIO26 для приема и передачи, а также DIO30 и DIO29 для сигналов RE и DE драйвера RS485.

«Меркурий 200.02» подключен по интерфейсу физического уровня CAN. Использует выходы DIO25 и DIO26 для приема и передачи.

Позволяет настроить параметры электросчетчика, а также получить необходимые данные.

Модуль доступен только в коммерческой версии прошивки и не распространяется в исходных кодах.

Команды

NB: В конце каждой команды необходимо указать адрес устройства, которому адресуется команда!
Лидирующие нули в адресе опускаются.

Для счетчика «Меркурий 203.2Т» - это весь заводской серийный номер.

    Пример: Электросчетчик № 15000454-10г., соответственно адрес устройства «15000454».

Для счетчика «Меркурий 200.02» - это последние шесть цифр заводского серийного номера.

    Пример: Электросчетчик № 29037622-10г., соответственно адрес устройства «037622».

Установка интерфейса «IFACE» работы с электросчетчиком:

IFACE = 485 - установка интерфейса RS485 для работы с электросчетчиками «Меркурий 203.2Т».

IFACE = can - установка интерфейса CAN для работы с электросчетчиками «Меркурий 200.02».
mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "iface IFACE"

Установка интерфейса RS485 работы с электросчетчиком «Меркурий 203.2Т»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "iface 485"

Устанавливает новый адрес «35260025» для устройства с текущим адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set address 35260025 SERIAL"

Получение служебной информации электросчетчика

Запрашивает серийный номер устройства с адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get serial SERIAL"

Команды на получение последнего вскрытия/закрытия крышки устройства не поддерживаются на счетчиках «Меркурий 200.02»! Запрашивает время и дату последнего вскрытия крышки устройства с адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time open SERIAL"

Запрашивает время и дату последнего закрытия крышки устройства с адресом «SERIAL»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time close SERIAL"

Запрашивает время и дату последнего отключения напряжения:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time switch_off SERIAL"

Запрашивает время и дату последнего включения напряжения:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get time switch_on SERIAL"

Команда на получение времени наработки электросчетка не реализованнно на счетчиках «Меркурий 200.02»! Запрашивает время(в часах) наработки электросчетка:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get worktime SERIAL"

Получение электрических параметров электросчетчика

Запрашивает текущие значения напряжения(В), тока(А), мощности(Вт):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get uip SERIAL"

Запрашивает текущее значение мощности(кВт) в нагрузке электросчетка:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get power_current SERIAL"

Запрашивает значение лимита мощности(кВт) электросчетка:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get power_limit SERIAL"

Работа с тарифами

Запрашивает количество действующих тарифов:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get number tariffs SERIAL"

Устанавливает количество действующих тарифов, равное «N»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set number tariffs N SERIAL"

Устанавливает количество действующих тарифов, равное двум:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set number tariffs 02 SERIAL"

Получение показаний электросчетчика

Получение суммарных показаний(от сброса электросчетчика):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value total SERIAL"

Получение показаний на начало текущего месяца:

NB: Данная команда иногда выдает некорректные значения. Тест проводился на электросчетчиках «Меркурий 200.02» и «Меркурий 203.2Т». 
Это не является ошибкой прошивки модуля UMDK-M200, вероятно некорректно реализован ответ со стороны электросчетчика на данную команду.
mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value current SERIAL"

Получение показаний на начало месяца «Mm»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value month Mm SERIAL"

Получение показаний на начало июня:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get value month 06 SERIAL"

Работа с часами электросчётчика

Запрашивает внутренние часы и дату электросчетчика:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get timedate SERIAL"

Устанавливает часов и даты (DW — день недели, HH:MM:SS часов:минут:секунд DD/MM/YY день/месяц/год):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set timedate DW HH:MM:SS DD/MM/YY SERIAL"
NB: дни недели: 00 - Воскресение, 01 - Понедельник,... 06 - Суббота, 07 - Праздник.

Устанавливает внутренние часы и дату электросчетчика « Вскр. 15:47:31 05/11/17 »:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set timedate 00 15:47:31 05/11/17 SERIAL"
NB: 00 - Воскресение, 01 - Понедельник,... 06 - Суббота.

Работа с праздничными днями

Передача на счётчик списка из N праздничных дней парами «день-месяц»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set holidays N D1.M1 D2.M2 ... SERIAL"

Устанавливает четыре праздничных дня в году: 1 января, 23 февраля, 8 марта и 9 мая:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set holidays 04 01.01 23.02 08.03 09.05 SERIAL"
NB: Максимум 16 праздничных дней в году.

Установка тарифного расписания

Запрос текущего расписания (M — месяц, D — день недели, SERIAL — серийный номер счётчика):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get schedule M D SERIAL"

Запрашивает тарифное расписание в феврале по субботам:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "get schedule 01 06 SERIAL"
NB: 00 - Воскресение, 01 - Понедельник,... 06 - Суббота, 07 - Праздник.

NB: 01 - Январь, 02 - Февраль, ... 12 — Декабрь.

Необходимо указать:

Устанавливает «на весь год все будни на 2 точки переключения «Т1 12:30» «Т2 23:30»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set schedule year weekdays 02 01 12:30 02 23:30 SERIAL"

Устанавливает «в марте все дни на 2 точки переключения «Т1 14:00» «Т2 01:30»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set schedule month 03 all 02 01 14:00 02 01:30 SERIAL"

Устанавливает «на весь год все понедельники на 2 точки переключения «Т1:12:30» «Т2:23:30»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m200" -m "set schedule year day 01 02 01 12:30 02 23:30 SERIAL"

Сообщения

Общие сообщения

При вводе некорректной (несуществующей) команды будет получено сообщение «invalid command»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "msg": "invalid command"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При успешном выполнении команды модуль отвечает сообщением «ok»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "msg": "ok"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При некорректных параметрах запроса будет получено сообщение «Error»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "msg": "error"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщения при работе с электросчнетчиком

NB: В каждом сообщении присутствует адрес электросчетчика, с которым на данный момент осуществляется работа.

При успешном выполнении команды электросчётчик возвращает свой адрес «SERIAL» и отвечает сообщением «Ok»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "ok"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При некорректных параметрах запроса будет получено сообщение «Error»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "error"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При отсутствии подключения с электросчетчиком, при отсутствии устройства с запрашиваемым адресом, а также при посылке команды, не реализованной в данном счетчике, будет получено сообщение «no response»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "no response"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При посылке команды, не поддерживаемой данным устройством, будет получено сообщение «Not support»:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "msg": "Not support»"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе серийного номера электосчетчика сообщение будет следующее:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Serial number": SERIAL
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе значений времени наработки (в часах) сообщение будет следующее:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Working time under voltage": 17036,
        "Working time without voltage": 35798
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе времени вскрытия/закрытия крышки устройства и включения/отключения напряжения:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Day": "Fri",
        "Time": "11:33:10",
        "Date": "30/01/17"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе получения текущих значений напряжения (В), тока (А) и мощности (Вт):

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Voltage": 229.6, 
        "Current": 3.07, 
        "Power": 765
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе получения текущего значения мощности (кВт) в нагрузке:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Current power": 0.77
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе получения значения лимита мощности(кВт):

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Power limit": 99.99
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При запросе количества действующих тарифов (штук):

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Tariffs": 4
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Сообщение при получении показаний (кВт*ч) электросчетчика, передаются как потарифные, так и суммарные значения:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "T01": 3.21, 
        "T02": 0.15, 
        "T03": 0.0, 
        "T04": 0.0, 
        "Total": 3.36
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Ответ на запрос получения внутренних часов и даты счетчика:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "Day": "Fri",
        "Time": "01:33:10",
        "Date": "29/01/17"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Ответ на запрос получения тарифного расписания:

devices/lora/NNNNNNNNNNNNNNN/m200
{
    "data": {
        "Address": SERIAL,
        "T01": "11:00",
        "T02": "15:00",
        "T01": "23:30"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Подключение

К порту UART через адаптер интерфейса (RS485 или CAN).

Распространение

Модуль входит в прошивку commercial и не распространяется в исходных кодах.