Verbesserungen am Wecker-Script:

- Geänderte Mac-Adresse für Lisas iPhone in check_ip-Funktion.
- Verbesserte Ausgabe und Wartezeit in der check_notification-Funktion.
- Angepasste Schritte und Dauer für die Helligkeits- und Farbtemperaturanpassung.
- Start des Alarm-Scripts auf dem Handy ohne protokollierte Ausgabe.
This commit is contained in:
Ratatoskr 2023-12-19 17:16:47 +01:00
parent 728966a0d6
commit 43564c52ac
Signed by: Ratatoskr
GPG Key ID: 28B77439A6D78F4E

View File

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