From 7bc5cde78dcd709eb0690221b3f67d31b29da7b9 Mon Sep 17 00:00:00 2001 From: Attila Gombos Date: Thu, 12 Sep 2024 09:09:03 +0200 Subject: [PATCH] Fix configuration file handling and service unit file creation, remove unnecessary files --- .fpm | 3 + .github/workflows/python_release.yml | 31 --------- .github/workflows/test_and_release.yml | 60 ++++++++++++++++++ {sentinel_mrhat_cam => config}/config.json | 0 .../log_config.yaml | 0 scripts/daemon.sh | 33 ---------- scripts/sentinel_mrhat_cam.sh | 8 +-- .../sentinel_mrhat_cam_main.py | 46 +++++++++++++- sentinel_mrhat_cam/__init__.py | 1 - .../__pycache__/__init__.cpython-311.pyc | Bin 14907 -> 0 bytes .../__pycache__/app.cpython-311.pyc | Bin 10065 -> 0 bytes .../__pycache__/app_config.cpython-311.pyc | Bin 9522 -> 0 bytes .../__pycache__/camera.cpython-311.pyc | Bin 4772 -> 0 bytes .../__pycache__/logger.cpython-311.pyc | Bin 9524 -> 0 bytes .../__pycache__/main.cpython-311.pyc | Bin 3159 -> 0 bytes .../__pycache__/mqtt.cpython-311.pyc | Bin 13611 -> 0 bytes .../__pycache__/schedule.cpython-311.pyc | Bin 6832 -> 0 bytes .../__pycache__/static_config.cpython-311.pyc | Bin 1392 -> 0 bytes .../__pycache__/system.cpython-311.pyc | Bin 24266 -> 0 bytes .../__pycache__/transmit.cpython-311.pyc | Bin 13198 -> 0 bytes .../__pycache__/utils.cpython-311.pyc | Bin 1377 -> 0 bytes .../sentinel_mrhat_cam.egg-info/PKG-INFO | 14 ---- .../sentinel_mrhat_cam.egg-info/SOURCES.txt | 9 --- .../dependency_links.txt | 1 - .../sentinel_mrhat_cam.egg-info/requires.txt | 8 --- .../sentinel_mrhat_cam.egg-info/top_level.txt | 1 - sentinel_mrhat_cam/static_config.py | 10 +-- service/sentinel_mrhat_cam.service | 12 ++++ setup.py | 10 +-- 29 files changed, 127 insertions(+), 120 deletions(-) delete mode 100644 .github/workflows/python_release.yml create mode 100644 .github/workflows/test_and_release.yml rename {sentinel_mrhat_cam => config}/config.json (100%) rename {sentinel_mrhat_cam => config}/log_config.yaml (100%) delete mode 100644 scripts/daemon.sh rename sentinel_mrhat_cam/main.py => scripts/sentinel_mrhat_cam_main.py (54%) delete mode 100644 sentinel_mrhat_cam/__pycache__/__init__.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/app.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/app_config.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/camera.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/logger.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/main.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/mqtt.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/schedule.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/static_config.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/system.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/transmit.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/__pycache__/utils.cpython-311.pyc delete mode 100644 sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/PKG-INFO delete mode 100644 sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/SOURCES.txt delete mode 100644 sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/dependency_links.txt delete mode 100644 sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/requires.txt delete mode 100644 sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/top_level.txt create mode 100644 service/sentinel_mrhat_cam.service diff --git a/.fpm b/.fpm index b96e532..f51ab9b 100644 --- a/.fpm +++ b/.fpm @@ -11,3 +11,6 @@ --depends python3-tz --python-disable-dependency pybase64 --depends python3-unpaddedbase64 +--deb-systemd service/sentinel_mrhat_cam.service +--deb-systemd-enable +--deb-systemd-auto-start diff --git a/.github/workflows/python_release.yml b/.github/workflows/python_release.yml deleted file mode 100644 index ef0be11..0000000 --- a/.github/workflows/python_release.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Python release - -on: - push: - tags: - - "v*.*.*" - -jobs: - publish-and-release: - name: Publish and release distributions - - runs-on: ubuntu-latest - - permissions: - contents: write - discussions: write - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Package and publish - uses: EffectiveRange/python-package-github-action@v2 - with: - use-devcontainer: 'true' - container-config: 'amd64-container' - debian-dist-type: 'fpm-deb' - install-packaging-tools: 'false' - - name: Release - uses: EffectiveRange/version-release-github-action@v1 - - diff --git a/.github/workflows/test_and_release.yml b/.github/workflows/test_and_release.yml new file mode 100644 index 0000000..2c22f49 --- /dev/null +++ b/.github/workflows/test_and_release.yml @@ -0,0 +1,60 @@ +name: Test and Release + +on: + push: + branches: main + tags: v*.*.* + + pull_request: + branches: [ "main" ] + types: + - synchronize + - opened + - reopened + +concurrency: + group: ${{ github.workflow }}-${{ github.sha }} + cancel-in-progress: true + +jobs: + test: + name: Build and test + + runs-on: ubuntu-latest + + permissions: + # Gives the action the necessary permissions for publishing new + # comments in pull requests. + pull-requests: write + contents: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Verify changes + uses: EffectiveRange/python-verify-github-action@v1 + with: + coverage-threshold: '0' + + release: + if: startsWith(github.ref, 'refs/tags/') + needs: test + + name: Publish and release + + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: true + - name: Package and publish + uses: EffectiveRange/python-package-github-action@v2 + with: + use-devcontainer: 'true' + container-config: 'amd64-container' + debian-dist-type: 'fpm-deb' + install-packaging-tools: 'false' + - name: Release + uses: EffectiveRange/version-release-github-action@v1 diff --git a/sentinel_mrhat_cam/config.json b/config/config.json similarity index 100% rename from sentinel_mrhat_cam/config.json rename to config/config.json diff --git a/sentinel_mrhat_cam/log_config.yaml b/config/log_config.yaml similarity index 100% rename from sentinel_mrhat_cam/log_config.yaml rename to config/log_config.yaml diff --git a/scripts/daemon.sh b/scripts/daemon.sh deleted file mode 100644 index ba1f8b4..0000000 --- a/scripts/daemon.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -# Define the service file path -SERVICE_FILE="/etc/systemd/system/sentinel_mrhat_cam.service" - -# Create the service file with the necessary content -sudo bash -c "cat > $SERVICE_FILE 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 diff --git a/sentinel_mrhat_cam/__pycache__/app_config.cpython-311.pyc b/sentinel_mrhat_cam/__pycache__/app_config.cpython-311.pyc deleted file mode 100644 index ecdc721bb168649c3031c58f233bbc027ab29bf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9522 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 diff --git a/sentinel_mrhat_cam/__pycache__/main.cpython-311.pyc b/sentinel_mrhat_cam/__pycache__/main.cpython-311.pyc deleted file mode 100644 index 8cbaf7ea5e306565b8b442accbef3ee1e283750b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3159 zcmcIm&1)M+6ra_uq_sY5Cw78A5_jUb1sBK0E=h|CZ5=yKO%l7U-H#{-vDqD2Yww4; zyNY9D7o`M}29@^El0Yc9moz2)3wkR_?~)K$ECd3jhujPyU~=l4S*^6T+mcI1v%7C* z-u&h_@BK!*KPQth1m*oVe#`tMBJ?M1_$5>~o@c?hgA}B28q&EG$5A_^g>*i}Gn>~0 zJ)8>bkyHfQf)duEsVIAjDN%{sK&ciIQ=-cZ(Mp66X}J%W5B-%8%nHx5YfyZ~LH8i% z@)NlnJR%p&#YJKbhTOIbbLY~NbF5ghmJy?#n`9v!Fo z|DW*v9Sn-nX#t@ahH_C-4NMHjTE#h2H5{BVE$n0omU1~wl_f_tjo}z`UC637&g2c5 z_F>gf9aYlQHDWV=jUCY;EL%i!piiPMwj&ub!DfcJz+uL+CfW87!;=gJTY1Bq9#{@v zk!+%1ScCGAO(UZ&<}K*aO@%bL>|%&zSPrmYNtk32!hG#-~}j zSpUY`ma|03YrvgG{4Id9Rbx>jC+w{00OA7UU>d~dF;wTEIzx;R!~v3YO?A9j*|MeP zoIoTRNy!3#4QSE8H4?;fNOM3_1PeEFMBQjo{6sN+E2@)a06ELNswxn7KLrfPW28$4 z+doCnnS`zpInRWlnP$!l1%s=n(Iy&^okkLAAZ83mo6XcA;rUhDA^KU^BWzSAISMs| zp#`M9{m}hm5SL8{6x9Y+20+?um5gQT_~J(k3m&~@tb)4QzcYp@H)Zv)q}s$oJi!VB zZ*pTz#@$nN5Zxez%En}g!b+Y{8)Qi=3yu_2+0=6yVKIVauw+X1ay^Z+CL9_D-&}Xk zfvblha8~Q*D#&7mN`;;T3B-(jr7+44s0tL6&tXt2hS(9?mf+k|ULZaL#;E-NBefaL zT=7Kg3iL3pwKUF^EBZ%aEgn$!S_exh4KY2NR4U_m?RX5+ZqOnVT9E%0B1?IjjN{qC zP7D5|kVRjcZW8`UEGJ!8uti_#R)h|O*?=4IH0lb9sD5B(z2wF(C`fBR$)OfEc(u(Z+CkY zzDx?}#c9;q`NLc}IZ#aw6sBuJY)j~>2wi2Nrz-T6gq{}>6mR`z`R=K5tiKxTFHF{i z=*^k0X0D&ValUYVTWAj-dm3*oju+p%d#W1m-(0T5M@#Y1TB7aS+1s<_#F1*^NQu>_ z$@XHZn7;cdtn?sONsg70W8k)xz?B3pC;F?2{t~OZ9Fvvg$x`wp#XEQV+}AV3nOieE zJAcIwZKF`QyLo#ewiOelL#YR&zn+2zt)G4F8D;TuRlHmhFFz6EMe(}>-ybfET~)EG zw6E?!*$x9PeTt|hQ53ht-ip{;7LQiNqb2cZO>Er~`zm5zS;SQlm;Ac3&A+lcfZL;x zg5NvNpvg}3sDnFu5IyRQO=12~-#b&i{Nux6=y}{5hMvcm2m6nMBhwu3is>{>Vmdt- zw~hdUC)r+VQB^ZRJF1-abjw7}1Z~kT1&e4aTL()k){R?^yoyh8g+e`5@96xxY zylcG7Qy1wHDZ~hGGTw+m4*%j%}mHEyp1t gacix@cbE9?njjXYu20{XF0da27KF%mTLZx5Z{|HP00000 diff --git a/sentinel_mrhat_cam/__pycache__/mqtt.cpython-311.pyc b/sentinel_mrhat_cam/__pycache__/mqtt.cpython-311.pyc deleted file mode 100644 index 053b370973abe40ade6f10f81405ca3e98c4e351..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13611 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 diff --git a/sentinel_mrhat_cam/__pycache__/static_config.cpython-311.pyc b/sentinel_mrhat_cam/__pycache__/static_config.cpython-311.pyc deleted file mode 100644 index 38fdf1f7c9c55a9145eae2a820fab1ff4089a35a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1392 zcma)5OK;mo5MEjmsfS5D?Z$5GJ`Qcux}sgcb{|dx+M;D5lBkMQ6>JX+*1MKzh>|O* z0V1FPuMGkO2m;t>3)JW#ZIM6HqXg(c@Y<7a0&>f#OUZOCqX#d++5Ntm`F1$F{DbGC zfR4X^at?k80q~Cp{6X<}y#Ad5-~?cRnFfH9nSl%eM>BrtS-@Xiou?v#S3UlkgkDnZ zSM;5XX$09R1%GQ&ptM+MlW^&jykPoFVQ8|vF{!;@lMz15_DiTNOnx{YhQepUEBCP zyP92FT{pj_jqeH8_ua18J~lDR*4cC0$0lNR$ox>{CtTw$Ul?L3&mT6KGZ17E9}8?I_{r6d()H(Zu9t)^CT zZc5v$>N&MmLi%1s*7npw&RxvOyHd5Fqit2y(SHF7&0Nr_MY=liNu}JS-%S>kl2WV| zQB6{Gx)}Em!=(O@{?Kku@`t#vnX=AvwG2l0c{H7gsQkfSYo~%4y zIqmg7*&3wo4pVpSxI@$G&l*n}r(d4^I1tu{!nz%E(sM61Pqv;bZ*s>uL>qQiUhM zk|(u_=aLYq{*nszM?A%#BI~LiA5n4dI~Pyu_+EB=;Kf08WK`8;J)@~H11kG6+xYrl z;^(`9D$uyDdeJjc^(o%Bg%6Scu~p-$AGu;#ZUDKyvfL`7tw- zy%Cp_QYbxKMx#G*|U$^g8K@0%H2N!?AhF>soCBbCzIq;%}2 zs$>%JOc?L(&Ts=m{RY>)KP+-mf}NFCMn-YsDv^(7E>8o)e)oJllSD2 z(S);Uv-KlKj+iJoEb$529%22WC$Z5?6jL@T9X1Me46Az7%r%yxqx>ikpl=`AbUdSJ z=&gh`D^Y!;WRLV`X5ES3K03aMH{@E%v|UB~e|;6nyMpeqR;_T$x>r0O;{Idnw@1+Z zj&f9=UBlSiAC#3<1T06fKf7um4h*NI8>*UQlP%F~M|?$JI-{hDL394I-u9bCF`2si zk*`>lNDU8Tl8Zi?++s~Sa{~*P&|MU@O!6b)YijuE-p-q;5w$a+-T@ZW&J*gL&fd5l z@9j+EcRZ;kq9Ym>eKaPIbn*q*F*>FZ5zB`8By^aqZ$M_c3(1?plVJFMD7UIDA8aoK z+jGJ8x!}tC%W|vt^G`l_pb$KeGe6o&RH}^I*YM=~;#To0;;>ioed2c$Ga{Y9Z=gTB znvVoaIgtR8CBB1HMXN^h#Q^^~_>rgR$CirS)NpoG`hf~@o& zBo;zC^1;qRurn9zWC(dLFcr+Ljy!6}1^4BH`wGE*xZxj;6KmZ7NEQCsdV330>0P0E z!4>CRVdH{({r$D@6R$f5E0Q1^*SMeu&3i#`<4bE^V2zhSRK#)Nufc?VB2IXc7fawX z2FTmc36aJ%G@LgQj3cng%S8y9aaGwW8W_m-e6n-Jd+?|Mw(Arh9K!=M-eCKh>#a~oBX zO)70L9SJNGd82A9J``6KiKGRC*i*d$S(Cx#RE={R%3>UcB^Gpo6{VU|k7SA*)E!|bxn^^M@<1h8j|A)2n{LlKQ)%oF>ESKSGHas8&##$5bG2hS&x+62+j}5LW-wx zqsz&dy4@N$__?k{vU`Z)ON=JBo6WU@&+4%*sa==0Y$xnUJGZ7K$FLbRT!i}a43KJrkY4- ztFgF>%VP2dl3EpM=-E7x~4dd^l1FN9Ki^y5~J}%U8b>%B?$^U*20--kV$A`$glG z&--$XSNP|F_&|KJqWQhPUx~kZacVrjVsBx^-g&`q*X+wLKU-LSHn;rj7mcU?efsf% zU%&C2H*$@q@nMx4rQF88eB;?dBbE6>KxmZSd2Qf44)}2&!!zq5bwNNn+1zi4eSiM=vhY*tB8hcy)f`f)Xpj%U&~fr@xFVs^z^ zhfoaNPJ~pPCSGPN+WHDoc6P0?a4S3;MAbAAgExggGzj5!`DN=1%hpedv*DHZf0zrd zFBb(ZvFH6o#U2RIo)0`aAe+}MnjCg1-cQ62F-;%SRI!UqhxKcUHe%VO_}oImgh%n? zFYvy1!aMGnvP1!AMfaqi5UxF%5S6NN@s6Oqs9Vfg5XQwRhtOq1fW8gneoP2vmr}jP zycMP#f|-?BqQO>%>h6_NW5aZ}Httnw4*@g@59sj=ItjMM^(X7GB@CG@(YI2kEOU#4 zWjzg3Pw)SF+{*+cM`c@}f`GJZ!l&EA6>eE`pe!HvRT6acbv7ua+TE&0xB`30gzpX5 z87>)j4uNPz#uso1M6|0NdNr&C;2CV6-;j04J7Y}8r#)wFSY`;|D!-H=y_u-O^~`AM zuBu%(rHXcF^rSqe62u5!&k!V(vw&1?GXX6PpgDW^)EZ<4SAR;|GH^!v zb)vK}X!NoZo7=nEcXf3|oM>EBKILTgRKFKF=x!VKs&%I z$PPuKvTI0??vxBO*W8h{cq)^Iek`XQ_NUSr8LY5sA=6696f}W5kl~p5hm2+@$VGIU z@o+2?2wP=vFIW@QP%4vD9LTawRtyFS^VT?=I}1HA%~kD28!>LIQWJ4(I-_Hw5Y$wN z;52Kpi7*Qw-#et+&>%)-*uYvlQ`&In5cnyKgSYk6Xy=Oqv~xRo*>tBdjOdNmcX#jG zeJ^VKZnX!Goj3x4JqZxBxqnCAN?h7Zn#vY<&u%nu&Hs6M7_QOt#|V8|WK2 z$@)?ZC~7RFKz&M&f~OEKN^26JLDQoQe1XJ_YGe#7R%t3$K}^-Q;1^fGwo<-N1wF-iVp;(rpe9}Ptg3E!vTDOS zujRI+_-Afs_a{I2bj!TxX*}ckN}%-jES)^{Mg5w04$suLPS>|StjgDS73#YtPs|4d zY0K>TP4j-SWf`=MmSvOY=4*sC>wX&kaX8-;DKtU3^3~n&@brOiwtnN(V6Hxb&)n|k z9{c{T=0DVYy611h|0(>rr?CI*%>IGt{R8>^7Yq9@&g_4AdjHG${Z|Y7ujXEPwXpwM ze)nsI-LE}3H?=O`&^cQ#O`XWqZ^vhD*WO2ie{=QUUHw%2b@VsUPhTi>pPuPHKiz#k z-+iIbePO2irRnaMaxcGesuc&=}Ffg)0q6IZD~v=f+uQ)&uYUbYsJsjZaWzee;4rMK8BgF zE}Cr-|6l)i2;GZWF%|EycL8x;{KWSi#Q74t;e^L!3$sOTj}mx>mc6jx(RkRkfFe=a zvZz}&Ke9!>EkK=sW1^3FreW}WDqC_Qdi?9%foo!d6ZSntE+kU4VbIP)^I>+rE z@kBr;v$}EFg1x)clw}b$OVYQy%y>X=wx5psrYvixor}4sQEC@cJC+0^v^WfgV49UL$uAd!G3qe}a=#&-jS5H)pSCy%Y*0})G#Z41IeWSf1Zds=S z%F6LzC3O)BVf{q#ji6Ewg^=Aj6vBqgf5alUB&g$1V^kai(-Enr-c(`hg(PlCa+UQq zQ#`hyI3-zrlADGV2ZzRF8LbS%V2f>r0;lm~Vq&VK)s>ulGIbCFJ`SCE+tLs~Gb?uL z2Axe?a)PZA+Qx8LpJjf^Z0WBRtU#t%6Q(+kh;Z(s7zOj5BcvC%QvSUW%eh2JL6MV8T+LCFB+{EULT2Wt8DNJVn3cXu7o`3Bx^|KA94Gm< zPC+%HwwlM;OH+|cW&=oF*i>jVU5R z6iaA>>quJkndic&$R>a=x8PiuEtsQN@@$(eR2qeAlNrQ-ZFaY#3a7M8Wv)c99R%f1 zXoWD16;_{}1ll&jw8IjCC!Neur;`~Eqv_1(Xkx6>uspOItFtr1+&)^_ft$Hv9X!Np zXbB(@GQ`0c7FRVgiYfAqICS7K$8uPj#lu`v zQNonNpiszqH-OUxc{r*b{EmqABI2P2iHVT4Hfpv%L_Rq>TplS7o5L`oqYGfXT4 zmLV9XkrH6WYKq$2pu|S95YWqmaInc??_ij+5?`Oo!n+=iaDOeiY<}c@>N(v1kw>FblaIVbZ%3Ebi`z6Ai45b))9ORRYEr#7 zsvXI8Tw?pEgVR0t3hX$PNX6tt`bdXW{(k}rI|KbE;h$h|$!)lX&!ZDlzF*dSQ1ful z&%!?s^E_wD&ibBuYW{Si)=r^c+8IjvkT?gcJ&%lM9p?WcNarXazpvt|feSC4ycoUo z;=sVUE79Y<1HH%l2Co!7UBxEXlgk&*4fdWs8STIDQvB$#u&}`6-pi*;o*aMi;>DBw zgH&;WC#VB|)oKy~ndn#yn!C8TvV02`>&-mJCMwT_cwlEbxNUhRD`~7@C+9ELo0*R4 zS!wb8*CX{uR@z2K?EoQqGbKHQZ66&FX@}`IEn z*Dw1@K=OM^Ci~}uLd%XqbJtAsbJNYwJ+8_(A1yQ=ojeCWjP={UU;P$|Z{Wx0W)AgF zAL`E^8YmnZm^pNL`q1UvORwY)y;?Z*DvIPcTq_`LzE)_yHhFHYdBb<9hW<9KpINOFb3V@n_1UAy{y&TqR?*mh;Eb;rX)GdmAX?>v}8M_+y=zw_0?&R6rT*9xuIa@U9R zt;7GH6`8NEX@VIV$>f>&CZVBa@`A&v+eB7fo)}i$qmN(6tv!m5;PyZJrZ(4uz-mpJ7 zFHo{c2&|m8-zhW4ab@`0DuRp_0S!_fI z5f47MQIkbS)G1yyFyw_9*{mNS}$$Nb zJ(i5!)KbZK))}zC53gC2h83W}*Ir2wMKWgk6*z&iD2D#Q0eBW_&;`=mMn+AUrJ1{- z8NuPG%FSJd9m_0is+z=@4Q+rt|Hwwv@0xTv-y;6?_2+ET7xL=n?oG^*3H-ng)mbQ> zKq+xvg0Fj^%<^e2IDuI{-H{2Fdz0d??9mL%XJA5jgTdu@4$Ehi97i`T_3V;0V{jvY z5sOd>J&JA(M8;_99cq))%4t~=uiw1O%2}>31cdxW36QCOAU=gwkpbSA2dgKJc{2>1 zuV>=m_^{={trn`%9T+=@xw+GF+O=x`k==#M$1_yoFie(5+p?HUCEK&AM()IMz1(|f zG0Q_c*((v6WVpq~fESpJGb{?IWIw@)SC=5oPymln9>QgsOfzhgaAUK>$kYzQBuukb zToSX>j*Z5lBP7PikBRv*z}yYjUu*hDU`ghYPKW^__XRw{Ua?S3h6(s0AaSe`w8G38 zfS4K@vQ3;3kw&Y z8t?b#nh)~Nr+aguGx^Y&Lg)-`h=aqww>ux&R|xIPnV)aw4DVM@b@#krCI-9T^T?B1 zy9b|qXm23|a1}m`=ZmOFJih^bd8@5Ucogp4DE{5*-WKuiTl~2FlIXyf*vmqU67wQg zL`Jn<#z5SDuch%9aDu#pXbDH{DaXADu=KnRaSe`AQ`A=3H7+8$3Z-mnIN=)yTf5C_ zY9eSJn2<9zFXnv74@b6IMXbjLy0Gw%dYdyO&=47N<;vjk@tNsKM_K7RFL+VC-qf z+1Du;gWx8IHKE-_xTj;97H623n2o8D|6*x_oG)@L(9*-imQ0v|NJra?v%^7x!h&nL zr!CB0ENqpg=!P7-4gSK6y99TPPnwJ6!FtVkBtlTMB=HTCNy7fXW{O4sIA+J1InIk= zl{P1zMz;vpCHa>)K6lQAa662MDSPRe?)HY@W1~)0dWzzhnjXw5tSD{hFK{R<$HR6vK1?>>w4z z>Y;d2i82>2qOZj&1A~am!S;s(SwdAuHDa>b50FIs#ahQkrXU>bAT&WUQ}iw~^Lq#Lt6B@ITIYpe^=g(( zo}6n~J=4%S-O!qEh!h$k$Y^T*Y2Akymr z;DsNZojf^tlA>zsa*b#6!RHIX=X1g5=YpZh7k*TAziN{G@!$!PNX(0H!T9uj#;2=c zL7p<7xxU@1BiWc0kF6S7JawHSPC4OQFi_s7c>dgL*D3Kka%&eBKOcu1eF+cuIwMeR zj$PSH30&M)T7TSI*;C3r#?rV-7Azn-xw0cpGq6B3B}K9rS7}Ts3l{KE%%tLjZwR|{ zXh=c%x|6pb=O<8-%%osu$|V;7rcS2H&-N`^;?$FLgpGk!ltZACVbhyBX7~p%K5U$O zf#cd9P|pG0;b0PBB^iKs##D>gP)J2?x5{VGO3bB1bq0d9*)WyD3=i^zf*Ps+fo+~cmIuEbA6>`Hl*!#F9*$D?(FL7`O`)ZU@F1qiU0C>EJe0s>`P|8 zn#z|BL2U&BTj5KuAp(@nVeOWTtpHJkd*wUaTfj{rj14DKq{UMWig-1a8$_(z?7JzLNB zY`v6S!}VX9T}E%rZPp_(aUc?6=PgCwtyDb8&RX!o30;F64QA~d9n-TKX|i+z0*yZo z14Wd6R-ZKA`C&VLbAIkC)>$iuwsO%=Q=ZmdL^ZBdgE9&Yg-7 zaOi&6o;z?M-!xEY8kp>R($w;PaHc6Tjr_=?!F*Fsp{WO)zP@Fqe%o~YwtW5e0(`VX z+o6~<(|fsV^?^r-Nj-p1KGahP_2fc5OLnb3=06q`ejBVgE{eZhx$W2y@wZ3(xQ}75 z)@3pKhsbg(<<1w9414fGjLH#_mddU8Zi@t0TkU*#1DOJE(cG}B+#T{Q51vym*j1Tf zmoniDZG_CTJM#I4P)D(bPbhyBf5M4wZt^d5=Xyt6j4DBO0nQT0*lRo zTHtJM(MU0CFIr=x?FEyd9U5jJj?u~rO_3!MaV{X(bvA%C3fhnJU|2Sghe#qDUF-pA(>Mlx(KtAQD&)BlvPeQfp+3 z%GMKIE76xGiK@MXr_f5egq1Dtte;vp75>!s`QF@$f&7Yr!is^(z-;Y`LT$^GXS#M{ zu6EQ*8Kx9N^U4h=mJ#l$t=u8&4Pp%kfmaAEIz!+gr7qp`j7xR$iTpo-loEP z(PQ-rRL*LJ2*bH&qCr%HE{+D`=!Bwj7iN;QjE7{1U>IgL7DGZ~y>g7@+bC#huL(ZG z7`A;WrXaRDCkgbN2Rs9p7Mo%5q@@V`77G@lJp1VFZWMj#LLq2tk`o&8E_ALNS4T+Z ze3m#?F0UGfD-1J3_EK6ZggjHV1I$g&t7AP9dx;5D5QHJ-C>B zZ5fm*xTgJ%$Y(q1ePj5htvQ=pb9QR)qw}8*=JxjC^WGNzZKUiuBZ^tCDFTZ{9~|R! z?s!BlNa*BS)Jb}cVX=nIAhT%k9$x2?tM+Gjnyn+6ZuRgN)SU~+{|4mzD2z;N(HraY zup77eHD?P*SDh`aIy+f28(uRL-Y^~BFy)()^Wp7<@b-r*3gMkI;a$_=UHR~yLU>Ou zxQA15z_l(*96ST8u}C}Xksws2%x>XqLU6|4Ri?|Z-;|!gxL(4sz{yR?2@1}KoPBfh zA}b#)mAoMgXGGRhjEL4o*)=Yf*r9OlGj0mEf9pD{u>{xglJ}WS_!lTwa>kBmHOG0; zcwpS0#mg<0Vv8#2BchZP@ir5*wPDv7t@9-3K;5&3Q!B^Ar9|14)cDh4AGR>O&#b}j zBJ6H2AnM9tNweQ@ruZsHUAgAN!nxjJL%n51b-8gn<#>~tUD}Pon3uig15sV4`4bhciy;10O z!>8>B;S54pvOSD~0}+w{we;EypVs#JdcZx4bt#9p0G>?|jm@zR=kA@YQ@{Poc5rfjC$4`$@}&srsq(&(_RH z2d1S1dFfz5I+$-cRA@Q$pc>Y%_g??2!w(L#Q?VV>4LkA;ZH0!mTti!V&XX;zzdZlJ z`A1uG2hQfVJYU%I{Dbpzo43tu-aoy0|KoM}&8G{SPd_+ky`z9x(e{xmD^CpHmV=Ms z+j0<}eCSXibSM`(G*{pJ&Y@rUejd!%M+)_knfg7`^?UO5-G%z@T&VQJ++O^ENp3In zmWsDdiYEiY?*cWaHj2Mn-Wxd8BK||82S5Iy#g7!`fD}s6dpFXwaEQA`mT5QXK2FIk zN^Vn0drCAbF&)FFUcyQi-eFZFQHw;o_ z$9scQo8P}OFW}Zrtg@85pS3Uf_deV+FW}2gtYVaVf`jb#?|TrN7w}~#RykKL6LJ}T zV3Z~f&rQoD`4t0rsUxU~#<0xx`2=MLhezWna+)( z`dV{kpKoTX;F#?3thJNbRcqetr$6e&S}flAU`F&{k5o>-V)?&!J{_$Z6FtCj<@76- a|N8}=rb8J2zYc5_eo@sa{u@uH_rlSGM6Ve)Tv2={x2ef!Pj(1@#kxQf#_PfS( zQjW+`ttr=>ZpOQa+@Pg$E$NnAYr2&^$F#Owd%8W>k?vs6acxg-Z+b7gPiURFu5=f> zZ`8VT`_lW^eNyYm^`?6RLQuFM$W8AEa`Q()LHHPdex&>4z%^kg^?Q1p8VXtAm({Fk zh0f)dtjKh!s3}7MD>9jr=IACSOQvF~Ipy~OWXFp(tuU8SZYtT5sTT4X`ZN@@5|dZX zT{u7e>ea~!tM$s{)Z~>nu4KM{ZgM&^J$dCkGDNQ}8K#o6La$FxpqA)_lv8vGci}6q zO;1xp*Ru19Tw<+9FBj(K6g|s3%u~iE+&&JXBkv1}KpX(|1L=?)RKjvdiO69kDo2zC zIVv~ICgj*V;dD%nD{&>EG|mRQ-P+jqu$;j6q}-@9Ei^lyGXUCS@%}Romh{~yV!XF{W$96tJNVm#+5?13zr9v$T9@)hPBo=LFgGFMI45Q`$uLA+F^Yw}q0VTEI9t%g ztW-2hx|*L8RpP5LEGqeIL8cexypkIhrMxVfc6BCRv)b^LQpUOsDITnB;f)K+0@mVDA3oC&Y zA>)2t3F66}9xEX{xj?fL#uJrf2Lqj;G~$RV(Q`7dnyRF!%ZkBR>n;t|*&=>Jfu)M3hQfLWBuL*w$zDo2 zkqkwwu%T$PJAE@qe5tJX^{FHCfUF~$azn|R%8{3q8%NGT=FS~4@T}$)EtAvdB{KuA zA93(+w76u&G8q-ZnaM1-Izl<>yc$I9#z7>vg-ucD>{|`L+gRJ%%Pw6aE={$LE?nZP z_&r8G!D^b9ba_$I71TOg$huPm-=g@l>Gkipft3+h!*%;12j9WeTXUzHH-}&Iye#;i z{o3YM(DY1hIV6Yu*1?!?E3^_?bEmDhot5BUz)JZb=&uo0N0fg4dg$#nVNf_G7~#d> z&Cm~o#Xvy#fe^rtz6>=;B@D)$c937Ky<@gXFaz#+iA@Z;tm zK~8T4ZUt8Y;JZNF{~+`|;r&2BcsIr2{OiCAQ@<5pLk35WT7fsMzzu^W2W{v*xPBdf zeoo0NH;ek&xt0R=P8m>JndpVtamNi)uly4fdC+Bk~j-|)LFl>08>{O$C;*X{?_ zTJJ2}Sy+3GQvTkX>U}7*+~U@c#zxJXrWKIB4kUmjR(PSH=BAO@#+HtAcacMRFsHwHwc5p3QX*yJGI2TJPicD?)RtFLzb#y%Kr7{O=3?sLzE zK6^HNZn)vIBLSpVBQq;AlCDcjK6E3JkwiTHZzNN9m?-37HUonsF<;6RmqbQ8816;b?o2n$kxk9$3SeNkHzOI!sgonjbO%7b za`pTL5l{mR@mM(w4uNL#1z7|zI+~U#H^Na-mlo}6;o3>VsG*>vHeijfD_(%L?Q4+= zP^Gh~ZkPmNGz65j`*(HnvdH{Ku`sg$C!h{ifTKKjIh@?A^BmW?(Kf5*B~4?%=&zNJ z+8(G&KNNKw7G|4xDDchfJdeZzwiypb^D^Ut+XzkeX}BJo3vBe;$>ipKof*&Dj7#@B zSmoY3HE&@l=Vo0BxPM?fK#XLpE2CWL@!Y;Tvyd5RK*n`7&otpH*Iu21dNT|-9mBTz z)0MYMDg+Ihr;iia($S{#b~B0;vz8`GD`#FzArwadla=0W$sJkjoSvVk^9+-h=#IRkbG3U zrjiTG%DSF0Suym68N@Ss;Z5jjn=A@^-Wg3b5DF2O6#opeIaK%MXG?izPjJJ>9-KWG zn$Oe*_vnbyrL8v8qO>F~(wOq(n6TV@xaPcGD9z3D{w)$sR5shmvA2CxBJ$MoDC4{1 zyfd1W^5{PXTzAc>7mPZiR+v~v(I3w8#Fn}zFt5p##>0B)L#w=$wc&@M>c%*7VE7FA~4{&f1ODL?t#_jg6LLqqW{=HhPb) z_a3eE9a3;))(%xtBh}Q%M(X5x>g4_JS5hxjQ!kWbFK{!bdxCmQHY5>w z!9Xm*p6FJb0&@_iTrunFO>{JlKRrLrL+iee$DK9t7F`(f<#N53ExE#`t0e_t!PUre z0D9OHeS<9t4?_;u<8kCwtb~z9KWOmlO=xQb7Mz$B049n=7tC5|9`b6S744k;ljNG@qV@F zf-Ip9Lw{RO&L{v91qzQx>#|yj9LF8>Ufq~+=?JC2lR~b4M>UhzUKO7^b@Z66qCC|4 z-{|_q`2vv9$82Uz@WFU1f1<)Ye>1BT$&K`p1sYDuFWLGE%BQ3o9yP@j67&%{#0aqN@m^I6kGv^i%)r#;a3sgC#m@Fgc1IJt2+1X~+wV@OdAT&_{ zd_5L5pDpRYRf=s(+LEDqRNn}f-@2Ji+J_3u+*Y{$5;=$dRT9`2Jodo4M1W1QCYsWl zWONij6IxT@wgRuXPPgUeagVEiMzk6|F@aJmkm%w4iDA#gMwUc-jOrTz*qG8fwRz!wZWLR-m+N}tai=l?Pf@ht#lD=kQ zP7_vxqY49xL5hiF4+q!v&9*kT^DK96RrB@-0|gCQae{_F+Zk_rbof~H@Ob6$%hkg# zuU`J5|6sNMxk~?;YX6zli(e$$-@UvU6k0C?*Lv^essqn&3iQC!&sWMnnyI32_0SUow+ktX@9!f{&YF{^jBY`x;BMiyse%*LbtD! z_nm!k3<=Ik^2KWM#d7k+TCx=Zfv+|r$d0Sg1zP-UJTcxRJZwsgpA0?h>>583dUzy) zdtW$-3&yLQpL-& z*R)7z97h6~iV5+icjFte?)6xACDv1o^^{{hwOEqg^{>bJD>1Pe6U)xY%swBj$;@K3 z{snHnJ*{sAyy4(oLo8&3QA^tntOf=BfnN$ABis>?eh#v@?C?b;5Q(27uyg~yp^ssN5}Y_GAk(c6`b~!k|z$1EJj9;IR|~S+sh6UajoW zHs4mwpX2J?Hcuc6p1ymc2v0QUc8uz}11AV00k%O;+-B18K#pTmP(}sT2SBYjcaab$(qF=B{WT<8VxNr!<_>mtxKi$U`!`gG^a_N$OBi_S z!^REq#JYH*B92wXF@!a{d++xCrvGmLYP{Cjv(b5Iz4Oq$)A!X%=S$VjmsT5UslBVs z+{@WNExpMYDi#qxM-ZG506{Xgeyy6m`9PsPHXn3|A2~RXT)f(T_%Y`eRyFH^$ORX3 z)~K#+hrg`RvD@tM=VQ3$h92v!-R?%)?)$aqw&w6+hnid@UGunI^|C7guM6X!qgaB$ z77#c&6wb8|=HvuTT4l43g+}L24zl3?PEHP%2i^{PoScw!96;fU>ostRPjg#Z_-+A; ze0Zjr7aa;Z7TF=bE`i2^qCy=h zw<81>-^`mJgBF2iie8x%bwr=*!71t?1Cn|am}+(z;TZuy-VNrOES!P*Zm3wfBQe?4 zVes{sZD2u@f1>kXvx-xh1eXOSoh=ob!)%*T5D?o1wRuZ0Wft6y6-z9Z=jB#ij965X z36X6CZ1fIin@wt2{C)~2y z7&VxYm2o_a2Ac_bg0fwqWRj98BrxyTk{@X}{dFY1)k~`dD8x2cxvH+)RdriG{XLcb zTO`nTCzJ8ETF?HCp2O=shbuiJ)t-^n3%_gceD8F%eQ=}w=z9CnO8fC@`*AYu57t^b zHd+SOTLvmEgVmP7a?4;X)&A~Js;T|u)HC?_UgJi~=z7a&rR8X~zA>DY@5wN7D=qWzEEKJ1cf z%TnVqq+{nWqrY#kZiR)Y)A0pY^R9%bhFjtM=(f<|0K$&#P6-4?Ne9V4nMOy&c3gx7mI@zH^Q3lmkfx<<-kyJ)($C08M&R zJE(Kv({ts07jRaR7puvOGMl%^Jk;&u=w2K?}$xP<0lBC&R8ZsHV zkj-Rt+H9>;$Wm{iBt=OtCFE*ZA(;L;fw_K!9)tO!)nG5n>l7Z;Y2}5vt6c9h6>cBv#a1DgvLF6mS7x3=LsZ30of4Pg7O~ClR(=L)WPo zmXKA=U{YZ<0UJy;OQzwhI>!w@!VW9SRSgSGbAVzyN|_{*O65Yx_Lef4WLr&{h%$Nc z%h1=c=edZV)qjGrWM~*KAjQV3K%gcx-)6s>(0H5uYC`-r`_+WO^6qC%*i-hOH6eAI z{c1vA*?-oAwz6~9gr~~>vnD)O-s!9f`^!6>HDO=bf7XP(W&c?d`pf=vd#TN6Art`f QcTT@#@BgsNS0)+%15_WzTL1t6 diff --git a/sentinel_mrhat_cam/__pycache__/utils.cpython-311.pyc b/sentinel_mrhat_cam/__pycache__/utils.cpython-311.pyc deleted file mode 100644 index a57f3e5bfe7e10a935e3976fd10bd9504f59ac81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1377 zcma)5L2DC16rS1LY?3C8+BU{Cq((5%gwlXYK~S+EDxx{4r(U*8c9N#u?3S5Lt093L z1UDeki&!Xv2T_X`5BeWGrjSEeC=|qlw`eb=C*SOv)>I3=o%!CpH#6UR^LFOl@bC}< zk$!$Iei0D*%8kB&?aFQz)Jvox4eMym(|8VpE$Bi;oD(t9Bu#vR=Ohh3KpEe6zAe9r z9p5TdmstV3G#+qL5&G^3z*C^LQ4wqSNuYu2e6x@rSk9M@^5xe7USPh#`h%{8-h%bv zz+)p@C<>hJEv)|l-IGJ|zK3fW`dR3^4!{dxkb3ce^azz8pq9Um%BYUt;ODp@{+ZCR zyQI2Q7iv)KhOZT%Bdx#&l(Xeu>=zk6v0JkYc1@8XBv~o;%}nB&%E@PI#HnqEaxc zhDE3oP!vP05JhqPx>+ifjgljkjiQ+eI+99D%#oK?T|LAsm0F5RAydMty5$6jp?RJN zc|;0Tt85yc9Rf0?LKss^#F2_squ@kL2&}qGctjS2W2HQ4Huo>)7R(CC>12gKUb!1& zB{y5P%Ck8JcG)1hQlSf~r4-ak4&vx+dik;A=NAxIYco9DU<%V$bhDu9?Ao*jg@C{& zJ#_uv7l0Jl2EbkueTyeM@$6Q7suQ2G?{uT_wTJ7M+R^Om831VZ&FxsC6Pw(MWjnE~ zeY=}XzaQF4Ua<2!Cz3rR4nM%%bGh~ef%fszr>oxR%Y>&rTnnv*cFv{WB-<1Bp?x$w z?crMJTX^)@-Sxy)INb@S+u?L~G;ZJ9<$s^@hmsNL7$3(tL;)E0&ZnC6G-xMyaL!u# zzskYy7`qIx2glzIMr^B^uMj?g=M+u^##dq)<58md4y58Jy4fDF0tH1mFbum4fT8Gs>Tb z%Sy-jh^OR6-w#}=m|9gQ*Ju)a{JpbV06h_7+(n_L`*l&I>3&_5Xb-lYd=6.0 -Requires-Dist: pillow -Requires-Dist: pytz -Requires-Dist: paho-mqtt -Requires-Dist: numpy -Requires-Dist: pybase64 -Requires-Dist: pdocs diff --git a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/SOURCES.txt b/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/SOURCES.txt deleted file mode 100644 index da319ea..0000000 --- a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/SOURCES.txt +++ /dev/null @@ -1,9 +0,0 @@ -README.md -setup.cfg -setup.py -scripts/sentinel_mrhat_cam.sh -sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/PKG-INFO -sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/SOURCES.txt -sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/dependency_links.txt -sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/requires.txt -sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/top_level.txt \ No newline at end of file diff --git a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/dependency_links.txt b/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/requires.txt b/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/requires.txt deleted file mode 100644 index da4e3a2..0000000 --- a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/requires.txt +++ /dev/null @@ -1,8 +0,0 @@ -pytest -PyYAML>=6.0 -pillow -pytz -paho-mqtt -numpy -pybase64 -pdocs diff --git a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/top_level.txt b/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/top_level.txt deleted file mode 100644 index 8b13789..0000000 --- a/sentinel_mrhat_cam/sentinel_mrhat_cam.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/sentinel_mrhat_cam/static_config.py b/sentinel_mrhat_cam/static_config.py index d445194..b5d1f5b 100644 --- a/sentinel_mrhat_cam/static_config.py +++ b/sentinel_mrhat_cam/static_config.py @@ -2,11 +2,11 @@ import logging # Configuration file paths -SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) -LOG_CONFIG_PATH = os.path.join(SCRIPT_DIR, 'log_config.yaml') -CONFIG_PATH = os.path.join(SCRIPT_DIR, 'config.json') -TEMP_CONFIG_PATH = os.path.join(SCRIPT_DIR, 'temp_config.json') -STATE_FILE_PATH = os.path.join(SCRIPT_DIR, 'state_file.json') +CONFIG_DIR = '/etc/sentinel_mrhat_cam' +LOG_CONFIG_PATH = os.path.join(CONFIG_DIR, 'log_config.yaml') +CONFIG_PATH = os.path.join(CONFIG_DIR, 'config.json') +TEMP_CONFIG_PATH = os.path.join(CONFIG_DIR, 'temp_config.json') +STATE_FILE_PATH = os.path.join(CONFIG_DIR, 'state_file.json') # MQTT Configuration """ BROKER = "192.168.0.105" diff --git a/service/sentinel_mrhat_cam.service b/service/sentinel_mrhat_cam.service new file mode 100644 index 0000000..c6befe2 --- /dev/null +++ b/service/sentinel_mrhat_cam.service @@ -0,0 +1,12 @@ +[Unit] +Description=Run Script Daemon + +[Service] +Type=simple +User=admin +ExecStart=/bin/bash /usr/local/bin/sentinel_mrhat_cam.sh +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/setup.py b/setup.py index b148db0..f5d638b 100644 --- a/setup.py +++ b/setup.py @@ -7,11 +7,7 @@ author='Ferenc Nandor Janky, Attila Gombos, Nyiri Levente, Nyitrai Bence', author_email='info@effective-range.com', packages=find_packages(), - scripts=['scripts/sentinel_mrhat_cam.sh', 'scripts/daemon.sh'], - install_requires=['PyYAML>=6.0', - 'pillow', - 'pytz', - 'paho-mqtt', - 'numpy', - 'pybase64'] + scripts=['scripts/sentinel_mrhat_cam.sh', 'scripts/sentinel_mrhat_cam_main.py'], + data_files=[('config', ['config/config.json', 'config/log_config.yaml'])], + install_requires=['PyYAML>=6.0', 'pillow', 'pytz', 'paho-mqtt', 'numpy', 'pybase64'], )