diff --git a/days.csv b/days.csv new file mode 100644 index 0000000..e977545 --- /dev/null +++ b/days.csv @@ -0,0 +1,9 @@ + 2021/09/23,04.50 + 2021/09/24,05.71 + 2021/09/25,08.86 + 2021/09/26,07.53 + 2021/09/27,08.63 + 2021/09/28,08.31 + 2021/09/29,12.0 + 2021/09/30,11.65 + 2021/10/01,06.41 diff --git a/light_cuts.csv b/light_cuts.csv new file mode 100644 index 0000000..8df5c85 --- /dev/null +++ b/light_cuts.csv @@ -0,0 +1,63 @@ +status,date +ON,2021/09/23 00:00 +ON,2021/09/23 06:58 +OFF,2021/09/23 14:11 +ON,2021/09/23 14:34 +OFF,2021/09/23 18:04 +ON,2021/09/23 21:05 +OFF,2021/09/23 22:54 +OFF,2021/09/24 00:00 +ON,2021/09/24 00:22 +OFF,2021/09/24 04:13 +ON,2021/09/24 07:39 +OFF,2021/09/24 16:18 +ON,2021/09/24 17:07 +OFF,2021/09/24 18:02 +ON,2021/09/24 19:08 +ON,2021/09/25 00:00 +OFF,2021/09/25 03:36 +ON,2021/09/25 06:16 +OFF,2021/09/25 12:01 +ON,2021/09/25 14:05 +OFF,2021/09/25 17:26 +ON,2021/09/25 18:30 +OFF,2021/09/25 20:56 +OFF,2021/09/26 00:00 +ON,2021/09/26 00:02 +OFF,2021/09/26 03:32 +ON,2021/09/26 08:08 +OFF,2021/09/26 13:44 +ON,2021/09/26 15:04 +OFF,2021/09/26 17:21 +ON,2021/09/26 18:55 +ON,2021/09/27 00:00 +OFF,2021/09/27 00:02 +ON,2021/09/27 06:09 +OFF,2021/09/27 11:02 +ON,2021/09/27 12:02 +OFF,2021/09/27 19:33 +ON,2021/09/27 21:04 +ON,2021/09/28 00:00 +OFF,2021/09/28 05:59 +ON,2021/09/28 09:48 +OFF,2021/09/28 15:24 +ON,2021/09/28 16:21 +OFF,2021/09/28 16:23 +ON,2021/09/28 18:56 +OFF,2021/09/28 23:00 +OFF,2021/09/29 00:00 +ON,2021/09/29 06:30 +OFF,2021/09/29 12:05 +ON,2021/09/29 14:02 +OFF,2021/09/29 20:27 +OFF,2021/09/30 00:00 +ON,2021/09/30 00:05 +OFF,2021/09/30 03:44 +ON,2021/09/30 08:25 +OFF,2021/09/30 09:21 +ON,2021/09/30 11:59 +OFF,2021/09/30 14:05 +ON,2021/09/30 18:18 +OFF,2021/09/30 23:58 +OFF,2021/10/01 00:00 + diff --git a/make-new-file.cgi b/make-new-file.cgi index c55c9f7..8342070 100755 --- a/make-new-file.cgi +++ b/make-new-file.cgi @@ -10,12 +10,12 @@ then echo "OFF" > state.txt cat off.html | sed "s/date-n-time-placeholder/$date_now/" > /usr/local/apache2/htdocs/index.html ./telegram "✅ The generator is OFF!" - echo "OFF,$(date +'%Y/%m/%d %H:%M')" >> light_cuts.csv + echo "OFF,$(TZ='Asia/Beirut' date +'%Y/%m/%d %H:%M')" >> light_cuts.csv else echo "ON" > state.txt cat on.html | sed "s/date-n-time-placeholder/$date_now/" > /usr/local/apache2/htdocs/index.html ./telegram "❌ The generator is on. :(" - echo "ON,$(date +'%Y/%m/%d %H:%M')" >> light_cuts.csv + echo "ON,$(TZ='Asia/Beirut' date +'%Y/%m/%d %H:%M')" >> light_cuts.csv fi echo 'DONE' diff --git a/state.txt b/state.txt new file mode 100644 index 0000000..6506cb3 --- /dev/null +++ b/state.txt @@ -0,0 +1 @@ +OFF diff --git a/stats.csv b/stats.csv new file mode 100644 index 0000000..7ee01e1 --- /dev/null +++ b/stats.csv @@ -0,0 +1,62 @@ +ON, 2021/09/23, 06:58 +ON, 2021/09/23, 07:13 +OFF, 2021/09/23, 00:23 +ON, 2021/09/23, 03:30 +OFF, 2021/09/23, 03:01 +ON, 2021/09/23, 01:49 +OFF, 2021/09/23, 01:06 +OFF, 2021/09/24, 00:22 +ON, 2021/09/24, 03:51 +OFF, 2021/09/24, 03:26 +ON, 2021/09/24, 08:39 +OFF, 2021/09/24, 00:49 +ON, 2021/09/24, 00:55 +OFF, 2021/09/24, 01:06 +ON, 2021/09/24, 04:52 +ON, 2021/09/25, 03:36 +OFF, 2021/09/25, 02:40 +ON, 2021/09/25, 05:45 +OFF, 2021/09/25, 02:04 +ON, 2021/09/25, 03:21 +OFF, 2021/09/25, 01:04 +ON, 2021/09/25, 02:26 +OFF, 2021/09/25, 03:04 +OFF, 2021/09/26, 00:02 +ON, 2021/09/26, 03:30 +OFF, 2021/09/26, 04:36 +ON, 2021/09/26, 05:36 +OFF, 2021/09/26, 01:20 +ON, 2021/09/26, 02:17 +OFF, 2021/09/26, 01:34 +ON, 2021/09/26, 05:05 +ON, 2021/09/27, 00:02 +OFF, 2021/09/27, 06:07 +ON, 2021/09/27, 04:53 +OFF, 2021/09/27, 01:00 +ON, 2021/09/27, 07:31 +OFF, 2021/09/27, 01:31 +ON, 2021/09/27, 02:56 +ON, 2021/09/28, 05:59 +OFF, 2021/09/28, 03:49 +ON, 2021/09/28, 05:36 +OFF, 2021/09/28, 00:57 +ON, 2021/09/28, 00:02 +OFF, 2021/09/28, 02:33 +ON, 2021/09/28, 04:04 +OFF, 2021/09/28, 01:00 +OFF, 2021/09/29, 06:30 +ON, 2021/09/29, 05:35 +OFF, 2021/09/29, 01:57 +ON, 2021/09/29, 06:25 +OFF, 2021/09/29, 03:33 +OFF, 2021/09/30, 00:05 +ON, 2021/09/30, 03:39 +OFF, 2021/09/30, 04:41 +ON, 2021/09/30, 00:56 +OFF, 2021/09/30, 02:38 +ON, 2021/09/30, 02:06 +OFF, 2021/09/30, 04:13 +ON, 2021/09/30, 05:40 +OFF, 2021/09/30, 00:02 +OFF, 2021/10/01, 06:25 +OFF, 2021/10/01, 00:00 diff --git a/stats.html b/stats.html new file mode 100644 index 0000000..bb1121f --- /dev/null +++ b/stats.html @@ -0,0 +1,119 @@ + + + + Generator Status... + + + + +
+
+

