From ca32c81612d2c31f0cda34319fad2011fdbac515 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 19 Nov 2015 19:27:10 +0100 Subject: [PATCH 1/2] Camera demo --- homeassistant/components/camera/demo.py | 37 +++++++++++++++++++++ homeassistant/components/camera/demo_1.png | Bin 0 -> 9772 bytes homeassistant/components/camera/demo_2.png | Bin 0 -> 9667 bytes homeassistant/components/camera/demo_3.png | Bin 0 -> 9595 bytes homeassistant/components/camera/demo_4.png | Bin 0 -> 9906 bytes homeassistant/components/camera/demo_5.png | Bin 0 -> 9699 bytes 6 files changed, 37 insertions(+) create mode 100644 homeassistant/components/camera/demo.py create mode 100644 homeassistant/components/camera/demo_1.png create mode 100644 homeassistant/components/camera/demo_2.png create mode 100644 homeassistant/components/camera/demo_3.png create mode 100644 homeassistant/components/camera/demo_4.png create mode 100644 homeassistant/components/camera/demo_5.png diff --git a/homeassistant/components/camera/demo.py b/homeassistant/components/camera/demo.py new file mode 100644 index 00000000000..fc3ec263143 --- /dev/null +++ b/homeassistant/components/camera/demo.py @@ -0,0 +1,37 @@ +""" +homeassistant.components.camera.demo +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Demo platform that has a fake camera. +""" +import os +from random import randint +from homeassistant.components.camera import Camera + + +def setup_platform(hass, config, add_devices, discovery_info=None): + """ Sets up the Demo camera. """ + add_devices([ + DemoCamera('Demo camera') + ]) + + +class DemoCamera(Camera): + """ A Demo camera. """ + + def __init__(self, name): + super().__init__() + self._name = name + + def camera_image(self): + """ Return a faked still image response. """ + + image_path = os.path.join(os.path.dirname(__file__), + 'demo_{}.png'.format(randint(1, 5))) + with open(image_path, 'rb') as file: + output = file.read() + return output + + @property + def name(self): + """ Return the name of this device. """ + return self._name diff --git a/homeassistant/components/camera/demo_1.png b/homeassistant/components/camera/demo_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fc681fccecd69fb91801a6ecad8cd28454cae278 GIT binary patch literal 9772 zcmeAS@N?(olHy`uVBq!ia0y~yU^vgfz;Ka+je&t7JNDTY1_lO}VkgfK4h{~E8jh3> z1_lPs0*}aI1_oAF5N6EbymmtT}V z`<;yx1A_vCr;B4q#hkZuD-%Rq|GlukTCCQXU?Jqe@qKDRM^i<21AEi!jU8)N+kMrw zDRpIGEwue`C^RNNcK+(u@6J~{#zxNDEvL~XzD}lS@d?Fn0S*BsmEyAf_HFZg&ihO{ zImgzs_TQ;5CCjp_eq9cY{kk@vbJl^C@^V?P19Xy27S3I&$j14C?+Np{Wi@>+NlY;g zTiK#nZ)N#*9F3d*zgczhZJCa*%q}|CbAM)@H8{HdtV4!4>uJGVv zN=GMp%xb#3TJyO!Q(O8j6(P@UiWkm>U67dYvdKdw@&p5`<946vPD&^3T=-cnw<%9N z;=GT^!YG!jQ-%9vr&Or!L=P$VQ_2&MbWU+s>J--OcM(z#lIv9QTVf;RIme??Ws=3j zPaZ0TN>3+xJUTM#C6kAe<H4{) zOSe7PX3VWSW$Vd@>q7PF)`S^{TX?c;x|t@#Qs8aB*uv_qY*TvsvjRW&%Js&=L2|+i zICiW(b5M1z^3jVMwF|B@u!oneu9x?$n)oS2V(-ebM9;@tyBO5IZYr+Lx6HoB<56kU z!LaPxX7h;0E|0s`nJxRe`Sg}`l5VFaE0z@ME6WS-tdw=7}gbWTvhZcX#KS zVz0^1p6uHzv z)A7{glru_w=RP=TfA?q%YMP?nIm1^*Rx==L!Y38Z&0Qcn?1JX0B$O4FEO9vLdTO#l zSHsLmg}y!!jY^M7AqVm2e{=*vcFQcWDV((S(F>18A@@_l>|G7^DH|=U4s)-)W9i_x zqFY?kUpSEEPT;!-cXY(v(^Do+t!6vn(NZztlL=$&oX@j5Ev%Hg)|}CpZW<6g@zW8H zVo~?>5_RqEr{{3^I-L?`J{v1D_u|p8W!{ZRZl^ADR6Tbn7I#ng**Nv~FUypu)e;jv znKbD66~C0}n7UClOzr#BPEl#+Q^EYYp)zv|mzt@4pU7m|GDV$BH&$lu>0LK|>=juN zx5OsVqp&CD-qB;dM&@N9Peg^9Tv@`DBqCM(y)}e)-CFTA`_Fl?{4@VA8@d~8yK$`W z+mGFHCJA31?YqDI2=JY8Auvw$_=HC$XSUkD`C(d-oBf!n^o-yh3!V0w=ts3>;!`6u z^A~?O(?74pUi;>WH0hu@5kF)7t;0)lZT5dtotx_^=>9xh)l5chPmpiKk}pYu1=~f` z)7HJuef~+0m)m54Z;`(CY^Ge%=)Qd{{){3ZqeUa!pi&L2~ z$aVAnS!ntXx zv$vn6e*4JhRXn*kG~Z^;rw3Bz)>$Ekzp+}^mK0RXxOxBJg>BQ8$Y@K6F;?oT%n#jM z`)niEj{Jl)W%fND%?a2h8#;5_9oMDSA9sH}mNixLbe8gwi#MNNoAGn+>Vuy= zl9orFN)|16?~s0Mb{2P8Wn^q<`NC(BtjS$#W1_MapNK3kUssa7=Rvjy4aUT{J5Lhd zZF6ub*&6=%{_Yx|4#g9}LH1`?Ju{qa(Y|Na!k;Cn=E=E_wYolq>G=iP~&5n=bZNZ^Z~eq@+^n&BzausHGTB0tNC%Xe8Ek2o#!?b!V( zx8AS(eP3?vl#V!4#xJMC7roQ(>`znd4?R%Zd`6kip)pqC)BLq7yY^gOztZTMiR_$@ z--BAu&A%DC*llj*&bKS1O6xsqQuf;HvPds6=(k|76g${pR+>6%``y!z_LiP^u$K+1 ze8s*!@&6~YkM-@2$FKfOw_QK``~Krg4JXX5+HF7f_WtgQFD&Vk*(J5_N*V7f7qr{3 z|L2BN&kj$VE3p6l;{~-m#>T5{q~hOv{d_smK2Ox@DTiNv{!;(CYvvJ?nk4pp@VI7c zsTMtFYx|!&n@^oRSS7c}`Wc6uxa7JHjpXFl!QVrL%v(|7Gc z?Rz{ab8XC6-$}oC@-TQHK#zeKS#zmdV4W4^*G@L&CWwd9vm0H`+JFQQ1+p&4j{d76XEgk;nZyMv z`fUw={JOUE(VS}s4{dfX-m&G%u^)P7aT3#<|4;BS;4c5|;Tm#!NnF{wH)(qwn1`*t z^KGy8s~i5Sjxhc>Zk8V)W2^M{?B(K$#0b9i^QUD?Wc=N5$UT%>PX82FWsoADK#tSP zn7e25UL^pmOOdn+&_%z`}Gq-n6 z+ksn3%O8CEv}@L}^#{MRN9QeRdim6Iss+P41O6!Yo!>qk-nKL7M$wEL#=9IYhqJKU zdVX!jt~;q2`#2svQ|Vw1czl_sap~VhPvT!sUoVko@O!cV@4U4$cCEIW`iP-~OZwvf zs`>LdW2biHT6Hz_ak?-bIdo)RHO=t^z6^vefIS21jAX4$0IKl zZS;AQ`P@8F@O*UN3c*J{o{KC5c36Jl@3i^xoKJqX)3MGwS~jB7jH?p3`$7y-&raqm zELrzD^KqkTqk&{USN*LA&pyiE$(U8h<0e=T+yABY!~F}l`+Pg+MZ}7$i+Zx_zs=$G zn{4sw@{Ynx-R0Z1UpmEgn(xQW*Q>0xmv7mALDT)3&9Z~b4m3AkQsz5wLP>ji>(jWf z=0{gzHH52gNybdLxBJces#`l3MK4iUDa4*oF>&fc#mO9dwQ4qAKVGj@!&Z3f221eo zWy@zv89bF*xondA`a-|V`S-d@isY@0Psxh7@HB9B&1qt1v;2`erQ1R_=JH*ObyqfT zRb85y$J!{Wd`u+z_1*;UV$pe0kCr4$WzW^DWj5V7)4;bdhwIM#Wy_*Wj)_HAe*O}3 zcw1g&({{h}XMdEu3n;o=Q1yoEPTac(KPML{IZgT(UT$4)Z+hI|-ekVEt(y&gS1e!2 zV&ocFQs{U3!cN>C9}l10 zVUs54K1p^?WJcmO2lhgio$7OYPAMOqc;s+oYgjPHl#R#s_%^b$Sz4N&oy)xP$m&Dt z`+r0Py-c6)eKb*U%2Vwgy=|9F`(E-)`Xw2c@pK;JhX+yRM{JgrOcbn~wb)`d-|90_ zZ6RQ zkZrl%*3;7#Ub~X;`qtEI$;T#`7o`OC7ne;G?QL+F8KGqKHMpO^YgHLK);M( z&i(&C9zU5^sW$h1jd1kybDq}sI+V2YMCD@V*EL?cH7%p>5rfUPgUJHRPiRWqJ$dTF zHZf=4&-eK93%=N0T_JU6_pzh)+k{Z!Lgu{Axrb>7;Zz>D5mfB$5sAKvViys+%1(YJH6Qg1xd&{u!| zW^>@DPffS?SeFG9KJMj|*Pp}PwbsXfvqR=YcmAE3d5;*{X1NF!WZSnpP7}TzwL>B0 z;_{52w zmA}ER6_+MtY(3StAtaRZY;cfBv&1`IX{EA{p&<|KOEiAmy0owM&++cY!lh<;uO{D` zcXrB&#{mx}9=xf`cR*17&fZg37dR~4*`?@|DP-ld6iv`ZTs^+No7s@o7X$t{JO31)7vgFmM@)7+P+@%;6D5Rf8~93|0+LheO44$ zc$jy=wYewm7@zlfQL(Wga{3jnDPIcZ+L`KQ-uRrBHMWaV!>#`>=(&s81`J%d<^q{*IeYfv#aA@^AXzV=qj*OUN zfm36vx&Qfxi_X2|eO3_l;G^)IIRb~@T-WM9wpKglkBsxFdj(oqp?Ps(r}ei=ea@@u zX%$|!Q1fE{%NMt&=XHxGzrVWrt7l+ z%30lud_U>U-ovv}ZKE^`^{39zIDV7WpQrFs?$Y_^zx`+`DmfdhQNr;o?=ze6Q<*O; zm!fP77fqHk^eegjn9E~%d3SbKE9+#rln1@n4IkLA58hpp8Jlza#>Oo>A91zl7JFO9 z-9Fsbc1$~3NM58(<;3GH2ju(9i;|25-QC4K805_Y6^s=df^SDJ;tTkGHoPLC*IHvj z9P?473;J87g2P#|WMo}g(iZf+G7)Gy@A>Syht&128y<%~JUd@lTw~$PUYq+;8ZA@R#c7)SDJS`^88Sau={cy`;B42 zPM_9TT(B{EvU=62Yipw;w`Pe>ojUdFJ8_W}JDzepS@&Fh-Fk2P*(*E?{*^g>I&=SJ z>f42HL|=S(c=%57dD|&drd(L;&d`QOHip9;QoKU*~E1ykkhg$@r* z*b8IoD$1*qZ1Xs4tJiaF*C{Uas^*R@68-e*WN}*ffk6LN!pm8m+8x=%BOb-=+MxO7 z&d$jf7rSrHyK8m0%=dD{t`g1ZaaEd=)%~B%OrPh-kzC1Qu=Wfilh_-RvgCGqq7o$g)_eN#ez_u` z-u!mu+k>Bf*2EN@R26*G^7&5j`HOq2%k%brz1H!a#b9lGf`Vzt0{PWv!@pknVOpf) zJDY1Ecgb_D$0l#Hci+CO$9Ld6`=39h#h)Hu7CKmRxaQ@K{QbXPt=5U(XY*s%o;`ES z?^QJG@BcID_xt_w%P&jTyx;fx-Qx!bn*;6L#Wn6OG~c*kW7N||)4XGKaffG|&$4)a zd9hF2vqy{X?we68Hs{j4Ll-uDm^XQ|O_1Hp8SlccUrIP1oxfM~&+a8lTGsFT)zy^z zIq;mtW1dr|PfOa@*$7nV?fP@``wQ!5+j;BKqT3%hOi6Q4E9yFX_t{hZ**0vRf27u| z{j_=8sq=^K+P#y1(vhk9dXdPN=*^%p<EGeV=UN)19+zrQ+mG zIe|=~tpX8i6~Bv`{(HXDYx}7)Q}qr<&0o3b+Iq<&fi4QG&&d9jjk$g}??p#s&`Wb2 z$;`4APVEC?n*Q_cYMbi!e?Dh@<;oR_d+|F86h%cv4_@E7wAP~~l>P6Sn3s#pj^^%A zomzKT zQsd>9DF>TaOY&6GKmGXlc<1+f)sL;(81i1GKc95&*zW(Un(NZ)-urn9>y;GVy}MOv z_Tfc~{z|p|;W-+4WpdiFNwfUsm3)2k?d|R9si&tI7Cv$*Dk|c6U;6S=t9V>Ra}Y1YE50;rF-_+D5(Q=t}RUw3k|}Vk^GpDxUuBqo2&O-BCu}Fa6w&%h^5FJ8WE()wql3-@m^%uUyk3e`{;R*i-9PukRC37pV^wwLaE+cyp?^)A3J1r{(IFbj4=4 z@Xx=<%2m(i#TM0dw6bt=JNvaA%10U<{~AQ zcdtBsylz+5I{A8^>EG`!|9WHN!MFcbX?;64OZ2+owhy}JjoP9!4(t3foP6%g0^#>Y z&5LC^Zp7EKNli~_+;{7__e_iV{~l$R+~iv?74gAhp6iw~9^HA{D$CzJd9hJ)DFf^E zc>j;w`YiF=<&4|jipL&#`29ZngAdj37w(MVNPp95EcTHnzgRmfB5wELH&2u0k}dO# zjpZ+N8Xf-4G~>?ozIbD{$!bnN{>&5R((%zR4tRWd#meXPNsh_^uV37la==JVxqHoy zzf$@6-&yxJySIjKtJqnd@X9(VsQ2X)PxW_SU-P~_vd#Q%${k0JTlXrG1LU?YV>>@h z*W%RaZ zdN6c9Yw+)zE5BvwSY1nr4tjZbwUw05%h|j$*8Rw=efCj0n>n$!NT2icy2U?}U;hpI zXxty&{D_0)@Xm>vH3wAwIfl2fd|#WQJ^w?>mGhoU*3MsPxLGi8+C0gt8}nwL_CK^T z?`*@*C!UWtzN!5!6&JquThtM|_PAQpAKMEoHhg~}csV`)X|&eL*9kjjwExgOe|i2z zo>V5|ACt~q(Ov#8{$57bM`@R<59W$|yl&bzV9jo0D(tn~ABo3w={%uxd z(cJl`S(D*SvT$6?4G$Z^g{ux8etmZhk9W_!eBm#dYh8SKCUNNPKlWMzm@T-0`|d{1VD{f4#cR)#sG%N&^}ttZ9XIl1TEi?$s*`!_N__-t$U zF7oZ8g`N7Z-%r zyEg~kcq`k~&Tf5q)4w1qgV@cw!LvcQX4sUTFa{>Ap=yYhmw z+KR4uYCLcC_X@vHI~&VSE>DhmYT9jKwR9&}Ie)=}%S_$>qg)m=FZihu z-2QV`?#yk=<&I5@*tvH8;SUR>y@lVI+nj!1(af}UdE)L1Iy{fU@0<+!RZtd_YBbwo zVFYVQ0ZY}@S&J=Wm85rC zGxVHna9F6lzfnYe@{D&=(kI(YkZdeDr?q8SDnp2n?B%)NawfAIDPM?e4NK!K5jdRn z;VhGJo$uw+(Ah`lJ!St>v*q@2|Mt)tt&%f>bM75H#Cmkw3Pp|NF6QN*Hg3p!lX*J3 zvdE)odXE2gi{E#oxXY@3{#$U0al2ci?S`a7>%DReSx=gU`>6Xb`@HSyFH^a==MTI0 z9&7(3Yr3Ii|NQ!#&z~MBsPBz-mkOEh5IlYNj5s;TP+9(;W)s5-|HVFhJX8M84(GIj z@GFOQIcw$Te{VZ0l^b~?Et+E$+xN9)?j6FX^tVcFUt8dMR)CqYF|Eb);kR8T&(?f) zxx0U5$;seLYUhscuKkm_H*ikC9xa>g7Y|oU&MKLnc}Crz?d{JW;`0CR#+xrcmf85( zDpE2$Yq3g-@9eDgo0i}H!oa{f7qk}OSg`#S{llz*EVt$_$vpltOC_}0bl%U4KV7_@*$M3pw_wK&){V}KPWUz$zx0qtbjZ;~z_vToXox2wHvvHbg|Ib;ul2&=W z{>E1XWEX!?Dm~?S@8zwCwby>%nZomL+s(t;(L&&By8f zK32Ua$-B~`mj$r!9b@T}zp+4k0zzAu(VR~{l7=yTV!o#yxd|HAA{venAi)6uH8OFpG+`m}%1?B4uuKQFF`_I>d5tXxzi>+S3i z=gsdP2}!5^^xd7X>zU@3at^tu*KYM~_n-UCbExkQdi*7C?S~(o=hXb`-(B>2csSOs zOlGyD{q4ueo=f}nc5+!~n;c#gEi2PhY(48;keB7M)!D|H=Nrt#*1b)XIkToD`%ldk z4Zry{t)6=yNq>=vOnJJFk`wK1HqQ}=A zSkuTiM|b@r!-Y1Ib?^2pYwvxT+PC8LI_?L5{KDo*J@R>xw9^N}f z!nSE?6ZaUzEwTA};gpue`pHv2TP=Mj(aAL>tFT0bQGMIif~4DLt{N0cmGNxZayDW{bgr6H~`b8Pex6!>Q$CQ1`MfgSE)MHzN zzV9&6?DI63Z!=TRfvr>R!odx5SgT`?&04XvBl%ce;R(cGLcH<8Gn&h_p-dm~bR za{2RQ{(I!`#PdbSd!}Bm%Oq2dkL&%< zpS-`GA)~9pvd`;cG|J-*41SNj`+_`qXbH;XtXQ#g^Ph29;d+^NB=i91`{`6J}*U$ZX z@}jrNmi-F@C*0cPsj}=T!>S!-dyZXPS?+b{`ST}d#l=zuoc7G!waHWEnahEg`D$#} z)X#0Km3scBzn|}_NS^y;Jti4X?S(E$dUp=&4{<&7vnb?V*Ris^pncbj@2%Ggkh#Xq za;qRgphM2V?m^G`HA0@p3K*|0$Q6`YZE_?j@pIjWpB+sz+Oz-J&k+y07Wes<4FdxM NgQu&X%Q~loCIAIg5cmK9 literal 0 HcmV?d00001 diff --git a/homeassistant/components/camera/demo_2.png b/homeassistant/components/camera/demo_2.png new file mode 100644 index 0000000000000000000000000000000000000000..255cd5c45d4510cdc5853f22080017af1fad0e68 GIT binary patch literal 9667 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 literal 0 HcmV?d00001 diff --git a/homeassistant/components/camera/demo_3.png b/homeassistant/components/camera/demo_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b54c1ffb57c97644426efae5950dcf47e8c70031 GIT binary patch literal 9595 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

bv~b* z3&mb5r&cP(wXrSp^Fp-4LB&e`;dMv-vSc zYCfg>-1&LcKeIg9XC1rV>|!{lzkO4}9^;kWs?!|o<6m~o`m$FyuH#aOx0}q|gR!FX zELE#aSRL*&wJukGVz??=-Gp7(?Dm-h-?i4x3C(&qS<3$Qp`_bFbIoMWO_{uMnbYio zuX4S!!*>4oTA^P1$VY9yUSY|v^1vTwkJwz3`?&d6$Na@|y-u?eayGVd-qqDSZ#T=^ zqcZ8jQK<;~=X*@jT7AP7lyom%+~JV5u4H}Bb*Un$GMSQX7n?GCEn*j3n^kb}h~yl$ zLY0jZKh0>+TpIQ+tKDJak;<5^$$@9o{nNLwTUfU_l&>k3{AT^+(h>``gEgO0b~8k( z%yMu)R3s)-CYinHoKm0U{<$xooDA8rF%q;QK;O;c(W|3UVJkj7`O&A(=W@^GOvB43 zoV_{k*35}cd-`sJlm;lc`}>M7EuE}l_+yV=X<_TiLnWVTqFz7$zI%_L<}@qm^yyJM zi(Q^1tW{7rx8B+@nD@bq@W`iA<%RV^xxUn=C;G-KVfi5^9)I2WKOp{-P5 z^{{!n)a6oTW>`b=P4Jo)6OD|Tsc(ZkRCcy+^A_Boc>CxCkD>{^U2LZ}#d3A3T)!Y7 zuOWB!zuBhC4oaE)aO2Zs4*uevT!f4(eJWzrnSj{W~$-#KK(>JWS+`KDgK%Oq`% zsmC8YQF!V8{7F6Eqw_a)C%GimvFQAJu%~INfKcLsm5ohe|M`>m*Y8j0$c-+G`xno0>+4MY=`KlCd9h`62k$$@ zcX06hO~|_L%JG)%K+VoNl}Tq7E6&)RlQliQeZQdb$Lo>rP2*NA+}q(+San)$;*4ok zA%&$Cy^Dp5y$-QI7u%z%b1I{y!nQVbvd5XuhNE`AJzc8jPS)Ofwx(QKJ%ele;!JVo zz9~}!lnll59;{!bB=`5loTjU}Z||(DS-brI-;9lqHq?bL@MUvre!(xobneJ0t%)hT x;ujch=`Gyo=d2@a_TJvkVz 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 literal 0 HcmV?d00001 From 685964785d6a2da7a9f47d69cd921034749dcb10 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 19 Nov 2015 19:35:51 +0100 Subject: [PATCH 2/2] Add camera to demos --- homeassistant/components/demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/demo.py b/homeassistant/components/demo.py index 7c873e834bd..c8888a71c1b 100644 --- a/homeassistant/components/demo.py +++ b/homeassistant/components/demo.py @@ -18,7 +18,7 @@ DEPENDENCIES = ['conversation', 'introduction', 'zone'] COMPONENTS_WITH_DEMO_PLATFORM = [ 'device_tracker', 'light', 'media_player', 'notify', 'switch', 'sensor', - 'thermostat'] + 'thermostat', 'camera'] def setup(hass, config):