Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
конфигурирование [2022/06/28 21:38] prizzrak14 |
конфигурирование [2023/10/22 01:27] Admin [Настройка объектов (items)] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ==== Boot sequence: | + | ==== Основные разделы конфигурационного файла |
+ | Конфигурационный файл позволяет настроить контроллер lighthub конкретно для выполнения Вашей задачи. Может быть загружен в контроллер разными способами - портал lazyhome.ru/ | ||
- | * Trying to load JSON config from NVRAM. If config is valid JSON structure - start to operating (to avoid dependance from network and allow local control) | + | Подробности тут [[как_lighthub_работает_с_файлом_конфигурации]] |
- | * Trying to retrieve MAC address, stored in NVRAM. If ok - using retrieved MAC. If not - using CUSTOM_FIRMWARE_MAC (see compilers directives). If not configured - using hardcoded DEFAULT_FIRMWARE_MAC = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0} | + | |
- | * Starting LAN with DHCP or with static ip if configured | + | |
- | * Trying to load JSON config from address " | + | |
- | * After parsing of loaded config, performing re-initialization of objects, except number of DMX channels. There is possible to store loaded config in NVRAM after some testing using " | + | |
- | * Connecting to MQTT server according stored or retrieved config. | + | |
- | * Subscribing to OUTTOPIC (/ | + | |
- | * Unsubscribe from OUTTOPIC, Subscribe for INTOPIC (/ | + | |
- | ==== Operation ==== | + | Конфигурационный файл имеет формат JSON. На первом уровне файла конфигурации задаются следующие объекты: |
- | During normal operation, controller: | + | |
- | * Accepting incoming MQTT message flow and retrieving item name from topic name. For example, / | ||
- | * Controlling items. | ||
- | * Most commands, accepted on INTOPIC passed throw to OUTTOPIC after interpretation. Interpretation is converting of high level commands like ON OFF HALT REST to low-level commands with real values. OUTTOPIC publishing uses " | ||
- | * Polling: Normally, Modbus devices and 1-wire thermometers are polled with reasonable interval. Retrieved values are publishing to OUTTOPIC | ||
- | ==== Useful | + | ^имя ^ назначений ^ параметры ^ пример ^ |
+ | |mqtt| настройка параметров MQTT|[имя_контроллера, | ||
+ | |ow| настройка сенсоров 1-wire|в качестве параметра - JSON объект, | ||
+ | |syslog|Настройка логгирования контроллера через UDP syslog на сторонний сервер|первый элемент массива - ip адрес сервера логгирования, | ||
+ | |dmx|Настройка DMX выхода|[кол-во каналов], | ||
+ | |dmxin|настройка входа DMX|масссив названий каналов типа DMXRGBW|" | ||
+ | |artnet|Настройка Artnet шлюза|[начальный DMX канал (соответствует 1-му каналу artnet), | ||
+ | |topics|задает настройки топиков MQTT.|root: корневой топик (myhome по умолчанию), | ||
+ | |modbus|Задает справочник обьектов modbus|описание тут|[[настройка_modbus]]| | ||
+ | |in|задает настройку входов контроллера|описание тут|[[аналоговые_входы]] [[несколько_кнопок_на_одном_входе]]| | ||
+ | |items|Основной раздел конфигурации. Задает список обьектов, | ||
- | * mac 11: | ||
- | * save - writing currently loaded config from RAM to NVRAM | ||
- | * get < | ||
- | * ip [ip[ dns[ gw[ subnet]]]] - configure and save to NVRAM static ip. if no parameters - DHCP will be used | ||
- | * load - load config from NVRAM | ||
- | * kill - test watchdog timer (normally, causes reboot) | ||
- | CLI commands must be send via serial port with 115200 baud rate / 8N1 params: 8 data bits, no parity bit, 1 stop bit. | + | ====Что такое {execObj}==== |
+ | Прежде чем далее описывать структуру файла настройки, необходимо определить такое понятие как {execObj}, которое довольно часто будет использоваться далее. | ||
+ | Это JSON объект, | ||
+ | * Выдавать в MQTT на один или несколько топиков | ||
+ | * Передавать на вход другим объектам контроллера | ||
+ | * Передавать по шине CAN (скоро) | ||
- | Example via shell: | + | параметры: |
- | < | + | |
- | > stty -f /dev/ | + | * emit - MQTT топик в который отправить значение из параметра ecmd (если в параметре отсутствует |
- | > echo " | + | * item - имя локального устройства из items (может содержать суффикс для указания того, какое именно свойство объекта надо изменить. Например: |
- | > cat /dev/ | + | |
- | </code> | + | |
- | Same can be done via GUI e.g. from Arduino IDE (serial monitor). Serial port must be configured (MacOSX config file ~/ | + | Примеры: |
< | < | ||
- | serial.databits=8 | + | {" |
- | serial.stopbits=1 | + | [{" |
- | serial.parity=N | + | |
- | serial.debug_rate=115200 | + | |
- | serial.line_ending=1 | + | |
</ | </ | ||
- | The example of config files you can find in config folder | + | ====Настройка температурных датчиков 1-wire==== |
- | Note: in real configs comments are not allowed | + | формат: " |
- | Below is brief explanation of basic configuration values: | + | |
+ | Ниже пример конфигурации (в реальном файле конфигурации комментарии не допускаются) | ||
< | < | ||
{ | { | ||
Строка 60: | Строка 53: | ||
</ | </ | ||
- | // Every Lighthub' | + | В данном примере определены два термодатчика. Температура первого будет передаваться в статусный топик myhome/s_out/t_entr, а второго - в топик myhome/ |
- | // item is accessible via mqtt bus as / | + | |
+ | ====Настройка объектов (items)==== | ||
+ | Каждый объект lightHub описывается в разделе items конфигурационного файла в виде JSON массива | ||
< | < | ||
- | #define I_TYPE 0 //Type of item | + | " |
- | #define I_ARG 1 //Chanel-type depended argument or array of arguments (pin, address etc) | + | |
- | #define I_VAL 2 //Latest preset (int or array of presets) | + | |
- | #define I_CMD 3 //Latest CMD received | + | |
- | #define I_EXT 4 // | + | |
</ | </ | ||
- | There are two mandatory elements in item's array: type and address | ||
- | 1-st element of array is item type | ||
- | # Item types: | + | Только первые два элемента массива - тип и конфигурация, |
- | ^# of type ^ ID ^ Note ^ Parameters | + | |
- | |0| DIMMER|DMX out 1 ch|| | + | ^номер элемента массива ^назначение^ |
- | |1| RGBW |DMX out 4 ch|| | + | |1|тип обьекта. Это может быть как число из таблицы ниже так и строка, |
- | |2| RGB |DMX out 3 ch|| | + | |2|конфигурация объекта. В зависимости от его типа это может быть как число так и массив параметров (pins, address etc)| |
- | |3| PWM |PWM output | + | |3|текущая уставка (int or array of presets)| |
- | |4| MODBUS|Modbus AC Dimmer|| | + | |4|текущая команда| |
- | |5| THERMO|Simple ON/OFF thermostat|| | + | |
- | |6| RELAY |ON_OFF relay output|| | + | |
- | |7| GROUP |Group pseudochannel|| | + | ^# типа |
- | |8| VCTEMP|Vacom PID thermo - regulator (Ventilation set)|| | + | |0| DMX|DMX out 1-5 ch|стартовый номер DMX канала или массив каналов| |
- | |9| VC | + | |1| DMXRGBW |
- | |10|AC 10|Air Conditioner Haier|| | + | |2| DMXRGB |
- | |11|SPILED | SPI LED|| | + | |3| PWM |PWM output |
- | |12|MOTOR |Motorized air gateway|| | + | |4| MBUSDIM|Modbus AC Dimmer |
- | |13|PID | + | |5| THERMO|Simple ON/OFF thermostat|номер пина| |
- | |14|MBUS | + | |6| RELAY |ON_OFF relay output|номер пина| |
- | |18|MULTIVENT | + | |7| GROUP |Group pseudochannel|массив строк с названиями каналов в группе| |
+ | |8| VCTEMP|Vacom PID thermo - regulator (Ventilation set)|" | ||
+ | |9| MBUSVC | ||
+ | |10|ACHAIER|Air Conditioner Haier|" | ||
+ | |11|SPILED | SPI LED strip|| | ||
+ | |12|MOTOR |Motorized air gateway | ||
+ | |13|PID | ||
+ | |14|MBUS | ||
+ | |15|UARTBRDG |Bridge between 2 UARTS with reporting PDUs to Wireshark via UDP|| | ||
+ | |16|RELAYPWM | ||
+ | |17|DMXRGBWW | ||
+ | |18|VENTS |Multiroom ventilation set|| | ||
+ | |19|ELEVATOR |Reserved|| | ||
+ | |20|COUNTER | ||
+ | |21|HUM | ||
+ | |22|MERCURY|Mercury energy meter/RS485 interface|" | ||
Строка 107: | Строка 111: | ||
" | " | ||
" | " | ||
- | " | + | " |
// Examples of relay items [type, pin, preset, default command] | // Examples of relay items [type, pin, preset, default command] | ||
" | " | ||
- | " | + | " |
" | " | ||
" | " | ||
Строка 118: | Строка 122: | ||
</ | </ | ||
- | ===== Inputs configuration chapter | + | ===== конфигурирование входов |
< | < | ||
Строка 156: | Строка 160: | ||
</ | </ | ||
- | ==== Modbus channel ==== | + | ==== Modbus channel |
- | Currently, Lighthub working with Vacom 10 frequency driver (from Danfos) via Modbus | + | |
- | Additionally, | + | данный тип канала устарел, драйвер modbus v2 дает существенно бОльшую гибкость, |
+ | Тем не. менее, этот тип канала может использоваться для простых применений, | ||
+ | |||
+ | ===настройка канала типа №4 - Modbus Dimmer=== | ||
If you just need to write some Modbus register on MQTT command & poll it back with simple scaling | If you just need to write some Modbus register on MQTT command & poll it back with simple scaling | ||
Строка 189: | Строка 196: | ||
if mask == -1 (or parameter omitted) - no register polling | if mask == -1 (or parameter omitted) - no register polling | ||
| | ||
- | Note: Serial line parameters for itemtype 4 is 9600:8N1 (look for “dimPar" | + | Note: Serial line parameters for itemtype 4 is 9600:8N1 (look for “dimPar" |
+ | |||
+ | === Vacom 10 frequency driver=== | ||
+ | См. также два устаревших типа Modbus каналов: | ||
+ | |||
+ | Vacom 10 frequency driver (from Danfos) via Modbus RTU and allows control frequency (item type = 9) and Vacom internal PID controller | ||
+ | Additionally, |