--- HMI/n2t-out
+++ HMI/US/portrait/n2t-out
├── Program.s.txt
│ @@ -10,10 +10,10 @@
│      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
│ +    // fix touch offset (Removed for US version)
│ +    //lcd_dev fffb 0002 0000 0020
│      page pageStartup
├── cardEntities.txt
│ @@ -61,14 +61,24 @@
│              vis tIcon4,0
│              vis tEntity4,0
│              vis bText4,0
│              vis hSlider4,0
│              vis nNum4,0
│              vis bPrev,0
│              vis bNext,0
│ +            //ui e5
│ +            vis btOnOff5,0
│ +            vis bUp5,0
│ +            vis bStop5,0
│ +            vis bDown5,0
│ +            vis tIcon5,0
│ +            vis tEntity5,0
│ +            vis bText5,0
│ +            vis hSlider5,0
│ +            vis nNum5,0
│              cardEntities.bco=defaultBcoColor
│              for(sys0=0;sys0<65;sys0++)
│              {
│                  if(b[sys0].type==98||b[sys0].type==116||b[sys0].type==54)
│                  {
│                      b[sys0].bco=defaultBcoColor
│                      b[sys0].pco=defaultFontColor
│ @@ -136,14 +146,26 @@
│      
│  Variable (string) entn4
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 80
│      
│ +Variable (string) entn5
│ +    Attributes
│ +        Scope         : local
│ +        Text          : 
│ +        Max. Text Size: 80
│ +    
│ +Variable (string) type5
│ +    Attributes
│ +        Scope         : local
│ +        Text          : 
│ +        Max. Text Size: 10
│ +    
│  Variable (string) tSend
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 200
│      
│  Number nNum1
│ @@ -178,14 +200,23 @@
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│          Value                               : 0
│      
│ +Number nNum5
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Value                               : 0
│ +    
│  Text tHeading
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│ @@ -298,14 +329,34 @@
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│          Text                                : 
│          Max. Text Size                      : 50
│      
│ +Text tEntity5
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Text                                : tEntity5
│ +        Max. Text Size                      : 30
│ +    
│ +Text tIcon5
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Associated Keyboard                 : none
│ +        Text                                : î°
│ +        Max. Text Size                      : 5
│ +    
│  Picture p0
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│      
│ @@ -417,14 +468,42 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ +Slider hSlider5
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        Position                            : 50
│ +        Upper range limit                   : 100
│ +        Lower range limit                   : 0
│ +    
│ +    Events
│ +        Touch Release Event
│ +            nNum5.val=hSlider5.val
│ +            tSend.txt="event,buttonPress2,"+entn5.txt+",number-set,"
│ +            covx nNum5.val,tTmp.txt,0,0
│ +            tSend.txt+=tTmp.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
│ +            printh 55 bb
│ +            prints sys0,2
│ +            prints tSend.txt,0
│ +            prints crcval,2
│ +        
│  Button bDown1
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          State                               : unpressed
│ @@ -874,14 +953,114 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ +Button bStop5
│ +    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
│ +            tSend.txt="event,buttonPress2,"+entn5.txt+",stop"
│ +            //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 bDown5
│ +    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
│ +            tSend.txt="event,buttonPress2,"+entn5.txt+",down"
│ +            //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 bUp5
│ +    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
│ +            tSend.txt="event,buttonPress2,"+entn5.txt+",up"
│ +            //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 bText5
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +        State                               : unpressed
│ +        Text                                : 
│ +        Max. Text Size                      : 45
│ +    
│ +    Events
│ +        Touch Press Event
│ +            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
│ +        
│  Dual-state Button btOnOff1
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          State                               : unpressed
│ @@ -982,14 +1161,41 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ +Dual-state Button btOnOff5
│ +    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
│ +            tSend.txt="event,buttonPress2,"+entn5.txt+",OnOff,"
│ +            covx btOnOff5.val,tTmp.txt,0,0
│ +            tSend.txt+=tTmp.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
│ +            printh 55 bb
│ +            prints sys0,2
│ +            prints tSend.txt,0
│ +            prints crcval,2
│ +        
│  Hotspot mSpecial
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│      
│ @@ -1123,14 +1329,45 @@
│                  page popupFan
│              }
│              if(type4.txt=="input_sel")
│              {
│                  page popupInSel
│              }
│          
│ +Hotspot m4
│ +    Attributes
│ +        Scope                               : local
│ +        Dragging                            : 0
│ +        Disable release event after dragging: 0
│ +        Send Component ID                   : disabled
│ +    
│ +    Events
│ +        Touch Press Event
│ +            pageIcons.tTmp1.txt=tEntity5.txt
│ +            pageIcons.tTmp2.txt=entn5.txt
│ +            pageIcons.tTmp3.txt=tIcon5.txt
│ +            if(type5.txt=="shutter")
│ +            {
│ +                //popupShutter.tHeading.txt=tEntity5.txt
│ +                page popupShutter
│ +            }
│ +            if(type5.txt=="light")
│ +            {
│ +                //popupLight.tEntity.txt=tEntity5.txt
│ +                page popupLight
│ +            }
│ +            if(type5.txt=="fan")
│ +            {
│ +                page popupFan
│ +            }
│ +            if(type5.txt=="input_sel")
│ +            {
│ +                page popupInSel
│ +            }
│ +        
│  Hotspot mSwipeNext
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│      
│ @@ -1842,14 +2079,163 @@
│                                              covx tTmp.txt,sys0,0,0
│                                              hSlider4.minval=sys0
│                                              //third value is max value
│                                              spstr bText4.txt,tTmp.txt,"|",2
│                                              covx tTmp.txt,sys0,0,0
│                                              hSlider4.maxval=sys0
│                                          }
│ +                                        // get Type
│ +                                        spstr strCommand.txt,type5.txt,"~",27
│ +                                        // get internal name
│ +                                        spstr strCommand.txt,entn5.txt,"~",28
│ +                                        if(type5.txt=="delete"||type5.txt=="")
│ +                                        {
│ +                                            vis bUp5,0
│ +                                            vis bStop5,0
│ +                                            vis bDown5,0
│ +                                            vis btOnOff5,0
│ +                                            vis tEntity5,0
│ +                                            vis tIcon5,0
│ +                                            vis bText5,0
│ +                                            vis hSlider5,0
│ +                                            vis nNum5,0
│ +                                        }else
│ +                                        {
│ +                                            // change icon
│ +                                            spstr strCommand.txt,tIcon5.txt,"~",29
│ +                                            vis tIcon5,1
│ +                                            // change icon color
│ +                                            spstr strCommand.txt,tTmp.txt,"~",30
│ +                                            covx tTmp.txt,sys0,0,0
│ +                                            tIcon5.pco=sys0
│ +                                            // set name
│ +                                            spstr strCommand.txt,tEntity5.txt,"~",31
│ +                                            vis tEntity5,1
│ +                                        }
│ +                                        if(type5.txt=="shutter")
│ +                                        {
│ +                                            vis bUp5,1
│ +                                            vis bStop5,1
│ +                                            vis bDown5,1
│ +                                            vis btOnOff5,0
│ +                                            vis bText5,0
│ +                                            vis hSlider5,0
│ +                                            vis nNum5,0
│ +                                            // get Button State (optional Value)
│ +                                            spstr strCommand.txt,tId.txt,"~",32
│ +                                            // up button
│ +                                            spstr tId.txt,tTmp.txt,"|",3
│ +                                            if(tTmp.txt=="disable")
│ +                                            {
│ +                                                bUp5.pco=27501
│ +                                                spstr tId.txt,bUp5.txt,"|",0
│ +                                                tsw bUp5,0
│ +                                            }else if(tTmp.txt=="enable")
│ +                                            {
│ +                                                bUp5.pco=65535
│ +                                                spstr tId.txt,bUp5.txt,"|",0
│ +                                                tsw bUp5,1
│ +                                            }
│ +                                            // stop button
│ +                                            spstr tId.txt,tTmp.txt,"|",4
│ +                                            if(tTmp.txt=="disable")
│ +                                            {
│ +                                                bStop5.pco=27501
│ +                                                spstr tId.txt,bStop5.txt,"|",1
│ +                                                tsw bStop5,0
│ +                                            }else if(tTmp.txt=="enable")
│ +                                            {
│ +                                                bStop5.pco=65535
│ +                                                spstr tId.txt,bStop5.txt,"|",1
│ +                                                tsw bStop5,1
│ +                                            }
│ +                                            // down button
│ +                                            spstr tId.txt,tTmp.txt,"|",5
│ +                                            if(tTmp.txt=="disable")
│ +                                            {
│ +                                                bDown5.pco=27501
│ +                                                spstr tId.txt,bDown5.txt,"|",2
│ +                                                tsw bDown5,0
│ +                                            }else if(tTmp.txt=="enable")
│ +                                            {
│ +                                                bDown5.pco=65535
│ +                                                spstr tId.txt,bDown5.txt,"|",2
│ +                                                tsw bDown5,1
│ +                                            }
│ +                                        }
│ +                                        if(type5.txt=="light"||type5.txt=="switch"||type5.txt=="fan")
│ +                                        {
│ +                                            vis bUp5,0
│ +                                            vis bStop5,0
│ +                                            vis bDown5,0
│ +                                            vis btOnOff5,1
│ +                                            vis bText5,0
│ +                                            vis hSlider5,0
│ +                                            vis nNum5,0
│ +                                            // get Button State (optional Value)
│ +                                            spstr strCommand.txt,tTmp.txt,"~",32
│ +                                            covx tTmp.txt,sys0,0,0
│ +                                            btOnOff5.val=sys0
│ +                                        }
│ +                                        if(type5.txt=="text")
│ +                                        {
│ +                                            vis bUp5,0
│ +                                            vis bStop5,0
│ +                                            vis bDown5,0
│ +                                            vis btOnOff5,0
│ +                                            vis bText5,1
│ +                                            tsw bText5,0
│ +                                            vis hSlider5,0
│ +                                            vis nNum5,0
│ +                                            bText5.pco=65535
│ +                                            bText5.pco2=65535
│ +                                            // get Text (optional Value)
│ +                                            spstr strCommand.txt,bText5.txt,"~",32
│ +                                        }
│ +                                        if(type5.txt=="button"||type5.txt=="input_sel")
│ +                                        {
│ +                                            vis bUp5,0
│ +                                            vis bStop5,0
│ +                                            vis bDown5,0
│ +                                            vis btOnOff5,0
│ +                                            vis bText5,1
│ +                                            tsw bText5,1
│ +                                            vis hSlider5,0
│ +                                            vis nNum5,0
│ +                                            bText5.pco=1374
│ +                                            bText5.pco2=1374
│ +                                            // get Text (optional Value)
│ +                                            spstr strCommand.txt,bText5.txt,"~",32
│ +                                        }
│ +                                        if(type5.txt=="number")
│ +                                        {
│ +                                            vis bUp5,0
│ +                                            vis bStop5,0
│ +                                            vis bDown5,0
│ +                                            vis btOnOff5,0
│ +                                            vis bText5,0
│ +                                            tsw bText5,0
│ +                                            vis hSlider5,1
│ +                                            vis nNum5,1
│ +                                            // get config (optional Value) (use bText as variable)
│ +                                            spstr strCommand.txt,bText5.txt,"~",32
│ +                                            //first value is current value
│ +                                            spstr bText5.txt,tTmp.txt,"|",0
│ +                                            covx tTmp.txt,sys0,0,0
│ +                                            hSlider5.val=sys0
│ +                                            nNum5.val=sys0
│ +                                            //second value is min value
│ +                                            spstr bText5.txt,tTmp.txt,"|",1
│ +                                            covx tTmp.txt,sys0,0,0
│ +                                            hSlider5.minval=sys0
│ +                                            //third value is max value
│ +                                            spstr bText5.txt,tTmp.txt,"|",2
│ +                                            covx tTmp.txt,sys0,0,0
│ +                                            hSlider5.maxval=sys0
│ +                                        }
│                                      }
│                                      if(tInstruction.txt=="pageType")
│                                      {
│                                          sleepValue=0
│                                          //command format pageType,specialPageName
│                                          //write name of speical page to tId
│                                          spstr strCommand.txt,tId.txt,"~",1
├── pageStartup.txt
│ @@ -138,15 +138,15 @@
│  Text tMsg3
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          Associated Keyboard                 : none
│ -        Text                                : please check your backend configuration
│ +        Text                                : pls check your backend configuration
│          Max. Text Size                      : 100
│      
│  Text tVersion
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│ @@ -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-p"
│              //send calc crc
│              btlen tSend.txt,sys0
│              crcrest 1,0xffff // reset CRC
│              crcputh 55 bb
│              crcputs sys0,2
│              crcputs tSend.txt,0
│              //send cmd
├── popupFan.txt
│┄ ordering differences only
│ @@ -78,31 +78,31 @@
│          Value: 1
│      
│  Variable (int32) mode_temp
│      Attributes
│          Scope: local
│          Value: 0
│      
│ -Variable (int32) vaModePos
│ -    Attributes
│ -        Scope: local
│ -        Value: 0
│ -    
│ -Variable (string) vaModeList
│ +Variable (string) vaModeCur
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 400
│      
│ -Variable (string) vaModeCur
│ +Variable (string) vaModeList
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 400
│      
│ +Variable (int32) vaModePos
│ +    Attributes
│ +        Scope: local
│ +        Value: 0
│ +    
│  Variable (string) tSend
│      Attributes
│          Scope         : local
│          Text          : 
│          Max. Text Size: 200
│      
│  Text tEntity
│ @@ -253,60 +253,60 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ -Button bMode3
│ +Button bMode2
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          State                               : unpressed
│          Text                                : 
│          Max. Text Size                      : 40
│      
│      Events
│          Touch Press Event
│              //craft command
│              tSend.txt="event,buttonPress2,"
│              tSend.txt+=entn.txt+","
│ -            sys2=vaModePos.val-1
│ +            sys2=vaModePos.val-2
│              covx sys2,tTmp.txt,0,0
│              tSend.txt+="mode-preset_modes,"+tTmp.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
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│          
│ -Button bMode2
│ +Button bMode3
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
│          Send Component ID                   : disabled
│          State                               : unpressed
│          Text                                : 
│          Max. Text Size                      : 40
│      
│      Events
│          Touch Press Event
│              //craft command
│              tSend.txt="event,buttonPress2,"
│              tSend.txt+=entn.txt+","
│ -            sys2=vaModePos.val-2
│ +            sys2=vaModePos.val-1
│              covx sys2,tTmp.txt,0,0
│              tSend.txt+="mode-preset_modes,"+tTmp.txt
│              //send calc crc
│              btlen tSend.txt,sys0
│              crcrest 1,0xffff // reset CRC
│              crcputh 55 bb
│              crcputs sys0,2
├── popupThermo.txt
│ @@ -38,15 +38,15 @@
│              crcputs tSend.txt,0
│              //send cmd
│              printh 55 bb
│              prints sys0,2
│              prints tSend.txt,0
│              prints crcval,2
│              popupThermo.bco=defaultBcoColor
│ -            for(sys0=0;sys0<43;sys0++)
│ +            for(sys0=0;sys0<24;sys0++)
│              {
│                  if(b[sys0].type==98||b[sys0].type==116)
│                  {
│                      b[sys0].bco=defaultBcoColor
│                      b[sys0].pco=defaultFontColor
│                  }
│                  if(b[sys0].type==53&&defaultBcoColor==0)
├── screensaver.txt
│ @@ -71,15 +71,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 tDate
│      Attributes
│          Scope                               : local
│          Dragging                            : 0
│          Disable release event after dragging: 0
