Feat: Unterschiedliche Anzahl der Ping-Versuche vor und nach WOL-Signal.
This commit is contained in:
parent
8cc72b10bc
commit
cc8b337987
@ -6,21 +6,27 @@ source "$SCRIPT_DIR/NetworkCheck.sh"
|
|||||||
source "$SCRIPT_DIR/Log.sh"
|
source "$SCRIPT_DIR/Log.sh"
|
||||||
|
|
||||||
# === KONFIGURATION ===
|
# === KONFIGURATION ===
|
||||||
PING_RETRIES=5 # Anzahl der PING-Versuche vor WOL
|
PING_RETRIES_BEFORE_WOL=1 # Anzahl der PING-Versuche vor dem WOL-Signal
|
||||||
WOL_RETRIES=5 # Max. Anzahl der WOL-Versuche
|
PING_RETRIES_AFTER_WOL=10 # Anzahl der PING-Versuche nach dem WOL-Signal
|
||||||
|
PING_WAIT=10 # Wartezeit nach jedem Ping (Sekunden)
|
||||||
|
WOL_RETRIES=2 # Max. Anzahl der WOL-Versuche
|
||||||
WOL_WAIT=60 # Wartezeit nach WOL (Sekunden)
|
WOL_WAIT=60 # Wartezeit nach WOL (Sekunden)
|
||||||
|
|
||||||
# === FUNKTIONEN ===
|
# === FUNKTIONEN ===
|
||||||
|
|
||||||
is_reachable() {
|
is_reachable() {
|
||||||
local device_ip="$1"
|
local device_ip="$1"
|
||||||
for ((i = 1; i<=PING_RETRIES; i++)); do
|
local max_retries="$2" # Zweiter Parameter gibt die Anzahl der Versuche an
|
||||||
log "Teste Erreichbarkeit von $device_ip - Versuch $i/$PING_RETRIES..."
|
|
||||||
|
for ((i = 1; i<=max_retries; i++)); do
|
||||||
|
log "Teste Erreichbarkeit von $device_ip - Versuch $i/$max_retries..."
|
||||||
if ping -c 1 -W 2 "$device_ip" &>/dev/null; then
|
if ping -c 1 -W 2 "$device_ip" &>/dev/null; then
|
||||||
log "Gerät $device_ip ist erreichbar."
|
log "Gerät $device_ip ist erreichbar."
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
sleep "$PING_WAIT"
|
||||||
done
|
done
|
||||||
|
|
||||||
log "Gerät $device_ip ist NICHT erreichbar."
|
log "Gerät $device_ip ist NICHT erreichbar."
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
@ -51,7 +57,7 @@ wake_device() {
|
|||||||
|
|
||||||
wait_for_internet_connection
|
wait_for_internet_connection
|
||||||
|
|
||||||
if is_reachable "$device_ip"; then
|
if is_reachable "$device_ip" "$PING_RETRIES_BEFORE_WOL"; then
|
||||||
log "Gerät ist bereits an, kein WOL nötig."
|
log "Gerät ist bereits an, kein WOL nötig."
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -64,7 +70,7 @@ wake_device() {
|
|||||||
log "Warte $WOL_WAIT Sekunden..."
|
log "Warte $WOL_WAIT Sekunden..."
|
||||||
sleep "$WOL_WAIT"
|
sleep "$WOL_WAIT"
|
||||||
|
|
||||||
if is_reachable "$device_ip"; then
|
if is_reachable "$device_ip" "$PING_RETRIES_AFTER_WOL"; then
|
||||||
log "Gerät ist jetzt erreichbar!"
|
log "Gerät ist jetzt erreichbar!"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user