MotionEyeOs: Benachrichtigung bei Bewegungserkennung via Slack – motion push notification

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.

Inhalt

Slack einrichten

  1. Du benötigst einen kostenlosen Slack Account. Diesen kannst du hier erstellen.
  2. Ein Webhook wird benötigt, um Nachrichten (per Script) an deinen Slack Channel zu senden.
    Öffne die Seite https://my.slack.com/services/new/incoming-webhook/.
    Erstelle einen neuen Channel nur für MotionEye.
    Klick auf “create a new channel”.

    motioneyeos slack push notification motion bewegungserkennung benachrichtigung

  3. 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”.

    motioneyeos slack push notification motion bewegungserkennung benachrichtigung

    Jetzt müßtest du wieder auf der vorherigen Seite sein.
    Klick dort auf den Button “Add Incoming WebHooks integration”.

  4. 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 push notification motion bewegungserkennung benachrichtigung

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.

  1. Melde dich per SSH bei deinem Raspberry Pi mit MotionEyeOs an.
    Ersetze die IP, mit der deines Raspberry Pi.

    ssh admin@192.168.0.10

    Das Passwort ist das selbe wie bei deinem MotionEye Admin Benutzer.

  2. Erstelle die Script Datei mit dem Namen slack.py im Ordner data und öffne den Nano Texteditor.

    nano /data/slack.py
  3. 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()
    
  4. 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 mit Y.

  5. Das Script muss noch ausführbar gemacht werden.

    chmod +x /data/slack.py
  6. 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

  1. Öffne die MotionEye Weboberfläche und klick links oben auf das Menu-Icon
  2. Aktiviere die Bewegungserkennung im Menüpunkt “Motion Detection”.

    motioneyeos slack push notification motion bewegungserkennung benachrichtigung

  3. 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”.

    motioneyeos slack push notification motion bewegungserkennung benachrichtigung

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. 😉
 

Gib deine Stimme ab!

32 Likes
Upvote Downvote

Total votes: 25

Upvotes: 25

Upvotes percentage: 100.000000%

Downvotes: 0

Downvotes percentage: 0.000000%

Geschrieben von Ben

#Blogger #Designer #RaspeberryFan #Self-Employed #Developer #Javascript
TwitterGithubThingiverse

1 Kommentar

Kommentar verfassen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.