feat: Installations-Script fuer ebesch-docker

This commit is contained in:
2026-05-20 12:59:56 +02:00
parent bd62af9460
commit 7fb37fef0a
+59
View File
@@ -0,0 +1,59 @@
#!/bin/bash
# ============================================================
# Installation auf ebesch-docker (192.168.252.10)
# Ausführen als root: bash install.sh
# ============================================================
set -e
INSTALL_DIR="/opt/homematic-presence"
CRON_FILE="/etc/cron.d/homematic-presence"
VENV_DIR="$INSTALL_DIR/venv"
echo "=== HomeMatic Anwesenheitserkennung Installation ==="
# Verzeichnis anlegen
mkdir -p "$INSTALL_DIR"
cp presence_check.py "$INSTALL_DIR/"
# Config nur kopieren wenn noch nicht vorhanden (Passwörter schützen)
if [ ! -f "$INSTALL_DIR/config.ini" ]; then
cp config.ini "$INSTALL_DIR/"
echo "config.ini kopiert bitte MACs eintragen!"
else
echo "config.ini existiert bereits nicht überschrieben."
fi
# Python venv + requests installieren
python3 -m venv "$VENV_DIR"
"$VENV_DIR/bin/pip" install --quiet --upgrade requests
# Cronjob: jede Minute
cat > "$CRON_FILE" << EOF
# HomeMatic Anwesenheitserkennung via MikroTik CAPsMAN
# Läuft jede Minute auf ebesch-docker
SHELL=/bin/bash
* * * * * root $VENV_DIR/bin/python3 $INSTALL_DIR/presence_check.py >> /var/log/homematic-presence.log 2>&1
EOF
chmod 644 "$CRON_FILE"
echo "Cronjob installiert: $CRON_FILE"
# Log-Rotation
cat > /etc/logrotate.d/homematic-presence << EOF
/var/log/homematic-presence.log {
daily
rotate 7
compress
missingok
notifempty
}
EOF
echo ""
echo "=== Installation abgeschlossen ==="
echo ""
echo "NÄCHSTE SCHRITTE:"
echo " 1. MAC-Adressen in $INSTALL_DIR/config.ini eintragen"
echo " (iPhone → Einstellungen → WLAN → ⓘ → WLAN-Adresse)"
echo " 2. Test: $VENV_DIR/bin/python3 $INSTALL_DIR/presence_check.py --dry-run --verbose"
echo " 3. Logfile: tail -f /var/log/homematic-presence.log"