Files
nspanel-lovelace-ui/HMI/n2t-out/cardGrid.txt
2023-10-14 14:36:49 +00:00

1073 lines
41 KiB
Plaintext

Page cardGrid
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
dim=dimValueNormal
//remove background & activate reparse mode
vis p0,0
recmod=1
baud=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
vis tEntity1,0
vis tEntity2,0
vis tEntity3,0
vis tEntity4,0
vis tEntity5,0
vis tEntity6,0
vis bPrev,0
vis bNext,0
cardGrid.bco=defaultBcoColor
for(sys0=0;sys0<42;sys0++)
{
if(b[sys0].type==98||b[sys0].type==116)
{
b[sys0].bco=defaultBcoColor
b[sys0].pco=defaultFontColor
}
}
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) nent1
Attributes
Scope : local
Text :
Max. Text Size: 80
Variable (string) nent2
Attributes
Scope : local
Text :
Max. Text Size: 80
Variable (string) strCommand
Attributes
Scope : local
Text :
Max. Text Size: 700
Variable (string) tSend
Attributes
Scope : local
Text :
Max. Text Size: 200
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
Text tEntity1
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : tEntity1
Max. Text Size : 30
Text tEntity2
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : tEntity2
Max. Text Size : 30
Text tEntity3
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : tEntity3
Max. Text Size : 30
Text tEntity4
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : tEntity4
Max. Text Size : 30
Text tEntity5
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : tEntity5
Max. Text Size : 30
Text tEntity6
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : tEntity6
Max. Text Size : 30
Text tHeading
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 40
Text tId
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 50
Text tInstruction
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Text tTmp
Attributes
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Picture p0
Attributes
Scope : local
Dragging : 0
Send Component ID: disabled
Button bEntity1
Attributes
Scope : local
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
}
if(type1.txt=="timer")
{
page popupTimer
}
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
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=="timer")
{
page popupTimer
}
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
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=="timer")
{
page popupTimer
}
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
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=="timer")
{
page popupTimer
}
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
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=="timer")
{
page popupTimer
}
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
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(type6.txt=="input_sel")
{
page popupInSel
}
if(type6.txt=="timer")
{
page popupTimer
}
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
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 10
Events
Touch Press Event
tSend.txt="event,buttonPress2,"+nent2.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 bPrev
Attributes
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 10
Events
Touch Press Event
tSend.txt="event,buttonPress2,"+nent1.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
Hotspot mSpecial
Attributes
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
sys2=sys2+1
sys2%=10
//n0.val=sys2
if(sys2==9)
{
page pageTest
}
Hotspot mSwipeNext
Attributes
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click bNext,1
Hotspot mSwipePrev
Attributes
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click bPrev,1
Hotspot mSwipeUp
Attributes
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click bPrev,1
Timer tmLP
Attributes
Scope : local
Period (ms): 500
Enabled : no
Events
Timer Event
if(tTmp.txt=="light")
{
if(featNewSliders==1)
{
page popupLightNew
}else
{
page popupLight
}
}
if(tTmp.txt=="fan")
{
page popupFan
}
Timer tmSerial
Attributes
Scope : local
Period (ms): 50
Enabled : yes
Events
Timer Event
// 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 icon left
spstr strCommand.txt,tTmp.txt,"~",2 //type
if(tTmp.txt=="delete"||tTmp.txt=="")
{
vis bPrev,0
}else
{
// get internal name
spstr strCommand.txt,nent1.txt,"~",3
// change icon
spstr strCommand.txt,bPrev.txt,"~",4
// change icon color
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
bPrev.pco=sys0
vis bPrev,1
}
// navigation icon right
spstr strCommand.txt,tTmp.txt,"~",8 //type
if(tTmp.txt=="delete"||tTmp.txt=="")
{
vis bNext,0
}else
{
// get internal name
spstr strCommand.txt,nent2.txt,"~",9
// change icon
spstr strCommand.txt,bNext.txt,"~",10
// change icon color
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
bNext.pco=sys0
vis bNext,1
}
// get Type
spstr strCommand.txt,type1.txt,"~",14
// get internal name
spstr strCommand.txt,entn1.txt,"~",15
if(type1.txt=="delete"||type1.txt=="")
{
vis tEntity1,0
vis bEntity1,0
}else
{
// change icon
spstr strCommand.txt,bEntity1.txt,"~",16
// way to get force font adjustment
strlen bEntity1.txt,sys0
//check 2nd last char for ¬
substr bEntity1.txt,tTmp.txt,sys0-2,1
if(tTmp.txt=="¬")
{
substr bEntity1.txt,tTmp.txt,sys0-1,1
covx tTmp.txt,sys1,0,0
bEntity1.font=sys1
substr bEntity1.txt,bEntity1.txt,0,sys0-2
}
vis bEntity1,1
// change icon color
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
bEntity1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,"~",18
vis tEntity1,1
}
// get Type
spstr strCommand.txt,type2.txt,"~",20
// get internal name
spstr strCommand.txt,entn2.txt,"~",21
if(type2.txt=="delete"||type2.txt=="")
{
vis tEntity2,0
vis bEntity2,0
}else
{
// change icon
spstr strCommand.txt,bEntity2.txt,"~",22
// way to get force font adjustment
strlen bEntity2.txt,sys0
//check 2nd last char for ¬
substr bEntity2.txt,tTmp.txt,sys0-2,1
if(tTmp.txt=="¬")
{
substr bEntity2.txt,tTmp.txt,sys0-1,1
covx tTmp.txt,sys1,0,0
bEntity2.font=sys1
substr bEntity2.txt,bEntity2.txt,0,sys0-2
}
vis bEntity2,1
// change icon color
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
bEntity2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,"~",24
vis tEntity2,1
}
// get Type
spstr strCommand.txt,type3.txt,"~",26
// get internal name
spstr strCommand.txt,entn3.txt,"~",27
if(type3.txt=="delete"||type3.txt=="")
{
vis tEntity3,0
vis bEntity3,0
}else
{
// change icon
spstr strCommand.txt,bEntity3.txt,"~",28
// way to get force font adjustment
strlen bEntity3.txt,sys0
//check 2nd last char for ¬
substr bEntity3.txt,tTmp.txt,sys0-2,1
if(tTmp.txt=="¬")
{
substr bEntity3.txt,tTmp.txt,sys0-1,1
covx tTmp.txt,sys1,0,0
bEntity3.font=sys1
substr bEntity3.txt,bEntity3.txt,0,sys0-2
}
vis bEntity3,1
// change icon color
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
bEntity3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,"~",30
vis tEntity3,1
}
// get Type
spstr strCommand.txt,type4.txt,"~",32
// get internal name
spstr strCommand.txt,entn4.txt,"~",33
if(type4.txt=="delete"||type4.txt=="")
{
vis tEntity4,0
vis bEntity4,0
}else
{
// change icon
spstr strCommand.txt,bEntity4.txt,"~",34
// way to get force font adjustment
strlen bEntity4.txt,sys0
//check 2nd last char for ¬
substr bEntity4.txt,tTmp.txt,sys0-2,1
if(tTmp.txt=="¬")
{
substr bEntity4.txt,tTmp.txt,sys0-1,1
covx tTmp.txt,sys1,0,0
bEntity4.font=sys1
substr bEntity4.txt,bEntity4.txt,0,sys0-2
}
vis bEntity4,1
// change icon color
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
bEntity4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,"~",36
vis tEntity4,1
}
// get Type
spstr strCommand.txt,type5.txt,"~",38
// get internal name
spstr strCommand.txt,entn5.txt,"~",39
if(type5.txt=="delete"||type5.txt=="")
{
vis tEntity5,0
vis bEntity5,0
}else
{
// change icon
spstr strCommand.txt,bEntity5.txt,"~",40
// way to get force font adjustment
strlen bEntity5.txt,sys0
//check 2nd last char for ¬
substr bEntity5.txt,tTmp.txt,sys0-2,1
if(tTmp.txt=="¬")
{
substr bEntity5.txt,tTmp.txt,sys0-1,1
covx tTmp.txt,sys1,0,0
bEntity5.font=sys1
substr bEntity5.txt,bEntity5.txt,0,sys0-2
}
vis bEntity5,1
// change icon color
spstr strCommand.txt,tTmp.txt,"~",41
covx tTmp.txt,sys0,0,0
bEntity5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,"~",42
vis tEntity5,1
}
// get Type
spstr strCommand.txt,type6.txt,"~",44
// get internal name
spstr strCommand.txt,entn6.txt,"~",45
if(type6.txt=="delete"||type6.txt=="")
{
vis tEntity6,0
vis bEntity6,0
}else
{
// change icon
spstr strCommand.txt,bEntity6.txt,"~",46
// way to get force font adjustment
strlen bEntity6.txt,sys0
//check 2nd last char for ¬
substr bEntity6.txt,tTmp.txt,sys0-2,1
if(tTmp.txt=="¬")
{
substr bEntity6.txt,tTmp.txt,sys0-1,1
covx tTmp.txt,sys1,0,0
bEntity6.font=sys1
substr bEntity6.txt,bEntity6.txt,0,sys0-2
}
vis bEntity6,1
// change icon color
spstr strCommand.txt,tTmp.txt,"~",47
covx tTmp.txt,sys0,0,0
bEntity6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,"~",48
vis tEntity6,1
}
}
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
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
spstr strCommand.txt,pageIcons.tTmp3.txt,"~",4
//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=="screensaver2")
{
page screensaver2
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="cardGrid2")
{
page cardGrid2
}
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(tId.txt=="cardQR")
{
page cardQR
}
if(tId.txt=="cardPower")
{
page cardPower
}
if(tId.txt=="cardChart")
{
page cardChart
}
if(tId.txt=="cardLChart")
{
page cardLChart
}
}
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!="")
{
covx tTmp.txt,defaultBcoColor,0,0
}
// get font color
spstr strCommand.txt,tTmp.txt,"~",4
if(tTmp.txt!="")
{
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
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
Timer tmSleep
Attributes
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
sleepValue=0
dim=dimValue
tSend.txt="event,sleepReached,cardGrid"
//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
}
}
TouchCap tc0
Attributes
Scope: local
Value: 0
Events
Touch Press Event
sleepValue=0