diff -bur HMI/n2t-out/cardAlarm.txt HMI/US/landscape/n2t-out/cardAlarm.txt
--- HMI/n2t-out/cardAlarm.txt	2022-03-31 22:36:10.109846409 +0000
+++ HMI/US/landscape/n2t-out/cardAlarm.txt	2022-03-31 22:36:10.913861716 +0000
@@ -17,6 +17,7 @@
             vis tInstruction,0
             vis tTmp,0
             vis tId,0
+            //vis nPageDisp,0
             vis arm1,0
             vis arm2,0
             vis arm3,0
diff -bur HMI/n2t-out/cardEntities.txt HMI/US/landscape/n2t-out/cardEntities.txt
--- HMI/n2t-out/cardEntities.txt	2022-03-31 22:36:10.109846409 +0000
+++ HMI/US/landscape/n2t-out/cardEntities.txt	2022-03-31 22:36:10.913861716 +0000
@@ -211,7 +211,7 @@
         Send Component ID                   : disabled
         Associated Keyboard                 : none
         Text                                : î°
-        Max. Text Size                      : 5
+        Max. Text Size                      : 10
     
 Text tIcon2
     Attributes
@@ -221,7 +221,7 @@
         Send Component ID                   : disabled
         Associated Keyboard                 : none
         Text                                : î°
-        Max. Text Size                      : 5
+        Max. Text Size                      : 30
     
 Text tIcon3
     Attributes
@@ -231,7 +231,7 @@
         Send Component ID                   : disabled
         Associated Keyboard                 : none
         Text                                : î°
-        Max. Text Size                      : 5
+        Max. Text Size                      : 10
     
 Text tIcon4
     Attributes
@@ -241,7 +241,7 @@
         Send Component ID                   : disabled
         Associated Keyboard                 : none
         Text                                : î°
-        Max. Text Size                      : 5
+        Max. Text Size                      : 30
     
 Text tSend
     Attributes
@@ -1125,33 +1125,6 @@
                                     {
                                         // command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
                                         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
-                                        }
-                                        if(tTmp.txt=="1")
-                                        {
-                                            vis bPrev,1
-                                            bPrev.txt="î°"
-                                        }
-                                        if(tTmp.txt=="2")
-                                        {
-                                            vis bPrev,1
-                                            bPrev.txt="î¶"
-                                        }
-                                        spstr tId.txt,tTmp.txt,"|",1
-                                        if(tTmp.txt=="0")
-                                        {
-                                            vis bNext,0
-                                        }
-                                        if(tTmp.txt=="1")
-                                        {
-                                            vis bPrev,1
-                                            bNext.txt="î³"
-                                        }
                                         // get Type
                                         spstr strCommand.txt,type1.txt,",",3
                                         // get internal name
diff -bur HMI/n2t-out/cardGrid.txt HMI/US/landscape/n2t-out/cardGrid.txt
--- HMI/n2t-out/cardGrid.txt	2022-03-31 22:36:10.109846409 +0000
+++ HMI/US/landscape/n2t-out/cardGrid.txt	2022-03-31 22:36:10.913861716 +0000
@@ -12,28 +12,307 @@
     
     Events
         Preinitialize Event
