Giter VIP home page Giter VIP logo

andrewbluepiano / smartermvmotionwebhookalerts Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 80 KB

A motion alert filtering/prioritization concept for Cisco Meraki MV cameras, based on the idea that you mainly care about motion that occurs when no trusted individual is present at the location. Uses a PHP endpoint to receive the WebHook motion alerts, along with Python to query the current network clients using the Meraki Dashboard API, then back to PHP to send a nice alert email if needed.

License: GNU General Public License v3.0

Python 73.08% PHP 26.92%
meraki-mv-cameras meraki motion-alert camera-motion filter filtering dashboard-api cisco-meraki webhooks api motion-detection log-filter

smartermvmotionwebhookalerts's Introduction

SmarterMVMotionAlerts (Webhook version) published

Overview

A log filtering / smart alert program that can use both WiFi and Bluetooth (for MR's with BT) clients as trusted devices, and when the webhook receiver webhook.php receives a motion alert, it uses checkTrusted.py to determine if you are home or not, and if not, it sends an alert email.

Info / ToDo:

  • This implementation of the concept is built for a home / small office implementation. I highly doubt it would be able to process alerts from more then a few MV's. Making a more complex version of the idea is down the line.
  • I will be testing this application to get a statistic on what the reduction in unneeded alerts is.
  • Needs to be changed so that python program has a timeout before it checks again (maybe a half a minute / minute)

Background Concept

I use my Meraki MV cameras to monitor the entrance of my apartment. The Meraki Dashboard offers the ability to schedule times during which detected motion will generate alerts, but with 3 roommates and being in college, there’s no real schedule that would provide more meaningful filter motion alerts.

One day while thinking about my cameras & their alerts, networking, and IoT, I had a thought. If your smart home can perform actions when it detects you are arriving at or leaving the house, similarly I should be able to only get motion alerts when neither my roommates or myself are home, which is the only time I really care about motion detected.

Having a Meraki stack running my home network, I can get details about clients on my network with the Dashboard API. This provides the way to determine if someone is at a location (home), by checking to see if the MAC addresses of the devices they carry on their person are connected to / detected by devices on the network.

This program operates on that concept of detecting if you are "home" or not to determine if you need to be notified of camera motion. By setting your phone, and any other devices that leave the house daily when you do to be "trusted devices", we can use the Meraki Dashboard API to check if those devices are online, before sending a motion alert.

Setup

https://github.com/andrewbluepiano/SmarterMVMotionWebhookAlerts/wiki/Setup

Sample Alert

smartermvmotionwebhookalerts's People

Contributors

andrewbluepiano avatar

Watchers

 avatar  avatar

smartermvmotionwebhookalerts's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.