Automatisierte Message an Handy

Automatisierte Message an Handy

Im Rahmen der Entwicklung unseres SmartHome-Systems kam gelegentlich der Wunsch auf, über gewisse Vorgänge eine Benachrichtung auf das Handy zu erhalten. Da wir für die Steuerung und Überwachung unserer Garagetore bereits einen Würfel von Homee in Betrieb haben, wurde das dort vorhandene Konzept der Push-Benachrichtigung in Homeegrammen benutzt. Leider musste die Erfahrung gemacht werden, dass diese Push-Benachrichtigungen via E-Mail zwar gut funktionieren, die Push-Benachrichtungen aufs Handy jedoch ärgerlicherweise oft nicht ankommen.   :-(
Nun wurde eine andere Methode gefunden, um von einem Linux-System (in unserem Fall einem Set von Raspberry Pis) Nachrichten auf das Mobiltelephon zu verschicken.

Einrichten der Benachrichtigung auf ein Handy mittels Telegram

Hier folgt eine Schritt-für-Schritt-Anleitung:


- Auf dem Handy die App 'Telegram' installieren
- Telegram-App starten
- Lupe -> BotFather  eingeben
- BotFather - Botfatherbot  wählen
- STARTEN  klicken
- /newbot  eingeben
- Name wählen:  (z.B.)  XY-Smarthome
- Username wählen:  (z.B.)  XYSmarthomeBot
  -->  BOT_TOKEN: 12345:AbCdEfGhIjKlMn
  --> Diesen Token notieren !
  BOT_TOKEN="12345:AbCdEfGhIjKlMn"
- Telegram-App und Lupe: suchen nach XYSmarthomeBot
- STARTEN
- Nachricht (z.B. Test) senden
- Web-Browser öffnen mit diesem Link:  https://api.telegram.org/botBOT_TOKEN/getUpdates
  --> Ev. nochmals Nachricht (z.B. Test) senden und bei obiger URL reload klicken
  --> chat-id suchen:  z.B.  1234567890
  Also: CHAT_ID="1234567890"

Nun kann eine Mitteilung wie folgt vom Linux-System an das Handy geschickt werden:
Mitteilung:  MESSAGE="Diese Mitteilung an das Handy schicken"
curl -s -X POST "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" -d "chat_id=$CHAT_ID" -d "text=$MESSAGE"
Nun bauen wir ein Script namens send_telegram.sh, welches wir anschliessend unter dem Namen send_telegram in das Directory /usr/local/bin kopieren und die Berechtigungen anpassen.

#!/bin/bash # send_telegram.sh 15Feb2025/uk # if [ $# -eq 0 ]; then echo "Kein Argument gefunden..." echo 'Usage: send_telegram "Zu verschickende Mitteilung"' exit 1 fi # MESSAGE="$1" # BOT_TOKEN="12345:AbCdEfGhIjKlMn" CHAT_ID="123456789" # curl --fail --silent --show-error --no-sessionid -X POST \ "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" \ -d "chat_id=$CHAT_ID" \ -d "text=$MESSAGE" \ > /dev/null #
Kopieren zu /usr/local/bin und Anpassen der Berechtigungen:
sudo cp -p ./send_telegram.sh /usr/local/bin/send_telegram
sudo chmod a+x /usr/local/bin/send_telegram

Nun können wir im Linux-System von jedem Verzeichnis aus eine Benachrichtigung an das Handy wie folgt verschicken:

send_telegram "Hello World!"

Bis jetzt funktioniert dies sehr zuverlässig und zudem extrem schnell!   :-)


Last update: 15Feb2025 - Created: 15Feb2025/uk