Generator Stats

+
+
+

last updated at: date-n-time-placeholder

+
+
+
+ +
+
+

Made with ❤️ | Source Code: Gitea +
+ Thanks to Junyong Chung for the hardware and MEU for providing the domain.

+
+ + + + diff --git a/stats.sh b/stats.sh new file mode 100755 index 0000000..eab55ce --- /dev/null +++ b/stats.sh @@ -0,0 +1,99 @@ +#!/bin/bash + +rm stats.csv days.csv &> /dev/null +first_line=true + +lines=$(cat light_cuts.csv | grep -c ,) +line=0 +while read in +do + line=$(( $line + 1 )) + if [[ $in != 'status,date' ]] + then + state=$(echo $in | cut -d, -f1) + date_var=$(echo $in | cut -d, -f2) + + if [[ $first_line = true ]] + then + prev_state=$state + prev_date_var=$date_var + first_line=false + else + D1=$(date -d "$prev_date_var" '+%s'); D2=$(date -d "$date_var" '+%s') + stats_hours=$(echo "$(date -u -d@$((D2-D1)) +%H:%M)") + echo "the generator was $prev_state for $stats_hours" + day_date=$(echo $prev_date_var | cut --delimiter=' ' -f1 | cut -d, -f2) + echo "$prev_state, $day_date, $stats_hours" >> stats.csv + prev_state=$state + prev_date_var=$date_var + fi + fi + if [[ $line = $lines ]] + then + D1=$(date -d "$prev_date_var" '+%s'); D2=$(date '+%s') + stats_hours=$(echo "$(date -u -d@$((D2-D1)) +%H:%M)") + day_date=$(echo $prev_date_var | cut --delimiter=' ' -f1 | cut -d, -f2) + echo "$prev_state, $day_date, $stats_hours" >> stats.csv + fi +done < light_cuts.csv + +first_line=true + +lines=$(cat stats.csv | grep -c OFF) +line=0 +while read in +do + state=$(echo $in | cut -d, -f1) + if [[ $state = 'OFF' ]] + then + line=$(( $line + 1 )) + date_var=$(echo $in | cut -d, -f2) + time=$(echo $in | cut -d, -f3) + + if [[ $first_line = true ]] + then + current_date=$date_var + total_time=$time + first_line=false + else + if [[ $current_date = $date_var ]] + then + total_time=$(date -d "$total_time $(date -d "$time" +'%H hours %M minutes')" +'%H:%M') + else + time_decimal=$(echo $(date -d "$total_time" +'%H').$(($(date -d "$total_time" +'%M') * 100 / 60))) + echo "$current_date,$time_decimal" >> days.csv + current_date=$date_var + total_time=$time + fi + fi + if [[ $line = $lines ]] + then + time_decimal=$(echo $(date -d "$total_time" +'%H').$(($(date -d "$total_time" +'%M') * 100 / 60))) + echo "$current_date,$time_decimal" >> days.csv + fi + fi +done < stats.csv + +lines=$(cat days.csv | grep -c ,) +line=0 +line_start=$(( $lines - 7 )) +day_num=0 + +while read in +do + hours=$(echo $in | cut -d, -f2) + line=$(( $line + 1 )) + if [[ $line > $line_start ]] + then + day_num=$(( $day_num + 1 )) + if [[ $day_num = 1 ]]; then day_1=$(echo $hours | sed "s/0//"); fi + if [[ $day_num = 2 ]]; then day_2=$(echo $hours | sed "s/0//"); fi + if [[ $day_num = 3 ]]; then day_3=$(echo $hours | sed "s/0//"); fi + if [[ $day_num = 4 ]]; then day_4=$(echo $hours | sed "s/0//"); fi + if [[ $day_num = 5 ]]; then day_5=$(echo $hours | sed "s/0//"); fi + if [[ $day_num = 6 ]]; then day_6=$(echo $hours | sed "s/0//"); fi + if [[ $day_num = 7 ]]; then day_7=$(echo $hours | sed "s/0//"); fi + fi +done < days.csv + +cat stats.html | sed "s/offtime_1/$day_1/" | sed "s/offtime_2/$day_2/"| sed "s/offtime_3/$day_3/" | sed "s/offtime_4/$day_4/" | sed "s/offtime_5/$day_5/" | sed "s/offtime_6/$day_6/" | sed "s/offtime_7/$day_7/" > stats/index.html diff --git a/stats/index.html b/stats/index.html new file mode 100644 index 0000000..c361677 --- /dev/null +++ b/stats/index.html @@ -0,0 +1,119 @@ + + + + Generator Status... + + + + +
+
+

Generator Stats

+
+
+

last updated at: date-n-time-placeholder

+
+
+
+ +
+
+

Made with ❤️ | Source Code: Gitea +
+ Thanks to Junyong Chung for the hardware and MEU for providing the domain.

+
+ + + +