diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..0458369 --- /dev/null +++ b/install.sh @@ -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"