+++ /dev/fd/62	2022-12-08 22:30:18.613127649 +0000
+I/n2t-out/Program.s.txt
++ HMI/US/portrait/n2t-out/Program.s.txt
+I/n2t-out/cardChart.txt
++ HMI/US/portrait/n2t-out/cardChart.txt
+16 +175,16 @@
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î³
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tSend.txt="event,buttonPress2,cardChart,"
+     if(bPrev.txt=="î")
+     tSend.txt="event,buttonPress2,cardPower,"
+     if(bNext.txt=="î")
+     {
+         tSend.txt+="bHome"
+     }else
+     {
+         tSend.txt+="bNext"
+     }
+     //send calc crc
+15 +207,15 @@
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î°
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tSend.txt="event,buttonPress2,cardChart,"
+     tSend.txt="event,buttonPress2,cardAlarm,"
+     if(bPrev.txt=="î¶")
+     {
+         tSend.txt+="bUp"
+     }else
+     {
+         tSend.txt+="bPrev"
+     }
+14 +309,25 @@
+         }
+     }else
+     {
+         vis x0,0
+         vaLast.val=-1
+     }
+ 
+ m1
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+
+nts
+ Touch Press Event
+     click bPrev,1
+ 
+ mSwipeNext
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+I/n2t-out/cardEntities.txt
++ HMI/US/portrait/n2t-out/cardEntities.txt
+I/n2t-out/cardGrid.txt
++ HMI/US/portrait/n2t-out/cardGrid.txt
+14 +609,18 @@
+     {
+         page popupLight
+     }
+     if(tTmp.txt=="fan")
+     {
+         page popupFan
+     }
+     if(tTmp.txt=="input_sel")
+     {
+         page popupInSel
+     }
+ 
+mSerial
+ributes
+ Scope      : local
+ Period (ms): 50
+ Enabled    : yes
+I/n2t-out/cardMedia.txt
++ HMI/US/portrait/n2t-out/cardMedia.txt
+3 +15,16 @@
+     dim=dimValueNormal
+     vis p0,0
+     vis tSend,0
+     vis tInstruction,0
+     vis tTmp,0
+     vis tId,0
+     vis t5,0
+     vis tShuffle,0
+     vis bPrev,0
+     vis bNext,0
+     vis bEntity1,0
+     vis bEntity2,0
+     vis bEntity3,0
+     vis bEntity4,0
+     vis bEntity5,0
+     vis bEntity6,0
+     cardMedia.bco=defaultBcoColor
+     for(sys0=0;sys0<34;sys0++)
+     {
+         if(b[sys0].type==98||b[sys0].type==116)
+         {
+             b[sys0].bco=defaultBcoColor
+             b[sys0].pco=defaultFontColor
+58 +39,32 @@
+ 
+e (string) entn
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 80
+
+e (string) entn1
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 80
+
+e (string) entn2
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 80
+
+e (string) entn3
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 80
+
+e (string) entn4
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 80
+
+e (string) entn5
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 80
+
+e (string) entn6
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 80
+
+e (string) strCommand
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 750
+
+e (string) tEntity1
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 20
+
+e (string) tEntity2
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 20
+
+e (string) tEntity3
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 20
+
+e (string) tEntity4
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 20
+
+e (string) tEntity5
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 20
+
+e (string) tEntity6
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 20
+
+e (string) tId
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 20
+
+e (string) tSend
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 200
+
+e (string) tTmp
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 10
+
+e (string) type1
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 10
+
+e (string) type2
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 10
+
+e (string) type3
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 10
+
+e (string) type4
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 10
+
+e (string) type5
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 10
+
+e (string) type6
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 10
+
+e (string) vaMenu
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 50
+
+e (string) vaMenuType
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 50
+
+e (string) vaSpeakerList
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 400
+
+e (int32) vaSpeakerPos
+14 +186,24 @@
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : î
+ Max. Text Size                      : 10
+
+
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+14 +225,36 @@
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : î´
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     //speaker
+     tSpeaker.pco=65535
+     spstr vaSpeakerList.txt,tSpeaker.txt,"?",vaSpeakerPos.val
+     vaSpeakerPos.val+=1
+     if(tSpeaker.txt=="")
+     {
+         vaSpeakerPos.val=0
+         spstr vaSpeakerList.txt,tSpeaker.txt,"?",vaSpeakerPos.val
+     }
+ 
+uthor
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+14 +267,52 @@
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : 
+ Max. Text Size                      : 40
+
+con
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : 
+ Max. Text Size                      : 10
+
+nts
+ Touch Release Event
+     if(vaMenu.txt!="")
+     {
+         tSend.txt="event,buttonPress2,"+vaMenu.txt+",button"
+         //send calc crc
+         btlen tSend.txt,sys0
+         crcrest 1,0xffff // reset CRC
+         crcputh 55 bb
+         crcputs sys0,2
+         crcputs tSend.txt,0
+         //send cmd
+         printh 55 bb
+         prints sys0,2
+         prints tSend.txt,0
+         prints crcval,2
+     }
+ 
+d
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : 
+ Max. Text Size                      : 20
+
+nstruction
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+31 +344,31 @@
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+huffle
+peaker
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : x
+ Max. Text Size                      : 10
+ Text                                : 
+ Max. Text Size                      : 50
+
+nts
+ Touch Press Event
+     // event,buttonPress2,entn,media-next
+     //craft command
+     tSend.txt="event,buttonPress2,"
+     tSend.txt+=entn.txt+","
+     tSend.txt+="media-shuffle"
+     tSend.txt+="speaker-sel,"+tSpeaker.txt
+     //send calc crc
+     btlen tSend.txt,sys0
+     crcrest 1,0xffff // reset CRC
+     crcputh 55 bb
+     crcputs sys0,2
+     crcputs tSend.txt,0
+     //send cmd
+14 +383,24 @@
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : 
+ Max. Text Size                      : 50
+
+mp
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : 
+ Max. Text Size                      : 10
+
+ p0
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+
+280 +431,14 @@
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+bEntity1
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î´
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tmLP.en=1
+     tTmp.txt=type1.txt
+     pageIcons.tTmp1.txt=tEntity1.txt
+     pageIcons.tTmp2.txt=entn1.txt
+     pageIcons.tTmp3.txt=bEntity1.txt
+     if(type1.txt=="shutter")
+     {
+         page popupShutter
+     }
+     if(type1.txt=="input_sel")
+     {
+         page popupInSel
+     }
+ 
+ Touch Release Event
+     tmLP.en=0
+     tSend.txt="event,buttonPress2,"+entn1.txt+",button"
+     //send calc crc
+     btlen tSend.txt,sys0
+     crcrest 1,0xffff // reset CRC
+     crcputh 55 bb
+     crcputs sys0,2
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+bEntity2
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î´
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tmLP.en=1
+     tTmp.txt=type2.txt
+     pageIcons.tTmp1.txt=tEntity2.txt
+     pageIcons.tTmp2.txt=entn2.txt
+     pageIcons.tTmp3.txt=bEntity2.txt
+     if(type2.txt=="shutter")
+     {
+         page popupShutter
+     }
+     if(type2.txt=="input_sel")
+     {
+         page popupInSel
+     }
+     if(type2.txt=="media_pl")
+     {
+         page popupInSel
+     }
+ 
+ Touch Release Event
+     tmLP.en=0
+     tSend.txt="event,buttonPress2,"+entn2.txt+",button"
+     //send calc crc
+     btlen tSend.txt,sys0
+     crcrest 1,0xffff // reset CRC
+     crcputh 55 bb
+     crcputs sys0,2
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+bEntity3
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î´
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tmLP.en=1
+     tTmp.txt=type3.txt
+     pageIcons.tTmp1.txt=tEntity3.txt
+     pageIcons.tTmp2.txt=entn3.txt
+     pageIcons.tTmp3.txt=bEntity3.txt
+     if(type3.txt=="shutter")
+     {
+         page popupShutter
+     }
+     if(type3.txt=="input_sel")
+     {
+         page popupInSel
+     }
+     if(type3.txt=="media_pl")
+     {
+         page popupInSel
+     }
+ 
+ Touch Release Event
+     tmLP.en=0
+     tSend.txt="event,buttonPress2,"+entn3.txt+",button"
+     //send calc crc
+     btlen tSend.txt,sys0
+     crcrest 1,0xffff // reset CRC
+     crcputh 55 bb
+     crcputs sys0,2
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+bEntity4
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î´
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tmLP.en=1
+     tTmp.txt=type4.txt
+     pageIcons.tTmp1.txt=tEntity4.txt
+     pageIcons.tTmp2.txt=entn4.txt
+     pageIcons.tTmp3.txt=bEntity4.txt
+     if(type4.txt=="shutter")
+     {
+         page popupShutter
+     }
+     if(type4.txt=="input_sel")
+     {
+         page popupInSel
+     }
+     if(type4.txt=="media_pl")
+     {
+         page popupInSel
+     }
+ 
+ Touch Release Event
+     tmLP.en=0
+     tSend.txt="event,buttonPress2,"+entn4.txt+",button"
+     //send calc crc
+     btlen tSend.txt,sys0
+     crcrest 1,0xffff // reset CRC
+     crcputh 55 bb
+     crcputs sys0,2
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+bEntity5
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î´
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tmLP.en=1
+     tTmp.txt=type5.txt
+     pageIcons.tTmp1.txt=tEntity5.txt
+     pageIcons.tTmp2.txt=entn5.txt
+     pageIcons.tTmp3.txt=bEntity5.txt
+     if(type5.txt=="shutter")
+     {
+         page popupShutter
+     }
+     if(type5.txt=="input_sel")
+     {
+         page popupInSel
+     }
+     if(type5.txt=="media_pl")
+     {
+         page popupInSel
+     }
+ 
+ Touch Release Event
+     tmLP.en=0
+     tSend.txt="event,buttonPress2,"+entn5.txt+",button"
+     //send calc crc
+     btlen tSend.txt,sys0
+     crcrest 1,0xffff // reset CRC
+     crcputh 55 bb
+     crcputs sys0,2
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+bEntity6
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ State                               : unpressed
+ Text                                : î´
+ Max. Text Size                      : 10
+
+nts
+ Touch Press Event
+     tmLP.en=1
+     tTmp.txt=type6.txt
+     pageIcons.tTmp1.txt=tEntity6.txt
+     pageIcons.tTmp2.txt=entn6.txt
+     pageIcons.tTmp3.txt=bEntity6.txt
+     if(type6.txt=="shutter")
+     {
+         page popupShutter
+     }
+     if(entn.txt=="input_sel")
+     {
+         page popupInSel
+     }
+     if(type6.txt=="media_pl")
+     {
+         page popupInSel
+     }
+ 
+ Touch Release Event
+     tmLP.en=0
+     tSend.txt="event,buttonPress2,"+entn6.txt+",button"
+     //send calc crc
+     btlen tSend.txt,sys0
+     crcrest 1,0xffff // reset CRC
+     crcputh 55 bb
+     crcputs sys0,2
+     crcputs tSend.txt,0
+     //send cmd
+     printh 55 bb
+     prints sys0,2
+     prints tSend.txt,0
+     prints crcval,2
+ 
+bNext
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ State                               : unpressed
+31 +538,14 @@
+ Period (ms): 100
+ Enabled    : no
+
+nts
+ Timer Event
+     tmCooldown.en=0
+ 
+mLP
+ributes
+ Scope      : local
+ Period (ms): 500
+ Enabled    : no
+
+nts
+ Timer Event
+     if(tTmp.txt=="light")
+     {
+         page popupLight
+     }
+     if(tTmp.txt=="fan")
+     {
+         page popupFan
+     }
+ 
+mSerial
+ributes
+ Scope      : local
+ Period (ms): 50
+ Enabled    : yes
+
+nts
+15 +591,15 @@
+                             // here is the location where acual code should be
+                             // write command to variable strCommand
+                             ucopy strCommand.txt,4,payloadLength-5,0
+                             // write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
+                             spstr strCommand.txt,tInstruction.txt,"~",0
+                             if(tInstruction.txt=="entityUpd")
+                             {
+                                 // command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
+                                 //heading
+                                 spstr strCommand.txt,tHeading.txt,"~",1
+                                 // navigation icons
+                                 spstr strCommand.txt,tId.txt,"~",2
+                                 spstr tId.txt,tTmp.txt,"|",0
+                                 if(tTmp.txt=="0")
+                                 {
+                                     vis bPrev,0
+183 +635,111 @@
+                                 if(tTmp.txt=="2")
+                                 {
+                                     vis bNext,1
+                                     bNext.txt="î"
+                                 }
+                                 //entity name
+                                 spstr strCommand.txt,entn.txt,"~",3
+                                 //icon
+                                 spstr strCommand.txt,tIcon.txt,"~",4
+                                 //icon farbe
+                                 spstr strCommand.txt,tTmp.txt,"~",5
+                                 if(tTmp.txt!="")
+                                 {
+                                     covx tTmp.txt,tIcon.pco,0,0
+                                 }
+                                 //title
+                                 spstr strCommand.txt,tTitle.txt,"~",4
+                                 spstr strCommand.txt,tTitle.txt,"~",6
+                                 //title farbe
+                                 spstr strCommand.txt,tTmp.txt,"~",5
+                                 spstr strCommand.txt,tTmp.txt,"~",7
+                                 if(tTmp.txt!="")
+                                 {
+                                     covx tTmp.txt,tTitle.pco,0,0
+                                 }
+                                 //author
+                                 spstr strCommand.txt,tAuthor.txt,"~",6
+                                 spstr strCommand.txt,tAuthor.txt,"~",8
+                                 //author farbe
+                                 spstr strCommand.txt,tTmp.txt,"~",7
+                                 spstr strCommand.txt,tTmp.txt,"~",9
+                                 if(tTmp.txt!="")
+                                 {
+                                     covx tTmp.txt,tAuthor.pco,0,0
+                                 }
+                                 //volume
+                                 spstr strCommand.txt,tTmp.txt,"~",8
+                                 spstr strCommand.txt,tTmp.txt,"~",10
+                                 covx tTmp.txt,sys0,0,0
+                                 hVolume.val=sys0
+                                 //icon
+                                 spstr strCommand.txt,tPlayPause.txt,"~",9
+                                 spstr strCommand.txt,tPlayPause.txt,"~",11
+                                 //speaker current
+                                 spstr strCommand.txt,tSpeaker.txt,"~",12
+                                 if(tSpeaker.txt!="")
+                                 {
+                                     tSpeaker.pco=1374
+                                 }else
+                                 {
+                                     tSpeaker.pco=65535
+                                 }
+                                 //speaker list
+                                 spstr strCommand.txt,vaSpeakerList.txt,"~",13
+                                 if(vaSpeakerList.txt=="")
+                                 {
+                                     vis t6,0
+                                 }
+                                 vaSpeakerPos.val=0
+                                 // on off button
+                                 spstr strCommand.txt,tTmp.txt,"~",10
+                                 spstr strCommand.txt,tTmp.txt,"~",14
+                                 if(tTmp.txt=="disable")
+                                 {
+                                     vis t5,0
+                                 }else
+                                 {
+                                     vis t5,1
+                                     covx tTmp.txt,t5.pco,0,0
+                                 }
+                                 // shuffel btn
+                                 spstr strCommand.txt,tTmp.txt,"~",11
+                                 if(tTmp.txt=="disable")
+                                 {
+                                     vis tShuffle,0
+                                 }else
+                                 //tIconBtnEntityName
+                                 spstr strCommand.txt,vaMenu.txt,"~",15
+                             }
+                             if(tInstruction.txt=="time")
+                             {
+                                 // get set time to global variable
+                                 spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
+                             }
+                             if(tInstruction.txt=="date")
+                             {
+                                 // get set date to global variable
+                                 spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
+                             }
+                             if(tInstruction.txt=="dimmode")
+                             {
+                                 // get value
+                                 spstr strCommand.txt,tTmp.txt,"~",1
+                                 covx tTmp.txt,dimValue,0,0
+                                 // get value normal
+                                 spstr strCommand.txt,tTmp.txt,"~",2
+                                 covx tTmp.txt,dimValueNormal,0,0
+                                 dim=dimValueNormal
+                                 // get background color
+                                 spstr strCommand.txt,tTmp.txt,"~",3
+                                 if(tTmp.txt!="")
+                                 {
+                                     vis tShuffle,1
+                                     tShuffle.txt=tTmp.txt
+                                     covx tTmp.txt,defaultBcoColor,0,0
+                                 }
+                                 // get Type
+                                 spstr strCommand.txt,type1.txt,"~",12
+                                 // get internal name
+                                 spstr strCommand.txt,entn1.txt,"~",13
+                                 if(type1.txt=="delete"||type1.txt=="")
+                                 {
+                                     vis tEntity1,0
+                                     vis bEntity1,0
+                                 }else
+                                 {
+                                     // change icon
+                                     spstr strCommand.txt,bEntity1.txt,"~",14
+                                     vis bEntity1,1
+                                     // change icon color
+                                     spstr strCommand.txt,tTmp.txt,"~",15
+                                     covx tTmp.txt,sys0,0,0
+                                     bEntity1.pco=sys0
+                                     // set name
+                                     spstr strCommand.txt,tEntity1.txt,"~",16
+                                     vis tEntity1,1
+                                 }
+                                 // get Type
+                                 spstr strCommand.txt,type2.txt,"~",18
+                                 // get internal name
+                                 spstr strCommand.txt,entn2.txt,"~",19
+                                 if(type2.txt=="delete"||type2.txt=="")
+                                 {
+                                     vis tEntity2,0
+                                     vis bEntity2,0
+                                 }else
+                                 {
+                                     // change icon
+                                     spstr strCommand.txt,bEntity2.txt,"~",20
+                                     vis bEntity2,1
+                                     // change icon color
+                                     spstr strCommand.txt,tTmp.txt,"~",21
+                                     covx tTmp.txt,sys0,0,0
+                                     bEntity2.pco=sys0
+                                     // set name
+                                     spstr strCommand.txt,tEntity2.txt,"~",22
+                                     vis tEntity2,1
+                                 }
+                                 // get Type
+                                 spstr strCommand.txt,type3.txt,"~",24
+                                 // get internal name
+                                 spstr strCommand.txt,entn3.txt,"~",25
+                                 if(type3.txt=="delete"||type3.txt=="")
+                                 {
+                                     vis tEntity3,0
+                                     vis bEntity3,0
+                                 }else
+                                 {
+                                     // change icon
+                                     spstr strCommand.txt,bEntity3.txt,"~",26
+                                     vis bEntity3,1
+                                     // change icon color
+                                     spstr strCommand.txt,tTmp.txt,"~",27
+                                     covx tTmp.txt,sys0,0,0
+                                     bEntity3.pco=sys0
+                                     // set name
+                                     spstr strCommand.txt,tEntity3.txt,"~",28
+                                     vis tEntity3,1
+                                 }
+                                 // get Type
+                                 spstr strCommand.txt,type4.txt,"~",30
+                                 // get internal name
+                                 spstr strCommand.txt,entn4.txt,"~",31
+                                 if(type4.txt=="delete"||type4.txt=="")
+                                 {
+                                     vis tEntity4,0
+                                     vis bEntity4,0
+                                 }else
+                                 {
+                                     // change icon
+                                     spstr strCommand.txt,bEntity4.txt,"~",32
+                                     vis bEntity4,1
+                                     // change icon color
+                                     spstr strCommand.txt,tTmp.txt,"~",33
+                                     covx tTmp.txt,sys0,0,0
+                                     bEntity4.pco=sys0
+                                     // set name
+                                     spstr strCommand.txt,tEntity4.txt,"~",34
+                                     vis tEntity4,1
+                                 }
+                                 // get Type
+                                 spstr strCommand.txt,type5.txt,"~",36
+                                 // get internal name
+                                 spstr strCommand.txt,entn5.txt,"~",37
+                                 if(type5.txt=="delete"||type5.txt=="")
+                                 {
+                                     vis tEntity5,0
+                                     vis bEntity5,0
+                                 }else
+                                 {
+                                     // change icon
+                                     spstr strCommand.txt,bEntity5.txt,"~",38
+                                     vis bEntity5,1
+                                     // change icon color
+                                     spstr strCommand.txt,tTmp.txt,"~",39
+                                     covx tTmp.txt,sys0,0,0
+                                     bEntity5.pco=sys0
+                                     // set name
+                                     spstr strCommand.txt,tEntity5.txt,"~",40
+                                     vis tEntity5,1
+                                 }
+                                 // get Type
+                                 spstr strCommand.txt,type6.txt,"~",42
+                                 // get internal name
+                                 spstr strCommand.txt,entn6.txt,"~",43
+                                 if(type6.txt=="delete"||type6.txt=="")
+                                 {
+                                     vis tEntity6,0
+                                     vis bEntity6,0
+                                 }else
+                                 // get font color
+                                 spstr strCommand.txt,tTmp.txt,"~",4
+                                 if(tTmp.txt!="")
+                                 {
+                                     // change icon
+                                     spstr strCommand.txt,bEntity6.txt,"~",44
+                                     vis bEntity6,1
+                                     // change icon color
+                                     spstr strCommand.txt,tTmp.txt,"~",45
+                                     covx tTmp.txt,sys0,0,0
+                                     bEntity6.pco=sys0
+                                     // set name
+                                     spstr strCommand.txt,tEntity6.txt,"~",46
+                                     vis tEntity6,1
+                                     covx tTmp.txt,defaultFontColor,0,0
+                                 }
+                             }
+                             if(tInstruction.txt=="timeout")
+                             {
+                                 //set timeout to global var
+                                 spstr strCommand.txt,tTmp.txt,"~",1
+                                 covx tTmp.txt,sleepTimeout,0,0
+                             }
+                             if(tInstruction.txt=="pageType")
+                             {
+                                 sleepValue=0
+                                 //command format pageType,specialPageName
+                                 //write name of speical page to tId
+                                 spstr strCommand.txt,tId.txt,"~",1
+                                 //save second arg if there's one
+,63 +796,38 @@
+                                 {
+                                     page cardQR
+                                 }
+                                 if(tId.txt=="cardPower")
+                                 {
+                                     page cardPower
+                                 }
+                             }
+                             if(tInstruction.txt=="time")
+                             {
+                                 // get set time to global variable
+                                 spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
+                             }
+                             if(tInstruction.txt=="date")
+                             {
+                                 // get set date to global variable
+                                 spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
+                             }
+                             if(tInstruction.txt=="dimmode")
+                             {
+                                 // get value
+                                 spstr strCommand.txt,tTmp.txt,"~",1
+                                 covx tTmp.txt,dimValue,0,0
+                                 // get value normal
+                                 spstr strCommand.txt,tTmp.txt,"~",2
+                                 covx tTmp.txt,dimValueNormal,0,0
+                                 dim=dimValueNormal
+                                 // get background color
+                                 spstr strCommand.txt,tTmp.txt,"~",3
+                                 if(tTmp.txt!="")
+                                 if(tId.txt=="cardChart")
+                                 {
+                                     covx tTmp.txt,defaultBcoColor,0,0
+                                 }
+                                 // get font color
+                                 spstr strCommand.txt,tTmp.txt,"~",4
+                                 if(tTmp.txt!="")
+                                 {
+                                     covx tTmp.txt,defaultFontColor,0,0
+                                     page cardChart
+                                 }
+                             }
+                             if(tInstruction.txt=="timeout")
+                             {
+                                 //set timeout to global var
+                                 spstr strCommand.txt,tTmp.txt,"~",1
+                                 covx tTmp.txt,sleepTimeout,0,0
+                             }
+                             // end of user code
+                             udelete payloadLength-1
+                             bufferPos=0
+                         }
+                     }
+                 }
+             }
+             // next character
+             bufferPos++
+         }
+         if(bufferPos==usize)
+         {
+             // copy whole buffer to t1.txt, for debugging
+             //ucopy t2.txt,0,usize,0
+             // ucopy n2.val,0,usize,0
+             // clear whole buffer
+             //code_c
+             //bufferPos=0
+         }
+     }
+ 
+mSleep
+ributes
+ Scope      : local
+ Period (ms): 1000
+ Enabled    : yes
+I/n2t-out/pageStartup.txt
++ HMI/US/portrait/n2t-out/pageStartup.txt
+I/n2t-out/popupFan.txt
++ HMI/US/portrait/n2t-out/popupFan.txt
+14 +619,18 @@
+                                 {
+                                     page cardQR
+                                 }
+                                 if(tId.txt=="cardPower")
+                                 {
+                                     page cardPower
+                                 }
+                                 if(tId.txt=="cardChart")
+                                 {
+                                     page cardChart
+                                 }
+                             }
+                             // end of user code
+                             udelete payloadLength-1
+                             bufferPos=0
+                         }
+                     }
+                 }
+I/n2t-out/popupInSel.txt
++ HMI/US/portrait/n2t-out/popupInSel.txt
+14 +893,18 @@
+                                 {
+                                     page cardQR
+                                 }
+                                 if(tId.txt=="cardPower")
+                                 {
+                                     page cardPower
+                                 }
+                                 if(tId.txt=="cardChart")
+                                 {
+                                     page cardChart
+                                 }
+                             }
+                             // end of user code
+                             udelete payloadLength-1
+                             bufferPos=0
+                         }
+                     }
+                 }
+I/n2t-out/popupLight.txt
++ HMI/US/portrait/n2t-out/popupLight.txt
+14 +682,18 @@
+                                 {
+                                     page cardQR
+                                 }
+                                 if(tId.txt=="cardPower")
+                                 {
+                                     page cardPower
+                                 }
+                                 if(tId.txt=="cardChart")
+                                 {
+                                     page cardChart
+                                 }
+                             }
+                             // end of user code
+                             udelete payloadLength-1
+                             bufferPos=0
+                         }
+                     }
+                 }
+I/n2t-out/popupNotify.txt
++ HMI/US/portrait/n2t-out/popupNotify.txt
+14 +437,18 @@
+                                 {
+                                     page cardQR
+                                 }
+                                 if(tId.txt=="cardPower")
+                                 {
+                                     page cardPower
+                                 }
+                                 if(tId.txt=="cardChart")
+                                 {
+                                     page cardChart
+                                 }
+                             }
+                             // end of user code
+                             udelete payloadLength-1
+                             bufferPos=0
+                         }
+                     }
+                 }
+I/n2t-out/popupShutter.txt
++ HMI/US/portrait/n2t-out/popupShutter.txt
+14 +671,18 @@
+                                 {
+                                     page cardQR
+                                 }
+                                 if(tId.txt=="cardPower")
+                                 {
+                                     page cardPower
+                                 }
+                                 if(tId.txt=="cardChart")
+                                 {
+                                     page cardChart
+                                 }
+                             }
+                             // end of user code
+                             udelete payloadLength-1
+                             bufferPos=0
+                         }
+                     }
+                 }
+I/n2t-out/popupThermo.txt
++ HMI/US/portrait/n2t-out/popupThermo.txt
+14 +942,18 @@
+                                 {
+                                     page cardQR
+                                 }
+                                 if(tId.txt=="cardPower")
+                                 {
+                                     page cardPower
+                                 }
+                                 if(tId.txt=="cardChart")
+                                 {
+                                     page cardChart
+                                 }
+                             }
+                             // end of user code
+                             udelete payloadLength-1
+                             bufferPos=0
+                         }
+                     }
+                 }
+I/n2t-out/screensaver.txt
++ HMI/US/portrait/n2t-out/screensaver.txt
+9 +29,20 @@
+     }
+     tDate.txt=pageIcons.vaDate.txt
+     dim=dimValue
+     vis tSend,0
+     //page open event
+     // clear weather elements, to keep example content in HMI
+ 
+ Postinitialize Event
+     click m0,1
+ 
+e (string) strCommand
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 200
+
+e (string) strTmp
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 2
+
+e (string) tId
+ributes
+ Scope         : local
+ Text          : 
+ Max. Text Size: 25
+
+e (string) tInstruction
+24 +94,14 @@
+ Value: 0
+
+e (int32) ycR
+ributes
+ Scope: local
+ Value: 0
+
+
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+ Text                                : 
+ Max. Text Size                      : 10
+
+0
+ributes
+ Scope                               : local
+ Dragging                            : 0
+ Disable release event after dragging: 0
+ Send Component ID                   : disabled
+ Associated Keyboard                 : none
+15 +563,14 @@
+                                 spstr strCommand.txt,tIcon1.txt,"~",17
+                                 spstr strCommand.txt,tTmp.txt,"~",18
+                                 covx tTmp.txt,tIcon1.pco,0,0
+                                 //statusIcon2
+                                 spstr strCommand.txt,tIcon2.txt,"~",19
+                                 spstr strCommand.txt,tTmp.txt,"~",20
+                                 covx tTmp.txt,tIcon2.pco,0,0
+                                 click m0,1
+                             }
+                             if(tInstruction.txt=="color"&&tNotifyHead.txt==""&&tNotifyText.txt=="")
+                             {
+                                 spstr strCommand.txt,tTmp.txt,"~",1
+                                 covx tTmp.txt,tTime.bco,0,0
+                                 if(tTime.bco!=screensaver.bco)
+                                 {
