# Description of Program VSN Parameters
- 1 Program File Structure
- 2 Attribute Description
# Program File Structure
The program file is an XML file and its internal structure is shown in the following diagram:
# Diagram

# Program VSN File (XML Structure)
<?xml version='1.0' encoding='utf-8'?>
<Programs>
// Programs
<Program>
// Program attributes
<Information>
<Height>512</Height>
<Scale>1.0</Scale>
<Width>512</Width>
</Information>
// Program pages
<Pages>
// Page 1
<Page>
// Page attributes
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
// Regions
<Regions>
// Region 1
<Region>
// Region position
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>256</Width>
</Rect>
// Materials
<Items>
// Material 1
<Item>
// Material attributes
</Item>
</Items>
// Region attributes
<type>13</type>
<Layer>1</Layer>
<Name>Window_Name</Name>
</Region>
</Regions>
</Page>
</Pages>
</Program>
</Programs>
# JSON Structure
{
"Programs": {
// Programs
"Program": {
// Program attributes
"Information": {
"Height": 512,
"Scale": 1,
"Width": 512
},
// Program pages
"Pages": {
// Page 1
"Page": {
// Page attributes
"AppointDuration": 3600000,
"LoopType": 1,
"Opacity": 1,
"BgColor": "0xFF000000",
// Regions
"Regions": {
// Region 1
"Region": {
// Region position
"Rect": {
"X": 0,
"BorderColor": "#ffff00",
"Y": 0,
"Height": 256,
"BorderWidth": 0,
"Width": 256
},
// Materials
"Items": {
// Material 1
"Item": {
// Material attributes
}
},
// Region attributes
"type": 13,
"Layer": 1,
"Name": "Window_Name"
}
}
}
}
}
}
}
# Attribute Description
# Program Attributes
| Attribute | Description | Example |
|---|---|---|
| Information | Program attribute information | {} |
| Information.Width | Program width | 512 |
| Information.Height | Program height | 512 |
# Program Page Attributes
| Attribute | Description | Example |
|---|---|---|
| AppointDuration | Playback duration of the program page (ms) | 3600000 |
| LoopType | Loop type (0: Play for specified duration, 1: Automatically calculate duration) | 1 |
| BgColor | Background color of the program page | "0xFF000000" |
# Program Region Attributes
| Attribute | Description | Example |
|---|---|---|
| Layer | Display priority of Region 1 (highest priority). The larger the region number is, the lower its display priority. | 1 |
| Rect | Region position and size | {} |
| Rect.X | Start X | 0 |
| Rect.Y | Start Y | 0 |
| Rect.Width | Region width | 500 |
| Rect.Height | Region height | 500 |
| Rect.BorderWidth | Indicates whether the region has a border (0: no border; 1-4: represents 4 different types of border respectively) | 0 |
| Rect.BorderColor | Border color | "#ffff00" |
# Program Material Types
(Content for Items Field)
Common Fonts and Corresponding Values
| Font | Value |
|---|---|
| SimHei | SimHei |
| KaiTi | KaiTi |
| SimSun | SimSun |
| LiSu | LiSu |
| FangSong | FangSong |
| Times New Roman | Times New Roman |
| Arial | Arial |
| Calibri | Calibri |
# Text Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (4: single-line text; 5: multi-line text; 16: single-column text) | 5 |
| TextColor | Font color | "0xFFffffff" |
| CenteralAlign | Horizontal alignment (0: align left; 1: center; 2: align right) | 1 |
| VerticalAlign | Whether vertically centered (0: No; 1: Yes) | 1 |
| Text | Text content | "Sample text" |
| IsScroll | Whether continuously scrolling left (0: No; 1: Yes) | 0 |
| Speed | Pixels scrolled per second (range: 0-200.000000 float) | 0 |
| IsScrollByTime | 0: use RepeatCount, 1: use PlayLenth | 0 |
| IsHeadConnectTail | Whether the text is end-to-end (0: No; 1: Yes) | 0 |
| RepeatCount | Scroll count | 0 |
| PlayLength、Duration | Both represent playback duration (milliseconds), no difference | 9000 |
| LogFont | Font | {} |
| LogFont.lfHeight | Character height or character cell height of the logic unit | 50 |
| LogFont.lfWeight | 0-1000 (0: default width; 700: bold) | 400 |
| LogFont.lfItalic | Whether to apply italic (0: No; 1: Yes) | 0 |
| LogFont.lfUnderline | Whether to add underline (0: No; 1: Yes) | 0 |
| LogFont.lfStrikeOut | Whether to add strikethrough (0: No; 1: Yes) | 0 |
| LogFont.lfFaceName | Font name | "default" |
# XML Example (Single-Line Text Program)
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>300</Height>
<BorderWidth>0</BorderWidth>
<Width>300</Width>
</Rect>
<Items>
<Item>
<Speed>60.0</Speed>
<RepeatCount>1</RepeatCount>
<VerticalAlign>1</VerticalAlign>
<PlayLenth>300000</PlayLenth>
<LogFont>
<lfFaceName>default</lfFaceName>
<lfWeight>400</lfWeight>
<lfPitchAndFamily>0</lfPitchAndFamily>
<IfRight>0</IfRight>
<lfWidth>0</lfWidth>
<lfItalic>0</lfItalic>
<IfLeft>0</IfLeft>
<lfHeight>20</lfHeight>
<lfUnderLine>0</lfUnderLine>
<IfCenter>1</IfCenter>
</LogFont>
<CenteralAlign>1</CenteralAlign>
<BackColor>0xFF000000</BackColor>
<Duration>1000</Duration>
<Text>Single Line Text Content</Text>
<IsScrollByTime>1</IsScrollByTime>
<Type>4</Type>
<IsHeadConnectTail>0</IsHeadConnectTail>
<PlayLength>1000</PlayLength>
<IsScroll>0</IsScroll>
<TextColor>0xFFff0000</TextColor>
<MultiPicInfo>
<PicCount>1</PicCount>
<OnePicDuration>1000</OnePicDuration>
</MultiPicInfo>
</Item>
</Items>
<type>3</type>
<Layer>1</Layer>
<Name>Single-Line_Text_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>1.0</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# XML Example (Multi-Line Text Program)
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>300</Height>
<BorderWidth>0</BorderWidth>
<Width>300</Width>
</Rect>
<Items>
<Item>
<Speed>60.0</Speed>
<RepeatCount>1</RepeatCount>
<VerticalAlign>1</VerticalAlign>
<PlayLenth>300000</PlayLenth>
<LogFont>
<lfFaceName>default</lfFaceName>
<lfWeight>400</lfWeight>
<lfPitchAndFamily>0</lfPitchAndFamily>
<IfRight>0</IfRight>
<lfWidth>0</lfWidth>
<lfItalic>0</lfItalic>
<IfLeft>0</IfLeft>
<lfHeight>20</lfHeight>
<lfUnderLine>0</lfUnderLine>
<IfCenter>1</IfCenter>
</LogFont>
<CenteralAlign>1</CenteralAlign>
<BackColor>0xFF000000</BackColor>
<Duration>1000</Duration>
<Text>Multi Line Text Content</Text>
<IsScrollByTime>1</IsScrollByTime>
<Type>5</Type>
<IsHeadConnectTail>0</IsHeadConnectTail>
<PlayLength>1000</PlayLength>
<IsScroll>0</IsScroll>
<TextColor>0xFFff0000</TextColor>
<MultiPicInfo>
<PicCount>1</PicCount>
<OnePicDuration>1000</OnePicDuration>
</MultiPicInfo>
</Item>
</Items>
<type>2</type>
<Layer>1</Layer>
<Name>Multi-Line_Text_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>1.0</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Image Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (image program: 2) | 2 |
| ReserveAS | Whether to keep the aspect ratio (0: No; 1: Yes) | 1 |
| Duration | Playback duration (ms), including effect time | 8500 |
| FileSource | File source | {} |
| FileSource.IsRelative | Whether it is a relative path (0: No; 1: Yes). The value must be 1. | 1 |
| FileSource.FilePath | File path | ".\Res.files\F_41B98EBCDE0359B34CBCA44827FB14B3_2651122.png" |
| FileSource.Resource_ID | Material ID | 123 |
| FileSource.OriginName | Original material name | "Image9.png" |
| effect | Effect | {} |
| effect.IsStatic | No meaning | 0 |
| effect.StayType | Stay type (0: no effect; 1: flicker) | 0 |
| inEffect | Entrance effect | {} |
| inEffect.Type | Effect type (integer) | 0 |
| inEffect.Name | Effect name | "No Effect" |
| inEffect.Time | Entrance time (ms) | 500 |
| inEffect.repeatX | Horizontal repeat times (integer) | 0 |
| inEffect.repeatY | Vertical repeat times (integer) | 0 |
| inEffect.IsTran | Whether the text is end-to-end (0: No; 1: Yes) | 0 |
# Types of Entrance Effects
| Value | Description |
|---|---|
| 0 | No effect |
| 1 | Random |
| 2 | Cover (Left) |
| 3 | Cover (Right) |
| 4 | Cover (Up) |
| 5 | Cover (Down) |
| 6 | Wipe (Top-Left) |
| 7 | Wipe (Top-Right) |
| 8 | Wipe (Bottom-Left) |
| 9 | Wipe (Bottom-Right) |
| 10 | Cover (Top-Left) |
| 11 | Cover (Top-Right) |
| 12 | Cover (Bottom-Left) |
| 13 | Cover (Bottom-Right) |
| 14 | Blinds (Horizontal) |
| 15 | Blinds (Vertical) |
| 16 | Split (Vertical Out) |
| 17 | Split (Horizontal Out) |
| 18 | Split (Vertical In) |
| 19 | Split (Horizontal In) |
| 20 | Move Up |
| 21 | Move Down |
| 22 | Move Left |
| 23 | Move Right |
| 24 | Move to Upper-Left Corner |
| 25 | Move to Upper-Right Corner |
| 26 | Move to Lower-Left Corner |
| 27 | Move to Lower-Right Corner |
| 28 | Mosaic (Small) |
| 29 | Mosaic (Medium) |
| 30 | Mosaic (Big) |
| 31 | Fade In |
| 32 | 360° Clockwise |
| 33 | 360° Counterclockwise |
| 34 | 180° Clockwise |
| 35 | 180° Counterclockwise |
| 36 | 90° Clockwise |
| 37 | 90° Counterclockwise |
| 38 | Zoom In (Center) |
| 39 | Zoom In (Top-Left) |
| 40 | Zoom In (Top-Right) |
| 41 | Zoom In (Bottom-Left) |
| 42 | Zoom In (Bottom-Right) |
| 43 | Rectangle Out |
| 44 | Rectangle In |
| 45 | Diamond Out |
| 46 | Diamond In |
| 47 | Cross Out |
| 48 | Cross In |
| 49 | 3D Animation 1 |
| 50 | 3D Animation 2 |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>342</Height>
<BorderWidth>0</BorderWidth>
<Width>382</Width>
</Rect>
<Items>
<Item>
<Type>2</Type>
<inEffect>
<Type>0</Type>
<Time>1500</Time>
<webTime>1.5</webTime>
<Name>No Effect</Name>
</inEffect>
<Trigger>
<Type>lightStrip</Type>
<Value>0</Value>
</Trigger>
<FileSource>
<FilePath>.\_Res_.files\F_41B98EBCDE0359B34CBCA44827FB14B3_2651122.png</FilePath>
<OriginName>Material 2.png</OriginName>
<Resource_ID>12540946</Resource_ID>
<IsRelative>1</IsRelative>
</FileSource>
<Alhpa>1.000000</Alhpa>
<Duration>10000</Duration>
<PlayTimes>1</PlayTimes>
<ReserveAS>0</ReserveAS>
</Item>
</Items>
<type>3</type>
<Layer>1</Layer>
<Name>File_Window</Name>
<IsScheduleRegion>0</IsScheduleRegion>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Video Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (video program: 3) | 3 |
| Volume | Volume (0-1.000000) | 0 |
| Duration | Playback duration (ms), | 8500 |
| ReserveAS | Whether to keep the aspect ratio during playback | 0 |
| showX | Start X | |
| showY | Start Y | |
| showWidth | Width | |
| showHeight | Height | |
| IsSetShowRegion | Whether to crop the video to show only a specific area on the screen (0: No; 1: Yes) | |
| IsSetPlayLen | Whether to set video playback duration (0: No; 1: Yes) | |
| FileSource | File source | {} |
| FileSource.IsRelative | Whether it is a relative path (0: No; 1: Yes). The value must be 1. | 1 |
| FileSource.FilePath | File path | .\Res.files\F_B5516020C6EF057759C5265352A9F741_5712111.mp4 |
| FileSource.Resource_ID | Material ID | 123 |
| FileSource.OriginName | Original material name | "01-Fireworks.mp4" |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>99</Y>
<Height>413</Height>
<BorderWidth>0</BorderWidth>
<Width>319</Width>
</Rect>
<Items>
<Item>
<Loop>1</Loop>
<Type>3</Type>
<PlayLength>12000</PlayLength>
<Trigger>
<Type>lightStrip</Type>
<Value>0</Value>
</Trigger>
<Volume>1.000000</Volume>
<FileSource>
<FilePath>.\_Res_.files\F_B5516020C6EF057759C5265352A9F741_5712111.mp4</FilePath>
<OriginName>b6d50fa31d61bec08eeb91d8447820ae.mp4</OriginName>
<Resource_ID>12513834</Resource_ID>
<IsRelative>1</IsRelative>
</FileSource>
<Duration>12000</Duration>
<PlayTimes>1</PlayTimes>
<ReserveAS>1</ReserveAS>
</Item>
</Items>
<type>3</type>
<Layer>1</Layer>
<Name>File_Window</Name>
<IsScheduleRegion>0</IsScheduleRegion>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# GIF Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (GIF program: 6) | 6 |
| Duration | Playback duration (ms), including effect duration | 8500 |
| PlayTimes | Number of plays | 1 |
| ReserveAS | Whether to keep the aspect ratio (0: No; 1: Yes) | 0 |
| FileSource | File source | {} |
| FileSource.IsRelative | Whether it is a relative path (0: No; 1: Yes). The value must be 1. | 1 |
| FileSource.FilePath | File path | .\Res.files\F_144BD0826805138B47E20A99DF005269_506751.gif |
| FileSource.Resource_ID | Material ID | 123 |
| FileSource.OriginName | Original material name | "01-ceshi.gif" |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>6</Y>
<Height>506</Height>
<BorderWidth>0</BorderWidth>
<Width>510</Width>
</Rect>
<Items>
<Item>
<Type>6</Type>
<inEffect>
<Type>0</Type>
<Time>1500</Time>
<webTime>1.5</webTime>
<Name>No Effect</Name>
</inEffect>
<FileSource>
<FilePath>.\_Res_.files\F_144BD0826805138B47E20A99DF005269_506751.gif</FilePath>
<OriginName>GIF image.gif</OriginName>
<Resource_ID>11102819</Resource_ID>
<IsRelative>1</IsRelative>
</FileSource>
<Alhpa>1.000000</Alhpa>
<Duration>1800</Duration>
<PlayTimes>1</PlayTimes>
<ReserveAS>1</ReserveAS>
</Item>
</Items>
<type>3</type>
<Layer>1</Layer>
<Name>File_Window</Name>
<IsScheduleRegion>0</IsScheduleRegion>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Webpage Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (webpage program: 27) | 27 |
| Url | URL | "https://developer.colorlightcloud.com/cloudServer/en" |
| Duration | Playback duration (ms), | 8500 |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>161</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>256</Width>
</Rect>
<Items>
<Item>
<Type>27</Type>
<BackColor>0xFF000000</BackColor>
<IsLocal>0</IsLocal>
<Alhpa>1.000000</Alhpa>
<Duration>8000</Duration>
<PlayTimes>1</PlayTimes>
<Url>https://developer.colorlightcloud.com/cloudServer/en/</Url>
</Item>
</Items>
<type>13</type>
<Layer>1</Layer>
<Name>Web_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Digital Clock Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (clock program: 9) | 9 |
| BackColor | Background color | "0xFF000000" |
| Duration | Playback duration (ms), | 8500 |
| IsAnolog | Clock type (0: digital clock; 1: analog clock) | 0 |
| TimeZone | Time zone (China: 8) | 8.000000 |
| Text | Text before the clock | BeiJing |
| DigitalClock | Digital clock attributes | {} |
| DigitalClock.Type | Clock type, 13 types available (check display effects in LEDVISION) | 1 |
| DigitalClock.Flags | Clock display format (the value is the sum of the required effects) | |
| DigitalClock.Name | Font | "default" |
| DigitalClock.ftSize | Font size | 26 |
| DigitalClock.IsStrikeOut | Whether to add strikethrough (0: No; 1: Yes) | 0 |
| DigitalClock.Weight | Font width | 400 |
| DigitalClock.bBold | Whether to apply bold (0: No; 1: Yes) | 0 |
| DigitalClock.ftColor | Font color (DWORD value) | 4294967295 |
| DigitalClock.bItalic | Whether to apply italic | 0 |
| DigitalClock.bUnderline | Whether to apply bold | 0 |
Flags: Clock display format, represented as the sum of binary values for the desired effects, expressed in decimal.
Explanation of Clock Display Format
The clock display format is defined using binary value. "0" indicates that the element is not displayed or is displayed in a specific style, while "1" indicates that the element is displayed or is displayed in another style. As explained above in the Flags description, each binary digit, from right to left, corresponds a specific element: year, month, day, hour, minute, second, ..., whether to display in 24-hour format, whether to display a 4-digit year, and whether to display in multiple lines. The final binary number is then converted to a decimal value and entered into the Flags field.
| Hexadecimal (Hex) | Decimal (Dec) | Binary (Bin) | Comments |
|---|---|---|---|
| 0x0001 | 1 | 0000 0000 0000 0001 | Display year |
| 0x0002 | 2 | 0000 0000 0000 0010 | Display month |
| 0x0004 | 4 | 0000 0000 0000 0100 | Display day |
| 0x0008 | 8 | 0000 0000 0000 1000 | Display hour |
| 0x0010 | 16 | 0000 0000 0001 0000 | Display minute |
| 0x0020 | 32 | 0000 0000 0010 0000 | Display seconds |
| 0x0040 | 64 | 0000 0000 0100 0000 | Display lunar year |
| 0x0080 | 128 | 0000 0000 1000 0000 | Display lunar month |
| 0x0100 | 256 | 0000 0001 0000 0000 | Display lunar day |
| 0x0200 | 512 | 0000 0010 0000 0000 | Display day of the week |
| 0x0400 | 1024 | 0000 0100 0000 0000 | Display half a day |
| 0x0800 | 2048 | 0000 1000 0000 0000 | Display time in 24-hour format, otherwise in 12-hour format |
| 0x1000 | 4096 | 0001 0000 0000 0000 | Display year in 4 digits, otherwise in 2 digits |
| 0x2000 | 8192 | 0010 0000 0000 0000 | Display in multiple lines, otherwise in a single line |
Preview of Clock Types
| Type | Preview |
|---|---|
| 1 | 2018-08-18 |
| 2 | 08/18/2018 |
| 3 | 8/18/2018 |
| 4 | 2018 08 18 |
| 5 | 2018/8/18 |
| 6 | August 18, 2018 |
| 7 | 18/08/2018 |
| 8 | 18.08.2018 |
| 9 | 18/8 2018 |
| 10 | 18 Aug. 2018 |
| 11 | 18. Aug. 2018 |
| 12 | 18-Aug-2018 |
| 13 | 2018年8月18日 |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>107</X>
<BorderColor>#ffff00</BorderColor>
<Y>120</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>256</Width>
</Rect>
<Items>
<Item>
<IsAnolog>0</IsAnolog>
<BackColor>0xFF000000</BackColor>
<centeralAlign>1</centeralAlign>
<HhourScale>
<Shape>0</Shape>
<Clr>#ff0000</Clr>
<Height>4</Height>
<Width>4</Width>
</HhourScale>
<Duration>8000</Duration>
<Text/>
<DigtalClock>
<bUnderline>0</bUnderline>
<bBold>0</bBold>
<bItalic>0</bItalic>
<ftSize>24</ftSize>
<ftColor>4294967295</ftColor>
<DigtalClock>3</DigtalClock>
<Opacity>1</Opacity>
<Flags>2623</Flags>
<Weight>400</Weight>
<Name>SimHei</Name>
</DigtalClock>
<IfShowAll>1</IfShowAll>
<MinuteScale>
<Shape>0</Shape>
<Clr>#00ff00</Clr>
<Height>2</Height>
<Width>2</Width>
</MinuteScale>
<Type>9</Type>
<IfTemper>0</IfTemper>
<playTime>8</playTime>
<Opacity>1</Opacity>
<OpacityBg>1</OpacityBg>
</Item>
</Items>
<type>5</type>
<Layer>1</Layer>
<Name>Clock_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Analog Clock Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type, clock program: 9 | 9 |
| BackColor | Background color | 0xFF000000 |
| Duration | Playback duration (ms), | 8500 |
| IsAnolog | Clock type (0: digital clock; 1: analog clock) | 1 |
| TimeZone | Time zone (China: 8) | 8.000000 |
| Text | Text before the clock | BeiJing |
| AnologClock | Analog clock attributes | {} |
| AnologClock.Shape | Shape (0: Circle; 1: Square) | 0 |
| AnologClock.Flags | Style flag | 327680 |
| AnologClock.ClockFont.FixedText | Attributes of the text before the clock | {} |
| AnologClock.ClockFont.FixedText.lfHeight | Character height or character cell height of the logic unit | 16 |
| AnologClock.ClockFont.FixedText.lfWeight | 0-1000 (0: default width; 700: bold) | 400 |
| AnologClock.ClockFont.FixedText.lfItalic | Whether to apply italic (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.FixedText.lfUnderline | Whether to add underline (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.FixedText.lfStrikeOut | Whether to add strikethrough (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.FixedText.lfFaceName | Font name | "default" |
| AnologClock.ClockFont.FixedTextBold | Attributes of the text before the clock (bold)*** | 0 |
| AnologClock.ClockFont.FixedTextColor | Clock prefix font color (DWORD value) | 4294967295 |
| AnologClock.ClockFont.Date | Date font attributes | {} |
| AnologClock.ClockFont.Date.lfHeight | Character height or character cell height of the logic unit | 16 |
| AnologClock.ClockFont.Date.lfWeight | 0-1000 (0: default width; 700: bold) | 400 |
| AnologClock.ClockFont.Date.lfItalic | Whether to apply italic (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.Date.lfUnderline | Whether to add underline (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.Date.lfFaceName | Font name | "default" |
| AnologClock.ClockFont.DateBold | Date font attributes | ["0", "0"] |
| AnologClock.ClockFont.DateColor | Date font color | 4294967295 |
| AnologClock.ClockFont.Week | Day of week font attributes | {} |
| AnologClock.ClockFont.Week.lfHeight | Character height or character cell height of the logic unit | 16 |
| AnologClock.ClockFont.Week.lfWeight | 0-1000 (0: default width; 700: bold) | 400 |
| AnologClock.ClockFont.Week.lfItalic | Whether to apply italic (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.Week.lfUnderline | Whether to add underline (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.Week.lfStrikeOut | Whether to add strikethrough (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.Week.lfFaceName | Font name | "default" |
| AnologClock.ClockFont.WeekBold | Day of week font attributes | 0 |
| AnologClock.ClockFont.WeekColor | Day of week font color | 4294967295 |
| AnologClock.ClockFont.Time | Attributes of font (hour scale digits), which takes effect when "shape" equals to 2. | {} |
| AnologClock.ClockFont.Time.lfHeight | Character height or character cell height of the logic unit | 16 |
| AnologClock.ClockFont.Time.lfWeight | 0-1000 (0: default width; 700: bold) | 400 |
| AnologClock.ClockFont.Time.lfItalic | Whether to apply italic (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.Time.lfUnderline | Whether to add underline (0: No; 1: Yes) | 0 |
| AnologClock.ClockFont.Time.lfStrikeOut | Whether to add strikethrough (0: No; 1: Yes) | |
| AnologClock.ClockFont.Time.lfFaceName | Font name | "default" |
| AnologClock.HourPinClr | Hour hand color | "#ff0000" |
| AnologClock.MinutePinClr | Minute hand color | "#00ff00" |
| AnologClock.SecondPinClr | Second hand color | "#0000ff" |
| HhourScale | Hour hand attributes | {} |
| HhourScale.Clr | Hour scale color | "#ff0000" |
| HhourScale.Shape | Shape (0: circle; 1: square; 2: digital) | 0 |
| HhourScale.Width | Width | 4 |
| HhourScale.Height | Height | 4 |
| MinuteScale | Minute scale attributes (See hour scale attributes) | {} |
| MinuteScale.Clr | Minute scale color | "#00ff00" |
| MinuteScale.Shape | Shape (0: Circle; 1: Square); minute scale only supports 0 and 1 | 0 |
| MinuteScale.Width | Width | 2 |
| MinuteScale.Height | Height | 2 |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>140</X>
<BorderColor>#ffff00</BorderColor>
<Y>256</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>256</Width>
</Rect>
<Items>
<Item>
<IsAnolog>1</IsAnolog>
<BackColor>0xFF000000</BackColor>
<centeralAlign>1</centeralAlign>
<HhourScale>
<Shape>0</Shape>
<Clr>#ff0000</Clr>
<Height>4</Height>
<Width>4</Width>
</HhourScale>
<AnologClock>
<Shape>0</Shape>
<WeekOffset>0</WeekOffset>
<MinutePinClr>#00ff00</MinutePinClr>
<TextOffset>0</TextOffset>
<HourPinClr>#ff0000</HourPinClr>
<Flags>327680</Flags>
<DateOffset>0</DateOffset>
<LunarOffset>0</LunarOffset>
<SecondPinClr>#0000ff</SecondPinClr>
<ClockFont>
<FixedTextColor>4294967295</FixedTextColor>
<DateColor>4294967295</DateColor>
<WeekColor>4294967295</WeekColor>
<Week>
<lfFaceName>SimHei</lfFaceName>
<lfWeight>400</lfWeight>
<lfItalic>0</lfItalic>
<lfUnderline>0</lfUnderline>
<lfHeight>16</lfHeight>
<Opacity>1</Opacity>
</Week>
<FixedText>
<lfFaceName>SimHei</lfFaceName>
<lfWeight>400</lfWeight>
<lfItalic>0</lfItalic>
<lfUnderline>0</lfUnderline>
<lfHeight>24</lfHeight>
<Opacity>1</Opacity>
</FixedText>
<Date>
<lfFaceName>SimHei</lfFaceName>
<lfWeight>400</lfWeight>
<lfItalic>0</lfItalic>
<lfUnderline>0</lfUnderline>
<lfHeight>16</lfHeight>
<Opacity>1</Opacity>
</Date>
</ClockFont>
</AnologClock>
<Duration>8000</Duration>
<Text/>
<IfShowAll>1</IfShowAll>
<MinuteScale>
<Shape>0</Shape>
<Clr>#00ff00</Clr>
<Height>2</Height>
<Width>2</Width>
</MinuteScale>
<Type>9</Type>
<IfTemper>0</IfTemper>
<playTime>8</playTime>
<Opacity>1</Opacity>
<OpacityBg>1</OpacityBg>
</Item>
</Items>
<type>5</type>
<Layer>1</Layer>
<Name>Clock_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Timer Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (timer program: 15) | 15 |
| BeToEndTime | Timer type (0: count up; 1: count down) | 1 |
| Style | Display style | 0 |
| Duration | Playback duration (ms), | 8500 |
| IsMultiLine | Whether to display in multiple lines | 0 |
| Prefix | Prefix text | "" |
| EndDateTime | Destination of the counting | "2024-07-03 10:43:59" |
| TextColor | Text color (in ARGB format) | "0xFFffffff" |
| IsShowDayCount | Whether to show days | 1 |
| DayCountColor | Day color (in ARGB format) | "0xFFff0000" |
| IsShowHourCount | Whether to show hours | 1 |
| HourCountColor | Hour color (in ARGB format) | "0xFFff0000" |
| IsShowMinuteCount | Whether to show minutes | 1 |
| MinuteCountColor | Minute color (in ARGB format) | "0xFF00ff00" |
| IsShowSecondCount | Whether to show seconds | 1 |
| SecondCountColor | Second color (in ARGB format) | "0xFF0000ff" |
| LogFont | Font | {} |
| LogFont.lfHeight | Character height or character cell height of the logic unit | 16 |
| LogFont.lfWeight | Font width | 400 |
| LogFont.lfItalic | Whether to apply italic | 0 |
| LogFont.lfUnderline | Whether to add underline | 0 |
| LogFont.lfStrikeOut | Whether to add strikethrough | 0 |
| LogFont.lfFaceName | Font name | "default" |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>51</X>
<BorderColor>#ffff00</BorderColor>
<Y>211</Y>
<Height>64</Height>
<BorderWidth>0</BorderWidth>
<Width>415</Width>
</Rect>
<Items>
<Item>
<date>2034-7-2</date>
<secondCountColor>0xFF0000ff</secondCountColor>
<LogFont>
<lfFaceName>SimHei</lfFaceName>
<lfWeight>400</lfWeight>
<lfItalic>0</lfItalic>
<lfUnderline>0</lfUnderline>
<lfHeight>16</lfHeight>
</LogFont>
<CenteralAlign>0</CenteralAlign>
<IsShowHourCount>1</IsShowHourCount>
<Prefix/>
<IsMultiLine>0</IsMultiLine>
<IsShowSecondCount>1</IsShowSecondCount>
<EndDateTime>2034-7-2 11:44:05</EndDateTime>
<IsShowMinuteCount>1</IsShowMinuteCount>
<BeToEndTime>1</BeToEndTime>
<Style>0</Style>
<Opacity>1</Opacity>
<TextColor>0xFFffffff</TextColor>
<OpacityBg>1</OpacityBg>
<BackColor>0xFF000000</BackColor>
<Duration>8000</Duration>
<MinuteCountColor>0xFF00ff00</MinuteCountColor>
<UnitFont>
<lfFaceName>SimHei</lfFaceName>
<lfWeight>400</lfWeight>
<lfItalic>0</lfItalic>
<lfUnderline>0</lfUnderline>
<lfHeight>16</lfHeight>
</UnitFont>
<Type>15</Type>
<HourCountColor>0xFFff0000</HourCountColor>
<IsShowDayCount>1</IsShowDayCount>
<DayCountColor>0xFFff0000</DayCountColor>
<PlayTimes>1</PlayTimes>
<time>11:44:05</time>
</Item>
</Items>
<type>6</type>
<Layer>1</Layer>
<Name>countDownWindow</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Whether Program
# Description of Attributes
| Attribute | Description | Example |
|---|---|---|
| Type | Program type (weather program: 14) | 14 |
| BackColor | Material background color (in ARBG format) | "0xFF000000" |
| Duration | playback duration (ms) | 300000 |
| TextColor | Text color (in ARGB format) | "0xFFffffff" |
| IsMultiLine | Whether to display in multiple lines | 1 |
| MoveType | Display effect | 0 |
| MoveSpeed | Movement speed | 30 |
| RemainTime | Duration(*100ms) | 20 |
| RegionName | Region name for weather query | "ShenZhen" |
| IsShowWeather | Whether to display weather information | 1 |
| WeatherPrefix | Weather information prefix (fixed text) | "" |
| IsShowTemperature | Whether to display temperature | 1 |
| TemperaturePrefix | Temperature information prefix (fixed text) | "" |
| IsShowWind | Whether to display wind force | 1 |
| WindPrefix | Wind force prefix (fixed text) | "" |
| IsShowAir | Whether to display air quality | 1 |
| AirPrefix | Air quality prefix (fixed text) | "" |
| IsShowUltraviolet | Whether to display UV index | 0 |
| Ultraviolet | UV index prefix (fixed text) | "" |
| IsShowMovementIndex | Whether to display sports index | 0 |
| MovementIndex | Sports index prefix (fixed text) | "" |
| IsShowColdIndex | Whether to display clothing index | 1 |
| ColdIndex | Clothing index prefix (fixed text) | "" |
| IsShowHumidity | Whether to display humidity | 1 |
| Humidity | Humidity index (fixed text) | "" |
| IsShowHeatstroke | Whether to display heatstroke index | 0 |
| Heatstroke | Heatstroke index prefix (fixed text) | "" |
| serverType | Type of weather forecast data source | 0 |
| regionCode | Region code for weather query | "101280601" |
| longitud | Longitude | 0.000000 |
| latitude | Latitude | 0.000000 |
| timezone | Time zone | 8.000000 |
| Language | Weather display language | "zh-CN" |
| IsShowPic | Whether to display weather icons | 0 |
| ShowStyle | Display style | 0 |
| LogFont | Font | {} |
| LogFont.lfHeight | Character height or character cell height of the logic unit | 50 |
| LogFont.lfWeight | Font width | 0 |
| LogFont.lfItalic | Whether to apply italic | 0 |
| LogFont.lfUnderline | Whether to add underline | 0 |
| LogFont.lfStrikeOut | Whether to add strikethrough | 0 |
| LogFont.lfFaceName | Font name | "default" |
# XML Example
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>24</X>
<BorderColor>#ffff00</BorderColor>
<Y>186</Y>
<Height>200</Height>
<BorderWidth>0</BorderWidth>
<Width>256</Width>
</Rect>
<Items>
<Item>
<ShowStyle>0</ShowStyle>
<IfSpeedByFrame>0</IfSpeedByFrame>
<LogFont>
<lfFaceName>SimHei</lfFaceName>
<lfWeight>400</lfWeight>
<lfItalic>0</lfItalic>
<lfUnderline>0</lfUnderline>
<lfHeight>16</lfHeight>
</LogFont>
<IsShowColdIndex>1</IsShowColdIndex>
<IsMultiLine>1</IsMultiLine>
<IsHeadConnectTail>0</IsHeadConnectTail>
<regionCode>101010100</regionCode>
<TemperaturePrefix/>
<SpeedByFrame>1</SpeedByFrame>
<RegionName>Beijing</RegionName>
<IsShowWind>1</IsShowWind>
<Humidity/>
<playTime>8</playTime>
<Opacity>1</Opacity>
<TextColor>0xFFffffff</TextColor>
<OpacityBg>1</OpacityBg>
<Speed>30</Speed>
<weatherSource>0</weatherSource>
<IsShowTemperature>1</IsShowTemperature>
<BackColor>0xFF000000</BackColor>
<AirPrefix>:</AirPrefix>
<ColdIndex>:</ColdIndex>
<Duration>8000</Duration>
<MoveType>0</MoveType>
<WindPrefix/>
<IsShowWeather>1</IsShowWeather>
<Type>14</Type>
<WeatherPrefix/>
<serverType>0</serverType>
<buttonTemp>F</buttonTemp>
<IsShowAir>1</IsShowAir>
<PlayTimes>1</PlayTimes>
<RemainTime>60</RemainTime>
<bShowAsFahrenheit>0</bShowAsFahrenheit>
<IsShowHumidity>1</IsShowHumidity>
</Item>
</Items>
<type>9</type>
<Layer>1</Layer>
<Name>Weather_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.9</Scale>
<Width>512</Width>
</Information>
</Program>
</Programs>
# Environment Program
# Description of Attributes:
| Attribute | Description | Example |
|---|---|---|
| type | Type (11: Environment window) | 11 |
| Layer | Display priority | 1 |
| Rect | Region position | {} |
| Rect.X | X coordinate of the region | 0 |
| Rect.Y | Y coordinate of the region | 0 |
| Rect.Width | Region width | 256 |
| Rect.Height | Region height | 256 |
| Rect.BorderWidth | Border width | 0 |
| Rect.BorderColor | Border color | "#ffff00" |
| Name | Name (fixed value) | "Environment_Window" |
| Items | List | [] |
| Name | Name (fixed value) | "Environment" |
| Type | Environment window type (22: temperature; 21: humidity; 23: noise; 28: smoke; 24: AQI) | 22 |
| prevfix | Fixed text prefix Note: For Type 28 (smoke), the displayed text indicates the value exceeding the threshold. The format is "Smoke + prefix", for example, "200pm exceeds limit". | "Current temperature:" |
| suffix | Fixed text suffix Note: For Type 28 (smoke), the displayed text indicates the value within the limit. The format is "Smoke + suffix", for example, "200pm within limit". | "°C" |
| bShowAsFahrenheit | Whether to display in Fahrenheit (°F) 0: No (°C); 1: Yes (°F) Only for Type 22 (temperature) | 0 |
| TemperatureOffset | Temperature offset Only for Type 22 (temperature) | 0 |
| Standard | Smoke threshold (ppm) Only for Type 28 (smoke) | 0 |
| Font | Font | {} |
| Font.lfHeight | Character height or character cell height of the logic unit | 24 |
| Font.lfWeight | 0-1000 (0: default width; 700: bold) | 400 |
| Font.lfItalic | Whether to apply italic (0: No; 1: Yes) | 0 |
| Font.lfUnderline | Whether to add underline (0: No; 1: Yes) | 0 |
| Font.lfStrikeOut | Whether to add strikethrough (0: No; 1: Yes) | 0 |
| Font.lfFaceName | Font name | "SimHei" |
| textColor | Font color | "0xFFffffff" |
| Alignment | Alignment (-1: align left; 0: align center; 1: align right) | 0 |
| BackColor | Background color | "0xFF000000" |
| Duration | Playback duration (ms) | 13000 |
| playTime | Playback duration (s) | 13 |
| PlayLength | Playback duration (ms) | 13000 |
# Environment - Temperature Program XML Example:
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>640</Width>
</Rect>
<Items>
<Item>
<MirrorOrHandstand>0</MirrorOrHandstand>
<inEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>0</IsTran>
</inEffect>
<ShowStyle>0</ShowStyle>
<BeGlaring>0</BeGlaring>
<IsNeedUpdate>0</IsNeedUpdate>
<prevfix>当前温度: </prevfix>
<outEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>1</IsTran>
</outEffect>
<suffix>°C</suffix>
<sourceIndex>0</sourceIndex>
<Font>
<lfWeight>400</lfWeight>
<lfPitchAndFamily>32</lfPitchAndFamily>
<lfOutPrecision>0</lfOutPrecision>
<lfQuality>3</lfQuality>
<lfWidth>0</lfWidth>
<lfUnderline>0</lfUnderline>
<lfCharSet>1</lfCharSet>
<lfFaceName>SimHei</lfFaceName>
<lfEscapement>0</lfEscapement>
<lfItalic>0</lfItalic>
<lfHeight>24</lfHeight>
<lfOrientation>0</lfOrientation>
<lfStrikeOut>0</lfStrikeOut>
</Font>
<Name>Environment</Name>
<portIndex>0</portIndex>
<Alignment>0</Alignment>
<bShowText>1</bShowText>
<bTransparent>1</bTransparent>
<playTime>8</playTime>
<Opacity>1</Opacity>
<OpacityBg>1</OpacityBg>
<tem2>26</tem2>
<tem3>31</tem3>
<tem1>21</tem1>
<TextY>0</TextY>
<TextX>0</TextX>
<BackColor>0xFF000000</BackColor>
<temColor2>#ffffff</temColor2>
<bShowPic>1</bShowPic>
<temColor1>#ffffff</temColor1>
<Duration>8000</Duration>
<UpdateInterval>10000</UpdateInterval>
<textColor>0xFFffffff</textColor>
<temColor4>#ffffff</temColor4>
<temColor3>#ffffff</temColor3>
<Type>22</Type>
<PlayLength>8000</PlayLength>
<sourceType>1</sourceType>
<scIndex>0</scIndex>
<effect>
<StayType>0</StayType>
<IsStatic>0</IsStatic>
</effect>
<Id>node12</Id>
<PlayTimes>1</PlayTimes>
<bShowAsFahrenheit>0</bShowAsFahrenheit>
<TemperatureOffset>0</TemperatureOffset>
</Item>
</Items>
<type>11</type>
<Layer>1</Layer>
<Name>Environment_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.44</Scale>
<Width>1280</Width>
</Information>
</Program>
</Programs>
# Environment - Humidity Program XML Example:
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>640</Width>
</Rect>
<Items>
<Item>
<MirrorOrHandstand>0</MirrorOrHandstand>
<inEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>0</IsTran>
</inEffect>
<ShowStyle>0</ShowStyle>
<BeGlaring>0</BeGlaring>
<IsNeedUpdate>0</IsNeedUpdate>
<prevfix>相对湿度:</prevfix>
<outEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>1</IsTran>
</outEffect>
<suffix/>
<sourceIndex>0</sourceIndex>
<Font>
<lfWeight>400</lfWeight>
<lfPitchAndFamily>32</lfPitchAndFamily>
<lfOutPrecision>0</lfOutPrecision>
<lfQuality>3</lfQuality>
<lfWidth>0</lfWidth>
<lfUnderline>0</lfUnderline>
<lfCharSet>1</lfCharSet>
<lfFaceName>SimHei</lfFaceName>
<lfEscapement>0</lfEscapement>
<lfItalic>0</lfItalic>
<lfHeight>24</lfHeight>
<lfOrientation>0</lfOrientation>
<lfStrikeOut>0</lfStrikeOut>
</Font>
<Name>Environment</Name>
<portIndex>0</portIndex>
<Alignment>0</Alignment>
<bShowText>1</bShowText>
<bTransparent>1</bTransparent>
<playTime>8</playTime>
<Opacity>1</Opacity>
<OpacityBg>1</OpacityBg>
<tem2>26</tem2>
<tem3>31</tem3>
<tem1>21</tem1>
<TextY>0</TextY>
<TextX>0</TextX>
<BackColor>0xFF000000</BackColor>
<temColor2>#ffffff</temColor2>
<bShowPic>1</bShowPic>
<temColor1>#ffffff</temColor1>
<Duration>8000</Duration>
<UpdateInterval>10000</UpdateInterval>
<textColor>0xFFffffff</textColor>
<temColor4>#ffffff</temColor4>
<temColor3>#ffffff</temColor3>
<Type>21</Type>
<PlayLength>8000</PlayLength>
<sourceType>1</sourceType>
<scIndex>0</scIndex>
<effect>
<StayType>0</StayType>
<IsStatic>0</IsStatic>
</effect>
<Id>node12</Id>
<PlayTimes>1</PlayTimes>
<bShowAsFahrenheit>0</bShowAsFahrenheit>
<TemperatureOffset>0</TemperatureOffset>
</Item>
</Items>
<type>11</type>
<Layer>1</Layer>
<Name>Environment_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.44</Scale>
<Width>1280</Width>
</Information>
</Program>
</Programs>
# Environment - Noise Program XML Example:
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>640</Width>
</Rect>
<Items>
<Item>
<MirrorOrHandstand>0</MirrorOrHandstand>
<inEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>0</IsTran>
</inEffect>
<ShowStyle>0</ShowStyle>
<BeGlaring>0</BeGlaring>
<IsNeedUpdate>0</IsNeedUpdate>
<prevfix>噪声:</prevfix>
<outEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>1</IsTran>
</outEffect>
<suffix/>
<sourceIndex>0</sourceIndex>
<Font>
<lfWeight>400</lfWeight>
<lfPitchAndFamily>32</lfPitchAndFamily>
<lfOutPrecision>0</lfOutPrecision>
<lfQuality>3</lfQuality>
<lfWidth>0</lfWidth>
<lfUnderline>0</lfUnderline>
<lfCharSet>1</lfCharSet>
<lfFaceName>SimHei</lfFaceName>
<lfEscapement>0</lfEscapement>
<lfItalic>0</lfItalic>
<lfHeight>24</lfHeight>
<lfOrientation>0</lfOrientation>
<lfStrikeOut>0</lfStrikeOut>
</Font>
<Name>Environment</Name>
<portIndex>0</portIndex>
<Alignment>0</Alignment>
<bShowText>1</bShowText>
<bTransparent>1</bTransparent>
<playTime>8</playTime>
<Opacity>1</Opacity>
<OpacityBg>1</OpacityBg>
<tem2>26</tem2>
<tem3>31</tem3>
<tem1>21</tem1>
<TextY>0</TextY>
<TextX>0</TextX>
<BackColor>0xFF000000</BackColor>
<temColor2>#ffffff</temColor2>
<bShowPic>1</bShowPic>
<temColor1>#ffffff</temColor1>
<Duration>8000</Duration>
<UpdateInterval>10000</UpdateInterval>
<textColor>0xFFffffff</textColor>
<temColor4>#ffffff</temColor4>
<temColor3>#ffffff</temColor3>
<Type>23</Type>
<PlayLength>8000</PlayLength>
<sourceType>1</sourceType>
<scIndex>0</scIndex>
<effect>
<StayType>0</StayType>
<IsStatic>0</IsStatic>
</effect>
<Id>node12</Id>
<PlayTimes>1</PlayTimes>
<bShowAsFahrenheit>0</bShowAsFahrenheit>
<TemperatureOffset>0</TemperatureOffset>
</Item>
</Items>
<type>11</type>
<Layer>1</Layer>
<Name>Environment_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.44</Scale>
<Width>1280</Width>
</Information>
</Program>
</Programs>
# Environment - Smoke Program XML Example:
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>640</Width>
</Rect>
<Items>
<Item>
<MirrorOrHandstand>0</MirrorOrHandstand>
<inEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>0</IsTran>
</inEffect>
<ShowStyle>0</ShowStyle>
<BeGlaring>0</BeGlaring>
<IsNeedUpdate>0</IsNeedUpdate>
<prevfix>超标</prevfix>
<outEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>1</IsTran>
</outEffect>
<suffix>未超标</suffix>
<sourceIndex>0</sourceIndex>
<Font>
<lfWeight>400</lfWeight>
<lfPitchAndFamily>32</lfPitchAndFamily>
<lfOutPrecision>0</lfOutPrecision>
<lfQuality>3</lfQuality>
<lfWidth>0</lfWidth>
<lfUnderline>0</lfUnderline>
<lfCharSet>1</lfCharSet>
<lfFaceName>SimHei</lfFaceName>
<lfEscapement>0</lfEscapement>
<lfItalic>0</lfItalic>
<lfHeight>24</lfHeight>
<lfOrientation>0</lfOrientation>
<lfStrikeOut>0</lfStrikeOut>
</Font>
<Name>Environment</Name>
<portIndex>0</portIndex>
<Alignment>0</Alignment>
<bShowText>1</bShowText>
<bTransparent>1</bTransparent>
<playTime>8</playTime>
<Opacity>1</Opacity>
<OpacityBg>1</OpacityBg>
<tem2>26</tem2>
<tem3>31</tem3>
<tem1>21</tem1>
<TextY>0</TextY>
<TextX>0</TextX>
<BackColor>0xFF000000</BackColor>
<temColor2>#ffffff</temColor2>
<bShowPic>1</bShowPic>
<temColor1>#ffffff</temColor1>
<Duration>8000</Duration>
<UpdateInterval>10000</UpdateInterval>
<textColor>0xFFffffff</textColor>
<temColor4>#ffffff</temColor4>
<temColor3>#ffffff</temColor3>
<Type>28</Type>
<PlayLength>8000</PlayLength>
<sourceType>1</sourceType>
<scIndex>0</scIndex>
<effect>
<StayType>0</StayType>
<IsStatic>0</IsStatic>
</effect>
<Id>node12</Id>
<PlayTimes>1</PlayTimes>
<bShowAsFahrenheit>0</bShowAsFahrenheit>
<TemperatureOffset>0</TemperatureOffset>
</Item>
</Items>
<type>11</type>
<Layer>1</Layer>
<Name>Environment_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.44</Scale>
<Width>1280</Width>
</Information>
</Program>
</Programs>
# Environment - AQI Program XML Example:
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>640</Width>
</Rect>
<Items>
<Item>
<MirrorOrHandstand>0</MirrorOrHandstand>
<inEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>0</IsTran>
</inEffect>
<ShowStyle>0</ShowStyle>
<BeGlaring>0</BeGlaring>
<IsNeedUpdate>0</IsNeedUpdate>
<prevfix>空气指数:</prevfix>
<outEffect>
<Type>0</Type>
<repeatX>1</repeatX>
<repeatY>1</repeatY>
<Time>500</Time>
<IsTran>1</IsTran>
</outEffect>
<suffix/>
<sourceIndex>0</sourceIndex>
<Font>
<lfWeight>400</lfWeight>
<lfPitchAndFamily>32</lfPitchAndFamily>
<lfOutPrecision>0</lfOutPrecision>
<lfQuality>3</lfQuality>
<lfWidth>0</lfWidth>
<lfUnderline>0</lfUnderline>
<lfCharSet>1</lfCharSet>
<lfFaceName>SimHei</lfFaceName>
<lfEscapement>0</lfEscapement>
<lfItalic>0</lfItalic>
<lfHeight>24</lfHeight>
<lfOrientation>0</lfOrientation>
<lfStrikeOut>0</lfStrikeOut>
</Font>
<Name>Environment</Name>
<portIndex>0</portIndex>
<Alignment>0</Alignment>
<bShowText>1</bShowText>
<bTransparent>1</bTransparent>
<playTime>8</playTime>
<Opacity>1</Opacity>
<OpacityBg>1</OpacityBg>
<tem2>26</tem2>
<tem3>31</tem3>
<tem1>21</tem1>
<TextY>0</TextY>
<TextX>0</TextX>
<BackColor>0xFF000000</BackColor>
<temColor2>#ffffff</temColor2>
<bShowPic>1</bShowPic>
<temColor1>#ffffff</temColor1>
<Duration>8000</Duration>
<UpdateInterval>10000</UpdateInterval>
<textColor>0xFFffffff</textColor>
<temColor4>#ffffff</temColor4>
<temColor3>#ffffff</temColor3>
<Type>24</Type>
<PlayLength>8000</PlayLength>
<sourceType>1</sourceType>
<scIndex>0</scIndex>
<effect>
<StayType>0</StayType>
<IsStatic>0</IsStatic>
</effect>
<Id>node13</Id>
<PlayTimes>1</PlayTimes>
<bShowAsFahrenheit>0</bShowAsFahrenheit>
<TemperatureOffset>0</TemperatureOffset>
</Item>
</Items>
<type>11</type>
<Layer>1</Layer>
<Name>Environment_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.44</Scale>
<Width>1280</Width>
</Information>
</Program>
</Programs>
# RSS Program
# Description of Attributes:
| Attribute | Description | Example |
|---|---|---|
| Name | Window name (fixed value) | Rss_Window |
| Items | List | [] |
| Type | Window type (27: RSS) | 27 |
| BackColor | Background color | #00000000 |
| Alhpa | Transparency | 1.000000 |
| Duration | Playback duration (ms) | 9000 |
| Url | RSS URL | "https://www.yahoo.com/news/rss?type=rss&bgcolor=0x00000000&color=0xFFFFFFFF&speed=60&size=18&interval=600000&filter=description_title_pubdate_image" |
| PlayTimes | Playback count | 1 |
Detailed explanation of URL parameters:
"https://www.yahoo.com/news/rss?type=rss&bgcolor=0x00000000&color=0xFFFFFFFF&speed=60&size=18&interval=600000&filter=description_title_pubdate_image"
| Parameter | Description | Example |
|---|---|---|
| url | RSS | "https://www.yahoo.com/news/rss" |
| type | Type, fixed as RSS | rss |
| interval | Refresh interval (ms) | 600000 |
| size | Font size (px) | 18 |
| color | Font color (hexadecimal) | 0xFFFFFFFF |
| filter | Display selected content with fields separated by underscores (content_title_update time_image) | description_title_pubdate_image |
| speed | Scrolling speed (px/s) | 60 |
| bgcolor | Background color (hexadecimal) | 0x00000000 |
# RSS Program XML Example:
<?xml version='1.0' encoding='utf-8'?>
<Programs>
<Program>
<Pages>
<Page>
<AppointDuration>3600000</AppointDuration>
<LoopType>1</LoopType>
<Regions>
<Region>
<Rect>
<X>0</X>
<BorderColor>#ffff00</BorderColor>
<Y>0</Y>
<Height>256</Height>
<BorderWidth>0</BorderWidth>
<Width>640</Width>
</Rect>
<Items>
<Item>
<Type>27</Type>
<BackColor>#00000000</BackColor>
<FileSource>
<FilePath/>
<Resource_ID/>
<IsRelative>1</IsRelative>
</FileSource>
<Alhpa>1.000000</Alhpa>
<Duration>8000</Duration>
<PlayTimes>1</PlayTimes>
<Url>https://www.yahoo.com/news/rss?type=rss&bgcolor=0x00000000&color=0xFFFFFFFF&speed=60&size=16&interval=600000&filter=description_title_pubdate_image</Url>
</Item>
</Items>
<type>13</type>
<Layer>1</Layer>
<Name>Rss_Window</Name>
</Region>
</Regions>
<Opacity>1</Opacity>
<BgColor>0xFF000000</BgColor>
</Page>
</Pages>
<Information>
<Height>512</Height>
<Scale>0.44</Scale>
<Width>1280</Width>
</Information>
</Program>
</Programs>