summaryrefslogtreecommitdiff
path: root/desktop/Local/share/barmodules/ice.sh
blob: ae04fcc7425cd34fd7350524d6a2ccef7157e6e0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/bash

iceStatus=$(curl https://iceportal.de/api1/rs/status 2>/dev/null)
iceTrip=$(curl https://iceportal.de/api1/rs/tripInfo/trip 2> /dev/null)

nextStopID=$(echo ${iceTrip} | jq -r .trip.stopInfo.actualNext)
nextStopObject=$(echo ${iceTrip} | jq -c ".trip.stops | map(select(.station.evaNr == \"${nextStopID}\"))")

scheduledArrival=$(echo ${nextStopObject} | jq -r ".[0].timetable.scheduledDepartureTime/1000")
actualArrival=$(echo ${nextStopObject} | jq -r ".[0].timetable.actualArrivalTime/1000")
arrivalDelay=$(echo ${nextStopObject} | jq -r ".[0].timetable.arrivalDelay")

trainDistanceSinceStop=$(echo ${iceTrip} | jq -r ".trip.distanceFromLastStop")
nextStopDistance=$(echo ${nextStopObject} | jq -r "(.[0].info.distance-${trainDistanceSinceStop})/1000")


echo -n "ICE $(echo ${iceTrip} | jq -r '.trip.vzn'): "
echo -n "Speed: $(echo ${iceStatus} | jq -r '.speed')km/h; "
echo -n "Next Stop: $(echo ${nextStopObject} | jq -r '.[0].station.name') "
echo -n $(date --date="@${actualArrival}" +"%H:%M")" (${arrivalDelay}) "
echo -n "${nextStopDistance}km"