ansible/roles/services/templates/flipdot-time.sh
2022-10-26 19:11:16 +02:00

25 lines
1.1 KiB
Bash

#!/bin/bash
# Managed by Ansible
set -eu
HOST={{ flipdot_host }}
while true; do
time=`date +%H:%M`
tmp=/tmp/flipdot.gray
convert -size 336x16 xc:black -density 800x240 -font Liberation-Mono -pointsize 6 -fill white -gravity Center -annotate +0+1 `date +%H:%M` -draw "line 0,15,$(((`date +1%S`-100)*56/10)),15" -depth 8 $tmp
(echo -ne "\x00\x00\x15\x00" ; dd if=$tmp bs=5376 count=1 2>/dev/null) | nc -q1 -w1 $HOST 7890
sleep 1
convert -size 336x16 xc:black -density 800x240 -font Liberation-Mono -pointsize 6 -fill white -gravity Center -annotate +0+1 "`date "+%H %M"`" -draw "line 0,15,$(((`date +1%S`-100)*56/10)),15" -depth 8 $tmp
(echo -ne "\x00\x00\x15\x00" ; dd if=$tmp bs=5376 count=1 2>/dev/null) | nc -q1 -w1 $HOST 7890
sleep 1
if [ $time != `date +%H:%M` ]
then
convert -size 336x16 xc:white -density 800x240 -font Liberation-Mono -pointsize 6 -fill black -gravity Center -annotate +0+1 `date +%H:%M` -depth 8 $tmp; (echo -ne "\x00\x00\x15\x00" ; dd if=$tmp bs=5376 count=1 2>/dev/null) | nc -q1 -w1 $HOST 7890
sleep 2
fi
done