UMDK-M230

Осуществляет работу с электросчетчиком «Меркурий 230» компании Инкотекс, подключенному по интерфейсу физического уровня RS485.

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

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

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

Команды

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

«SERIAL» - сетевой адрес электросчетчика.

Сетевой адрес - это три последние цифры заводского номера или две последние цифры в случае если три последние образуют число более 240.

Пример: Заводской номер - № 28816935-17г., то сетевой адрес «SERIAL» = 35.

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

IFACE = 485 - установка интерфейса RS485.

IFACE = can - установка интерфейса CAN.
mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "iface IFACE"

Установка интерфейса работы CAN :

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "iface can"

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

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

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

Реализовано получение прямой/обратной активной(А+ / A-) и прямой/обратной реактивной(R+ / R-) энергии.

В некоторых модификация не поддерживается подсчет обратной активной и реактивной энергий.

Чтение значений энергии производится по каждому тарифу в отдельности!

«TARIFF» - номер тарифа.

TARIFF = 00 - суммарные значения накопленной энергии(суммы по всем тарифам).

TARIFF = 01, 02 ... - значения накопленной энергии по первому, второму и т.д. тарифу.

Чтение накопленной энергии от сброса:

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

Чтение накопленной энергии за текущий год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value current_year TARIFF SERIAL"

Чтение накопленной энергии за предыдущий год:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value last_year TARIFF SERIAL"

Чтение накопленной энергии за месяц «MM»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value month MM TARIFF SERIAL"

Чтение накопленной энергии за текущие сутки:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value current_day TARIFF SERIAL"

Чтение накопленной энергии за предыдущие сутки:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get value last_day TARIFF SERIAL"

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

Запрашивает состояние тарификатора(режим и текущий тариф):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get mode_tariff SERIAL"

Устанавливает режим тарификатора «MODE»(one - однотарифный, multi - многотарифный):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_tariff MODE SERIAL"

Устанавливает однотарифный режим:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_tariff one SERIAL"

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

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

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

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set holidays 01 01, 23 02, 08 03, 09 05 SERIAL"

Запрашивает список праздничных дней за месяц «MM»(01 - январь, 12 - декабрь):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get holidays MM SERIAL"

Запрашивает список праздничных дней декабрь:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get holidays 12 SERIAL"

Работа с тарифным расписанием

NB: 01 - Понедельник,... 06 - Суббота, 07 - Воскресение, 08 - Праздник

Запрашивает тарифное расписание за день «DD» месяца «MM»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get schedule MM DD SERIAL"

Запрашивает тарифное расписание за вторник октября:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get schedule 10 02 SERIAL"

При установке тарифного расписания необходимо указать:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set schedule «RANGE» «DAYS» «NUM» «Тt Hh:Mm» SERIAL"

NB: При установке тарифного расписания первая точка перехода всегда должна содержать время 00:00! Максимальное количество точек - восемь.

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

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

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

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

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

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

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

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

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

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set timedate HH MM SS DW DD MM YY SN SERIAL"

NB: дни недели: 01 - Понедельник,... 07 - Воскресение. Признак сезона: 1 - зима, 0 - лето.

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

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set timedate 15 47 31 07 05 11 17 00 SERIAL"

Работа с нагрузкой

NB: Для управления нагрузкой обязательно надо установить режим импульсного выхода в состояние « вкл/выкл нагрузки »!

Утанавливает режим импульсного выхода OUTPUT( load - вкл/выкл нагрузки, telemetry - телеметрия):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_pulse OUTPUT SERIAL"

Утанавливает режим импульсного выхода в состотяние вкл/выкл нагрузки:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_pulse load SERIAL"

Утанавливает режим управления нагрузкой «SWITCH»(on - вкл, off - выкл):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set load SWITCH SERIAL"

Утанавливает режим управления нагрузкой «Нагрузка включена»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set load on SERIAL"

Запрашивает текущее состояние управления нагрузкой:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get load SERIAL"

Работа с лимитами мощности и энергии

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

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

Устанавливает значение лимита мощности «VALUE»(в Ваттах):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set power_limit VALUE SERIAL"

Устанавливает значение лимита мощности, равное 500 Вт:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set power_limit 500 SERIAL"

Устанавливает режим конроля превышения лимита мощности «SWITCH»(on - вкл, off - выкл):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_power_limit SWITCH SERIAL"

Устанавливает режим конроля превышения лимита мощности в состояние «Включен»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_power_limit on SERIAL"

NB: Запрос и установка значений лимитов энергии осуществляется по каждому тарифу в отдельности.

Запрашивает текущее значение лимита энергии(в киловаттах) по тарифу «TARIFF»(01 - тариф №1,... 04 - тариф №4):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get energy_limit TARIFF SERIAL"

Запрашивает текущее значение лимита энергии по тарифу 02:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "get energy_limit 02 SERIAL"

Устанавливает значение лимита энергии «VALUE»(в Ваттах) по тарифу «TARIFF»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set energy_limit TARIFF VALUE SERIAL"

Устанавливает значение лимита энергии, равное 5 Вт по тарифу 01:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set energy_limit 01 5 SERIAL"

Устанавливает режим конроля превышения лимита энергии «SWITCH»(on - вкл, off - выкл):

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_energy_limit SWITCH SERIAL"

Устанавливает режим конроля превышения лимита энергии в состояние «Включен»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/m230" -m "set mode_energy_limit on SERIAL"

Сообщения

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

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

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

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

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

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

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "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/m230
{
    "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/m230
{
    "data": {
        "Address": SERIAL,
        "msg": "error"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При некорректных параметрах команды электросчетчик отправит сообщение «Invalid parameter»:

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

При отсутствии подключения с электросчетчиком модуль отправит сообщение «No response»:

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

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

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

Получение серийного номера SERIAL_NUMBER и даты выпуска DATE электросчетчика с адресом «SERIAL»::

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

Сообщение при получении показаний (кВт*ч) электросчетка:

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "data": {
        "Address": SERIAL,
        "A+": 0.00, 
        "A-": 0.00, 
        "R+": 0.00, 
        "R-": 0.00
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

В случае отсутствия у электросчетчика учета обратной энергии:

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "data": {
        "Address": SERIAL,
        "A+": 0.00, 
        "A-": "N/A", 
        "R+": 0.00, 
        "R-": "N/A"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

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

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

Сообщение при получении значения лимита энергии (кВт*ч) электросчетка:

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

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

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

Сообщение при получении списка праздничных дат в заданном месяце:

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

Сообщение при отсутствии праздничных дней в месяце:

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

Сообщение при получении тарифного расписания:

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

Сообщение при получении данных о текущем состоянии управления нагрузкой.

Контроль за лимитом энергии запрещен, контроль за лимитом мощности разрешен, режим импульсного выхода - телеметрия, управление нагрузкой отключено:

devices/lora/NNNNNNNNNNNNNNN/m230
{
    "data": {
        "Address": SERIAL,
        "Energy limit control": "Not Allowed", 
        "Power limit control": "Allowed", 
        "Pulse output mode": "Telemetry", 
        "Load control": "Off"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Подключение

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

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

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