Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

homebridge-analytics

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

homebridge-analytics

Homebridge plugin to track device usage

  • 0.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

homebridge-analytics

https://github.com/neilgupta/homebridge-analytics/

This is a plugin for homebridge to monitor how much you're using your HomeKit devices.

HomeKit does not expose any native way to get alerted when your devices turn on or off, so homebridge-analytics creates fake switches for you that will write their state to a sqlite database whenever they are turned on or off. You can setup HomeKit triggers to toggle the corresponding fake switch whenever one of your devices is turned on or off. This is a sad hack, but it's the best we can do with HomeKit so far. Once you've done the manual setup, you can then query the sqlite database to see your usage history.

Installation

  1. Install homebridge (if not already installed) using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-analytics
  3. Update your configuration file. See below for a sample.

Configuration

"platforms": [
  {
    "platform": "Analytics",
    "suffix" : "Analytics", // suffix to append to all your fake switch names (default: "Analytics")
    "switchNames" : ["Kitchen", "Bar", "Living Room", "Foyer", "Closet", "Bedroom"]
  }
]

Usage

Once you have this plugin configured and running with homebridge, you'll find the analytics.db file in your homebridge's persist directory. You can query this database via the node repl like so:

var sqlite3 = require("sqlite3");

var db = new sqlite3.Database("path to analytics.db");

db.all("SELECT * FROM AccessoryUsage", function(err, rows) {
    // do something with rows
});

The AccessoryUsage table has 3 columns: name (text), state (int), updated (timestamp).

TODO

  • Add support for lights with brightness values rather than just binary switches
  • Push status change notifications to a remote db

Keywords

FAQs

Package last updated on 05 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc