const wave_timeout = 15min; def main [ interface: string type: string ] { if not ('/var/lib/ccchh-winken/last' | path exists) { mkdir '/var/lib/ccchh-winken'; 0 | into datetime | save '/var/lib/ccchh-winken/last' -f; } let $last_waved = open '/var/lib/ccchh-winken/last' --raw | into datetime; if ((date now) - $last_waved) > $wave_timeout { if $type == "up" { mullvad disconnect; curl mqtt://mqtt.z9/winkekatze/katz9/eye/set -d (rand-color); curl mqtt://mqtt.z9/winkekatze/Viktoria/eye/set -d (rand-color); curl mqtt://mqtt.z9/winkekatze/allcats -d 'wink'; mullvad connect; date now | save '/var/lib/ccchh-winken/last' -f; } } } def rand-color [] { const colors = [ "blue" "cyan" "green" "pink" "red" "white" "yellow" ]; $colors | get (random integer 0..(($colors | length) - 1)) }