shelly_firmware: Initial version of role
This commit is contained in:
parent
31d00d0b9d
commit
bf10bc5c6c
3 changed files with 55 additions and 0 deletions
26
roles/shelly_firmware/files/download-shelly-firmware.sh
Normal file
26
roles/shelly_firmware/files/download-shelly-firmware.sh
Normal file
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
umask 022
|
||||
|
||||
cd /srv/web/iot.foo.sh/shelly
|
||||
|
||||
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
|
||||
|
||||
URL="http://archive.shelly-tools.de/"
|
||||
|
||||
for _prod in $(curl -sSf "${URL}/archive.php" | jq -r '.[].type') ; do
|
||||
_ver="$(curl -sSf "${URL}/archive.php?type=${_prod}" | jq -r \
|
||||
'max_by(.version[1:] | split(".") | map(try tonumber catch 0)) .version')"
|
||||
_name="$(curl -sSf "${URL}/archive.php?type=${_prod}" | jq -r \
|
||||
'limit(1; .[].file)')"
|
||||
if [ ! -f "${_prod}.${_ver}.zip" ]; then
|
||||
echo "New firmware for ${_prod} (version ${_ver})"
|
||||
curl -sSf -o "${_prod}.${_ver}.zip" "${URL}/version/${_ver}/${_name}"
|
||||
if [ -h "$_name" ]; then
|
||||
rm -f "$_name"
|
||||
fi
|
||||
ln -s "${_prod}.${_ver}.zip" "$_name"
|
||||
fi
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue