#!/usr/bin/env nu

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;
    }
  }
}
