#!/bin/bash # # monitor /var/log/syslog for the latest pygopherd item and do stuff if it is a request for /toggle # # Uses $ usbrelay # WHich came from here: https://github.com/darrylb123/usbrelay # # Started from Command Line Using $ sudo nohup /var/gopher/bin/.toggle.sh & # By Tim at TildeCow # "lamp" inits to "OFF" state position="OFF" while true # Remember kids, NEVER, NEVER, E-V-E-R use infinite loops! do # Scan syslog for new entry indicating call to toggle gophermap entry=$(zgrep pygopherd /var/log/syslog | tail -n 1) if [[ $entry == *"/toggle"* ]]; then # If lamp is OFF, turn lamp ON if [[ $position == "OFF" ]]; then position="ON" # Update wording sed -i 's/OFF]/ON]/g' /var/gopher/gophermap sed -i 's/ON]/OFF]/g' /var/gopher/toggle/gophermap # Actually energize relay! usbrelay BITFT_1=1 2>/dev/null # If lamp is ON, turn it OFF elif [[ $position == "ON" ]]; then position="OFF" # Update wording sed -i 's/ON]/OFF]/g' /var/gopher/gophermap sed -i 's/OFF]/ON]/g' /var/gopher/toggle/gophermap # Actually de-energize relay usbrelay BITFT_1=0 2>/dev/null fi # Note our action in syslog logger pygopherd toggled! fi done