Changes

72 bytes removed ,  14:30, 7 November 2025
no edit summary
Line 13: Line 13:  
!Название!!Тип и диапазон!!Описание
 
!Название!!Тип и диапазон!!Описание
 
|-
 
|-
|sub-type||перечисление||sensor – виртуальный датчик<br><br>text – виртуальный датчик текстового типа (UTF8), длина должна быть равна 0<br>long-text – виртуальное поле текстового типа (UTF8), длина должна быть равна 0<br>Устройства, которым нужен скрипт для отслеживания статуса (см. пример под таблицей):<br>лампа, димер-лампа, rgb-лампа, жалюзи, ворота, ворота120, жалюзи120 <br>prf – с отформатированным набором статусов, описание ниже
+
|sub-type||перечисление||sensor – виртуальный датчик<br><br>text – виртуальный датчик текстового типа (UTF8), длина должна быть равна 0<br>long-text – виртуальное поле текстового типа (UTF8), длина должна быть равна 0<br>Устройства, которым нужен скрипт для отслеживания статуса (см. пример под таблицей):<br>лампа, лампа с диммированием, rgb-подсветка, жалюзи, ворота, ворота 120, жалюзи 120 <br>prf – с отформатированным набором статусов, описание ниже
 
|-
 
|-
 
|length*||число||размер статуса, байт<br>0 – динамический размер (явный для элементов типа «sub-type=text»)
 
|length*||число||размер статуса, байт<br>0 – динамический размер (явный для элементов типа «sub-type=text»)
Line 40: Line 40:  
</syntaxhighlight>
 
</syntaxhighlight>
   −
===Example of virtual device "dimmable lamp"===
+
===Пример виртуального устройства "лампа с диммированием"===  
 
<syntaxhighlight lang="xml" line>
 
<syntaxhighlight lang="xml" line>
 
<item addr="142:99" length="2" name="Lamp" sub-type="dimer-lamp" type="virtual"/>
 
<item addr="142:99" length="2" name="Lamp" sub-type="dimer-lamp" type="virtual"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
The script  processing of stroke
+
Скрипт обработки нажатия
 
<syntaxhighlight lang="cpp" line>
 
<syntaxhighlight lang="cpp" line>
u8 state[2] = {0,0};
+
u8 dim = 0;
V-ID/142:99
+
 
{
+
V-ID/Dimmer{
    if (opt(0)==0xff){
+
  if (opt(0)==0xff)
        if (state[0]==0) state[0] = 1;
+
    setStatus(Dimmer,{1,dim});
        else state[0] = 0;
+
  else if (opt(0)==0xfe){
    }else (opt(0)==0xfe){
+
     dim=opt(1);
    state[0]=state[0];
+
     setStatus(Dimmer,{1,dim});
     }else {
+
  }
    state[0]=opt(0);
  −
     }
  −
  −
    if(opt(1)==0xfe){
  −
    state[1]=state[1];
  −
    }else {
  −
  state[1]=opt(1);
  −
    }
  −
    setStatus(142:99,state); 
   
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
editor, translator
55

edits