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

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


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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
использование_преобразований_map [2025/04/06 19:39]
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>
 +"val":[1, 5, 1, 255, 0, 0]
 +</code>
 +
 +Параметры подставляемые при срабатывании ограничений не обязательны. Если какие-то требуется пропустить - можно указать null
  
 ===== Предопределенные шаблоны преобразований ===== ===== Предопределенные шаблоны преобразований =====
  
-====== Шаблон "cmd":"fan" ======+==== Шаблон "cmd":"fan" ====
  
 данный шаблон в случае прямого преобразования позволяет провести трансляцию стандартных команд OFF, LOW, MEDIUM, HIGH в значения 0, 20, 128, 255 соответственно  данный шаблон в случае прямого преобразования позволяет провести трансляцию стандартных команд OFF, LOW, MEDIUM, HIGH в значения 0, 20, 128, 255 соответственно 
Строка 133: Строка 140:
 "fanspeed":{"reg":42,"type":"u8l","id":7,"map":{"cmd":"fan"}},  "fanspeed":{"reg":42,"type":"u8l","id":7,"map":{"cmd":"fan"}}, 
 </code> </code>
- 
-<code>   
-"$rain":{"reg":67,"type":"u8l", "map":{"cmd":[null,["OFF",10],["ON",11]],"val":null}},                          
-</code> 
- 
- 
  
использование_преобразований_map.1743957581.txt.gz · Последнее изменение: 2025/04/06 19:39 — Admin