# NSPanel Lovelance UI # Custom Protocol ``` 55 BB [payload length] [payload] [crc] [crc] ``` Payload length contains the number of bytes of the payload. CRC is "CRC-16 (MODBUS) Big Endian" calculated over the whole message This protocol does not try to implement broken JSON Commands with a specified type (lol). Instead the commands are plain text commands with parameters. ## Example for valid Message This message has to be generated for the Message "1337" (1337 is not a valid command, this is just an example) ``` 55 BB 04 31 33 33 37 5F 5B ``` ## Messages to Nextion Display The following message should be implemented on all pages wake screen: wake set brightness of screensaver: dimmode,0 - (screen off) dimmode,100 - (screen on with full brightness) set current time: time,22 : 26 set current date: date,?Di 24. Februar set screensaver timeout (set time in ms limited from 50 to 65535: timeout,15000 change the page type: pageType,cardEntities pageType,cardThermo pageType,popupLight,Schreibtischlampe ### cardEntities Page The following message can be used to update the content on the cardEntities Page entityUpdHeading,heading1337 entityUpd,*id*,*iconId*,*nameOfEntity*,*type*,*optionalValue* entityUpd,1,1,Light1,light,0 entityUpd,2,0,Shutter2,shutter entityUpd,3,0,dc,delete entityUpd,4,3,Temperature,text,content entityUpd,4,3,bt-name,button,bt-text entityUpd,1,4,Switch1,switch,0 ### popupLight Page entityUpdateDetail,*buttonState*,*sliderBrightnessPos*,*sliderColorTempPos* entityUpdateDetail,1,100,78 entityUpdateDetail,1,100,disable ### cardThermo Page entityUpd,*name*,*currentTemp*,*destTemp*,*status*,*minTemp*,*maxTemp*,*stepTemp* ## Messages from Nextion Display ### startup page event,startup ### screensaver page event,screensaverOpen ### cardEntities Page event,*eventName*,*PageNumber*,*PageHeading*,*entityName*,*buttonId*,*actionName*,*optionalValue* event,pageOpen,0 event,buttonPress,1,tHeading,tEntityName,1,up event,buttonPress,1,tHeading,tEntityName,1,down event,buttonPress,1,tHeading,tEntityName,1,stop event,buttonPress,1,tHeading,tEntityName,1,OnOff,1 event,buttonPress,1,tHeading,tEntityName,1,button ### popupLight Page event,pageOpenDetail,popupLight,Schreibtischlampe ### cardThermo Page event,pageOpen,0 event,tempUpd,*pageNumber*,*entityName*,*temperature* # Icons IDs ID | Icon -- | ---- 0 | ![window-open](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/window-open.svg) 1 | ![lightbulb](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/lightbulb.svg) 2 | ![thermometer](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/thermometer.svg) 3 | ![gesture-tap-button](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/gesture-tap-button.svg) 4 | ![flash](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/flash.svg) # Design Guidelines for Nextion HMI Project Background Color is - RGB565: 6371 [18e3] (HEX: #1C1C1C, RGB: 28,28,28) Source for Icons is the Material Design Font, used by HASPone https://github.com/HASwitchPlate/HASPone