Du möchtest benachrichtigt werden wenn deine MotionEyeOs Überwachungskamera eine Bewegung erkennt.
MotionEye hat mehrere Funktionen das Umzusetzen.
Wenn MotionEye eine Bewegung erkennt, kannst du eine E-Mail versenden, ein Webhook aufrufen, oder ein Script starten.
Letzteres verwenden wir um eine Nachricht an deinen Slack Account zu senden.
Slack ist kostenlos für Mac OSX, Windows, iOS und Android verfügbar.
Du kannst Push Nachrichten auf dein iPhone oder Android Smartphone erhalten.
Voraussetzung ist ein laufendes MotionEye.
Anleitung MotionEyeOS auf dem Raspberry Pi installieren.
Slack einrichten
- Du benötigst einen kostenlosen Slack Account. Diesen kannst du hier erstellen.
- Ein Webhook wird benötigt, um Nachrichten (per Script) an deinen Slack Channel zu senden.
Öffne die Seitehttps://my.slack.com/services/new/incoming-webhook/.
Erstelle einen neuen Channel nur für MotionEye.
Klick auf „create a new channel". - Markiere den neuen Channel als „Private", damit nur du und eingeladene Benutzer den Inhalt des Channels sehen können.
Gib dem Channel einen eindeutigen Namen, wie „MotionEye" und klick auf „Create Channel".Jetzt müßtest du wieder auf der vorherigen Seite sein.
Klick dort auf den Button „Add Incoming WebHooks integration". - Der Webhook für deinen neuen Channel wurde erstellt.
Diesen benötigst du später für dein Slack-Benachrichtigungs Script.
Lass die Seite offen, oder speichere dir die URL ab.
MotionEyeOs Slack Notification Script erstellen
MotionEyeOs ist eine sehr reduzierte Linux Version. Man kann nicht wie bei Raspbian Pakete mit apt-get
installieren und manche Befehle wie git clone
funktionieren auch nicht.
Den Befehl sudo
benötigt man nicht, da du dich als root anmeldest.
Das Script muss im Ordner data
gespeichert werden.
- Melde dich per SSH bei deinem Raspberry Pi mit MotionEyeOs an.
Ersetze die IP, mit der deines Raspberry Pi.ssh [email protected]
Das Passwort ist das selbe wie bei deinem MotionEye Admin Benutzer.
- Erstelle die Script Datei mit dem Namen slack.py im Ordner
data
und öffne den Nano Texteditor.nano /data/slack.py
- Der Github-Nutzer raspberrycoulis hat das MotionEyeOs Slack Script erstellt.
Kopiere das folgende Script in den Nano Texteditor (Copy Button rechts oben im schwarzen Code-Bereich).#!/usr/bin/python # Created by Wesley Archer at Raspberry Coulis # # Website: https://www.raspberrycoulis.co.uk | Twitter: @raspberrycoulis # # # # 1. Intro: # # # # This Python script sends notifications to a dedicated Slack channel whenever movement is # # detected in MotionEye OS. # # # # You will need to create a free Slack account over at https://slack.com/ and create an incoming # # webhook by visiting https://my.slack.com/services/new/incoming-webhook/. I recommend creating # # a dedicated Slack channel (i.e. #motioneyeos), but you can also add a custom icon and name # # to make it look the part too! # # # # 2. Customising your Slack notification: # # # # You can customise the message sent to Slack by editing the data string below. # # # # The string must be within curly brackets and start with {"text": }. Links can be included # # between <> - i.e. and text can be displayed using | so this # # would be a link to Raspberry Coulis! # # # # To emphasise text, place words you want in bold between two asterix - i.e. *this is bold!* # # # # Split text onto a new line with "\n" (without the quotation marks) so "Hello\nWorld!" becomes # # # # Hello # # World! # # # # Remember to enclose your custom text message within quotation marks though! # # # # 3. This is my example: # # # # '{"text": "Motion Detected!\nView the *<http://IP.ADD.RE.SS|live stream>* now!"}' # import urllib2 url = 'INSERT-SLACK-INCOMING-WEBHOOK-URL-HERE' # Add your Slack incoming Webhook URL here (starts https://hooks.slack.com) data = '{"text": "Motion Detected!\nView the *<http://IP.ADD.RE.SS|live stream>* now! :video_camera:"}' # See above to customise message. req = urllib2.Request(url, data, {'Content-Type': 'application/json'}) f = urllib2.urlopen(req) f.close()
- Du musst das Script noch anpassen.
Ersetze „INSERT-SLACK-INCOMING-WEBHOOK-URL-HERE" im Script mit der URL deines Slack Webhook.Die Nachricht kannst du anpassen wenn du diesen Text veränderst.
„Motion Detected!\nView the *<http://IP.ADD.RE.SS|live stream>* now!"Das Zeichen
\n
bedeutet ein Zeilenumbruch.
Links kannst du wie folgt formatieren, um sie in deiner Slack Nachricht anzuzeigen.
<Linkadresse|Linktext>Emoji kannst du auch einfügen. Hier eine Übersicht aller verfügbaren Emoji.
Verwende den „Short Name" Code.Beende den Nano Texteditor mit
Ctrl
+X
und Bestätige die Änderung mitY
. - Das Script muss noch ausführbar gemacht werden.
chmod +x /data/slack.py
- Jetzt kannst du das Script testen.
python /data/slack.py
Du solltest eine Push Notification auf dein Smartphone erhalten.
Wenn du mit dem Browser in der Slack App angemeldet bist, erhältst du nur dort eine Benachrichtigung.
Script in MotionEye Einstellung hinterlegen
- Öffne die MotionEye Weboberfläche und klick links oben auf das Menu-Icon
- Aktiviere die Bewegungserkennung im Menüpunkt „Motion Detection".
- Im Menüpunkt „Motion Notification" aktiviere „Run A Command".
Im Feld „Command" trägst du den Befehl zum starten des Slack Notification Scipt ein.python /data/slack.py
Die Änderungen speicherst du mit einem klick oben auf den orangenem Button „Apply".
Wenn MotionEye eine Bewegung erkennt, solltest du eine Push Notification auf deinem iPhone/Android Smartphone empfangen.
Vorausgesetzt du hast die Slack App installiert und bist dort angemeldet. 😉