Funktion zum licht ausschalten, wenn wecker am handy beendet
This commit is contained in:
parent
5d21fb28c1
commit
8a9dea2d71
46
wecker.sh
46
wecker.sh
@ -41,21 +41,29 @@ set_color() {
|
||||
|
||||
# Die IP-Adresse von Lisas-IPhone holen.
|
||||
check_ip() {
|
||||
mac_address="1e:46:8c:e4:cd:d1" # Ersetze dies # Die IP-Adresse von Lisas-IPhone holen.
|
||||
mac_address="e4:cd:d1" # 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"
|
||||
}
|
||||
|
||||
# check_ip -Funktion ausführen.
|
||||
check_ip
|
||||
|
||||
#iobroker state set zigbee.0.04cd15fffee03198.state true
|
||||
|
||||
# Überprüfung, ob es die erste Änderung der Helligkeit ist
|
||||
first_brightness_change=true
|
||||
|
||||
# Überprüfung, ob das Licht extern ausgeschaltet wurde
|
||||
check_external_light_status() {
|
||||
local light_status=$(iobroker state getValue zigbee.0.04cd15fffee03198.state)
|
||||
if [ "$light_status" == "false" ]; then
|
||||
echo "Licht ist aus. Das Skript wird beendet."
|
||||
check_notification() {
|
||||
local output
|
||||
output=$(ssh a72 'dumpsys notification | grep "Beenden"')
|
||||
|
||||
if [[ $output == *"Beenden"* && $output == *"com.urbandroid.sleep"* ]]; then
|
||||
echo "Wecker noch nicht beendet."
|
||||
else
|
||||
echo "Wecker beendet."
|
||||
iobroker state set zigbee.0.04cd15fffee03198.state false
|
||||
exit
|
||||
fi
|
||||
}
|
||||
@ -75,18 +83,11 @@ duration_seconds=900
|
||||
# Alle 30 Sekinden Änderung
|
||||
steps=30 # Alle 30 Sekunden einen Schritt
|
||||
|
||||
# Berechne die Schritte für Helligkeit und Farbtemperatur pro Schritt
|
||||
brightness_step=$(bc <<< "($end_brightness - $start_brightness) / $steps")
|
||||
colortemp_step=$(bc <<< "$start_colortemp / $steps")
|
||||
|
||||
# Überprüfe, ob A72 in Schlafzimmer.
|
||||
ip_adresse=$(check_ip)
|
||||
if [ "$ip_adresse" = "192.168.178.60" ]; then
|
||||
echo "A72 im Schlafzimmer. IP: $ip_adresse"
|
||||
# Schrittweise Anpassung von Helligkeit und Farbtemperatur
|
||||
for ((i = 0; i < $steps; i++)); do
|
||||
for ((i = 0; i < $steps; i++)); do
|
||||
current_brightness=$(bc <<< "$start_brightness + ($brightness_step * $i)")
|
||||
current_colortemp=$(bc <<< "$start_colortemp - ($colortemp_step * $i)")
|
||||
check_notification
|
||||
|
||||
if [ "$first_brightness_change" = false ]; then
|
||||
check_external_light_status
|
||||
@ -100,16 +101,11 @@ if [ "$ip_adresse" = "192.168.178.60" ]; then
|
||||
set_colortemp "$current_colortemp"
|
||||
|
||||
sleep 30 # Änderungen alle 30 Sekunden
|
||||
done
|
||||
elif [ "$ip_adresse" = "192.168.178.99" ]; then
|
||||
# A72 in Wohnzimmer.
|
||||
echo "A72 im Wohnzimmer. IP: $ip_adresse"
|
||||
exit
|
||||
else
|
||||
# A72 weder Schlaf- noch Wohnzummer.
|
||||
echo "A72 nicht auffindbar. IP: $ip_adresse"
|
||||
exit
|
||||
fi
|
||||
done
|
||||
|
||||
# Berechne die Schritte für Helligkeit und Farbtemperatur pro Schritt
|
||||
brightness_step=$(bc <<< "($end_brightness - $start_brightness) / $steps")
|
||||
colortemp_step=$(bc <<< "$start_colortemp / $steps")
|
||||
|
||||
# Farben ändern für mehr konzentration
|
||||
while :; do
|
||||
@ -126,6 +122,8 @@ while :; do
|
||||
set_color "$blau"
|
||||
sleep 2
|
||||
set_color "$rot"
|
||||
|
||||
check_notification
|
||||
done
|
||||
|
||||
# Füge hier den Rest deines Skripts ein, das den Weckvorgang durchführt
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user