From f69c101bdf0e8bdc0212e0c4c6225a1e340bb329 Mon Sep 17 00:00:00 2001 From: markusbloch <> Date: Sat, 28 Feb 2015 23:04:01 +0000 Subject: [PATCH] YAMAHA_BD: support 95_remotecontrol.pm features - new additional RC icons for YAMAHA BluRay Player - recreated REWIND and FF RC button git-svn-id: https://svn.fhem.de/fhem/trunk@8114 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/71_YAMAHA_BD.pm | 55 +++++++++++++++++- .../remotecontrol/black_btn_2ND_AUDIO.png | Bin 0 -> 1246 bytes .../default/remotecontrol/black_btn_ANGLE.png | Bin 0 -> 1011 bytes .../remotecontrol/black_btn_AUDIO2.png | Bin 0 -> 1004 bytes .../default/remotecontrol/black_btn_CLEAR.png | Bin 0 -> 939 bytes .../default/remotecontrol/black_btn_EJECT.png | Bin 0 -> 736 bytes .../remotecontrol/black_btn_ENTER3.png | Bin 0 -> 903 bytes .../default/remotecontrol/black_btn_FF.png | Bin 843 -> 789 bytes .../remotecontrol/black_btn_ONSCREEN.png | Bin 0 -> 1303 bytes .../default/remotecontrol/black_btn_PIP.png | Bin 0 -> 840 bytes .../remotecontrol/black_btn_POPUP_MENU.png | Bin 0 -> 1366 bytes .../remotecontrol/black_btn_POWEROFF3.png | Bin 0 -> 1042 bytes .../remotecontrol/black_btn_REPEAT_AB.png | Bin 0 -> 1338 bytes .../remotecontrol/black_btn_REWIND.png | Bin 847 -> 787 bytes .../remotecontrol/black_btn_SEARCH.png | Bin 0 -> 1027 bytes .../default/remotecontrol/black_btn_SETUP.png | Bin 0 -> 986 bytes .../remotecontrol/black_btn_SKIP_FORWARD.png | Bin 0 -> 786 bytes .../remotecontrol/black_btn_SKIP_REVERSE.png | Bin 0 -> 787 bytes .../remotecontrol/black_btn_SLOW_FORWARD.png | Bin 0 -> 820 bytes .../remotecontrol/black_btn_SLOW_REWIND.png | Bin 0 -> 812 bytes .../remotecontrol/black_btn_STATUS.png | Bin 0 -> 996 bytes .../remotecontrol/black_btn_SUBTITLE.png | Bin 0 -> 1062 bytes 23 files changed, 55 insertions(+), 1 deletion(-) create mode 100755 fhem/www/images/default/remotecontrol/black_btn_2ND_AUDIO.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_ANGLE.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_AUDIO2.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_CLEAR.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_EJECT.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_ENTER3.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_ONSCREEN.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_PIP.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_POPUP_MENU.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_POWEROFF3.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_REPEAT_AB.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_SEARCH.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_SETUP.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_SKIP_FORWARD.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_SKIP_REVERSE.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_SLOW_FORWARD.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_SLOW_REWIND.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_STATUS.png create mode 100755 fhem/www/images/default/remotecontrol/black_btn_SUBTITLE.png diff --git a/fhem/CHANGED b/fhem/CHANGED index 0d371c24a..ecf4e4257 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - feature: YAMAHA_BD: support 95_remotecontrol.pm module features - changed: Reverted to previous version. Module not working on RPi - feature: 71_PHILIPS_AUDIO: Implemented UPNP/DLNA player discovery. - feature: 57_CALVIEW: added multiple CALENDAR support, reading source and location for terms diff --git a/fhem/FHEM/71_YAMAHA_BD.pm b/fhem/FHEM/71_YAMAHA_BD.pm index 9d295332d..5b75cf3f5 100755 --- a/fhem/FHEM/71_YAMAHA_BD.pm +++ b/fhem/FHEM/71_YAMAHA_BD.pm @@ -54,6 +54,10 @@ YAMAHA_BD_Initialize($) $hash->{UndefFn} = "YAMAHA_BD_Undefine"; $hash->{AttrList} = "do_not_notify:0,1 disable:0,1 request-timeout:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 model ". $readingFnAttributes; + + $data{RC_layout}{YAMAHA_BluRay} = "YAMAHA_BD_RClayout"; + $data{RC_makenotify}{YAMAHA_BD} = "YAMAHA_BD_RCmakenotify"; + } ################################### @@ -143,7 +147,7 @@ YAMAHA_BD_Set($@) return "No Argument given" if(!defined($a[1])); my $what = $a[1]; - my $usage = "Unknown argument $what, choose one of on:noArg off:noArg statusRequest:noArg tray:open,close remoteControl:up,down,left,right,return,enter,OSDonScreen,OSDstatus,topMenu,popupMenu,red,green,blue,yellow,0,1,2,3,4,5,6,7,8,9,setup,home,clear,program,search,repeat,repeat-AB,subtitle,angle,audio,pictureInPicture,secondVideo,secondAudio fast:forward,reverse slow:forward,reverse skip:forward,reverse play:noArg pause:noArg stop:noArg trickPlay:normal,repeatChapter,repeatTitle,repeatFolder,repeat-AB,randomChapter,randomTitle,randomAll,shuffleChapter,shuffleTitle,shuffleAll,setApoint"; + my $usage = "Unknown argument $what, choose one of on:noArg off:noArg statusRequest:noArg tray:open,close remoteControl:eject,up,down,left,right,return,enter,OSDonScreen,OSDstatus,topMenu,popupMenu,red,green,blue,yellow,0,1,2,3,4,5,6,7,8,9,setup,home,clear,program,search,repeat,repeat-AB,subtitle,angle,audio,pictureInPicture,secondVideo,secondAudio,power fast:forward,reverse slow:forward,reverse skip:forward,reverse play:noArg pause:noArg stop:noArg trickPlay:normal,repeatChapter,repeatTitle,repeatFolder,repeat-AB,randomChapter,randomTitle,randomAll,shuffleChapter,shuffleTitle,shuffleAll,setApoint"; if($what eq "on") { @@ -303,6 +307,14 @@ YAMAHA_BD_Set($@) { YAMAHA_BD_SendCommand($hash,"2nd Audio","remoteControl","secondAudio"); } + elsif($a[2] eq "power") + { + YAMAHA_BD_SendCommand($hash,"7C80","remoteControl","repeat-AB"); + } + elsif($a[2] eq "eject") + { + YAMAHA_BD_SendCommand($hash,"7C81","remoteControl","repeat-AB"); + } else { return $usage; @@ -769,6 +781,47 @@ YAMAHA_BD_ResetTimer($;$) } } +############################# +# define the layout for module 95_remotecontrol.pm +sub YAMAHA_BD_RClayout() +{ + my @row; + + $row[0] = "remoteControl eject:EJECT,:blank,:blank,remoteControl power:POWEROFF3"; + $row[1] = "remoteControl red:RED,remoteControl green:GREEN,remoteControl yellow:YELLOW,remoteControl blue:BLUE"; + $row[2] = "remoteControl 1:1,remoteControl 2:2,remoteControl 3:3,remoteControl repeat-AB:REPEAT_AB"; + $row[3] = "remoteControl 4:4,remoteControl 5:5,remoteControl 6:6,remoteControl subtitle:SUBTITLE"; + $row[4] = "remoteControl 7:7,remoteControl 8:8,remoteControl 9:9,remoteControl angle:ANGLE"; + $row[5] = "remoteControl clear:CLEAR,remoteControl 0:0,remoteControl search:SEARCH,remoteControl audio:AUDIO2"; + $row[6] = ":blank,:blank,:blank,:blank"; + $row[7] = "remoteControl pictureInPicture:PIP,:blank,:blank,:blank"; + $row[8] = "remoteControl secondAudio:2ND_AUDIO,remoteControl home:HOMEtxt,remoteControl setup:SETUP,:blank"; + $row[9] = ":blank,:blank,:blank,:blank"; + $row[10] = "remoteControl topMenu:TOPMENU,remoteControl up:UP,remoteControl popupMenu:POPUP_MENU,:blank"; + $row[11] = "remoteControl left:LEFT,remoteControl enter:ENTER3,remoteControl right:RIGHT,:blank"; + $row[12] = "remoteControl return:RETURN,remoteControl down:DOWN,remoteControl OSDonScreen:ONSCREEN,:blank"; + $row[13] = ":blank,:blank,:blank,:blank"; + $row[14] = "stop:STOP,pause:PAUSE,play:PLAY,:blank"; + $row[15] = "slow reverse:SLOW_REWIND,slow forward:SLOW_FORWARD,fast reverse:REWIND,fast forward:FF"; + $row[16] = ":blank,remoteControl OSDstatus:STATUS,skip reverse:SKIP_REVERSE,skip forward:SKIP_FORWARD"; + + + $row[17] = "attr rc_iconpath icons/remotecontrol"; + $row[18] = "attr rc_iconprefix black_btn_"; + return @row; +} + +##################################### +# Callback from 95_remotecontrol for command makenotify. +sub YAMAHA_BD_RCmakenotify($$) +{ + my ($name, $dev) = @_; + my $new_name="notify_$name"; + + fhem("define $new_name notify $name set $dev ".'$EVENT',1); + Log3 undef, 2, "[remotecontrol:YAMAHA_BD] Notify created: $new_name"; + return "Notify created by YAMAHA_BD: $new_name"; +} ############################# # formats a 3 byte Hex Value into human readable time duration diff --git a/fhem/www/images/default/remotecontrol/black_btn_2ND_AUDIO.png b/fhem/www/images/default/remotecontrol/black_btn_2ND_AUDIO.png new file mode 100755 index 0000000000000000000000000000000000000000..2e007acbc90dd9e2f3c2b4aaceb7dbb4e647595c GIT binary patch literal 1246 zcmV<41R?v0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1W!psK~zXfwU%2bbz2n2mpg@Wk6dzz5DJk8 z5idt6!;HR*#kn;2MKhW3L zM^8^rG(SI2cXxL*J3Ff~P8m!iOxX_|7R4gU$jDGhU0ofuwY713cXyXZUsO~?x3{-6 zH8n-o*VnYYy-nHK+04Si0$p5O@S=e!=L67V(bUw`Pibv!rPtS2YG`Pn+}vDF2+_*Q zN^VzISM!wK-``VdX(?@PZn9rhE=e>#KK?%`C@7%k=V#t)xKB$<Wl%=;7gk_gPL(4htqHCv!qv5d%YCb8|DDpPy4) zTpVu?m~uV#>U3v;o(94{{CMgFffq9!^2hfxx2fQk&zJue~8M#tDBgZke!_!xw*M<;Qs~B zBMmcYHd4{?Zpo5Igf=~OoY;aHP{1%Zm< z=;)~6{~6f7cotKO=PfKORK`i7_?B`|bzl`06$<{Jfqjbo>f++US95c7m2r}&fq?;o z^A3g+0n6Xe(2)HohXC!YtSmlzm=CZ*6VySs4}<#zh2u5fKqQa8FN9?mIm_Wgku} zoK%u1mbI;|EkB5j-P_yCb#!iSj{9&A&@L}8=Yo!SSaftW``6aixDQna=I!lGhlhte zL+D2wUIeR~Me)%yGc#EfMI7MGU_n7aR9|1uNf8G>$|BnMA5>giOwP{EbaQjV&qYN= z@pHbuzBE2Q&d*_h$bpI`y{V0j4If?o{r%hq*w{G2@GTM&5_puCmzVrMYISv$V{n|o zaKvE&;?XDA;czt0I4k$Vc@nKtAL}e$fQsUu}hY)P;X@#{d8T07*qo IM6N<$f?F|Dvj6}9 literal 0 HcmV?d00001 diff --git a/fhem/www/images/default/remotecontrol/black_btn_ANGLE.png b/fhem/www/images/default/remotecontrol/black_btn_ANGLE.png new file mode 100755 index 0000000000000000000000000000000000000000..c42d6f430e877cb757cde350a161a4138c9b44c5 GIT binary patch literal 1011 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&17t}=K~z{r#g+4usTeBGY zK{MM84Gox^n?rwp|Ccj8J&nG;KAQQh*xA{cr>3UR)6-)Z6B83qcjrlQb#+BoR~Opb z+YO_;yBjVpE>QT>+}w=D#zw=SzL??Rt*)*%9QqJ5Wo2cCqnXLi&)221vlA;TE2ylj z)UE#r&Y1lvrdMx`m~nD)LPkc0E@x+FU@!;i)qg~7ZLRb#DJjvdw}w6x2L}fvB_$yx zCFKnj6%{hjHH#ZkK zIXRe_nUUhUCEM>FIcWenw4AjaGhpdy9gC0xT{r zN*k6R9v(_|EiNv`!@~o5dwXSj7@3)w7#tkL#>NH;3k#(`w~+lJA|l}7;XxxWW-M^2 zyu7>+78VAx*(`SySLW{S4y&uH(vk0$XXXc9A+fQsB3e{bB;_>7I=(Z~($eHky1BW* z<>e(FA0N@y)&@sMM@{>cH!nhYc{%Ry@8$b%X=#zP&4`bW$I#G_Y?Ys%A38cZWVU?1 zxVVt_goFf{2$NY>R+jXOii(mfOM{m2!^6Yh>8iXdz|PK&<-QO&gR8465n#EcuBoXB z%gf91oR^m;ZFsdDA0JB{&jTYQBm{|xi84X9+1%WOySuwKz7-1i_u;d&wzeWWJ6rbu z;NSptb#=P!e0+R#%QZ7RE1#vbv=n=LdvYGOwzd!u5TM)ce`sdh+}sRDGsC4d8qEwp zXQR=~@K70zX2##&-*7ZDK|w(X4h}X9>RZg1Sr8f;Y8cd4eLT_3PhVeOxl@dS`l^rL zG*h60z`#I6M@N4-)TO?PiDnpGDu2Dby=B>AVq)YbwiO(oI@F`?tNxq#rm~^(N5$gS hmQaU!)Kx=K{sHp+NtnOBNWTC8002ovPDHLkV1l_$(b)h1 literal 0 HcmV?d00001 diff --git a/fhem/www/images/default/remotecontrol/black_btn_AUDIO2.png b/fhem/www/images/default/remotecontrol/black_btn_AUDIO2.png new file mode 100755 index 0000000000000000000000000000000000000000..3951d96f901ae768da4f42769c8cb0ee4948b14e GIT binary patch literal 1004 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&16@f(K~z{r#geDl1Q|Nnj7?|Z&coZ45FA1c38@Ci_dden7kW?x@l7>!13Y;55C{2Z5; zmtN!I;sVFV$C#LyKv7WcZOE8pg-RKb@786^xCI(aeeBH7UHyT+zCP^i?4Y^1*<=6T;N!}J5*LyiWvK@udijznwlC-D>E|_VPRo3 z@@B>XQxzE*DHFIjUBAA*qP@LcCM_*33A|=);Om3er>Cb<;+YM*-7bBNjg7LQ($Z4t zyScfM*yiS@93OT3{rxrVcU*oTG&B@XPfwC=p8wFH_A%*-G@J|06u zL$F${NJ~o-(Ym@iiE|U|tF5h-cy4Yk&d$y-FfbrTQC3za8)UI{*H&>2@W!K=o}M0I zbaYe}&B(|=e}BKc*f@^y-Q8We=FxO^b|NAoLXMU5m{qovloZJf=g|PyI6ORb(R4xq z|2{b2K;C$c-#j`BuxwXURLHJwZ*OIBn&FtXwl)#IzrUA^(o9K7iNsP1lgjU?s3=KWPEHQ;^76a}*QXBksQa$((!QuzReq{C+;H5 aQPZ^=1=QI90000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0~|?2K~zXfy_HWWY;hFFum2Q6Nb+x?{7ERv zN@U}al}GZjnVMw5N~ux8#>R@#=t=ogl>Z`sb{4$RycA}^LXv-}QInz+y}s{$5BHjp z74ALtnVEaK_k7O%bvmQ?#7~vKDqaqy`2C_&6iaAmC}wA8;c~gKwzh`(`FYID%zT--xjC$?tYBwn2ix1* zn%GLItE;OEtE;ORA0Ic2<>h6Jjg3+2RssS79+sAt;BYt$XJKIh>Zv{{;o;%1+wJJ@ z?>C&Gp&^8Yg+bv*Z*MQUySojC9+7g0+S}VrgFcZqH#eJxE^TaVG!2o4goL1`rbef( zt`1XEQ*b(+7#SHsQ&W@V2L}gb^nLIB4D=~MK|v@jEk${GIVvhDaDIL+jE;`VM!CAW zlKjTT2KM*&<-X5C4}Dw?h>ng%Zf-6*J3GOstgJ+FaWSf^tI^ZbBR6xi?CtGIzOAiI z8ra<2L_-D0eqXT_?eeifZC@3hvz`y`nTU#a1C@CqCRd{!IhuYd&#K*_$9+fvK zyLo(kL~wAhT*t-5p{lA1F)=Zio}QNd$!o^N#RaafujO}PVWB+BIXE~tkX%MahO9kq zJ732uZx`9w*?4|_mhF*}l7ivkVcg!{N|!9KwY7z$q$DZI&weadGPr781?n_lGmjC&1QHaH#ax1*=&;Ipz*og-Cf+@-^(0mQmr=8 zr5xk;@a;azYw+zNBP0ECJO$tDkI2= zuJVryp2xs{jiREWFT*;l$GWWl>hX&oDt}ZwDq2_H0qe0Y>#LzC{{gic|2uJ{7EJ&E N002ovPDHLkV1nHMyxRZ( literal 0 HcmV?d00001 diff --git a/fhem/www/images/default/remotecontrol/black_btn_EJECT.png b/fhem/www/images/default/remotecontrol/black_btn_EJECT.png new file mode 100755 index 0000000000000000000000000000000000000000..e309761fc7126c8b040357a3c695d56f1615a497 GIT binary patch literal 736 zcmV<60w4W}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0#QjsK~zXfy_LOdB0(I6*UxC7U_c8&Z3NLm z3vGjzDbii#RSJjLTdP=GD#BGNR(_!ysdeMK7l3J~%csx$S;gA-K1+CZXvstZHG@VYVTCGwz z9L59ueA5X+T(8$tqtT$rWI}_%fLg5<)$8@MX*QeG>-A_n9@Ep)(@y*Y(n&gyWJ-CR$m2!!9ayVf%5sh;uMQTy1BU_0UxWN9=SJ(%8$i;1e_&4c*<{Q6v&MN+y$$6#U>mZ{9xe zz=zF&%w{wBd_D?=LR@087;U#(sh%I)$2i`6;PraRWHLecCf$LrZn0R%;c$@0;}Hkq z2{)UKRDC=chw+$)`RGBPR;!gA5(g&-;0?^@bE)#QU_9pW`u5;n6rXN18c9`O3+8dY z-97^0Z|yzU8qW#l^Lk||e#>hiON~b3)sUrF%GW}cVp+fE65;jAQmfVaflGwfD@*Nm z`v)!&Uau^5I-TTlxfBPUo%974+-|qxz{7m6kp8yWY~p^YH1IIrGo;@c;^yr4`xOKI z@G#<#A_d03+uK|5H3R|y3I>B`gC6vu7yXjwAoq-4j16P=RF?pK=tVz^Ap8fVY`+>< SqxHG~0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0{BTpK~zXfy_HKSZBZDO2nU*%N{P@FOl z5hC5h#5Hl193(RXr6gg(z|7I%4&*WOiinAU!o79wL?|hVlGIh#L@9Oq-}V34i{qX< zx$OPb@9eeLxAynjd+oK?F=jV67y1ELt+if{3D=Sd5`e=lPhQj4? zVQg&7awaAw5E2psgFnN=!x$VKv>bXw%0<-E(_AoUsj0~}L>d$ngu1#q zp|`ge+uPe-jE|4&ye~LqzWV8XrAI5GcPBml!Hx@l9KerJaQa^ zPsfG9U|&~PmrQM7V4(C@S6Baa-75_6Z_WH`dmDUznVFf==8@wVm6esq&d!#n<9kj{ zPL_9jcXx-Yt1HRBy^d%pm+}7+6%~c>@Nj(|7Z>N1e~Xreg@xIMmU1cEg_cG~N85&$ z#>dCohL)zJq}Ya*rlqAJJw4rW=rN`D?8wT>vK)Gp?~&5)2?+_v$;q)CdX(>o(k}|6 zrlul4Ki@J~pB{yiQiePZrlFvq0ELBx?}l|)k9Ar9+2a+T6yFp-73N)i1gyup dtgpf_{r~_e3kcB&mq!2q002ovPDHLkV1mB6tpNZ4 literal 0 HcmV?d00001 diff --git a/fhem/www/images/default/remotecontrol/black_btn_FF.png b/fhem/www/images/default/remotecontrol/black_btn_FF.png index f5036359c40f6ac96e7cba863444a58d1d8a27c6..0f49eaa2aad35a50ab8187c8a95ad4c97ad4e3e2 100644 GIT binary patch delta 736 zcmV<60w4X$29*YoL4OHwNLh0L01m?d01m?e$8V@)0000ObVXQnQ*UN;cVTj60B~Vx zZgehgWpp4kE-)@NWrZ?j0007pNklNh#YdL)jvz% z;1Jc4;UHX^gBq0(N1??K?jY9SU@3)Bi<8v7s9Oy#(Ign%;eXN)6yfc;-}`mW!E^7| zPFFu<_kZ_wrF4k4wzdp|d|bM*v0)ghbZu=-NU>N1o$U4X^-s-3aH+*& zK_n6p((QIpuh)^!=aEPx5R1h=G#5cW$!s>m@Ao4V3V;2FlIQ1VG#U+l>^C-|+CT>X6aA(ICqG{XKt%OG``g6>aYB z?)VZ21b+e;8yge$GK3d7N_xE>TCEn+=`_OOFux15$&|b|7j?==puaT{4-XHh)oQ$K zb#)cf)6*ZCi%_NXEJf_@?qYd)850u|pPGwMr6VIFhM`L7C>w<;rDJUrs+69IQK-_% z$w|XdrBhQ=@OV7BLmox?NEhfgrZ?naz88}IbXmDvd?D)%d6@5-q)`T6@^f=@x?jsbBVJ5@!5h{9-7d>MNi=>ZN`bN%{+8g%~2V Sgu;UW00000Dy!50Qvv`0D$NK0Cg|`0P0`>06Lfe02gqa zx=}m;000_vMObuGZ)S9NVRB^vP+@6qbS_RsR3LUUE;TMOFfjCTp#T5^qe(MDBNgSS1oCzYjZhfW?M3xBag5rH9iQt?zOilP62 z?Sgx24_%@l3=ezo)G1h=o#)+Vnwc^(8^7@Ayfe={AK&5qF-p>NeU%S?$?D3&CyIH@ zWxlS`qobpUL?UQ38o0W;!p+Uiz`DM^#^vQD^7%acem^^sQK*s0$w{1@ouSogp0^mJeqi+@GbYBgM3T%g%(D&X$~x3;&paejV|TrOvts?{p8*(`heTN)V|d8kw> zNT<`Lt6VNaeyWd>#bQA!mBPWnf$2IqIlq41K21?!E-yUO(5p~?lq=jP^KgG=DHrqx?LWgrLI@$vDSP~R70RKk zRWg|r&_bbr<>h7FHO2QHk1xkIvVWpG_Ysfr9=6q<&d$zaSW=-*rxU}H z3U#~P@OV6?iyQ^|Kp>}r*&;`VK61+ZbT}O9nyRd=W_*()-Uj9R#x8Sl=7=>*%zt{c z5#@zDB_I5?+wI~Judc3QZEbB}F^74~WxgzOboE7U{gCzN=@)(0{~6{nm-(Xp0S1a~ V&k#Jt%K88R002ovPDHLkV1gTYf#m=I diff --git a/fhem/www/images/default/remotecontrol/black_btn_ONSCREEN.png b/fhem/www/images/default/remotecontrol/black_btn_ONSCREEN.png new file mode 100755 index 0000000000000000000000000000000000000000..554422188d930a9d4e8d79f9f58caacb587b6a57 GIT binary patch literal 1303 zcmV+y1?c*TP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1c*sQK~z{r#g=O*rCk)qk2@d8osml+%(0GR$a?7Pq%AF4)!`phF{~G6M z&Nwr3re4RY-)W!qti9L&*?T{GFUfZnD)5iMsQ@VfgecrFuJ zZxy1ju#gT9519`iKG6F5I^EvhQe$JI+;~Mmeinnxo0*xZF!%ysMMXuT@8IBoR##Uk zKR=&NPEKfie4KsD%gglU%^R8iKLa{gOj1&k!r&`7Jw282O-xMC(a{lQXJ@leh=DLz zeSN)5?9ULzL`Fs`3}yz)f&rwy#l=NFKVH3h#R4D%epp>yof!8kSd4~-1_cHNDok>6 zGK(1-8>5#mUs7plDP3P*Q(Idb#mC39fUK-6j)hfLR^A&!9?&6CQ&Xeo&!3a8udl*j z!(ju%E-x>szrUXX0s<%^B7%LdU%%!!SaEUjz5YLf{Lq0zkM#8P$l2MMyu7^r2tPkR zx&A-F$;pXyb#)=+n;0pWDgy%pva+(Gr%#`9;QtNA#rVjhuC6ZTzC-4Z4466`icoH3 zWW<=6nbDIcPksyHqL9uaN6}EF^^T0mQ__@QvEg&_E#}A);Ryh+?o;yuH2Y z=H`YfDk>;9HF)@))Zs_ala}2HlEN4(q5FH;M(~B1`=>7ZmT&LLB z*zn7Rg@sX7RTbax$bpwYjJvx#x3LQFi(>GZ+1c6g;e)rr$%^BBXlRI{qoX;ov9U47 zNr9!Nrg9rK2?X!#?64?YkO>J1EC#;){e6x{EdFO?WN;f*UP(y_w?#1~CMFac8_NUw z`}_0qeE$5IOHemAHy$WBIGCTo2f;A(LEn^=6c&$JjEah)(9lqRF^Iuf=!Y1@LJYP7 z+9*5A%F4Jcim|Y;VA|W;>HPeh6QO9v5f49#FO&v&hD#7W7?Psx=;+A%1<&{P_C){a z=qO!WTyWp?^mO*^?(T|h?4R=Ta&C)atgWqije)JLExEe7ivOiJI5_aLAN}9s;o))5 zhp~Rw5Ba5HF5s}Yw|_K{U(oRtVrEQDP37Jr$^!WX9g7eXCBT;#HmkBhUgQ^ugBVz~ zz`uruhCFRJ18_(^6c`_QkPmt9^2^v?0@DJA0#daP3GyHx@(L!A{0BSRsgI@R9uxoo N002ovPDHLkV1nl6XW#$; literal 0 HcmV?d00001 diff --git a/fhem/www/images/default/remotecontrol/black_btn_PIP.png b/fhem/www/images/default/remotecontrol/black_btn_PIP.png new file mode 100755 index 0000000000000000000000000000000000000000..44fff4724df18140d0ee4f4d3d0d9ef1ab97c78c GIT binary patch literal 840 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 diff --git a/fhem/www/images/default/remotecontrol/black_btn_SEARCH.png b/fhem/www/images/default/remotecontrol/black_btn_SEARCH.png new file mode 100755 index 0000000000000000000000000000000000000000..c2b7b01cb70c3c267c0a4390052b424f8c421e01 GIT binary patch literal 1027 zcmV+e1pNDnP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&19VA5K~z{r#g7F^kQHq8L3qJTNvkhK-F4%+JqbVqyZLqoYn^e0&@;Gc#COS;6x1 zvfa=Rn%QV$j{G5YHBLj6nA%b!G2^g z7$nxx(t?A718ME-6^yZ>!^6WkKR-uFNeQZ|s<67cD)X3wb1pA0rNghUuVZs_Q?z`2 zeQCsI#!g#X8}9Dzq$-@4o12UD^mH*P;^N}a+uMuM(o!-1^z?+-*jPDE zPESu!Sy_pcloVL4Rx!$;rv`BK7t4n!bwdA}A;biHV8u@$o@n zVWCW9CHRIkb9Q!y>+5SV8Wt9Yrluw_e0X@M#VBa8SmZh-P3mlJD>DBPl6Kb~zK>-`~sTEjxoX*?>WX;EywR4!Dm>d zkM235neq1a)*a0ZH<;dNWNbVoB292~4WnwjwMaNW_&urWnNMd=3h?PeYrh>nid z4eF~to@wT1NJxmBEqXzH)yFo?d{>bU8Xq73&Fsb|r3=EXA@pR>>>nxa` xI@F`?oBq4;O=VT(w~F1ZGocRksH+Y|`3sxYV&YHCR#*T4002ovPDHLkV1h`4?G^w4 literal 0 HcmV?d00001 diff --git a/fhem/www/images/default/remotecontrol/black_btn_SETUP.png b/fhem/www/images/default/remotecontrol/black_btn_SETUP.png new file mode 100755 index 0000000000000000000000000000000000000000..db47c472ca4ba46948e722ebb3944c4d4af9b30e GIT binary patch literal 986 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 RSw;W=002ovPDHLkV1ms-VXFWD literal 0 HcmV?d00001 diff --git a/fhem/www/images/default/remotecontrol/black_btn_SLOW_FORWARD.png b/fhem/www/images/default/remotecontrol/black_btn_SLOW_FORWARD.png new file mode 100755 index 0000000000000000000000000000000000000000..132ea1bbf5bf5332bb2d8ff85200c2f7c0024f0f GIT binary patch literal 820 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