-            //wup=cardEntities
-            //remove background & activate reparse mode
-            vis p0,0
-            recmod=1
-            bauds=115200
-            //debug stuff
-            vis tTmp,0
-            vis tSend,0
-            vis tInstruction,0
-            vis tId,0
-            vis bEntity1,0
-            vis bEntity2,0
-            vis bEntity3,0
-            vis bEntity4,0
-            vis bEntity5,0
-            vis bEntity6,0
+            // data available
+            if(usize>1)
+            {
+                bufferPos=0
+                while(bufferPos<usize)
+                {
+                    // check for 0x55 0xBB - Command Init Secuence
+                    if(u[bufferPos]==187&&u[bufferPos-1]==85)
+                    {
+                        //remove garbage at the start of the buffer if there's any to free buffer for command
+                        if(u[bufferPos]!=1)
+                        {
+                            udelete bufferPos-1
+                        }
+                        //instruction is now aligned with buffer, because we deleted garbage before instrcution
+                        //get length after init sequence (check if there are more than to bytes in buffer)
+                        if(3<usize)
+                        {
+                            // check if serial buffer has reached the announced length
+                            ucopy payloadLength,2,2,0
+                            // we are only checking payload length so we have to skip first 3 bytes (init+payload length) (-1 because of < instead of <=)
+                            payloadLength+=3
+                            // payload length does also not contain crc, so we are adding another 2 bytes for crc
+                            payloadLength+=2
+                            if(payloadLength<usize)
+                            {
+                                // calculate crc
+                                crcrest 1,0xFFFF
+                                // u[2] contains payload legth at 3rd pos in buffer, we are calculating crc from 3rd pos with number of bytes from payload length
+                                //crcputu 3,u[2]
+                                // u[2] cotnains payload length, we are calculating a crc over the whole message, so we have to add 3 to the length from u[2]
+                                crcputu 0,payloadLength-1
+                                // get recived crc to be able to compare it
+                                ucopy recvCrc,payloadLength-1,2,0
+                                // compare crc with recived value
+                                if(crcval==recvCrc)
+                                {
+                                    // crc is okay
+                                    // 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
+                                        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
+                                        }
+                                        if(tTmp.txt=="1")
+                                        {
+                                            vis bPrev,1
+                                            bPrev.txt="î°"
+                                        }
+                                        if(tTmp.txt=="2")
+                                        {
+                                            vis bPrev,1
+                                            bPrev.txt="î¶"
+                                        }
+                                        spstr tId.txt,tTmp.txt,"|",1
+                                        if(tTmp.txt=="0")
+                                        {
+                                            vis bNext,0
+                                        }
+                                        if(tTmp.txt=="1")
+                                        {
+                                            vis bPrev,1
+                                            bNext.txt="î³"
+                                        }
+                                        // get Type
+                                        spstr strCommand.txt,type1.txt,",",3
+                                        // get internal name
+                                        spstr strCommand.txt,entn1.txt,",",4
+                                        if(type1.txt=="delete"||type1.txt=="")
+                                        {
             vis tEntity1,0
+                                            vis bEntity1,0
+                                        }else
+                                        {
+                                            // change icon
+                                            spstr strCommand.txt,tTmp.txt,",",5
+                                            covx tTmp.txt,sys0,0,0
+                                            substr pageIcons.tIcons.txt,bEntity1.txt,sys0,1
+                                            vis bEntity1,1
+                                            // change icon color
+                                            spstr strCommand.txt,tTmp.txt,",",6
+                                            covx tTmp.txt,sys0,0,0
+                                            bEntity1.pco=sys0
+                                            // set name
+                                            spstr strCommand.txt,tEntity1.txt,",",7
+                                            vis tEntity1,1
+                                        }
+                                        // get Type
+                                        spstr strCommand.txt,type2.txt,",",9
+                                        // get internal name
+                                        spstr strCommand.txt,entn2.txt,",",10
+                                        if(type2.txt=="delete"||type2.txt=="")
+                                        {
             vis tEntity2,0
+                                            vis bEntity2,0
+                                        }else
+                                        {
+                                            // change icon
+                                            spstr strCommand.txt,tTmp.txt,",",11
+                                            covx tTmp.txt,sys0,0,0
+                                            substr pageIcons.tIcons.txt,bEntity2.txt,sys0,1
+                                            vis bEntity2,1
+                                            // change icon color
+                                            spstr strCommand.txt,tTmp.txt,",",12
+                                            covx tTmp.txt,sys0,0,0
+                                            bEntity2.pco=sys0
+                                            // set name
+                                            spstr strCommand.txt,tEntity2.txt,",",13
+                                            vis tEntity2,1
+                                        }
+                                        // get Type
+                                        spstr strCommand.txt,type3.txt,",",15
+                                        // get internal name
+                                        spstr strCommand.txt,entn3.txt,",",16
+                                        if(type3.txt=="delete"||type3.txt=="")
+                                        {
             vis tEntity3,0
+                                            vis bEntity3,0
+                                        }else
+                                        {
+                                            // change icon
+                                            spstr strCommand.txt,tTmp.txt,",",17
+                                            covx tTmp.txt,sys0,0,0
+                                            substr pageIcons.tIcons.txt,bEntity3.txt,sys0,1
+                                            vis bEntity3,1
+                                            // change icon color
+                                            spstr strCommand.txt,tTmp.txt,",",18
+                                            covx tTmp.txt,sys0,0,0
+                                            bEntity3.pco=sys0
+                                            // set name
+                                            spstr strCommand.txt,tEntity3.txt,",",19
+                                            vis tEntity3,1
+                                        }
+                                        // get Type
+                                        spstr strCommand.txt,type4.txt,",",21
+                                        // get internal name
+                                        spstr strCommand.txt,entn4.txt,",",22
+                                        if(type4.txt=="delete"||type4.txt=="")
+                                        {
             vis tEntity4,0
+                                            vis bEntity4,0
+                                        }else
+                                        {
+                                            // change icon
+                                            spstr strCommand.txt,tTmp.txt,",",23
+                                            covx tTmp.txt,sys0,0,0
+                                            substr pageIcons.tIcons.txt,bEntity4.txt,sys0,1
+                                            vis bEntity4,1
+                                            // change icon color
+                                            spstr strCommand.txt,tTmp.txt,",",24
+                                            covx tTmp.txt,sys0,0,0
+                                            bEntity4.pco=sys0
+                                            // set name
+                                            spstr strCommand.txt,tEntity4.txt,",",25
+                                            vis tEntity4,1
+                                        }
+                                        // get Type
+                                        spstr strCommand.txt,type5.txt,",",27
+                                        // get internal name
+                                        spstr strCommand.txt,entn5.txt,",",28
+                                        if(type5.txt=="delete"||type5.txt=="")
+                                        {
             vis tEntity5,0
+                                            vis bEntity5,0
+                                        }else
+                                        {
+                                            // change icon
+                                            spstr strCommand.txt,tTmp.txt,",",29
+                                            covx tTmp.txt,sys0,0,0
+                                            substr pageIcons.tIcons.txt,bEntity5.txt,sys0,1
+                                            vis bEntity5,1
+                                            // change icon color
+                                            spstr strCommand.txt,tTmp.txt,",",30
+                                            covx tTmp.txt,sys0,0,0
+                                            bEntity5.pco=sys0
+                                            // set name
+                                            spstr strCommand.txt,tEntity5.txt,",",31
+                                            vis tEntity5,1
+                                        }
+                                        // get Type
+                                        spstr strCommand.txt,type6.txt,",",33
+                                        // get internal name
+                                        spstr strCommand.txt,entn6.txt,",",34
+                                        if(type6.txt=="delete"||type6.txt=="")
+                                        {
             vis tEntity6,0
+                                            vis bEntity6,0
+                                        }else
+                                        {
+                                            // change icon
+                                            spstr strCommand.txt,tTmp.txt,",",35
+                                            covx tTmp.txt,sys0,0,0
+                                            substr pageIcons.tIcons.txt,bEntity6.txt,sys0,1
+                                            vis bEntity6,1
+                                            // change icon color
+                                            spstr strCommand.txt,tTmp.txt,",",36
+                                            covx tTmp.txt,sys0,0,0
+                                            bEntity6.pco=sys0
+                                            // set name
+                                            spstr strCommand.txt,tEntity6.txt,",",37
+                                            vis tEntity6,1
+                                        }
+                                    }
+                                    if(tInstruction.txt=="pageType")
+                                    {
+                                        //command format pageType,specialPageName
+                                        //write name of speical page to tId
+                                        spstr strCommand.txt,tId.txt,",",1
+                                        //save second arg if there's one
+                                        spstr strCommand.txt,tTmp.txt,",",2
+                                        //save third arg if there's one
+                                        spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
+                                        //we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
+                                        udelete payloadLength-1
+                                        bufferPos=0
+                                        if(tId.txt=="pageStartup")
+                                        {
+                                            page pageStartup
+                                        }
+                                        if(tId.txt=="screensaver")
+                                        {
+                                            page screensaver
+                                        }
+                                        if(tId.txt=="cardEntities")
+                                        {
+                                            page cardEntities
+                                        }
+                                        if(tId.txt=="cardGrid")
+                                        {
+                                            page cardGrid
+                                        }
+                                        if(tId.txt=="popupLight")
+                                        {
+                                            pageIcons.tTmp1.txt=tTmp.txt
+                                            page popupLight
+                                        }
+                                        if(tId.txt=="popupShutter")
+                                        {
+                                            pageIcons.tTmp1.txt=tTmp.txt
+                                            page popupShutter
+                                        }
+                                        if(tId.txt=="popupNotify")
+                                        {
+                                            page popupNotify
+                                        }
+                                        if(tId.txt=="cardThermo")
+                                        {
+                                            page cardThermo
+                                        }
+                                        if(tId.txt=="cardMedia")
+                                        {
+                                            page cardMedia
+                                        }
+                                        if(tId.txt=="cardAlarm")
+                                        {
+                                            page cardAlarm
+                                        }
+                                    }
+                                    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
+                                    }
+                                    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++
+                }
+            }
         
 Variable (string) strCommand
     Attributes
@@ -573,33 +852,6 @@
                                     {
                                         // command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
                                         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
-                                        }
-                                        if(tTmp.txt=="1")
-                                        {
-                                            vis bPrev,1
-                                            bPrev.txt="î°"
-                                        }
-                                        if(tTmp.txt=="2")
-                                        {
-                                            vis bPrev,1
-                                            bPrev.txt="î¶"
-                                        }
-                                        spstr tId.txt,tTmp.txt,"|",1
-                                        if(tTmp.txt=="0")
-                                        {
-                                            vis bNext,0
-                                        }
-                                        if(tTmp.txt=="1")
-                                        {
-                                            vis bPrev,1
-                                            bNext.txt="î³"
-                                        }
                                         // get Type
                                         spstr strCommand.txt,type1.txt,",",3
                                         // get internal name
diff -bur HMI/n2t-out/pageIcons.txt HMI/US/landscape/n2t-out/pageIcons.txt
--- HMI/n2t-out/pageIcons.txt	2022-03-31 22:36:10.109846409 +0000
+++ HMI/US/landscape/n2t-out/pageIcons.txt	2022-03-31 22:36:10.909861639 +0000
@@ -20,7 +20,7 @@
     Attributes
         Scope         : global
         Text          : 
-        Max. Text Size: 35
+        Max. Text Size: 30
     
 Text tIcons
     Attributes
diff -bur HMI/n2t-out/screensaver.txt HMI/US/landscape/n2t-out/screensaver.txt
--- HMI/n2t-out/screensaver.txt	2022-03-31 22:36:10.109846409 +0000
+++ HMI/US/landscape/n2t-out/screensaver.txt	2022-03-31 22:36:10.913861716 +0000
@@ -30,6 +30,26 @@
             vis tSend,0
             //page open event
             // clear weather elements, to keep example content in HMI
+            tMainIcon.txt=""
+            tMainText.txt=""
+            tForecast1.txt=""
+            tF1Icon.txt=""
+            tForecast1Val.txt=""
+            tForecast2.txt=""
+            tF2Icon.txt=""
+            tForecast2Val.txt=""
+            //tSend.txt="event,screensaverOpen"
+            //send calc crc
+            //btlen tSend.txt,sys0
+            //crcrest 1,0xffff // reset CRC
+            //crcputh 55 bb
+            //crcputs sys0,1
+            //crcputs tSend.txt,0
+            //send cmd
+            //printh 55 bb
+            //prints sys0,2
+            //prints tSend.txt,0
+            //prints crcval,2
         
 Variable (string) strCommand
     Attributes
@@ -86,7 +106,7 @@
         Send Component ID                   : disabled
         Associated Keyboard                 : none
         Text                                : Tuesday, 08. March 2022
-        Max. Text Size                      : 35
+        Max. Text Size                      : 30
     
 Text tSend
     Attributes
@@ -105,7 +125,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : î
         Max. Text Size                      : 10
     
 Text tMainText
@@ -115,7 +135,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : 2,3 Â°C
         Max. Text Size                      : 10
     
 Text tForecast1
@@ -125,7 +145,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : Mi
         Max. Text Size                      : 10
     
 Text tForecast1Val
@@ -135,7 +155,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : 9,3 Â°C
         Max. Text Size                      : 10
     
 Text tF1Icon
@@ -145,7 +165,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : î
         Max. Text Size                      : 10
     
 Text tForecast2
@@ -155,7 +175,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : Do
         Max. Text Size                      : 10
     
 Text tF2Icon
@@ -165,7 +185,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : î
         Max. Text Size                      : 10
     
 Text tForecast2Val
@@ -175,7 +195,7 @@
         Disable release event after dragging: 0
         Send Component ID                   : disabled
         Associated Keyboard                 : none
-        Text                                : 
+        Text                                : 11,9 Â°C
         Max. Text Size                      : 10
     
 Text t10
@@ -246,49 +266,9 @@
         Send Component ID                   : disabled
         Associated Keyboard                 : none
         Text                                : 
-        Max. Text Size                      : 5
-    
-Text tForecast4Val
-    Attributes
-        Scope                               : local
-        Dragging                            : 0
-        Disable release event after dragging: 0
-        Send Component ID                   : disabled
-        Associated Keyboard                 : none
-        Text                                : 
-        Max. Text Size                      : 10
-    
-Text tMainTextAlt
-    Attributes
-        Scope                               : local
-        Dragging                            : 0
-        Disable release event after dragging: 0
-        Send Component ID                   : disabled
-        Associated Keyboard                 : none
-        Text                                : 
-        Max. Text Size                      : 10
-    
-Text tMainIconAlt
-    Attributes
-        Scope                               : local
-        Dragging                            : 0
-        Disable release event after dragging: 0
-        Send Component ID                   : disabled
-        Associated Keyboard                 : none
-        Text                                : 
-        Max. Text Size                      : 10
-    
-Text tMRIcon
-    Attributes
-        Scope                               : local
-        Dragging                            : 0
-        Disable release event after dragging: 0
-        Send Component ID                   : disabled
-        Associated Keyboard                 : none
-        Text                                : 
         Max. Text Size                      : 10
     
-Text tMR
+Text tForecast4Val
     Attributes
         Scope                               : local
         Dragging                            : 0
@@ -393,20 +373,12 @@
                                     }
                                     if(tInstruction.txt=="weatherUpdate")
                                     {
-                                        vis tMainIcon,1
-                                        vis tMainIconAlt,0
-                                        vis tMainText,1
-                                        vis tMainTextAlt,0
-                                        vis tMRIcon,0
-                                        vis tMR,0
                                         //tMainIcon
                                         spstr strCommand.txt,tTmp.txt,"?",1
                                         covx tTmp.txt,sys0,0,0
                                         substr pageIcons.tIcons.txt,tMainIcon.txt,sys0,1
-                                        tMainIconAlt.txt=tMainIcon.txt
                                         //tMainText
                                         spstr strCommand.txt,tMainText.txt,"?",2
-                                        tMainTextAlt.txt=tMainText.txt
                                         //tForecast1
                                         spstr strCommand.txt,tForecast1.txt,"?",3
                                         //tF1Icon
@@ -439,36 +411,6 @@
                                         substr pageIcons.tIcons.txt,tF4Icon.txt,sys0,1
                                         //tForecast4Val
                                         spstr strCommand.txt,tForecast4Val.txt,"?",14
-                                        //alternative layout
-                                        //tMRIcon
-                                        spstr strCommand.txt,tTmp.txt,"?",15
-                                        covx tTmp.txt,sys0,0,0
-                                        substr pageIcons.tIcons.txt,tMRIcon.txt,sys0,1
-                                        if(tTmp.txt!="")
-                                        {
-                                            //value for tMRIcon, activate alternative layout
-                                            vis tMainIcon,0
-                                            vis tMainText,0
-                                            vis tMainTextAlt,1
-                                            vis tMainIconAlt,1
-                                            vis tMRIcon,1
-                                            vis tMR,1
-                                            vis tForecast1,0
-                                            vis tF1Icon,0
-                                            vis tForecast1Val,0
-                                            //move forecast values to the right
-                                            tForecast4.txt=tForecast3.txt
-                                            tForecast3.txt=tForecast2.txt
-                                            tForecast2.txt=tForecast1.txt
-                                            tForecast4Val.txt=tForecast3Val.txt
-                                            tForecast3Val.txt=tForecast2Val.txt
-                                            tForecast2Val.txt=tForecast1Val.txt
-                                            tF4Icon.txt=tF3Icon.txt
-                                            tF3Icon.txt=tF2Icon.txt
-                                            tF2Icon.txt=tF1Icon.txt
-                                        }
-                                        //tMR
-                                        spstr strCommand.txt,tMR.txt,"?",16
                                     }
                                     if(tInstruction.txt=="pageType")
                                     {
