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"
|
||||
|
||||
# === KONFIGURATION ===
|
||||
PING_RETRIES=5 # Anzahl der PING-Versuche vor WOL
|
||||
WOL_RETRIES=5 # Max. Anzahl der WOL-Versuche
|
||||
PING_RETRIES_BEFORE_WOL=1 # Anzahl der PING-Versuche vor dem WOL-Signal
|
||||
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)
|
||||
|
||||
# === FUNKTIONEN ===
|
||||
|
||||
is_reachable() {
|
||||
local device_ip="$1"
|
||||
for ((i = 1; i<=PING_RETRIES; i++)); do
|
||||
log "Teste Erreichbarkeit von $device_ip - Versuch $i/$PING_RETRIES..."
|
||||
local max_retries="$2" # Zweiter Parameter gibt die Anzahl der Versuche an
|
||||
|
||||
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
|
||||
log "Gerät $device_ip ist erreichbar."
|
||||
return 0
|
||||
fi
|
||||
sleep "$PING_WAIT"
|
||||
done
|
||||
|
||||
log "Gerät $device_ip ist NICHT erreichbar."
|
||||
return 1
|
||||
}
|
||||
@ -51,7 +57,7 @@ wake_device() {
|
||||
|
||||
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."
|
||||
return 0
|
||||
fi
|
||||
@ -64,7 +70,7 @@ wake_device() {
|
||||
log "Warte $WOL_WAIT Sekunden..."
|
||||
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!"
|
||||
return 0
|
||||
fi
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user