--- HMI/n2t-out
+++ HMI/US/landscape/n2t-out
│   --- HMI/n2t-out/Program.s.txt
├── +++ HMI/US/landscape/n2t-out/Program.s.txt
│ @@ -10,10 +10,7 @@
│      int sleepValue=0
│      // dim value
│      int dimValue=40
│      int dimValueNormal=100
│      //color vars
│      int defaultFontColor=65535
│      int defaultBcoColor=6371
│ -    // fix touch offset
│ -    lcd_dev fffb 0002 0000 0020
│ -    page pageStartup
│   --- HMI/n2t-out/cardChart.txt
├── +++ HMI/US/landscape/n2t-out/cardChart.txt
│ @@ -175,16 +175,16 @@
│          Send Component ID                   : disabled
│          State                               : unpressed
│          Text                                : î³
│          Max. Text Size                      : 10
│      
│      Events
│          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
│ @@ -207,15 +207,15 @@
│          Send Component ID                   : disabled
│          State                               : unpressed
│          Text                                : î°
│          Max. Text Size                      : 10
│      
│      Events
│          Touch Press Event
│ -            tSend.txt="event,buttonPress2,cardChart,"
│ +            tSend.txt="event,buttonPress2,cardAlarm,"
│              if(bPrev.txt=="î¶")
│              {
│                  tSend.txt+="bUp"
│              }else
│              {
│                  tSend.txt+="bPrev"
│              }
│   --- HMI/n2t-out/cardGrid.txt
├── +++ HMI/US/landscape/n2t-out/cardGrid.txt
│ @@ -609,14 +609,18 @@
│              {
│                  page popupLight
│              }
│              if(tTmp.txt=="fan")
│              {
│                  page popupFan
│              }
│ +            if(tTmp.txt=="input_sel")
│ +            {
│ +                page popupInSel
│ +            }
│          
│  Timer tmSerial
│      Attributes
│          Scope      : local
│          Period (ms): 50
│          Enabled    : yes
│   --- HMI/n2t-out/cardMedia.txt
├── +++ HMI/US/landscape/n2t-out/cardMedia.txt
│ @@ -15,23 +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
│ @@ -46,158 +39,32 @@
│          
│  Variable (string) entn
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 80
│      
│ -Variable (string) entn1
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 80
│ -    
│ -Variable (string) entn2
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 80
│ -    
│ -Variable (string) entn3
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 80
│ -    
│ -Variable (string) entn4
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 80
│ -    
│ -Variable (string) entn5
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 80
│ -    
│ -Variable (string) entn6
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 80
│ -    
│  Variable (string) strCommand
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 750
│      
│ -Variable (string) tEntity1
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 20
│ -    
│ -Variable (string) tEntity2
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 20
│ -    
│ -Variable (string) tEntity3
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 20
│ -    
│ -Variable (string) tEntity4
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 20
│ -    
│ -Variable (string) tEntity5
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 20
│ -    
│ -Variable (string) tEntity6
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 20
│ -    
│ -Variable (string) tId
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 20
│ -    
│  Variable (string) tSend
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 200
│      
│ -Variable (string) tTmp
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 10
│ -    
│ -Variable (string) type1
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 10
│ -    
│ -Variable (string) type2
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 10
│ -    
│ -Variable (string) type3
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 10
│ -    
│ -Variable (string) type4
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 10
│ -    
│ -Variable (string) type5
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 10
│ -    
│ -Variable (string) type6
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 10
│ -    
│  Variable (string) vaMenu
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 50
│      
│ -Variable (string) vaMenuType
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 50
│ -    
│  Variable (string) vaSpeakerList
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 400
│      
│  Variable (int32) vaSpeakerPos
│ @@ -319,14 +186,24 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ +Text t4
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Text                                : î
│ +        Max. Text Size                      : 10
│ +    
│  Text t5
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│ @@ -348,14 +225,36 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ +Text t6
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Text                                : î´
│ +        Max. Text Size                      : 10
│ +    
│ +    Events
│ +        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
│ +            }
│ +        
│  Text tAuthor
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│ @@ -368,14 +267,52 @@
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│          Text                                : 
│          Max. Text Size                      : 40
│      
│ +Text tIcon
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Text                                : 
│ +        Max. Text Size                      : 10
│ +    
│ +    Events
│ +        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
│ +            }
│ +        
│ +Text tId
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Text                                : 
│ +        Max. Text Size                      : 20
│ +    
│  Text tInstruction
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│ @@ -407,31 +344,31 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ -Text tShuffle
│ +Text tSpeaker
│      Attributes
│          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
│      
│      Events
│          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
│ @@ -446,14 +383,24 @@
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│          Text                                : 
│          Max. Text Size                      : 50
│      
│ +Text tTmp
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Text                                : 
│ +        Max. Text Size                      : 10
│ +    
│  Picture p0
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│      
│ @@ -484,280 +431,14 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ -Button bEntity1
│ -    Attributes
│ -        Scope                               : local
│ -        Dragging                            : 0
│ -        Disable release event after dragging: 0
│ -        Send Component ID                   : disabled
│ -        State                               : unpressed
│ -        Text                                : î´
│ -        Max. Text Size                      : 10
│ -    
│ -    Events
│ -        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
│ -        
│ -Button bEntity2
│ -    Attributes
│ -        Scope                               : local
│ -        Dragging                            : 0
│ -        Disable release event after dragging: 0
│ -        Send Component ID                   : disabled
│ -        State                               : unpressed
│ -        Text                                : î´
│ -        Max. Text Size                      : 10
│ -    
│ -    Events
│ -        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
│ -        
│ -Button bEntity3
│ -    Attributes
│ -        Scope                               : local
│ -        Dragging                            : 0
│ -        Disable release event after dragging: 0
│ -        Send Component ID                   : disabled
│ -        State                               : unpressed
│ -        Text                                : î´
│ -        Max. Text Size                      : 10
│ -    
│ -    Events
│ -        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
│ -        
│ -Button bEntity4
│ -    Attributes
│ -        Scope                               : local
│ -        Dragging                            : 0
│ -        Disable release event after dragging: 0
│ -        Send Component ID                   : disabled
│ -        State                               : unpressed
│ -        Text                                : î´
│ -        Max. Text Size                      : 10
│ -    
│ -    Events
│ -        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
│ -        
│ -Button bEntity5
│ -    Attributes
│ -        Scope                               : local
│ -        Dragging                            : 0
│ -        Disable release event after dragging: 0
│ -        Send Component ID                   : disabled
│ -        State                               : unpressed
│ -        Text                                : î´
│ -        Max. Text Size                      : 10
│ -    
│ -    Events
│ -        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
│ -        
│ -Button bEntity6
│ -    Attributes
│ -        Scope                               : local
│ -        Dragging                            : 0
│ -        Disable release event after dragging: 0
│ -        Send Component ID                   : disabled
│ -        State                               : unpressed
│ -        Text                                : î´
│ -        Max. Text Size                      : 10
│ -    
│ -    Events
│ -        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
│ -        
│  Button bNext
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          State                               : unpressed
│ @@ -857,31 +538,14 @@
│          Period (ms): 100
│          Enabled    : no
│      
│      Events
│          Timer Event
│              tmCooldown.en=0
│          
│ -Timer tmLP
│ -    Attributes
│ -        Scope      : local
│ -        Period (ms): 500
│ -        Enabled    : no
│ -    
│ -    Events
│ -        Timer Event
│ -            if(tTmp.txt=="light")
│ -            {
│ -                page popupLight
│ -            }
│ -            if(tTmp.txt=="fan")
│ -            {
│ -                page popupFan
│ -            }
│ -        
│  Timer tmSerial
│      Attributes
│          Scope      : local
│          Period (ms): 50
│          Enabled    : yes
│      
│      Events
│ @@ -927,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
│ @@ -971,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
│ @@ -1204,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
│ +                }
│              }
│          
│  Timer tmSleep
│      Attributes
│          Scope      : local
│          Period (ms): 1000
│          Enabled    : yes
│   --- HMI/n2t-out/pageStartup.txt
├── +++ HMI/US/landscape/n2t-out/pageStartup.txt
│ @@ -173,15 +173,15 @@
│          Max. Text Size                      : 10
│      
│      Events
│          Touch Press Event
│              recmod=1
│              bauds=115200
│              // startup event
│ -            tSend.txt="event,startup,"+tVersion.txt+",eu"
│ +            tSend.txt="event,startup,"+tVersion.txt+",us-l"
│              //send calc crc
│              btlen tSend.txt,sys0
│              crcrest 1,0xffff // reset CRC
│              crcputh 55 bb
│              crcputs sys0,2
│              crcputs tSend.txt,0
│              //send cmd
│   --- HMI/n2t-out/popupFan.txt
├── +++ HMI/US/landscape/n2t-out/popupFan.txt
│ @@ -619,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
│                                  }
│                              }
│                          }
│   --- HMI/n2t-out/popupInSel.txt
├── +++ HMI/US/landscape/n2t-out/popupInSel.txt
│ @@ -893,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
│                                  }
│                              }
│                          }
│   --- HMI/n2t-out/popupLight.txt
├── +++ HMI/US/landscape/n2t-out/popupLight.txt
│ @@ -682,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
│                                  }
│                              }
│                          }
│   --- HMI/n2t-out/popupNotify.txt
├── +++ HMI/US/landscape/n2t-out/popupNotify.txt
│ @@ -437,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
│                                  }
│                              }
│                          }
│   --- HMI/n2t-out/popupShutter.txt
├── +++ HMI/US/landscape/n2t-out/popupShutter.txt
│ @@ -671,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
│                                  }
│                              }
│                          }
│   --- HMI/n2t-out/popupThermo.txt
├── +++ HMI/US/landscape/n2t-out/popupThermo.txt
│ @@ -942,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
│                                  }
│                              }
│                          }
│   --- HMI/n2t-out/screensaver.txt
├── +++ HMI/US/landscape/n2t-out/screensaver.txt
│ @@ -29,29 +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
│ -        
│  Variable (string) strCommand
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 200
│      
│ -Variable (string) strTmp
│ -    Attributes
│ -        Scope         : local
│ -        Text          : 
│ -        Max. Text Size: 2
│ -    
│  Variable (string) tId
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 25
│      
│  Variable (string) tInstruction
│ @@ -103,24 +94,14 @@
│          Value: 0
│      
│  Variable (int32) ycR
│      Attributes
│          Scope: local
│          Value: 0
│      
│ -Text m0
│ -    Attributes
│ -        Scope                               : local
│ -        Dragging                            : 0
│ -        Disable release event after dragging: 0
│ -        Send Component ID                   : disabled
│ -        Associated Keyboard                 : none
│ -        Text                                : 
│ -        Max. Text Size                      : 10
│ -    
│  Text t10
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│ @@ -370,15 +351,15 @@
│  Text tTime
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│ -        Text                                : 21:32
│ +        Text                                : 21:32   
│          Max. Text Size                      : 15
│      
│  Text tTimeAdd
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│ @@ -582,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)
│                                          {
