Инструменты пользователя

Инструменты сайта


конфигурирование

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
конфигурирование [2023/10/21 23:37]
Admin [Основные разделы конфигурационного файла]
конфигурирование [2023/10/22 01:27] (текущий)
Admin [Настройка объектов (items)]
Строка 1: Строка 1:
 ==== Основные разделы конфигурационного файла ==== ==== Основные разделы конфигурационного файла ====
-Конфигурационный файл позволяет настроить контроллер lighthub конкретно для выполнения Вашей задачи. Может быть загружен в контроллер разными способами - портал lazyhome.ru/portal, веб-интерфейс контроллера, http API, плагин бруазера. +Конфигурационный файл позволяет настроить контроллер lighthub конкретно для выполнения Вашей задачи. Может быть загружен в контроллер разными способами - портал lazyhome.ru/portal, веб-интерфейс контроллера, http API, плагин браузера. 
  
 Подробности тут [[как_lighthub_работает_с_файлом_конфигурации]] Подробности тут [[как_lighthub_работает_с_файлом_конфигурации]]
Строка 8: Строка 8:
  
 ^имя ^ назначений ^ параметры ^ пример ^ ^имя ^ назначений ^ параметры ^ пример ^
-|mqtt| настройка параметров MQTT|[имя_контроллера,ip_брокера,логин,пароль] см [[работа_с_mqtt]]|"mqtt":["lighthub-07","m2m.eclipse.org"]| +|mqtt| настройка параметров MQTT|[имя_контроллера,ip_брокера,логин,пароль] см [[работа_с_mqtt]] NB: пароль, также, может быть определен через [[CLI интерфейс]], чтобы не компрометировать в открытом файле конфигурации|"mqtt":["lighthub-07","m2m.eclipse.org"]| 
-|ow| настройка сенсоров 1-wire|в качестве параметра - JSON объект, содержащий в качестве ключа адрес термометра а в качестве значения - обьект, определяющий куда передать показания термометра|  "ow":{"284811170400005B":{"emit":"t_entr"},"28FFF95533160459":{"emit":"t_bath1","item":"h_bath1"},}|+|ow| настройка сенсоров 1-wire|в качестве параметра - JSON объект, содержащий в качестве ключа адрес термометра а в качестве значения - execObj (см ниже), определяющий куда передать показания термометра| [[конфигурирование#настройка_температурных_датчиков_1-wire]]|
 |syslog|Настройка логгирования контроллера через UDP syslog на сторонний сервер|первый элемент массива - ip адрес сервера логгирования, второй (опционально) порт|"syslog":["192.168.88.2"]| |syslog|Настройка логгирования контроллера через UDP syslog на сторонний сервер|первый элемент массива - ip адрес сервера логгирования, второй (опционально) порт|"syslog":["192.168.88.2"]|
 |dmx|Настройка DMX выхода|[кол-во каналов], для mega2560 возможна такая настройка: [выходной_pin_DMX, кл-во-каналов]|"dmx":[80],| |dmx|Настройка DMX выхода|[кол-во каналов], для mega2560 возможна такая настройка: [выходной_pin_DMX, кл-во-каналов]|"dmx":[80],|
 +|dmxin|настройка входа DMX|масссив названий каналов типа DMXRGBW|"dmxin":["led5","led6","led7","led8"]|
 |artnet|Настройка Artnet шлюза|[начальный DMX канал (соответствует 1-му каналу artnet),конечный DMX канал|"artnet":[48,67]| |artnet|Настройка Artnet шлюза|[начальный DMX канал (соответствует 1-му каналу artnet),конечный DMX канал|"artnet":[48,67]|
 |topics|задает настройки топиков MQTT.|root: корневой топик (myhome по умолчанию), bcst: броадкаст топик (in по-умолчанию) | "topics":{"root":"flat2"} см [[работа_с_mqtt#пример_настройки_mqtt_в_json_конфигурации]]| |topics|задает настройки топиков MQTT.|root: корневой топик (myhome по умолчанию), bcst: броадкаст топик (in по-умолчанию) | "topics":{"root":"flat2"} см [[работа_с_mqtt#пример_настройки_mqtt_в_json_конфигурации]]|
Строка 18: Строка 19:
 |items|Основной раздел конфигурации. Задает список обьектов, их настройку и взаимосвязь||описание ниже| |items|Основной раздел конфигурации. Задает список обьектов, их настройку и взаимосвязь||описание ниже|
  
-The example of config files you can find in config folder 
-Note: in real configs comments are not allowed 
-Below is brief explanation of basic configuration values: 
  
 +====Что такое {execObj}====
 +Прежде чем далее описывать структуру файла настройки, необходимо определить такое понятие как {execObj}, которое довольно часто будет использоваться далее.
 +Это JSON объект, или массив JSON обьектов, который может принимать на вход какое-либо значение или команду в унифицированном формате контроллера, а далее, предпринимать с этой информацией какие то действия. А именно:
 +  * Выдавать в MQTT на один или несколько топиков
 +  * Передавать на вход другим объектам контроллера
 +  * Передавать по шине CAN (скоро)
 +
 +параметры:
 +
 +  * emit - MQTT топик в который отправить значение из параметра ecmd (если в параметре отсутствует / он будет дополнен слева префиксом статусного топика)
 +  * item - имя локального устройства из items (может содержать суффикс для указания того, какое именно свойство объекта надо изменить. Например: «lamp/hue» или «lamp/sat»)
 +
 +Примеры:
 +<code>
 +{"emit":"edem/edem3/p_zal3/mode"}
 +[{"emit":"t_bath3","item":"tbath3"},{"item":"p_bedr3/floor_temp"}]
 +</code>
 +
 +====Настройка температурных датчиков 1-wire====
 +формат: "device#":{execObj}
 +
 +Ниже пример конфигурации (в реальном файле конфигурации комментарии не допускаются)
 <code> <code>
 { {
Строка 33: Строка 53:
  
 </code> </code>
 +В данном примере определены два термодатчика. Температура первого будет передаваться в статусный топик myhome/s_out/t_entr, а второго - в топик myhome/s_out/t_bath1 и, кроме того, на внутренний обьект h_bath (по-умолчанию, в суффикс val)
  
 +====Настройка объектов (items)====
 Каждый объект lightHub описывается в разделе items конфигурационного файла в виде JSON массива Каждый объект lightHub описывается в разделе items конфигурационного файла в виде JSON массива
  
 +<code>
 +"itemname":[<#type>,<itemConfig>,<set>,<cmd>]
 +</code>
  
 +Только первые два элемента массива -  тип и конфигурация, являются обязательными
  
 ^номер элемента массива ^назначение^ ^номер элемента массива ^назначение^
Строка 43: Строка 69:
 |3|текущая уставка (int or array of presets)| |3|текущая уставка (int or array of presets)|
 |4|текущая команда| |4|текущая команда|
 + 
  
- 
-первые два элемента массива -  тип и конфигурация, являются обязательными  
- 
- 
-# Item types: 
 ^# типа ^ аббревиатура типа ^ описание ^ конфигурация объекта ^ ^# типа ^ аббревиатура типа ^ описание ^ конфигурация объекта ^
 |0| DMX|DMX out 1-5 ch|стартовый номер DMX канала или массив каналов| |0| DMX|DMX out 1-5 ch|стартовый номер DMX канала или массив каналов|
Строка 58: Строка 80:
 |6| RELAY |ON_OFF relay output|номер пина| |6| RELAY |ON_OFF relay output|номер пина|
 |7| GROUP |Group pseudochannel|массив строк с названиями каналов в группе| |7| GROUP |Group pseudochannel|массив строк с названиями каналов в группе|
-|8| VCTEMP|Vacom PID thermo - regulator (Ventilation set)|| +|8| VCTEMP|Vacom PID thermo - regulator (Ventilation set)|"fm_t":[8,"fm"]
-|9| MBUSVC    |Vacom modbus motor regulator(legacy)|| +|9| MBUSVC    |Vacom modbus motor regulator(legacy)|"fm":[9,[10,"a_ext"]]
-|10|ACHAIER|Air Conditioner Haier||+|10|ACHAIER|Air Conditioner Haier|"ac_3":[10,[<port#>,{"mode":{"emit":"mode"},"speed":{"emit":"speed"},"temp":{"emit":"set"}}]]}|
 |11|SPILED | SPI LED strip|| |11|SPILED | SPI LED strip||
-|12|MOTOR |Motorized air gateway with feedback resistor|| +|12|MOTOR |Motorized air gateway with feedback resistor|"airgate":[12,[<pwm_pin>,<pin>,<pin_feedback>,<feedbackOffVal>,<feedbackOnVal>,<maxMotorTimeMs>]],
-|13|PID   |PID regulator|| +|13|PID   |PID regulator|[ [P,I,D,dT,alarmTO, alarmVal, outMin, outMax],{Output execObj},{Cascade execObj}]
-|14|MBUS  |Universal Modbus channel||+|14|MBUS  |Universal Modbus channel|"t_balk3":[14,[<addr>,<"template">,{<"param1">:{execObj},...}]]|
 |15|UARTBRDG |Bridge between 2 UARTS with reporting PDUs to Wireshark via UDP|| |15|UARTBRDG |Bridge between 2 UARTS with reporting PDUs to Wireshark via UDP||
 |16|RELAYPWM   |Slow PWM relay to control objects with inertia| |16|RELAYPWM   |Slow PWM relay to control objects with inertia|
Строка 70: Строка 92:
 |18|VENTS |Multiroom ventilation set|| |18|VENTS |Multiroom ventilation set||
 |19|ELEVATOR |Reserved|| |19|ELEVATOR |Reserved||
-|20|COUNTER   |Generic counter||+|20|COUNTER   |Generic counter| "pumpctr":[20,[0.02,1.2]],"gasctr":[20,0]|
 |21|HUM  |Humidifier (reserved)|| |21|HUM  |Humidifier (reserved)||
-|22|MERCURY|Mercury energy meter/RS485 interface||+|22|MERCURY|Mercury energy meter/RS485 interface|"merc":[22,[<addr>,9600,"8N1",2,[2,2,2,2,2,2],10000]]|
  
  
Строка 100: Строка 122:
 </code> </code>
  
-===== Inputs configuration chapter =====+===== конфигурирование входов =====
  
 <code> <code>
Строка 138: Строка 160:
 </code> </code>
  
-==== Modbus channel ====+==== Modbus channel v1 ====
  
-CurrentlyLighthub working with Vacom 10 frequency driver (from Danfos) via Modbus RTU and allows control frequency (item type 9)  and  internal PID controller  (item type used for Temperature control) + 
-Additionally, performing polling parameters from Vacom and publishing in JSON format to status MQTT Topic+данный тип канала устарелдрайвер modbus v2 дает существенно бОльшую гибкость, см [[настройка_modbus]]  
 +Тем не. менее, этот тип канала может использоваться для простых применений, когда надо сделать простой проброс канала в регистр устройства Modbus с линейным пересчетом значения. 
 + 
 +===настройка канала типа №4 Modbus Dimmer===
  
 If you just need to write some Modbus register on MQTT command & poll it back with simple scaling  - you can use item type #4 (Modbus dimmer) If you just need to write some Modbus register on MQTT command & poll it back with simple scaling  - you can use item type #4 (Modbus dimmer)
Строка 171: Строка 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" and “MODBUS_SERIAL_BAUD” definitions  in  config.h if you need to change it) +Note: Serial line parameters for itemtype 4 is 9600:8N1 (look for “dimPar" and “MODBUS_SERIAL_BAUD” definitions  in  compilation options if you need to change it)  
 + 
 +=== 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  (item type = 8 - used for Temperature control) 
 +Additionally, performing polling parameters from Vacom and publishing in JSON format to status MQTT Topic
конфигурирование.1697920676.txt.gz · Последнее изменение: 2023/10/21 23:37 — Admin