-
Notifications
You must be signed in to change notification settings - Fork 0
Extensions
Richard Hajek edited this page Aug 14, 2019
·
5 revisions
Extensions in Overseer are just scripts that are located in /etc/overseer/scripts/extensions
which are ran each time Overseer ticks (Roughly once a minute)
You can upload Overseer data into InfluxDB with the following script:
#!/usr/bin/bash
# Config
ADDRESS='localhost:8086'
DB='overseer'
# Code
TIMESTAMP=$(date +%s)000000000
for activity in /etc/overseer/activities/*; do
ACT_NAME=`basename $activity`
ACT_NAME="${ACT_NAME%.*}"
ACTIVE=0
if [ -L "/etc/overseer/status/$ACT_NAME" ]
then
ACTIVE=1
fi
curl -i -XPOST "http://$ADDRESS/write?db=$DB" --data-binary "active,activity=$ACT_NAME value=$ACTIVE $TIMESTAMP"
done
for activity in /etc/overseer/trackers/*; do
TIMEUSED=$(cat $activity)
ACT_NAME=`basename $activity`
curl -i -XPOST "http://$ADDRESS/write?db=$DB" --data-binary "timeTracked,activity=$ACT_NAME value=$TIMEUSED $TIMESTAMP"
done
for activity in /etc/overseer/reverse-trackers/*; do
TIMELEFT=$(cat $activity)
ACT_NAME=`basename $activity`
curl -i -XPOST "http://$ADDRESS/write?db=$DB" --data-binary "timeLeft,activity=$ACT_NAME value=$TIMELEFT $TIMESTAMP"
done
Change ADDRESS
and DB
to make it work with your DB.
You might want to get notifications on your desktop about the progress of activity's time. You can achieve that with this script:
#!/usr/bin/bash
# CONFIG
ENABLED_PATH="/etc/overseer/enabled"
TRACKERS_PATH="/etc/overseer/trackers"
WARN_THRESHOLD=300 # 300 sec, 5 minutes
SSH_USER="ENTER USER HERE"
SSH_IP="ENTER IP HERE"
SSH_IDENTITY="ENTER PATH TO IDENTITY FILE HERE"
# CODE
set -euo pipefail
MESSAGES=`echo "You are running out of time on following activities:\n"`
SEND=0
for activity in $ENABLED_PATH/*
do
[ -e "$activity" ] || continue
activity=$(basename -- "$activity")
TIMELEFT=`cat $TRACKERS_PATH/$activity`
if [[ "$WARN_THRESHOLD" -gt "$TIMELEFT" ]]
then
SEND=1
MESSAGES+=`echo "$activity $TIMELEFT seconds left\n"`
fi
done
if [ "$SEND" -eq 1 ]
then
printf "$MESSAGES"
ssh $SSH_USER@$SSH_IP -i $SSH_IDENTITY "notify-send Overseer \"$MESSAGES\""
fi
Change your CONFIG
accordingly. Make sure you have notify-send
available on your target desktop