From 6ccc5bafe132d97e1728ff8d72be4d02dbfe118f Mon Sep 17 00:00:00 2001 From: Johannes Date: Mon, 28 Mar 2022 21:37:53 +0200 Subject: [PATCH] added on off button to media page --- HMI/nspanel.HMI | Bin 7418507 -> 7418507 bytes HMI/nspanel.tft | Bin 6290288 -> 6292368 bytes .../luibackend/controller.py | 8 +++++--- apps/nspanel-lovelace-ui/luibackend/pages.py | 12 +++++++++--- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/HMI/nspanel.HMI b/HMI/nspanel.HMI index dccf2c329c0462f3170a1b87178e9336b4dbf2f1..6d0c94066fbac419b3b4c5cb2fe18c8865b0b1f2 100644 GIT binary patch delta 2537 zcmeIyZA?>F7zgm@-qON4g_f2VWwH(!Zc?Ct_ZERMii(W6fr>-4~J$W?)8^$V|-4l2|fJ zVX15b+sM+`Gi(z}XU{SVdyZwWOqRu-XW48sdx5>kwy+##Ww|VmHIZNUix_l^k@!a)4zb$5Pfzro8qeWm+{3s~ z3noV6i4>yy8zcS0g+#GfH`GRoh|Z~VQ*j*MRpSdKL}xTK6dsgYPBf+_rW{14)p*BF zq9^KRl{G|h+VF6ysg3qm*Ascw{;Q4AqAOfD!fFwYCZdnjc)pqFVPqM)(b7TmxB7Cu zm8eEtDE@FXKH!cndf!K6P{;f+Ky*Sa&V8InuWoSc1W|$-zcWa*9K!=AdrSDzUT3PZ zrB|*J1v~He$h-A%*!ft`5zBzYFYkAzD47PSO;B!*^x8$Gw_o-fM7v!HDL z$;;oD5_#Z>N6T~cu5HTbsI1rW!U-ucK0n{$^ICjeU6!_^0|VTD%2T9$JHuLFiL30mIR4c40^4+FUzw5vC-r<^Oh`^A#Om*>udK}ZG8F%DM|VAGw(r>FCO>g z^E#9Jx2xl_J54C$g2R}^>y{)PKRYRx3GIB=W=v8RrsPRMIrEkLAeKM+#g!Z#!EJ6= zawu=J2u<97N6z78cV(;4%^d~iWM%P=93${+zbBsLb@}FUZmTysc%Z_RpiDJ*HphKn zH5Cb)`1EZ#i9fb^FY$@3W*tvoavN6d5U6%zhe`QsK@5D#@99k)9Fqrmqp?3>U52N# zqo*~u)?3@v#UGcNmbh`3E0cfXm$F9iM+n(72tqM*bX~jCse^M zsD@Xd2402T@EW`hwNM9pU@z>0de{$dKm#0rMmVUy)Xa6uC^LkqM*8?-|QbV3&#hHmJAH=!5Y-~liAl;vA} Hr5s+R`(4?6JS{_gMm&N)9gr}zE1x)+4f zej!EmY+xjP(#1eeN6G%s;A*`Ytd0&B$Q~(DM;4JlL~$|JI(+_){3emC?f7jcTbt|g zpnv9H8clTU3YLxz+%I#xt-$T*pK}=fCD**gE@plIgG=3HAnCoUd!uvJxB5e z-pEnBiS-=Kn>mJKIgaBwffG52lOKroNLlA)u1}D@bc%jbR+s1_**|;7%2V0qC!QYB z)7rwtOGv>zgi5nUlfKJ@%QC2!ugRt%3R5k|Bd$c3lzh57(M2U5_aK@@-QpPXcE%U{ ziS7k1=M&?J+!h}JMp^<44uGZR+X8I(f>RLU*GRgHt1k8#iM%4M(3FFK@! z8B>omSYcU^rZRkTB;%=8o$Ov^IjQc(3><)JsDWCjgL*g!hoAut!x3nNCO8Vs&;n+# MK&!kkW9_T?10i^6U;qFB diff --git a/HMI/nspanel.tft b/HMI/nspanel.tft index 55fc51321f7acabcb2d76d573518285673974f14..af473281be15d2cd3fbac17400c4cb7e948da531 100644 GIT binary patch delta 10880 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 UE)oWOnmv3V7rELa7e$=;AACI^CIA2c delta 9621 zcmeHLd3;nwwyvtqMgk#$5VDb_6Ufq?kj@?;Bq40Fg@`fTCFBN3kO0{X$es`>WS0aa zM_ER|!3}U=9B5Htf--=jLl9*dP-I3~6qGQ^fS{RE)g1!(3-7(3e?AEP-M)3sSM{A! zr|zxl+J*CUSFbm-+CIASTUuTEg7m#tYd*MIU-Wa_YD32L)x&l5r-M%}iJG=PW^g@O zvsLt%x?)N4z#C2LpNs1_;lx)9`)?Ytrpmgf-FVS1{5ow~YNEaC*Q}h#AqQ4j*28uyquy{la5kti=F9<_9|UI^npRNjYJBYW^36heks^wwG7 zd^5F1MDmxIwb8)!lr3|D?Q<=mY`7D6##nq=fD>GuYw@E5vZHw)_JJehd}{7TtD!NP zXVab#9K*BON7Pyo!#}3hEwMaYM_+`Xzgmpe=6D`vA98r298!)BBWld;tgj^T018J- zP|f9J9%}bWP37Gw)J!+)nJEF5_Tp3I)gz5hhEFzI0$^Tm9u1qbdAjwd-uwuaUvnU^ zFJD9BV0T|W1uy746@veWQCDa4B0#@R)`Sc`N{!%ceI=6{7?{e;fe;(O9jv#r_>a_j za{xCnK=ikc7|gwx66%y1Ym7^Zg_T2iv7`E0Ka}sV4S#beKSANta1QiMSUi%Cfy*QL zV|1`JGlyq6t)53+U_&17M&E+Hc|3~wXTi65JW{tmi$P$c#Sdc5JO(B-T7ua6aLBGU z_hP%lVIDL4(e-f7%x@b`h7)3>|4?{J;c10uB$|x$D|wB@Kl%mi7{R-<1$ZJ zudcs2vfhn*LhQ4g!**fzhmmDG0y>W4?oj)@*@Zbrz=pMEFQ^UY9rPqZ4&|VbDRflm zBoT*ljexN)n4_3W1k_|$^mc!p@}Up*Z_2RvV?-NExgY#`%o1|1qG&&7q^Fr&2_fxt z4)F$Eb2A}Pct_)*N#mjJBZ_8B)w@eGbHTP9D|sr5H$a__xd-0v8^iT7lqI3&KxT@7 zJ-=9j^ifJtj6$Qro(f|nVl)Z1Xs}W$@_C5eJzBXK9_W5HpUc_7SoF{{)8g{m3`hH! zu!lSGB-|fQY#Sk<^xE!bZ`fPFy*lJ75qSz92U9-x38VSyPLqgJ?j`fl*@1G^`h>#K z;6IkzQym2*CoT6+z7;3Gg3{SgGoE+#ovlb~CF=1nHb8bs9OzouF`fsRZ01ufW|JCG z=R$4mfd)G*uCtvM2(*xg+G&?t%<=cqwzRY-w9vLlnh%r|ayL8oMvG74z1-@S_M{eW zwc_@PH{K`C!Dttkd~XjYT6#!n>EVRxp>M+dJ$SVAklICtcPH#G<%*NpGR1b1hCm03 zYmO#c{HjOE&KXNi-YzX^P(#JI+rIi8EwVQCM6#cHERAy)ntC zTSVY;5npMsO-`%Ic;9;{MWr@|$*A*2gR>kr07FeP$*+$E>!gy_*4VCit4boG{)*Wb z3#VxU@55V;H|+zj){j#zw~b`5A+M!VDZXXt7@)% z?2|>0%`C_GP;Db6AI9#n^kn-Z!0o(6FCUUS+%28q`wbQs*;w#| z*$97%Z=W^I^u-a(oI3>lMDB@I{IE zh*>YM>e;*|0-D;J!({jyo^5#)#=*7(-tOK@V`$qIWZ>@5++ zq$@EjEmFQdyx`k1?r!I#D8HmOIW!G+mh&`}lv%@v)&FFP29Kxtc-jXVEAH0TRDs%1 z(~?c*AUY8up2DEVs$Po}j#oHA;gb?k)nuEhV!NuXPoXLsr%?HgYm-BZ!MU9Zw~5Q9Emk1d4ZXIi;hZWANH^A*(nJj|Mk zx|geQ>lCg~xKiONiKrWFx>wtE|2h?Q+c>q#@3}TPbTwF}wdl?Vi^i)`o=5Li%}H%& zPPkw5^RVS<9?Tjd;i%Qz8NPa&cMRFB2HvCaU4?rU{#7Ch|G*}EUnFF{ZT5;anUamB z#5iMeqA?M7F*f#lit$dHY`PD&P3P&hf_M@}7MsJMv6APcG$5rlj^sAtNW4Fe2B0%B zj?0k{GLLtKEi<`W$Tw>AOA0S2{8r(25;2Y+Y;jzPgt~e7_PUF6QTd&JAje@A?`xA^ z4)0FFotc!c1kC0>t*b3_HdZvsGSB8g)CXqF#>()-Dl*b83Og(GR@hY{3iF4W1-QBO zjk2w?+q1DUY#cA;*Qreo^@Y4SEtN3?$`)B%!DFd8T5cPoQ+$xun%mSia+`dAZhheO zxtQDjQFm&@!5C+XZJF>ir6yBhy25@6vm|0PgKW_Zh*ISO*;QC#Hcp1}>)R%W4uCCH zEk*JSlvHyrRh-*p?i}`;<(P86Z1mi2#pPHI!Si@%NU<8GMB!wGr3%X=qRdJqlU6|O zJRWBEo}xS^J;8Jzp_C`f+S9K_by(|79`jDNN2@d=cww$fE=j<-d3(Bv)O%9f1-uxCxOQE3L+z#fAvK<_vQ`aHyP6fopwNU}F_oouI zzqc1tc}S+x*N~LdGWYwGj=w4VK;Z#}2PI-0hiysyP$t#yH@yAI_x%U)wk>Fl1q-``>J!G)< zHn~}sZSC)BlW(gBow+(Y-;=Ix@a$4nejo4btePR7_ z-rmlcrTk_*kaK-G&ukfAJ@2kQ$HV-kh}H^8u~oajN{~F2{?AF3XOQ2S)GF|+<-zm~ z=v~Xh^e?L@URAhR;cE(Cmxx)|X3xSFnT76l_g9q5A0Ox*Sa)9naEW+ACaQl5B8{fb#($skfw@-2Q*9>NzsIvqfeU8geO!$Yzads6J#}O6VF@;AJex~qq ziI|pC_OzU^6~~oTSR6Lar^>IfZ4NtOfI-jmjC-mhV>MQXRB@*|;$#2s)gjN9zb{qv zI83VNgT2&}QV9veG^x#GE*z-mp)}X}Z9PBXSX3@gB1uMCCal-+Lq597!=f=h5%(GLOG{@%SJ{5iT9~n(I?5U+Cw{vHx;BWY%76Zg%r+CT@(7zc>-% z00l$x2l*D_sjs;jedgKBE_QRGwP8s9d>5;KUjB^I>M3g(8SOwYoDSs6L_#i~WaJQf z1`{U|)0>bV+v&()9U(o?et0M$?Spir93zV-L4?jEWXdodxq>)M2Bog z63~v2YxpzP$N)y(t8ygEFscCBjf@!1$j3Jv$w{1tR2oJ$tzzWs?1i}p@~ycCv|c)= zBVmm6>JDH0OVhVIPdbus@G*P@8a~vljvhT2se(BlX$BpBg`ekZJKgib85tPCh({zN zXCtBHu%@SZPx$$&H?BhB`I`x)$r(Y)F1NSOJtc7VPH8J}oD__I&J zC)x#9OT6@KB0rJ3v2if}@7f%vG1&A`JUAZFqUaciJ%Um;CE$>7`G{s22hi(;1&fgZ)Sp2>`?ONKp1k=YY29@VT)l_`vzOM%UwqFZGO9Q{<=<+?kS zk?>xOH1&eIW163PFIq?9@NY7GpX^SB-N(@9U~fhe`=GWyF!M952RqmsHh!kX8( zBf7^R5H2@S2;K>*{oJUSIx7+scLvhn#cTpPg_GBzMV$rhjTN zOkNLSZY;Tsl;p}XjMCwEm~}9Jr}M(I9F2}UYMGtzGitUr&_v5v#O^Ejk7233!N zxfd{EZ4A7AK|8<>=R?IsEs*Wahq{Xx#rg@d?|Z6qBR07|35nk#ZQ}$m9l@?#Co(d9 zB6Rx>+gvBYBj4f7Ru+TlGES5zw#h5k*=BaSx_^SonH_TlXV!TVoVtRUyHyPId(<2} ziIM2ZjQCDrWaJe1+xMtBcoJNawo+`XDq&=DDI=RoVcQRAE1d#Ie?VIUwl$V9vZtJp zAIo9&RkSsf!tSeR>r}yr{wYQ}R^sxlgt<*<>r??7o6uH>ZPTYRQZx-0&on5yhPJ{= zSbPm_?_k>}Pc!oFbVjaChvEN5+dI>s;@@cVn88T!Oh!7)Vx<2pNc<6P9y7r5BihDc z+qBt?jGx2EnmN$zC$x>51(`pg?QLv3JeQH(Rg7G%0>|rUdwUK^M940u()lk`tt08>V>X3r-t_Ee9$wV=Xu$#33}tF= ZF0?Q4cy+%L9s5EzT|ucs=tcdB{{oMH>f8VT diff --git a/apps/nspanel-lovelace-ui/luibackend/controller.py b/apps/nspanel-lovelace-ui/luibackend/controller.py index 82b2ed65..6ad3c56d 100644 --- a/apps/nspanel-lovelace-ui/luibackend/controller.py +++ b/apps/nspanel-lovelace-ui/luibackend/controller.py @@ -181,10 +181,12 @@ class LuiController(object): if button_type == "media-back": self._ha_api.get_entity(entity_id).call_service("media_previous_track") if button_type == "media-pause": - player = self._ha_api.get_entity(entity_id) + self._ha_api.get_entity(entity_id).call_service("media_play_pause") + if button_type == "media-OnOff": if player.state == "off": - player.call_service("turn_on") - player.call_service("media_play_pause") + self._ha_api.get_entity(entity_id).call_service("turn_on") + else: + self._ha_api.get_entity(entity_id).call_service("turn_off") if button_type == "volumeSlider": pos = int(value) # HA wants this value between 0 and 1 as float diff --git a/apps/nspanel-lovelace-ui/luibackend/pages.py b/apps/nspanel-lovelace-ui/luibackend/pages.py index ecddf62c..34bb98d3 100644 --- a/apps/nspanel-lovelace-ui/luibackend/pages.py +++ b/apps/nspanel-lovelace-ui/luibackend/pages.py @@ -249,10 +249,16 @@ class LuiPagesGen(object): if len(speakerlist) == 1: speakerlist = [] speakerlist = "?".join(speakerlist) - supported_features = entity.attributes.supported_features - command = f"entityUpd,|{item}|{heading}|{icon}|{title}|{author}|{volume}|{iconplaypause}|{source}|{speakerlist}|{supported_features}" + bits = entity.attributes.supported_features + onoffbutton = "disable" + if bits & 0b01000000: + if entity.state == "off" + onoffbutton = 1374 + else: + onoffbutton = rgb_dec565([255,255,255]) + command = f"entityUpd,|{item}|{heading}|{icon}|{title}|{author}|{volume}|{iconplaypause}|{source}|{speakerlist}|{onoffbutton}" self._send_mqtt_msg(command) - + def generate_alarm_page(self, item): if not self._ha_api.entity_exists(item): command = f"entityUpd,{item},Not found,Not found,Check your,Check your,apps.,apps.,yaml,yaml,0,,0"