diff --git a/HMI/README.md b/HMI/README.md index 4801898a..60a9a987 100644 --- a/HMI/README.md +++ b/HMI/README.md @@ -9,6 +9,7 @@ Messages from the Panel are send to the `tele/XXX/RESULT` Topic, encoded in json ## Startup On startup the panel will send `{"CustomRecv":"event,startup,39,eu"}` every few seconds. + ``` event, #Every message from the screen will start with `event` startup, #Startup Event @@ -20,15 +21,13 @@ You can answer this message in many different ways, but in general the goal is t Send the following messages to the CustomSend Topic. (You can also send them on tasmota console for testing) - - ### Some preperation before we are acually navigating away: Send this every minute: `time~18:17` Send this at least once at midnight: `date~Donnerstag, 25. August 2022` -Send theese message once after receiving the startup event (parameters will be explained later): +Send theese message once after receiving the startup event (parameters will be explained later): `timeout~20` @@ -36,7 +35,7 @@ Send theese message once after receiving the startup event (parameters will be e ### Navigate from the startup page to the screensaver, by sending this command to the CustomSend Topic. -`pageType~screensaver` +`pageType~screensaver` After sending this command you should already see the time and date. To also show weather data you have to send them with weatherUpdate, but we will skip this for now. @@ -53,7 +52,6 @@ You can answer this by sending theese commands to the CustomSend Topic. `entityUpd~test~1|1~light~light.schreibtischlampe~X~17299~Schreibtischlampe~0~text~sensor.server_energy_power~Y~17299~Server ENERGY Power~155 W~shutter~cover.rolladenfenster_cover_1~Z~17299~Fenster Eingang~A|B|C|disable|enable|enable~switch~switch.bad~D~63142~Bad~1` - ## Messages to Nextion Display ### General Commands, implemented on all pages @@ -104,93 +102,1993 @@ change the page type: ### cardEntities Page -The following message can be used to update the content on the cardEntities Page +Structure (Category): `entityUpd~title~[navigation]~[entity_information]` +Example with 4 Entities: +``` +entityUpd~LightTest~button~navigate.prev~<~65535~~~button~navigate.next~>~65535~~light~light.bed_light~A~17299~Bed Light~0~light~light.ceiling_lights~B~52231~Ceiling Lights~1~switch~switch.ac~C~17299~AC~0~switch~switch.decorative_lights~D~65222~Decorative Lights~1 +``` -`entityUpd~heading~navigation~[~*type*~*internalNameEntity*~*iconId*~*iconColor*~*displayNameEntity*~*optionalValue*]x4` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NumberCategoryLocationTypeFieldAddional Information
0instructioninstructionentityUpd
1titletitletitletitle
2NavigationUpper Left IconEntity Definitiontype(ignored)¹
3intNameEntity
4icon
5iconColor
6displayNameignored
7optionalValueignored
8Upper Right IconEntity Definitiontype(ignored)¹
9intNameEntity
10icon
11iconColor
12displayNameignored
13optionalValueignored
14EntitiesFirst EntityEntity Definitiontype
15intNameEntity
16icon
17iconColor
18displayName
19optionalValue
20Second EntityEntity Definitiontype
21intNameEntity
22icon
23iconColor
24displayName
25optionalValue
26Thrid EntityEntity Definitiontype
27intNameEntity
28icon
29iconColor
30displayName
31optionalValue
32Forth EntiryEntity Definitiontype
33intNameEntity
34icon
35iconColor
36displayName
37optionalValue
38Fifth Entiy (US Portrait   Version)Entity Definitiontype
39intNameEntity
40icon
41iconColor
42displayName
43optionalValue
44Sixth Entiy (US Portrait   Version)Entity Definitiontype
45intNameEntity
46icon
47iconColor
48displayName
49optionalValue
-`~light~light.entityName~1~17299~Light1~0` +### cardGird Page -`~shutter~cover.entityName~0~17299~Shutter2~iconUp|iconStop|iconDown` +cardGrid is using the exact same message cardEntities is using; it ignores the information supplied in optionalValue, because it isn't needed for cardGrid -`~delete~~~~~` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter   NumberCategoryLocationTypeFieldAddional Information
0instructioninstructionentityUpd
1titletitletitletitle
2NavigationUpper Left IconEntity Definitiontype(ignored)¹
3intNameEntity
4icon
5iconColor
6displayNameignored
7optionalValueignored
8Upper Right IconEntity Definitiontype(ignored)¹
9intNameEntity
10icon
11iconColor
12displayNameignored
13optionalValueignored
14EntitiesFirst EntityEntity Definitiontype
15intNameEntity
16icon
17iconColor
18displayName
19optionalValueignored
20Second EntityEntity Definitiontype
21intNameEntity
22icon
23iconColor
24displayName
25optionalValueignored
26Thrid EntityEntity Definitiontype
27intNameEntity
28icon
29iconColor
30displayName
31optionalValueignored
32Forth EntiryEntity Definitiontype
33intNameEntity
34icon
35iconColor
36displayName
37optionalValueignored
38Fifth Entiy (US Portrait   Version)Entity Definitiontype
39intNameEntity
40icon
41iconColor
42displayName
43optionalValueignored
44Sixth Entiy (US Portrait   Version)Entity Definitiontype
45intNameEntity
46icon
47iconColor
48displayName
49optionalValueignored
-`~text~sensor.entityName~3~17299~Temperature~content` +### cardMedia -`~button~button.entityName~3~17299~bt-name~bt-text` +Example without icons in bottom row: `entityUpd~Kitchen~button~navigation.up~U~65535~~~delete~~~~~~media_player.kitchen~I'm a Hurricane~~Wellmess~~100~A~64704~B~media_pl~media_player.kitchen~C~17299~Kitchen~` -`~switch~switch.entityName~4~17299~Switch1~0` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter   NumberCategoryLocationTypeFieldAddional Information
0instructioninstructionentityUpd
1titletitletitletitle
2NavigationUpper Left IconEntity Definitiontype(ignored)¹
3intNameEntity
4icon
5iconColor
6displayNameignored
7optionalValueignored
8Upper Right IconEntity Definitiontype(ignored)¹
9intNameEntity
10icon
11iconColor
12displayNameignored
13optionalValueignored
14cardMedia specificcardMedia specificintNameEntity
151st text rowtitle
16titleColor
172nd text rowauthor
18authorColor
19slidervolume0-100
20icon middleplayPauseIcon
21icon right sideonOffBtn"disable" or color
22icon left sideiconShuffle"disable" or icon
23Entitiesupper left corner media   iconEntity Definitiontype
24intNameEntity
25icon
26iconColor
27displayNameonly used for popups
28optionalValueignored
29First EntityEntity Definitiontype
30intNameEntity
31icon
32iconColor
33displayNameonly used for popups
34optionalValueignored
35Second EntityEntity Definitiontype
36intNameEntity
37icon
38iconColor
39displayNameonly used for popups
40optionalValueignored
41Thrid EntityEntity Definitiontype
42intNameEntity
43icon
44iconColor
45displayNameonly used for popups
46optionalValueignored
47Forth EntiryEntity Definitiontype
48intNameEntity
49icon
50iconColor
51displayNameonly used for popups
52optionalValueignored
53Fifth EntiyEntity Definitiontype
54intNameEntity
55icon
56iconColor
57displayNameonly used for popups
58optionalValueignored
-`~number~input_number.entityName~4~17299~Number123~value|min|max` +### cardThermo -`~input_sel~input_select.entityName~3~17299~sel-name~sel-text` +Serial Protocol of cardThermo is about to change; table will be completed later -### popupLight Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter   NumberCategoryLocationTypeFieldAddional Information
0instructioninstructionentityUpd
1titletitletitletitle
2NavigationUpper Left IconEntity Definitiontype(ignored)¹
3intNameEntity
4icon
5iconColor
6displayNameignored
7optionalValueignored
8Upper Right IconEntity Definitiontype(ignored)¹
9intNameEntity
10icon
11iconColor
12displayNameignored
13optionalValueignored
14cardThermo specificcardThermo specificintNameEntity
15currentTemp
16dstTempcurrent temp; multiplied by 10
174th Text Box Left Sidestatus
18minTempmin temp; multiplied by 10
19maxTempmax temp; multiplied by 10
20tempSteptemp adj per step; multiplied by 10
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
-`entityUpdateDetail~entityName~*ignored*~*iconColor*~*buttonState*~*sliderBrightnessPos*~*sliderColorTempPos*~*colorMode*~*color_translation*~*color_temp_translation*~*brightness_translation*` +### cardAlarm -`entityUpdateDetail~1~17299~1~100~78~enable` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter   NumberCategoryLocationTypeFieldAddional Information
0instructioninstructionentityUpd
1titletitletitleintNameEntity
2NavigationUpper Left IconEntity Definitiontype(ignored)¹
3intNameEntity
4icon
5iconColor
6displayNameignored
7optionalValueignored
8Upper Right IconEntity Definitiontype(ignored)¹
9intNameEntity
10icon
11iconColor
12displayNameignored
13optionalValueignored
14cardAlarm specific1st button   right sidedisplayName
15intId
162nd button   right sidedisplayName
17intId
183rd button   right sidedisplayName
19intId
204th button   right sidedisplayName
21intId
22icon next to code displayicon
23iconColor
24numpadnumpadStatus"disable" or "enable"
25flashing of icon next to codeflashing status"enable" or "disable"
26button bottom left cornericon
27iconColor
28intNameEntity
-`entityUpdateDetail~1~17299~1~100~disable` +### cardQR -### popupShutter Page +Example: `entityUpd~Guest Wifi~button~navigate.prev~<~65535~~~button~navigate.next~>~65535~~~WIFI:S:test_ssid;T:WPA;P:test_pw;;~text~iText.test_ssid~���~17299~Name~test_ssid~text~iText.test_pw~���~17299~Password~test_pw` -`entityUpdateDetail~entityName~*sliderPos*~2ndrow~textPosition~icon1~iconUp~iconStop~iconDown~iconUpStatus~iconStopStatus~iconDownStatus~textTilt~iconTiltLeft~iconTiltStop~iconTiltRight~iconTiltLeftStatus~iconTiltStopStatus~iconTiltLeftStatus~tiltPos` - -`entityUpdateDetail~1~77` - -### popupNotify Page - -`entityUpdateDetail~*internalName*~*tHeading*~*tHeadingColor*~*b1*~*tB1Color*~*b2*~*tB2Color*~*tText*~*tTextColor*~*sleepTimeout*~*font*~*alt_icon*~*altIconColor*` - -`exitPopup` - -### popupThermo Page - -`entityUpdateDetail~{entity_id}~{icon_id}~{icon_color}~{heading}~{mode}~mode1~mode1?mode2?mode3~{heading}~{mode}~mode1~mode1?mode2?mode3~{heading}~{mode}~mode1~mode1?mode2?mode3~` - -### popupInSel Page (input_select detail page) - -`entityUpdateDetail2~*entity_id*~~*icon_color*~*input_sel*~*state*~*options*` - -options are ? seperated - -### popupTimer - -editable is 0 or 1 - -action fields are in the answer on the button press - -in case action is empty the button will be hidden - -`entityUpdateDetail~{entity_id}~~{icon_color}~{entity_id}~{min_remaining}~{sec_remaining}~{editable}~{action1}~{action2}~{action3}~{label1}~{label2}~{label3}` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter   NumberCategoryLocationTypeFieldAddional Information
0instructioninstructionentityUpd
1titletitletitleintNameEntity
2NavigationUpper Left IconEntity Definitiontype(ignored)¹
3intNameEntity
4icon
5iconColor
6displayNameignored
7optionalValueignored
8Upper Right IconEntity Definitiontype(ignored)¹
9intNameEntity
10icon
11iconColor
12displayNameignored
13optionalValueignored
14cardQR specificqrcode text
15Entities1st EntityEntity Definitiontype
16intNameEntity
17icon
18iconColor
19displayName
20optionalValue
212nd EntityEntity Definitiontype
22intNameEntity
23icon
24iconColor
25displayName
26optionalValue
-### cardThermo Page +### cardPower (in development) -`entityUpd~*heading*~*navigation*~*internalNameEntiy*~*currentTemp*~*destTemp*~*status*~*minTemp*~*maxTemp*~*stepTemp*[[~*iconId*~*activeColor*~*state*~*hvac_action*]]~tCurTempLbl~tStateLbl~tALbl~iconTemperature~dstTempTwoTempMode~btDetail` - -`[[]]` are not part of the command~ this part repeats 8 times for the buttons - -### cardMedia Page - -onoffbtn has to be`disable` to disable the on off btn -tIconBtnEntityName is the entiy name used in the button event for pressing the upper left icon - -`entityUpd~*heading*~*navigation*~*internalNameEntiy*~*title*~titlecolor~*author*~authorcolor~*volume*~*playpauseicon*~onoffbtn~iconShuffle~*type*~*internalNameEntity*~*iconId*~*iconColor*~~[~*type*~*internalNameEntity*~*iconId*~*iconColor*~*displayNameEntity*~*optionalValue*]x4` - -### cardAlarm Page - -`entityUpd~*internalNameEntity*~*navigation*~*arm1*~*arm1ActionName*~*arm2*~*arm2ActionName*~*arm3*~*arm3ActionName*~*arm4*~*arm4ActionName*~*icon*~*iconcolor*~*numpadStatus*~*flashing*` - -### cardQR Page - -`entityUpd~heading~navigation~textQR[~type~internalName~iconId~displayName~optionalValue]x2` - -### cardPower Page - -`entityUpd~heading~navigation~colorHome~iconHome~textHome[~iconColor~icon~speed~valueDown]x6` - -`entityUpd~test~1|1~6666~A~hu~8888~B~1~t0u~9999~C~2~t1u~1111~D~3~t2u~33333~E~-1~t3u~3333~F~-2~t4u~4444~G~-3~t5u` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter   NumberCategoryLocationTypeFieldAddional Information
0instructioninstructionentityUpd
1titletitletitleintNameEntity
2NavigationUpper Left IconEntity Definitiontype(ignored)¹
3intNameEntity
4icon
5iconColor
6displayNameignored
7optionalValueignored
8Upper Right IconEntity Definitiontype(ignored)¹
9intNameEntity
10icon
11iconColor
12displayNameignored
13optionalValueignored
14cardPower specificHome Icon MiddleiconColor
15icon
16text
171st Item Upper LeftPower Entity DefinitioniconColor
18icon
19speednumbers (-2,-1,0,1,2)
20text
212nd Item Middle LeftPower Entity DefinitioniconColor
22icon
23speednumbers (-2,-1,0,1,2)
24text
253rd Item Bottom LeftPower Entity DefinitioniconColor
26icon
27speednumbers (-2,-1,0,1,2)
28text
294th Item Upper RightPower Entity DefinitioniconColor
30icon
31speednumbers (-2,-1,0,1,2)
32text
335thItem Middle RightPower Entity DefinitioniconColor
34icon
35speednumbers (-2,-1,0,1,2)
36text
376th Item Bottom RightPower Entity DefinitioniconColor
38icon
39speednumbers (-2,-1,0,1,2)
40text
### cardChart Page `entityUpd~heading~navigation~color~yAxisLabel~yAxisTick:[yAxisTick]*[~value[:xAxisLabel]?]*` @@ -279,16 +2177,8 @@ tIconBtnEntityName is the entiy name used in the button event for pressing the u `event,buttonPress2,internalNameEntity,actionName,code` -# 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 - - # Custom Protocol + ``` 55 BB [payload length] [payload length] [payload] [crc] [crc] ``` @@ -301,8 +2191,9 @@ This protocol does not try to implement broken JSON Commands with a specified ty 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 00 31 33 33 37 5F 5B ``` - diff --git a/HMI/code_gen/pages/cardEntitiesSerial.py b/HMI/code_gen/pages/cardEntitiesSerial.py index ac19e8d7..05ca2253 100644 --- a/HMI/code_gen/pages/cardEntitiesSerial.py +++ b/HMI/code_gen/pages/cardEntitiesSerial.py @@ -6,8 +6,8 @@ head = sharedhead + """ spstr strCommand.txt,tHeading.txt,"~",1 """ + navigation print(head) -start = 3 -for i in range(1,7): +start = 14 +for i in range(1,5): idxstart = start + (i-1)*6 item = f""" // get Type diff --git a/HMI/code_gen/pages/cardGridSerial.py b/HMI/code_gen/pages/cardGridSerial.py index ab3c6778..2ba08725 100644 --- a/HMI/code_gen/pages/cardGridSerial.py +++ b/HMI/code_gen/pages/cardGridSerial.py @@ -6,7 +6,7 @@ head = sharedhead + """ spstr strCommand.txt,tHeading.txt,"~",1 """ + navigation print(head) -start = 3 +start = 14 for i in range(1,7): idxstart = start + (i-1)*6 item = f""" diff --git a/HMI/code_gen/pages/cardMedia.py b/HMI/code_gen/pages/cardMedia.py index 6e6b5905..4367508d 100644 --- a/HMI/code_gen/pages/cardMedia.py +++ b/HMI/code_gen/pages/cardMedia.py @@ -8,31 +8,31 @@ head = sharedhead + """ print(head) print(""" //entity name - spstr strCommand.txt,entn.txt,"~",3 + spstr strCommand.txt,entn.txt,"~",14 //title - spstr strCommand.txt,tTitle.txt,"~",4 + spstr strCommand.txt,tTitle.txt,"~",15 //title farbe - spstr strCommand.txt,tTmp.txt,"~",5 + spstr strCommand.txt,tTmp.txt,"~",16 if(tTmp.txt!="") { covx tTmp.txt,tTitle.pco,0,0 } //author - spstr strCommand.txt,tAuthor.txt,"~",6 + spstr strCommand.txt,tAuthor.txt,"~",17 //author farbe - spstr strCommand.txt,tTmp.txt,"~",7 + spstr strCommand.txt,tTmp.txt,"~",18 if(tTmp.txt!="") { covx tTmp.txt,tAuthor.pco,0,0 } //volume - spstr strCommand.txt,tTmp.txt,"~",8 + spstr strCommand.txt,tTmp.txt,"~",19 covx tTmp.txt,sys0,0,0 hVolume.val=sys0 //icon - spstr strCommand.txt,tPlayPause.txt,"~",9 + spstr strCommand.txt,tPlayPause.txt,"~",20 // on off button - spstr strCommand.txt,tTmp.txt,"~",10 + spstr strCommand.txt,tTmp.txt,"~",21 if(tTmp.txt=="disable") { vis t5,0 @@ -42,7 +42,7 @@ print(""" covx tTmp.txt,t5.pco,0,0 } // shuffel btn - spstr strCommand.txt,tTmp.txt,"~",11 + spstr strCommand.txt,tTmp.txt,"~",22 if(tTmp.txt=="disable") { vis tShuffle,0 @@ -54,7 +54,7 @@ print(""" """) -start = 12 +start = 23 for i in range(1,7): idxstart = start + (i-1)*6 item = f""" diff --git a/HMI/code_gen/pages/cardPower.py b/HMI/code_gen/pages/cardPower.py index 3dfad24a..d917e174 100644 --- a/HMI/code_gen/pages/cardPower.py +++ b/HMI/code_gen/pages/cardPower.py @@ -5,16 +5,16 @@ head = sharedhead + """ // command format: entityUpd,heading,navigation,colorHome,iconHome[,iconColor,icon,speed,valueUp,valueDown]x6 spstr strCommand.txt,tHeading.txt,"~",1 """ + navigation + """ - // icon color home - spstr strCommand.txt,tTmp.txt,"~",3 + // icon color home + spstr strCommand.txt,tTmp.txt,"~",14 covx tTmp.txt,t1.pco,0,0 // icon home - spstr strCommand.txt,t1.txt,"~",4 + spstr strCommand.txt,t1.txt,"~",15 // text home - spstr strCommand.txt,tHome.txt,"~",5 + spstr strCommand.txt,tHome.txt,"~",16 """ print(head) -start = 6 +start = 17 for i in range(0,6): idxstart = start + (i)*4 item = f""" diff --git a/HMI/code_gen/pages/cardThermo.py b/HMI/code_gen/pages/cardThermo.py index 968b44aa..8cff1568 100644 --- a/HMI/code_gen/pages/cardThermo.py +++ b/HMI/code_gen/pages/cardThermo.py @@ -8,23 +8,23 @@ text = sharedhead + """ text += """ //entity name - spstr strCommand.txt,entn.txt,"~",3 + spstr strCommand.txt,entn.txt,"~",14 //currentTemp - spstr strCommand.txt,tCurTemp.txt,"~",4 + spstr strCommand.txt,tCurTemp.txt,"~",15 //dstTemp - spstr strCommand.txt,tTmp.txt,"~",5 + spstr strCommand.txt,tTmp.txt,"~",16 covx tTmp.txt,xTempDest1.val,0,0 xTempDest.val=xTempDest1.val //status - spstr strCommand.txt,tStatus.txt,"~",6 + spstr strCommand.txt,tStatus.txt,"~",17 //minTemp - spstr strCommand.txt,tTmp.txt,"~",7 + spstr strCommand.txt,tTmp.txt,"~",18 covx tTmp.txt,xTempMin1.val,0,0 //maxTemp - spstr strCommand.txt,tTmp.txt,"~",8 + spstr strCommand.txt,tTmp.txt,"~",19 covx tTmp.txt,xTempMax1.val,0,0 //tempStep - spstr strCommand.txt,tTmp.txt,"~",9 + spstr strCommand.txt,tTmp.txt,"~",20 covx tTmp.txt,xTempStep1.val,0,0 // disable all buttons vis bt0,0 @@ -37,7 +37,7 @@ text += """ vis bt7,0 """ -start = 10 +start = 21 for i in range(0,8): idxstart = start + i*4 text += f""" @@ -59,17 +59,17 @@ for i in range(0,8): text += """ //Text tCurTempLbl - spstr strCommand.txt,tCurTempLbl.txt,"~",42 + spstr strCommand.txt,tCurTempLbl.txt,"~",53 //Text tStateLbl - spstr strCommand.txt,tStateLbl.txt,"~",43 + spstr strCommand.txt,tStateLbl.txt,"~",54 //Text tALbl - spstr strCommand.txt,tALbl.txt,"~",44 + spstr strCommand.txt,tALbl.txt,"~",55 //Text tCF - spstr strCommand.txt,tCF.txt,"~",45 + spstr strCommand.txt,tCF.txt,"~",56 tCF1.txt=tCF.txt tCF2.txt=tCF.txt //Second Temperature - spstr strCommand.txt,tTmp.txt,"~",46 + spstr strCommand.txt,tTmp.txt,"~",57 if(tTmp.txt!="") { covx tTmp.txt,xTempDest2.val,0,0 @@ -87,7 +87,7 @@ text += """ vis tCF2,1 } //Show btDetail - spstr strCommand.txt,tTmp.txt,"~",47 + spstr strCommand.txt,tTmp.txt,"~",58 if(tTmp.txt!="1") { vis btDetail,1 diff --git a/HMI/code_gen/pages/out.txt b/HMI/code_gen/pages/out.txt new file mode 100644 index 00000000..97b638ce --- /dev/null +++ b/HMI/code_gen/pages/out.txt @@ -0,0 +1,360 @@ + +// data available +if(usize>1) +{ + bufferPos=0 + while(bufferPos