mirror of
https://forge.katzen.cafe/schrottkatze/nix-configs.git
synced 2024-12-29 12:05:50 +01:00
40 lines
880 B
Text
40 lines
880 B
Text
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';
|
|
|
|
date now | save '/var/lib/ccchh-winken/last' -f;
|
|
}
|
|
}
|
|
}
|
|
|
|
def rand-color [] {
|
|
const colors = [
|
|
"blue"
|
|
"cyan"
|
|
"green"
|
|
"pink"
|
|
"red"
|
|
"white"
|
|
"yellow"
|
|
];
|
|
|
|
$colors | get (random int 0..(($colors | length) - 1))
|
|
}
|
|
|
|
|