Files
NSPanel_HA_Blueprint/nspanel_eu_code/climate.txt
Edward Firmo 7452dfd2bb Simplify touchevent engine
The touch event is used only for the sleeping engine (it will be used for dimming later) and it was transferring all the json info with page name, component, entity, etc.
This was replaced by a simple random integer with no meaning other than "the screen was touched, reset the timer".
2023-09-11 12:17:10 +02:00

754 lines
21 KiB
Plaintext

Page climate
Attributes
ID : 0
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=brightness
if(api==1||entity.txt=="embedded_climate")
{
climatesetting.txt="{\"page\": \"climate\", \"component\": \"currentpage\", \"value\": \"pagechange\", \"entity\": \""+entity.txt+"\"}"
printh 92
prints "nspanelevent",0
printh 00
prints climatesetting.txt,0
printh 00
printh FF FF FF
vis target_icon,0
vis target_temp,0
vis current_temp,0
vis current_icon,0
vis climateslider,0
vis button01,0
vis button02,0
vis button03,0
vis button04,0
vis button05,0
vis button06,0
vis button07,0
}else
{
page home
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Page Exit Event
if(timer01.en==1)
{
timer01.en=0
covx temp_number.val,va1.txt,0,0
climatesetting.txt="{\"page\": \"climate\", \"component\": \"climate_position\", \"value\": "+va1.txt+", \"entity\": \""+entity.txt+"\"}"
printh 92
prints "nspanelevent",0
printh 00
prints climatesetting.txt,0
printh 00
printh FF FF FF
}
Variable (string) va1
Attributes
ID : 25
Scope : local
Text :
Max. Text Size: 10
Variable (string) climatesetting
Attributes
ID : 26
Scope : local
Text :
Max. Text Size: 255
Variable (string) lastclick
Attributes
ID : 34
Scope : local
Text :
Max. Text Size: 255
Variable (int32) temp_offset
Attributes
ID : 36
Scope: local
Value: 0
Variable (int32) temp_step
Attributes
ID : 37
Scope: local
Value: 0
Variable (int32) temp_number
Attributes
ID : 43
Scope: local
Value: 0
Variable (int32) va0
Attributes
ID : 44
Scope: local
Value: 0
Variable (string) back_page
Attributes
ID : 45
Scope : local
Text : home
Max. Text Size: 15
Variable (int32) embedded
Attributes
ID : 46
Scope: local
Value: 0
Variable (string) va2
Attributes
ID : 47
Scope : local
Text :
Max. Text Size: 10
Variable (string) entity
Attributes
ID : 49
Scope : global
Text :
Max. Text Size: 100
Variable (string) click_comp
Attributes
ID : 50
Scope : local
Text :
Max. Text Size: 8
Text current_temp
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text page_label
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 100
Text current_icon
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text target_icon
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value01_icon
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value01
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Text value02_icon
Attributes
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value02
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Text value03_icon
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value03
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Text value04_icon
Attributes
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value04
Attributes
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Text button01_icon
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button02_icon
Attributes
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button03_icon
Attributes
ID : 20
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button04_icon
Attributes
ID : 21
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button05_icon
Attributes
ID : 22
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button06_icon
Attributes
ID : 23
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button07_icon
Attributes
ID : 24
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button08_icon
Attributes
ID : 38
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button09_icon
Attributes
ID : 40
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text target_temp
Attributes
ID : 42
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Slider climateslider
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID: disabled
Position : 20
Upper range limit: 40
Lower range limit: 0
Events
Touch Press Event
climatesetting.txt="{\"page\": \"climate\", \"component\": \"touchevent\", \"value\": \"press\", \"entity\": \""+entity.txt+"\"}"
printh 92
prints "touchevent",0
printh 00
prints climatesetting.txt,0
printh 00
printh FF FF FF
Touch Release Event
temp_number.val=climateslider.val*temp_step.val
temp_number.val+=temp_offset.val
va0.val=temp_number.val/10
covx va0.val,target_temp.txt,0,0
va0.val=temp_number.val%10
covx va0.val,va1.txt,0,0
target_temp.txt+="."+va1.txt
timer01.en=1
climatesetting.txt="{\"page\": \"climate\", \"component\": \"touchevent\", \"value\": \"release\", \"entity\": \""+entity.txt+"\"}"
printh 92
prints "touchevent",0
printh 00
prints climatesetting.txt,0
printh 00
printh FF FF FF
Button button_back
Attributes
ID : 48
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
if(back_page.txt=="buttonpage01")
{
page buttonpage01
}else if(back_page.txt=="buttonpage02")
{
page buttonpage02
}else if(back_page.txt=="buttonpage03")
{
page buttonpage03
}else if(back_page.txt=="buttonpage04")
{
page buttonpage04
}else
{
page home
}
Hotspot decrease_temp
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
if(climateslider.val>0)
{
climateslider.val--
temp_number.val=climateslider.val*temp_step.val
temp_number.val+=temp_offset.val
va0.val=temp_number.val/10
covx va0.val,target_temp.txt,0,0
va0.val=temp_number.val%10
covx va0.val,va1.txt,0,0
target_temp.txt+="."+va1.txt
}
Touch Release Event
timer01.en=1
Hotspot increase_temp
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
if(climateslider.val<climateslider.maxval)
{
climateslider.val++
temp_number.val=climateslider.val*temp_step.val
temp_number.val+=temp_offset.val
va0.val=temp_number.val/10
covx va0.val,target_temp.txt,0,0
va0.val=temp_number.val%10
covx va0.val,va1.txt,0,0
target_temp.txt+="."+va1.txt
}
Touch Release Event
timer01.en=1
Hotspot button01
Attributes
ID : 27
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"auto\", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button02
Attributes
ID : 28
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"heat_cool\", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button03
Attributes
ID : 29
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"heat\", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button04
Attributes
ID : 30
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"cool\", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button05
Attributes
ID : 31
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"dry\", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button06
Attributes
ID : 32
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"fan_only\", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button07
Attributes
ID : 33
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"off\", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button08
Attributes
ID : 39
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click_comp.txt="button08"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
lastclick.txt="{\"page\": \"climate\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
Hotspot button09
Attributes
ID : 41
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click_comp.txt="button09"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
lastclick.txt="{\"page\": \"climate\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
Timer swipestore
Attributes
ID : 2
Scope : local
Period (ms): 50
Enabled : no
Events
Timer Event
swipex=tch0
swipey=tch1
Timer timer01
Attributes
ID : 35
Scope : local
Period (ms): 1000
Enabled : no
Events
Timer Event
timer01.en=0
covx embedded.val,va2.txt,0,0
covx temp_number.val,va1.txt,0,0
climatesetting.txt="{\"page\": \"climate\", \"key\": \"set_temperature\", \"value\": "+va1.txt+", \"entity\": \""+entity.txt+"\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints climatesetting.txt,0
printh 00
printh FF FF FF
Timer click_timer
Attributes
ID : 51
Scope : local
Period (ms): 800
Enabled : no
Events
Timer Event
lastclick.txt="{\"page\": \"buttonpage01\", \"event\": \"long_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_timer.en=0
TouchCap swipe
Attributes
ID : 1
Scope: local
Value: 0
Events
Touch Press Event
swipestore.en=1 // Start swipestore timer
Touch Release Event
swipestore.en=0
// Touch has ended, x
if(tch0==0)
{
swipec=swipex-tch2
// From Left to Right
if(swipec>swipedx)
{
//page
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
//page
}
}
// Touch has ended, y
if(tch1==0)
{
swipec=swipey-tch3
// From Up to Down
if(swipec>100)
{
//page
}
// Down to Up
swipec2=0-swipedy
if(swipec<-100)
{
//page
}
}