HomeMatic CCU2 Internet-LED umstellen

Hi zusammen,

nach dem letzten Update der CCU2 auf v2.49.18 haben die Kollegen von eQ-3 auch die Konfiguration der Internet-LED angepasst. Bei mir befindet sich die CCU hinter einer Firewall und darf ausschließlich per NTP (UDP 123) die Uhrzeiteit synchronisieren und außerdem die Events an IPS weitergeben (TCP 5544). Die Internet-LED hatte zuvor eine Abhängigkeit von einem erfolgreichen Ping nach 87.230.102.12 - was mich nicht interessiert. Damit die Internet-LED nicht andauernd blinkt, hattee ich zuvor per SSH mittels vi das Skript /etc/network/if-up.d/eQ3StartNetwork in Zeile 97 angepasst:
ping -W 5 -c 1 87.230.102.12
wurde zu
ping -W 5 -c 1 192.168.0.2

Sprich der IP des Geräts auf dem IPS läuft. Nun hat sich das gesamte Skript geändert. Gestern habe ich herausgefunden, wie es seit dem letzten Firmwareupdate läüft. Ich Überprüfe nun nicht mehr, ob der Server hinter IPS noch erreichbar ist, sondern ober der Event-Server der IPS-Instanz läuft. Daran wollte ich Euch teilhaben lassen :slight_smile:
Dafür müsst Ihr wie folgt vorgehen:

SSH in der WebUI der CCU2 freischalten:
Einstellungen -> Systemsteuerung -> Sicherheit -> SSH
die Checkbox „SSH aktiv“ anhaken, ein Passwort vergeben und auf „Speichern“ klicken

Per SSH auf der CCU2 anmelden - z.B. mit PuTTY

Schreibschutz des Speichers aufheben:
mount -o remount,rw /

Datei editieren (ab Firmware v2.49.18):
vi /bin/checkInternet

Das originale Skript (hier als Backup):


#!/bin/sh
if ! ping -q -W 3 -c 1 google.com >/dev/null 2>/dev/null; then
  if ! nc -z -w 3 google.com 80 >/dev/null 2>/dev/null; then
    if grep -q nfsroot /proc/cmdline ; then
      if ! ping -q -W 3 -c 1 8.8.8.8 >/dev/null 2>/dev/null; then
        if ! nc -z -w 3 108.177.126.100 80 >/dev/null 2>/dev/null; then
          [ -f /var/status/hasInternet ] && rm -f /var/status/hasInternet
          exit 1
        fi
      fi
    else
      [ -f /var/status/hasInternet ] && rm -f /var/status/hasInternet
      exit 1
    fi
  fi
fi

[ ! -f /var/status/hasInternet ] && touch /var/status/hasInternet

exit 0

ersetzen durch (Achtung, „192.168.0.2“ ist hier die IP Eurer IPS-Instanz):


#!/bin/sh
if ! nc -z -w 3 192.168.0.2 5544 >/dev/null 2>/dev/null; then
  [ -f /var/status/hasInternet ] && rm -f /var/status/hasInternet
  exit 1
fi

[ ! -f /var/status/hasInternet ] && touch /var/status/hasInternet

exit 0

Schreibschutz des Speichers wieder aktivieren:
mount -o remount,ro /

CCU2 neu starten:
reboot

Und anschließend SSH in der CCU2 aus Sicherheitsgründen wieder deaktivieren (siehe oben).

Hier noch eine Hilfe zwecks Bedienung von vi:


   r    REPLACE SINGE CHAR
   R    REPLACE until [ESC]
   x    DELETE SINGLE CHAR
   i    INSERT TEXT until [ESC]
   [ESC]:wq    save and exit
   [ESC]:q!    exit without save

Wichtiger Hinweis: Nach jedem Update der CCU2-Firmware muss das alles wieder angepasst werden, da das Update die Einstellungen wieder überbügelt.

Viel Erfolg :slight_smile: