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

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


использование_преобразований_map

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
использование_преобразований_map [2025/04/06 18:41]
Admin
использование_преобразований_map [2025/04/06 23:02] (текущий)
Admin [Шаблон "cmd":"fan"]
Строка 9: Строка 9:
 Первое место, где используются преобразования - это интеграция Modbus v2. см [[настройка_modbus]] это обьясняется тем, что в Modbus все взаимодействие с устройством происходит через регистры, в которые пишутся, либо, из которых считываются числовые значения. Первое место, где используются преобразования - это интеграция Modbus v2. см [[настройка_modbus]] это обьясняется тем, что в Modbus все взаимодействие с устройством происходит через регистры, в которые пишутся, либо, из которых считываются числовые значения.
  
 +==== Типы преобразований ====
 Предусмотрено два типа преобразований - **преобразования команды** и **преобразование значения** Предусмотрено два типа преобразований - **преобразования команды** и **преобразование значения**
  
Строка 54: Строка 55:
 любые другие значения будут проигнорированы. Преобразование при этом будет считаться не успешным. и будет выполнен "сценарий по умолчанию", заданный в параметре "def" обьекта "map" любые другие значения будут проигнорированы. Преобразование при этом будет считаться не успешным. и будет выполнен "сценарий по умолчанию", заданный в параметре "def" обьекта "map"
  
 +==== Сценарии преобразования по умолчанию ====
 Этот параметр (используется только для обратных преобразований modbus) применяется в том случае, если для считанного из регистра значения не удалось применить преобразование. В этом случае, можно использовать значение, считанное из иного регистра.  Этот параметр (используется только для обратных преобразований modbus) применяется в том случае, если для считанного из регистра значения не удалось применить преобразование. В этом случае, можно использовать значение, считанное из иного регистра. 
  
Строка 89: Строка 91:
 </code> </code>
  
-<code> 
-"on":{"reg":41,"type":"u8l","id":1,"map":{"cmd":[["OFF",0],["ON",1],["AUTO",1],["HEAT",1],["FAN_ONLY",1]]}}, 
-</code> 
  
 ===== Ограничения диапазона при линейном преобразовании значений ===== ===== Ограничения диапазона при линейном преобразовании значений =====
Строка 110: Строка 109:
  
 NEW NEW
-если входное значение не укладывается в указанные границы - преобразование считается не успешным+если входное значение не укладывается в указанные границы - преобразование считается не успешным. То есть в примере выше, если на вход преобразования придет число 0 или 6 то оно не сработает.
  
-можно определить значения, которые будут являться результатом преобразования если. входное значение меньше минимума или больше максимума диапазона преобразования +можно определить значения, которые будут являться результатом преобразования если. входное значение меньше минимума или больше максимума диапазона преобразования 
- +
  
 <code> <code>
-"fanoff":{"coil":0,"map":{"cmd":[1,["OFF",0]],"val":[0,0,0,0,1,1,null,null], "id":7}},+"val":[вход_минвход_максвыход_минвыход_максвход<мин_прямоевых<мин_обратноевход>макс_прямоевых>макс_обратное]
 </code> </code>
 +
 +соответственно, используя данный синтаксис, можно доработать пример выше таким образом, что значение 0 будет транслироваться в 0 как в прямом так и в обратном направлении 
 +
  
 <code> <code>
-"fanspeed":{"reg":42,"type":"u8l","id":7,"map":{"cmd":"fan"}}+"val":[151255, 00]
 </code> </code>
  
-<code>   +Параметры подставляемые при срабатывании ограничений не обязательны. Если какие-то требуется пропустить - можно указать null
-"$rain":{"reg":67,"type":"u8l", "map":{"cmd":[null,["OFF",10],["ON",11]],"val":null}},                          +
-</code>+
  
 +===== Предопределенные шаблоны преобразований =====
  
 +==== Шаблон "cmd":"fan" ====
 +
 +данный шаблон в случае прямого преобразования позволяет провести трансляцию стандартных команд OFF, LOW, MEDIUM, HIGH в значения 0, 20, 128, 255 соответственно 
 +
 +Для обратного преобразования: 
 +Значения 0, 1-127, 128-254, 255 преобразуются в OFF, LOW, MEDIUM, HIGH
 +
 +
 +
 +<code>
 +"fanspeed":{"reg":42,"type":"u8l","id":7,"map":{"cmd":"fan"}}, 
 +</code>
  
использование_преобразований_map.1743954075.txt.gz · Последнее изменение: 2025/04/06 18:41 — Admin