From c82797e4e5736fa0a2bcb305c524986df668403d Mon Sep 17 00:00:00 2001 From: Johannes Braun Date: Sun, 27 Nov 2022 00:15:52 +0100 Subject: [PATCH] implement shuffle button --- HMI/README.md | 2 +- HMI/nspanel.HMI | Bin 9036398 -> 9036398 bytes HMI/nspanel.tft | Bin 7957824 -> 7957460 bytes .../luibackend/controller.py | 3 +++ apps/nspanel-lovelace-ui/luibackend/pages.py | 9 ++++++++- 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/HMI/README.md b/HMI/README.md index ca09f7e9..d1ff239d 100644 --- a/HMI/README.md +++ b/HMI/README.md @@ -165,7 +165,7 @@ options are ? seperated 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*~*icon*~iconcolor~*title*~titlecolor~*author*~authorcolor~*volume*~*playpauseicon*~currentSpeaker~speakerList-seperated-by-?~onoffbtn~tIconBtnEntityName` +`entityUpd~*heading*~*navigation*~*internalNameEntiy*~*icon*~iconcolor~*title*~titlecolor~*author*~authorcolor~*volume*~*playpauseicon*~currentSpeaker~speakerList-seperated-by-?~onoffbtn~tIconBtnEntityName,iconShuffle` ### cardAlarm Page diff --git a/HMI/nspanel.HMI b/HMI/nspanel.HMI index 90781b979dec8891985a18e4398b3d93001e6bf9..d3c8170fb367b67e7ec4b91faa50dc8c81f90864 100644 GIT binary patch delta 3294 zcmeI#dr(wW90%~<-3L#RRoQzNT-jaLQV|I#)J#JqpINe|m|6;osAvkYA`ywmSsp%7 zli!Ta7}KOS)f9}?QD#gkXPUt*N^G)+M)tBCr735csO-DTEp9XY*IzZ=na}LmbAI=n zv-jMY@9eeHM=jStDQHz*wwO;|upT>Z8DyT9TAWXYE2_;!T}-5$_>k!MhjcdziHDej zeHVRhGND!p)*Hq?z}ROPD~k<{9lIQULdiOVPCAK6^a(=W(Y0VqfTHoK7{-DV1g|`d zg=d7u_MM9CwpqQiTB{7?QUVH1PIU@=6*3A<2* zCLAJOB#5EHDTax}mt9e9G09tcyMre)9uLpUykCs2dIqQSv?cU7X?hq@V(`Rp6+{qC zwDz@|V~8f`?T-c%tsU9dKkY7}@X+ZJ&6!BF$K2QdX%^8=y)XfhKg!%)Eh}P@pl|f;6*zQ#;j;yJXY@^PTSauGZx2+u zn&?-(UA%^9wmwhW`u?`XkM+0dJKD90$fg$^swAq=7jsk-Md^zrZ6%7;+vzn#H}#sd zdLoa$3Ews%m)i=T@!GdJ~UDo^-IJf~!^@2F>?vVwh2YIeTq(ptF1RbRw8 zx!P3u;y1!?+W%~woyUDAjwv0S9--Nru8OHF4q<}7Rx_$|Wz;p{HgQW5mdff8S1jCE z*kG5FZiq!z?i}k;xwF-2ku5)qQx+aNtL7cPS?0-5Y_jB;`pJrHQ390;Hy**{IlbCB zPMuTJ#Z@T@qq!6scyGjP9GBJ zweZ!_X78b234jlacc_CJdYxbM45Q^^PZtH?KN+hiCx=k?K~?va7}T^?j!Md<$lR= zt6_ad$e!5^&vEmY@oMOSJ@LLbl1DAjV*ci-P2tHuYj{$NgiR^uk`Cu3C4qfsoc8e2 zzPD4pH)6O~VOPDdbMx?o1Dth4^C?NZ=cx7)=Y6dv?z0WBvD@QTId6nRM#3mahS87$V;~i7gEUBo47eTcfJ_(*<6u182@~KhmiznJ^1x!@V#E?t}YbF64j@=D`Cn9~M9^EQAMP5iEu!@DMxxp%7NVYFGnBuol+ABd{JeKrxiSqfiQd*a&5?3CiIysDQ_z5}ts~Pz76{ z8n!}>Oq(YbXUFUv81YjuqW@u%EZ37{q9IAL4N1~vNRs^Q{v^3-NRo16l9U;eWV0bj zDh)~UtszO?G$hGsLy}Y*lBCFxB&!Tb(rQSO-cm!71Pn>C-;gA+)%{5lZ%C4nh9ntb zNRpX`Bw1xhl6pguY&Ry!PD7IHH6+R2e{YgR=}D53ehcTzy0|}+#kW>-zdEk=s#R`@ l^(c`tr$hZh`9DtnkCVT|Npv0lBtR|HLA}fy(=hOr-vJE=?PLG| delta 2045 zcmd7S`%jZs7zgm@?b~9dIttnrkoA3A6hss+prWEU95A&yb%N8W+`M0_;tkP)Jy0Av zowu{hd0}Q4<9-k^o_QBz)H&mf$(Cu%)GYp>Ti8szkSv?~Vh_Im!kT=N=Y8ID>v_*} zTCW^2w}MjAq?|OXDpB)y=4drOJr!Nfxi#$@cY6@D+d_7m0wz$w3>JtGc3Y>v zp8tPV!t5-X#jtLyJ9986bFo+!$KqKJmcZU+?vq;N8OyBZ(y2Z^ZNyiL z-o^pCUi|ifZs6l}biP??#J9?f`1Ty4C*kqw^jxBgazX1B8}ZN;M0?~PxLI!G>nn`B zzNtMQ2#@q2XuK#78FA-&qx1D0MjXO9>X;zmOJi~FeMYQ*WyIe7M%?oN(Kfk5O}!2h zdF0mJX&};M{Oquik7?wGUT&Tuj^5KRbu$gh6xB_&KC2Kf^?Z-;$9e+uLxm+ec)$yZ z&=Yz=5+p-!NP#|(3Vop;q(Ofe00UtVq(cS_h9NK%GGQ1DhY^qkBViO|!)SO9a$pR+ z54n&B`S1aZg>f(*d@unf!iO*kCc_l?2&O^-6v8z47^cGv_ylIcESL>NPz)td3S}?{ z=E6K^-=77r5Ej8=SOQC787v1stbmoU3d&(Mtbw(#4%R~jY=BDG2%8`PRZtC^At(w< zSVl%ywUrjN-!PdtWM1w%qooGEz=z*q4j;PS5kzkJz4NR@TjYuT(MFUdPqi(YXt<1X zokU5=;l7JU5_OV?XyquQbk!WAbnA0*(Bzo0DCv5Y!pHrvk7%oW(SH)rzj8tS3W%(7 zvcah7j(j@mb(zdJp#1L2_7w|pW6DKrScFSe{+Z0BMu~cs5&aWhGr5;z{&8}k1*pr8 z_{4gmPvwHLHWJxo8{cN43OU);TB1lf*=>|)l#CzL5xtgee%)qN&1>B99o6LCDf8G( z%HB<+%Fa1^+DmH`|Lo6TtQd4o%Qx|ds}jrj{R>(bKBhd;En+WfT;=*%Pb$xS6>L%7 z;RCHM2d})F=u~>}hBj9!KRdjxGfydSbrt@?P`tt)-j6%Ri{ol{^LxL?I7I7ZE!iSA zR0f+>zV)gWC4Nv@ib)wNlv~R)NsO#Hal)543*t_VKF>ar^b`M{r?4qlub8^IgfTuI7A?kT|HzWqBcB&yo9 zJBreoSG&B=#Mz(OJ`=ZPc%5R&UA9`~-^au|MU|qjQ86gG*ev=nzWEBttp?hq4xV{Q{)dm-rHRgYP-axJ_MZ(6sBhUA(Pvf=$Mx^CJ#hB-vt zQ})EHMDZ1qT-`-fcYV5rKWvP1^4m=bX1-%Y%~5{nF&_0S7QwS~ymoQx1$(NB)R2ew Y6)B|*_t5;J8mNU3)QR~;TRH{*1IV}!;{X5v diff --git a/HMI/nspanel.tft b/HMI/nspanel.tft index 34a6ebcafad855ed79b4e2fc11315999c4b59b96..69a23df72d5c003e56f995aa7aacd49d64c79b49 100644 GIT binary patch delta 39627 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 delta 40674 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 diff --git a/apps/nspanel-lovelace-ui/luibackend/controller.py b/apps/nspanel-lovelace-ui/luibackend/controller.py index 6d469570..407ddd8f 100644 --- a/apps/nspanel-lovelace-ui/luibackend/controller.py +++ b/apps/nspanel-lovelace-ui/luibackend/controller.py @@ -326,6 +326,9 @@ class LuiController(object): apis.ha_api.get_entity(entity_id).call_service("turn_on") else: apis.ha_api.get_entity(entity_id).call_service("turn_off") + if button_type == "media-shuffle": + cur_suffle = apis.ha_api.get_entity(entity_id).shuffle + apis.ha_api.get_entity(entity_id).call_service("shuffle_set", shuffle=!cur_suffle) 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 07e14c36..f8c4871d 100644 --- a/apps/nspanel-lovelace-ui/luibackend/pages.py +++ b/apps/nspanel-lovelace-ui/luibackend/pages.py @@ -501,7 +501,14 @@ class LuiPagesGen(object): onoffbutton = 1374 else: onoffbutton = rgb_dec565([255,152,0]) - command = f"entityUpd~{heading}~{navigation}~{item}~{icon}~~{title}~~{author}~~{volume}~{iconplaypause}~{source}~{speakerlist[:200]}~{onoffbutton}~{mediaBtn}" + shuffleBtn = "disable" + if bits & 0b100000000000000: + shuffle = get_attr_safe(entity, "shuffle", "") + if shuffle == False: + shuffleBtn = get_icon_id('shuffle-disabled') + elif shuffle == True: + shuffleBtn = get_icon_id('shuffle') + command = f"entityUpd~{heading}~{navigation}~{item}~{icon}~~{title}~~{author}~~{volume}~{iconplaypause}~{source}~{speakerlist[:200]}~{onoffbutton}~{mediaBtn}~{shuffleBtn}" self._send_mqtt_msg(command) def generate_alarm_page(self, navigation, entity, overwrite_supported_modes, alarmBtn):