Als ioBroker User kommt man mit hoher Wahrscheinlichkeit mal mit einem Android Panel oder Tablett in Berührung.
Aber wie jetzt eine SSH Verbindung darauf machen und auch noch ein (Linux) Terminal?
Hier ein kleines Tutorial.
Ich empfehle Termux und benutze das hier auch.
Als Erstes F-Droid Store installieren. Nehmt die aktuelle Version vom F-Droid Store https://f-droid.org/F-Droid.apk , weil GooglePlay meistens nur ältere Versionen anbietet.
Installiert dann Termux und Termux:Boot aus dem F-Droid Store.
Anschliessend in der Termux Konsole auf dem Android Gerät eingeben:
pkg update
pkg upgrade
pkg install openssh # SSH Server installieren
sshd # SSH Dienst starten
pkg install whoami # whoami installieren
whoami # Resultierende Ausgabe ist der Username (Bsp: u0_a155)
passwd # Passwort vergeben
Autostart für SSH setzen:
mkdir -p ~/.termux/boot
nano ~/.termux/boot/start-sshd.sh
start-sshd.sh mit folgendem Inhalt:
#!/data/data/com.termux/files/usr/bin/bash
termux-wake-lock # Verhindert, dass das Gerät in den Tiefschlaf geht
sshd # Startet den SSH-Dienst
Option: Standard Port 8022 ändern:
nano ~/.ssh/config
Port 22 # eintragen um Port auf 22 zu ändern
Option: Passwortlose Anmeldung mit SSH-Schlüsseln:
192.168.1.x ist die IP eures Android Gerätes. Ich empfehle DHCP da auszuschalten und eine statische IP zu verwenden.
ssh-keygen # Auf PC SSH Schlüssel generieren
ssh-copy-id -p 8022 u0_a155@192.168.1.x # Kopiere den öffentlichen Schlüssel nach Termux
Anmelden (per ssh oder Putty):
ssh u0_a155@192.168.1.x -p 8022 # Melde dich nun ohne Passwort an. Natürlich kannst auch Putty verwenden.
Hier ein Beispiel. Dieses Script pingt den ioBroker-Server jede Minute an.
Wenn dieser keine Antwort gibt, gibt das Panel/Tablett einen Alert-Ton aus und versendet eine Telegram Nachricht.
pkg install mpv
nano /data/data/com.termux/files/home/ping-check.sh
Folgenden Inhalt da reinschreiben
#!/data/data/com.termux/files/usr/bin/bash
# Telegram Bot Token und Chat ID
TELEGRAM_TOKEN="DeineToken"
CHAT_ID="DeineChatID"
PING_IP="192.168.1.x" # IP-Adresse vom iob-Server
MESSAGE="ioBroker Server antwortet nicht."
# Intervall in Sekunden
INTERVAL=60
# Endlosschleife
while true; do
# Führe 4 Pings aus (-c 4) und prüfe, ob keiner erfolgreich ist
if ! ping -c 4 $PING_IP > /dev/null 2>&1; then
# Ton abspielen
/data/data/com.termux/files/usr/bin/mpv /data/data/com.termux/files/home/alert.mp3
# Telegram Nachricht senden
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" \
-d "chat_id=$CHAT_ID" \
-d "text=$MESSAGE"
fi
# Wartezeit bis zum nächsten Versuch
sleep $INTERVAL
done
chmod 744 /data/data/com.termux/files/home/ping-check.sh
Gespeichert habe ich das im Verzeichnis (dank SSH kann man nun auch Filezilla mit SFTP verwenden):
Script:
/data/data/com.termux/files/home/ping-check.sh
Alert mp3:
/data/data/com.termux/files/home/alert.mp3
alert.mp3
Nun noch den Autostart konfigurieren:
nano ~/.termux/boot/start-sshd.sh
Folgenden Inhalt da reinschreiben
#!/data/data/com.termux/files/usr/bin/bash
termux-wake-lock # Verhindert den Tiefschlaf
sshd # Startet den SSH-Dienst
# Starte das Ping-Check-Skript, falls es nicht bereits läuft
if ! pgrep -f "/data/data/com.termux/files/home/ping-check.sh" >/dev/null 2>&1; then
nohup sh /data/data/com.termux/files/home/ping-check.sh >/dev/null 2>&1 &
fi
Zum testen könnt ihr im Script eine nicht erreichbare IP eintragen und von Hand starten:
sh /data/data/com.termux/files/home/ping-check.sh