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