mirror of
https://forge.katzen.cafe/schrottkatze/nix-configs.git
synced 2024-12-24 10:05:51 +01:00
continue work on ICE tacho
This commit is contained in:
parent
f0b640eeed
commit
effe29cd74
2 changed files with 51 additions and 17 deletions
|
@ -47,8 +47,19 @@
|
|||
)
|
||||
)
|
||||
|
||||
(defpoll iceData
|
||||
:interval "2s"
|
||||
:initial ""
|
||||
`(iw dev wlp4s0 link | grep "WIFIonICE" > /dev/null) && curl https://iceportal.de/api1/rs/status`
|
||||
(defwidget iceTacho []
|
||||
(box
|
||||
:class "iceTacho"
|
||||
:tooltip "Tz${iceTachoData.tzn} (BR ${iceTachoData.br})"
|
||||
(circular-progress
|
||||
:value { iceTachoData.frac * 60 + 20 }
|
||||
:thickness 3
|
||||
)
|
||||
(label :text "${iceTachoData.speed} km/h")
|
||||
)
|
||||
)
|
||||
|
||||
(deflisten iceTachoData
|
||||
:initial "null"
|
||||
{ "~/.config/eww/scripts/iceTacho.nu" }
|
||||
)
|
||||
|
|
49
modules/desktop-environment/home/panels/eww/configDir/scripts/iceTacho.nu
Normal file → Executable file
49
modules/desktop-environment/home/panels/eww/configDir/scripts/iceTacho.nu
Normal file → Executable file
|
@ -1,15 +1,38 @@
|
|||
#!/usr/bin/env nu
|
||||
|
||||
const TABLE = [
|
||||
[ br vmax ];
|
||||
[ 401 280 ]
|
||||
[ 402 280 ]
|
||||
[ 403 330 ]
|
||||
[ 406 330 ]
|
||||
[ 407 320 ]
|
||||
[ 408 320 ]
|
||||
[ 411 230 ]
|
||||
[ 415 230 ]
|
||||
[ 412 265 ]
|
||||
[ 605 200 ]
|
||||
];
|
||||
const TABLE = {
|
||||
401: 280
|
||||
402: 280
|
||||
403: 330
|
||||
406: 330
|
||||
407: 320
|
||||
408: 320
|
||||
411: 230
|
||||
415: 230
|
||||
412: 265
|
||||
605: 200
|
||||
};
|
||||
|
||||
def main [ ] {
|
||||
loop {
|
||||
if ((iw dev wlp4s0 link | lines | filter {|it| $it =~ "WIFIonICE" } | length) == 1) {
|
||||
let iceData = http get https://iceportal.de/api1/rs/status;
|
||||
let tzn = $iceData.tzn;
|
||||
let br = $iceData.series;
|
||||
let speed = $iceData.speed;
|
||||
let speedfrac = $speed / ($TABLE | get $br);
|
||||
|
||||
print ({
|
||||
tzn: $tzn,
|
||||
br: $br,
|
||||
speed: $speed,
|
||||
frac: $speedfrac
|
||||
} | to json -r);
|
||||
|
||||
sleep 2sec;
|
||||
} else {
|
||||
print "null";
|
||||
sleep 5sec;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue