Difference between revisions of "Virtual"
Jump to navigation
Jump to search
(Created page with "===Example of description in XML=== <syntaxhighlight lang="xml" line> <item addr="333:132" name="sensor" type="virtual" sub-type="sensor" dim="%" length="2"/> <item addr="333...") |
|||
Line 9: | Line 9: | ||
{|class="wikitable" | {|class="wikitable" | ||
+ | |- | ||
!Name!!type and variety!!description | !Name!!type and variety!!description | ||
+ | |- | ||
|sub-type||enum||sensor – virtual sensor<br><br>text – virtual sensor of text type (UTF8), length is to be equal to 0<br>long-text – virtual field of text type (UTF8), length is to be equal to 0<br>Devices that need script to track the status (see the example below the table):<br>lamp, dimer-lamp, rgb-lamp, jalousie, gate, gate120, jalousie120<br>prf – with formatted set of status, the description isbelow | |sub-type||enum||sensor – virtual sensor<br><br>text – virtual sensor of text type (UTF8), length is to be equal to 0<br>long-text – virtual field of text type (UTF8), length is to be equal to 0<br>Devices that need script to track the status (see the example below the table):<br>lamp, dimer-lamp, rgb-lamp, jalousie, gate, gate120, jalousie120<br>prf – with formatted set of status, the description isbelow | ||
+ | |- | ||
|length*||number||status size, bytes<br>0 – dynamic size (obvious for the elements of "sub-type=text" type) | |length*||number||status size, bytes<br>0 – dynamic size (obvious for the elements of "sub-type=text" type) | ||
+ | |- | ||
|dim||symbol||Symbol added to the end of virtual sensor value (for example, % or С) | |dim||symbol||Symbol added to the end of virtual sensor value (for example, % or С) | ||
|} | |} |
Revision as of 09:03, 23 August 2021
Example of description in XML
1<item addr="333:132" name="sensor" type="virtual" sub-type="sensor" dim="%" length="2"/>
2<item addr="333:145" name="Text" type="virtual" sub-type="text" length="0"/>
Parameters
Name | type and variety | description |
---|---|---|
sub-type | enum | sensor – virtual sensor text – virtual sensor of text type (UTF8), length is to be equal to 0 long-text – virtual field of text type (UTF8), length is to be equal to 0 Devices that need script to track the status (see the example below the table): lamp, dimer-lamp, rgb-lamp, jalousie, gate, gate120, jalousie120 prf – with formatted set of status, the description isbelow |
length* | number | status size, bytes 0 – dynamic size (obvious for the elements of "sub-type=text" type) |
dim | symbol | Symbol added to the end of virtual sensor value (for example, % or С) |
* – required fields
Example of virtual device "lamp"
1<item addr="142:99" length="1" name="Lamp" sub-type="lamp" type="virtual"/>
The processing of pressing in the script
1u8 state = 0;
2V-ID/142:99 {
3 if (opt(0)==0xff){//pressing the element in the interface
4 if (state==0) state = 1;
5 else state = 0;
6 setStatus(142:99,state);//for correct displaying in the interface
7 }
8}
Example of virtual device "dimmable lamp": <item addr="142:99" length="2" name="Lamp" sub-type="dimer-lamp" type="virtual"/> The script processing of stroke u8 state[2] = {0,0}; V-ID/142:99 {
if (opt(0)==0xff){ if (state[0]==0) state[0] = 1; else state[0] = 0; }else (opt(0)==0xfe){ state[0]=state[0]; }else { state[0]=opt(0); } if(opt(1)==0xfe){ state[1]=state[1]; }else { state[1]=opt(1); } setStatus(142:99,state);
}