From b9f57039fb43bc651c91bb33c193bb9188dd27b9 Mon Sep 17 00:00:00 2001 From: joBr99 <29555657+joBr99@users.noreply.github.com> Date: Thu, 31 Mar 2022 16:18:44 +0200 Subject: [PATCH] implemented navigation on cardEntities Grid and Thermo --- HMI/README.md | 2 +- HMI/code_gen/pages/cardEntitiesSerial.py | 4 +- HMI/code_gen/pages/cardGridSerial.py | 2 +- HMI/code_gen/pages/cardThermo.py | 67 +++++++++++++++++++ HMI/code_gen/pages/shared.py | 30 +++++++++ HMI/nspanel.HMI | Bin 7483127 -> 7483127 bytes HMI/nspanel.tft | Bin 6297996 -> 6298920 bytes apps/nspanel-lovelace-ui/luibackend/pages.py | 2 +- 8 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 HMI/code_gen/pages/cardThermo.py diff --git a/HMI/README.md b/HMI/README.md index c63f7c98..5604c46c 100644 --- a/HMI/README.md +++ b/HMI/README.md @@ -117,7 +117,7 @@ The following message can be used to update the content on the cardEntities Page ### cardThermo Page -`entityUpd,*internalNameEntiy*,*heading*,*currentTemp*,*destTemp*,*status*,*minTemp*,*maxTemp*,*stepTemp*[[,*iconId*,*activeColor*,*state*,*hvac_action*]]` +`entityUpd,*heading*,*navigation*,*internalNameEntiy*,*currentTemp*,*destTemp*,*status*,*minTemp*,*maxTemp*,*stepTemp*[[,*iconId*,*activeColor*,*state*,*hvac_action*]]` `[[]]` are not part of the command, this part repeats 9 times for the buttons diff --git a/HMI/code_gen/pages/cardEntitiesSerial.py b/HMI/code_gen/pages/cardEntitiesSerial.py index ad79b604..70162a50 100644 --- a/HMI/code_gen/pages/cardEntitiesSerial.py +++ b/HMI/code_gen/pages/cardEntitiesSerial.py @@ -4,10 +4,10 @@ head = sharedhead + """ { // command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4 spstr strCommand.txt,tHeading.txt,",",1 -""" +""" + navigation print(head) start = 3 -for i in range(1,7): +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 196e0c27..cfeed254 100644 --- a/HMI/code_gen/pages/cardGridSerial.py +++ b/HMI/code_gen/pages/cardGridSerial.py @@ -4,7 +4,7 @@ head = sharedhead + """ { // command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6 spstr strCommand.txt,tHeading.txt,",",1 -""" +""" + navigation print(head) start = 3 for i in range(1,7): diff --git a/HMI/code_gen/pages/cardThermo.py b/HMI/code_gen/pages/cardThermo.py new file mode 100644 index 00000000..60cd9d33 --- /dev/null +++ b/HMI/code_gen/pages/cardThermo.py @@ -0,0 +1,67 @@ +from shared import * +text = sharedhead + """ + if(tInstruction.txt=="entityUpd") + { + //heading + spstr strCommand.txt,tHeading.txt,",",1 +""" + navigation + +text += """ + //entity name + spstr strCommand.txt,entn.txt,",",3 + //currentTemp + spstr strCommand.txt,tTmp.txt,",",4 + covx tTmp.txt,xTempCurr.val,0,0 + //dstTemp + spstr strCommand.txt,tTmp.txt,",",4 + covx tTmp.txt,xTempDest.val,0,0 + //status + spstr strCommand.txt,tStatus.txt,",",6 + //minTemp + spstr strCommand.txt,tTmp.txt,",",7 + covx tTmp.txt,xTempMin.val,0,0 + //maxTemp + spstr strCommand.txt,tTmp.txt,",",8 + covx tTmp.txt,xTempMax.val,0,0 + //tempStep + spstr strCommand.txt,tTmp.txt,",",9 + covx tTmp.txt,xTempStep.val,0,0 + // disable all buttons + vis bt0,0 + vis bt1,0 + vis bt2,0 + vis bt3,0 + vis bt4,0 + vis bt5,0 + vis bt6,0 + vis bt7,0 + vis bt8,0 +""" + +start = 10 +for i in range(0,9): + idxstart = start + i*4 + text += f""" //bt{i} + spstr strCommand.txt,tTmp.txt,",",{idxstart} + if(tTmp.txt!="") + {{ + // set icon + covx tTmp.txt,sys0,0,0 + substr pageIcons.tIcons.txt,bt{i}.txt,sys0,1 + // set text color on active state + spstr strCommand.txt,tTmp.txt,",",{idxstart+1} + covx tTmp.txt,bt{i}.pco2,0,0 + // set state + spstr strCommand.txt,tTmp.txt,",",{idxstart+2} + covx tTmp.txt,bt{i}.val,0,0 + // save action + spstr strCommand.txt,va{i}.txt,",",{idxstart+3} + //enable + vis bt{i},1 + }}""" + +text += """ + } +""" + sharedfoot +print(text) + diff --git a/HMI/code_gen/pages/shared.py b/HMI/code_gen/pages/shared.py index f892130e..e02f9d5a 100644 --- a/HMI/code_gen/pages/shared.py +++ b/HMI/code_gen/pages/shared.py @@ -133,4 +133,34 @@ sharedfoot = """ bufferPos++ } } +""" + +navigation = """ + // 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="" + } """ \ No newline at end of file diff --git a/HMI/nspanel.HMI b/HMI/nspanel.HMI index 9f63e6417184a02b63a896969d74e3d2571d1f46..90985665349eba1494d233242fa6011d3b5b8cca 100644 GIT binary patch delta 9175 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 delta 3743 zcmeH}dr(x@9mjunSr$;cF1RT2P!S`Diagv!1r?1LBMQEstXa?%b$8hXH73DvA*4|; zq$Nx|5hXFuCYg*zLCr}bMxx0~n#QzdVqONS(zK0ZM`@jqrj_=4*>gFI|K-2@(L3{* z{oH%bz4zSvd))2m_%NskD68v~X}XWvTC$cY(dC|!@*;Q2cJgocYE0CqBT_zVJathy zqaQgf#akrC`hNa?%t9}4XnmdGzdlMGID93?MjZ!m`umMU=Y|_xhkn$l`|8&Ev5iI> zG4_Evb~cy}{UYeqNBv`$zqV0~dfN+Eh~9mSQo$$Z%7e!pYSrEP#zw8d7<-J!nzB_} zsd{4l7a^B@X&D38;27+tJq;LD*D!F1x_;}XFRKQwPu*9yvx%j2^`^Ey|Jtw3R{F*c zMtI2fju;zw%_REg#~$iAgTeOOSm40db@NFt-BvI1eq((>Se!ni<>a>d|Aa;9CnWD| zR;9WedkviJd5ZrVt)4=>0jhZKlgCI`>1(w z{|@b6D&4bE`pUJ^vux7ii=>A*h&siMzuiJqBi!R6T7mwiZWqglbm9R%C|Bn^;vXnL zqtqrfS4i)vl%DrA=8BW^_6GRA0N)?rHAL%}=ZAxa2AAeTY~F7 zBR?NMELLH@zq)s@KUQ0BvD5@xJzG*?Dd483t&s{FbJy}FtG!_z&+fFjCi0}|uEe!` z$7SniWBt*=Va)ziVHNX!ZLMS8CE*j5I9AqXGP9v!?)JXn)B}rm! z#uqdZkBqH(u1uP#^JUVsA=uaS{y9hTrSD!&v{@w34aB-l_={^~jE*AiTD+RpN&n6I ze)rKUh5bA98j?dh;q?vDk0H+5@i*);TNx7Qut<*d66u$aG|!6!D)!3b_jbzT&poal z_xYb}GJdraE<7oHHIhcV!9Vb&*1Wb(&Kdi>T->;W(#JFDNiRrGK138N64AhR{ScAC zBOkO?3=c}roXW#vT#G{4pNed4?DYhfnWc7l4eZ@QPYTF7g<8$7b7+ zU51NuE4P1H#VV_udwiYI{zuu3>eo6!b%qS8Ia3Dp2&%tUyq^iE_yfXE&mnq7cn&JQ zR|J06LZVRdp63_HPiFSR zwj?E+y%bXx#jf?ZqlavFIUL?)j-riQ9GiH2mor9Te@HZka{I2b$MX!wpZU<(bB0ys zmzMh`;QOF%)?Aq#Gg0Q+cj6P2x%Qn{g_f>mN7oXW5gtVQmI%Oll=DsDxpsM-&o|0| z*-??=`abI3M)YfuT2-ae!_mjJMKqy2Pl!IU6#r+x>svC>43w&tO<9Qc4H5Y`RBeP< z#FVF`&p{j4jxT>!by4PydO5HQC8kG_4)fLU%~6xJN8$L=#HHPrXQkI? z86L3j!T)RS9PEBk@x6tvt8P;|)&U{)$NHtA5|c%G<232X+0sR)f7|Gu SUHMb`$9OmY>O$El*Z%;f3W0q9 diff --git a/HMI/nspanel.tft b/HMI/nspanel.tft index 35d85f33c537ae831a3b3796bd57b0d41b78450d..ed89e4d42c5073c42e0c69f7181e9fbdf44dd755 100644 GIT binary patch delta 10436 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 delta 9023 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 Yg$lAcv^rAgWH!fCx9l}1Ox>9FZ+JiYDgXcg diff --git a/apps/nspanel-lovelace-ui/luibackend/pages.py b/apps/nspanel-lovelace-ui/luibackend/pages.py index 5cec2e1b..4d0d6a79 100644 --- a/apps/nspanel-lovelace-ui/luibackend/pages.py +++ b/apps/nspanel-lovelace-ui/luibackend/pages.py @@ -234,7 +234,7 @@ class LuiPagesGen(object): icon_res = ","*4*padding_len + icon_res + ","*4*padding_len # use first 5 icons icon_res = icon_res + ","*4*4 - command = f"entityUpd,{item},{heading},{current_temp},{dest_temp},{status},{min_temp},{max_temp},{step_temp}{icon_res}" + command = f"entityUpd,{heading},,{item},{current_temp},{dest_temp},{status},{min_temp},{max_temp},{step_temp}{icon_res}" self._send_mqtt_msg(command) def generate_media_page(self, item):