diff --git a/wecker.sh b/wecker.sh index 5850a88..7d5e60b 100755 --- a/wecker.sh +++ b/wecker.sh @@ -43,9 +43,7 @@ set_color() { check_ip() { mac_address="18:ab:1d" # Ersetze dies # Die IP-Adresse von Lisas-IPhone holen. A72_ip=$(arp -a | grep "$mac_address" | awk '{print $2}' | sed 's/[()]//g') - echo "$A72_ip" - echo "$A72_ip" - echo "$A72_ip" + echo "IP von Handy: $A72_ip" } # check_ip -Funktion ausführen. @@ -67,19 +65,40 @@ check_external_light_status() { # Checkt, ob der Wecker am Handy ausgeschaltet wurde. check_notification() { - # Führe den SSH-Befehl innerhalb eines Timeout aus - output=$(ssh -i /root/.ssh/A72 root@$A72_ip 'dumpsys activity processes | grep com.urbandroid.sleep') - echo $output - # Überprüfe, ob das Ergebnis den Wecker enthält - if [[ $output == *"AlarmKlaxon"* ]]; then - date && echo "Wecker noch nicht beendet." + max_attempts=10 + wait_time=10 + + for ((i = 1; i <= $max_attempts; i++)); do + # Führe den SSH-Befehl innerhalb eines Timeout aus + output=$(ssh -i /root/.ssh/A72 root@$A72_ip 'dumpsys activity processes | grep com.urbandroid.sleep') echo $output - else + + # Überprüfen, ob das Ergebnis den Wecker enthält + if [[ $output == *"com.urbandroid.sleep"* && $output == *"AlarmKlaxon"* ]]; then + # Wecker noch nicht beendet. + date && echo "Wecker noch nicht beendet." + echo $output + sleep $wait_time # Wartezeit von 10 Sekunden + elif [[ $output == *"com.urbandroid.sleep"* && $output != *"AlarmKlaxon"* ]]; then + # Wecker beendet. + date && echo "Wecker beendet." + echo $output + iobroker state set zigbee.0.04cd15fffee03198.state false + return # Die Funktion verlassen, ohne das gesamte Skript zu beenden + else + # Handy nicht erreichbar + echo "Handy nicht erreichbar. Warte $wait_time Sekunden, bevor der nächste Versuch gestartet wird." + sleep $wait_time + fi + done + + # Handy konnte nicht erreicht werden. + echo "Handy konnte nach $max_attempts Versuchen nicht erreicht werden." date && echo "Wecker beendet." echo $output iobroker state set zigbee.0.04cd15fffee03198.state false exit - fi + } # Startwerte für Helligkeit und Farbtemperatur definieren @@ -102,11 +121,12 @@ brightness_step=$(bc <<< "($end_brightness - $start_brightness) / $steps") colortemp_step=$(bc <<< "$start_colortemp / $steps") # Schrittweise Anpassung von Helligkeit und Farbtemperatur - for ((i = -1; i < $steps; i++)); do + for ((i = 1; i < $steps; i++)); do current_brightness=$(bc <<< "$start_brightness + ($brightness_step * $i)") current_colortemp=$(bc <<< "$start_colortemp - ($colortemp_step * $i)") # Debugg + echo "Step: $i" echo "current brightness= $current_brightness" echo "current colortemp= $current_colortemp" @@ -116,16 +136,14 @@ colortemp_step=$(bc <<< "$start_colortemp / $steps") first_brightness_change=false fi - echo "Step $i - Brightness: $current_brightness, Colortemp: $current_colortemp" # Ausgabe der berechneten Werte - set_brightness "$current_brightness" set_colortemp "$current_colortemp" - sleep 28 # Änderungen alle 30 Sekunden + sleep 27 # Änderungen alle 30 (27) Sekunden done -# Starten des Alarm-Scripts aauf dem Handy. -ssh -i /root/.ssh/A72 root@$A72_ip '/data/scripts/morning-alarm.sh' > morning_alarm.log +# Starten des Alarm-Scripts auf dem Handy. +ssh -i /root/.ssh/A72 root@$A72_ip '/data/scripts/morning-alarm.sh' # Farben ändern für mehr konzentration while :; do