From 17b7696d621f40abd3c1fcf177aa5b381113a91a Mon Sep 17 00:00:00 2001 From: joBr99 <29555657+joBr99@users.noreply.github.com> Date: Tue, 27 Dec 2022 00:40:57 +0100 Subject: [PATCH] rework update logic with migration --- tasmota/autoexec.be | 62 +++++++++++++++++++++++-------- tasmota/nsp-lovelace-driver.tapp | Bin 15247 -> 16122 bytes 2 files changed, 46 insertions(+), 16 deletions(-) diff --git a/tasmota/autoexec.be b/tasmota/autoexec.be index 2dcda175..c25a6085 100644 --- a/tasmota/autoexec.be +++ b/tasmota/autoexec.be @@ -332,26 +332,36 @@ def update_berry_driver(cmd, idx, payload, payload_json) def task() import path import string - if path.exists("nsp-lovelace-driver.tapp") - var r = string.find(payload, ".tapp") + if string.find(payload, ".tapp") > 0 + print("tapp in URL; will do .tapp update and migration if necessary") + + if path.exists("autoexec.be") + print("autoexec.be found; will check for migration") + var autoexecfile = open('autoexec.be') + var line = autoexecfile.readline() + autoexecfile.close() + if string.find(line, "NSPanel Tasmota Lovelace UI Berry Driver") > 0 + print("found lovelace berry driver, going to delete autoexec.be and .bec") + path.remove("autoexec.be") + path.remove("autoexec.bec") + end + end + + var r = tasmota.urlfetch(payload, "nsp-lovelace-driver.tapp") if r < 0 - print("URL doesn't contain .tapp skipping update") + print("Update failed") else - r = tasmota.urlfetch(payload, "nsp-lovelace-driver.tapp") - if r < 0 - print("Update failed") - else - tasmota.cmd("Restart 1") - end + tasmota.cmd("Restart 1") end - else - var r = string.find(payload, ".be") - if r < 0 - print("URL doesn't contain .be skipping update") - else + + elif string.find(payload, ".be") > 0 + print("be in URL; will do .be update") + if path.exists("nsp-lovelace-driver.tapp") + print("Error: there is the tapp version of the berry driver installed; cannot do .be update.") + else var cl = webclient() cl.begin(payload) - r = cl.GET() + var r = cl.GET() if r == 200 print("Sucessfully downloaded nspanel-lovelace-ui berry driver") else @@ -363,7 +373,27 @@ def update_berry_driver(cmd, idx, payload, payload_json) else print("Sucessfully written nspanel-lovelace-ui berry driver") tasmota.cmd("Restart 1") - end + end + end + else + print("invalid url filetype") + end + + + + if path.exists("nsp-lovelace-driver.tapp") + var r = string.find(payload, ".tapp") + if r < 0 + print("URL doesn't contain .tapp skipping update") + else + + end + else + var r = string.find(payload, ".be") + if r < 0 + print("URL doesn't contain .be skipping update") + else + end end end diff --git a/tasmota/nsp-lovelace-driver.tapp b/tasmota/nsp-lovelace-driver.tapp index 1990df03879f9696aeab581773586f0e62816b8a..e8a5641c18f914f29e2e345bce552d8891bb9350 100644 GIT binary patch delta 935 zcmZ`&O=}ZD7>;eQ-C#rumMFEptVk0`Hn9aogY^^?R1~4t!esZ|WOO>a%udqeP;wHF zDs%Kdh^2p^CvP70^t%QFI&{s*laeM3OjmYp@Nia>;Q(k62JHtFCbX<*@VgVH@@-V-Q5( zS?eGUh(sVffIZq1MAC=@4S}PNNkYWft(jtu{b_qlWZ%OPO=MDa$v{RpLf`A64x5;` z9BR%BVKm@DitYE&f37WJj+lZtLn0tc3n@dm15u2;x{(<*(#G^aHkMItVy51E=$jl* zAPJ14ng(XM*6Fh-nR#?SiPRMJypZysYLe>UzS*o!<}})la$VU@fJH-O#7F3&5Mu}g z9ipg1FVe+8Mi3xFL+hL%OR+w_pY`fkDh2N8Qh!o;*HG#FH)2);d0;Olo9#xEsE)n+ z>P+*J`rcYn*PEBseH6MtVisVfrWs0%x}wn9^2}+VL=whOYs4pEhUR5(=P&3!YDGm`9Wx)j zYdu=%x2`RpJ^AX?jds0w>(ucJ6}GRQeyLw#q3|17oD&iN delta 177 zcmexW+g~mb;LXg!#Q*~5_s$A+_~L%#vlRowXRD18$8;yZ737}$$mGQ2|GYet3wT&2 zs~NaY4iICRoNFL8SwNU&vVaNu41EXU*tnk%46WN?-q|Y?D-i%{&o|!5KAFBP67uxBt Sta<*Vdh$g(Wi}aWkP876%Rd7E