Difference between revisions of "Virtual"
Jump to navigation
Jump to search
(Marked this version for translation) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | ===Example of description in XML=== | + | <languages/> |
+ | <translate> | ||
+ | ===Example of description in XML=== <!--T:1--> | ||
+ | <!--T:2--> | ||
<syntaxhighlight lang="xml" line> | <syntaxhighlight lang="xml" line> | ||
<item addr="333:132" name="sensor" type="virtual" sub-type="sensor" dim="%" length="2"/> | <item addr="333:132" name="sensor" type="virtual" sub-type="sensor" dim="%" length="2"/> | ||
Line 6: | Line 9: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ===Parameters=== | + | ===Parameters=== <!--T:3--> |
+ | <!--T:4--> | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
Line 20: | Line 24: | ||
<nowiki>*</nowiki> – required fields | <nowiki>*</nowiki> – required fields | ||
− | ===Example of virtual device "lamp"=== | + | ===Example of virtual device "lamp"=== <!--T:5--> |
+ | <!--T:6--> | ||
<syntaxhighlight lang="xml" line> | <syntaxhighlight lang="xml" line> | ||
<item addr="142:99" length="1" name="Lamp" sub-type="lamp" type="virtual"/> | <item addr="142:99" length="1" name="Lamp" sub-type="lamp" type="virtual"/> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | <!--T:7--> | ||
The processing of pressing in the script | The processing of pressing in the script | ||
+ | <!--T:8--> | ||
<syntaxhighlight lang="cpp" line> | <syntaxhighlight lang="cpp" line> | ||
u8 state = 0; | u8 state = 0; | ||
Line 38: | Line 45: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Example of virtual device "dimmable lamp": | + | |
+ | ===Example of virtual device "dimmable lamp"=== <!--T:9--> | ||
+ | <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> | ||
+ | |||
+ | <!--T:10--> | ||
The script processing of stroke | The script processing of stroke | ||
+ | <syntaxhighlight lang="cpp" line> | ||
u8 state[2] = {0,0}; | u8 state[2] = {0,0}; | ||
V-ID/142:99 | V-ID/142:99 | ||
Line 60: | Line 73: | ||
setStatus(142:99,state); | setStatus(142:99,state); | ||
} | } | ||
+ | </syntaxhighlight> | ||
+ | </translate> |
Latest revision as of 12:48, 26 January 2022
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"
1<item addr="142:99" length="2" name="Lamp" sub-type="dimer-lamp" type="virtual"/>
The script processing of stroke
1u8 state[2] = {0,0};
2V-ID/142:99
3{
4 if (opt(0)==0xff){
5 if (state[0]==0) state[0] = 1;
6 else state[0] = 0;
7 }else (opt(0)==0xfe){
8 state[0]=state[0];
9 }else {
10 state[0]=opt(0);
11 }
12
13 if(opt(1)==0xfe){
14 state[1]=state[1];
15 }else {
16 state[1]=opt(1);
17 }
18 setStatus(142:99,state);
19}