npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-presence-switch-slack

v1.0.0

Published

Homebridge Switch for Slack precense status

Downloads

19

Readme

Homebridge presence switch connected to Slack

homebridge-presence-switch-slack

This is a fork of the Homebridge presence switch connected to Microsoft Graph. In this version, the presence is retrieved from the Slack APIs.

Info: More information for now can be found here: https://www.eliostruyf.com/diy-building-busy-light-show-microsoft-teams-presence/.

The Slack Presence Switch contains the following state switches which you can use in Homekit to automate:

  • Available
  • Away
  • DnD
  • Offline
  • <Slack status>: This can be used to specify custom colors for you own status messages in Slack. For instance you can use it to in combination with Google Calendar status in meeting: In a meeting • Google Calendar. This status could be useful to show a color when you are busy.

Installation

In order to make use of the Homebridge Slack Presense Switch, you need to first create an access token for the Homebridge config.

  • Start by adding the Slack app to your account.

  • Click on Allow;

  • Copy the generated User OAuth Token

  • Go to your Homebridge instance
  • Go to the plugin section
  • Install the Homebridge Presence Switch Slack plugin
  • Add your OAuth token to the following config field

  • Save your config and restart the service
  • Once the Homebridge service restarted, go to the accessories section, and activate the Presence Indicator

Custom status colors

If you want to add your own custom status colors to show that you are in a meeting for example. You can add the related Slack status message in your config as follows:

{
  ...,

  "statusColors": {
    ...,

    "In a meeting • Google Calendar": {
      "red": 179,
      "green": 0,
      "blue": 0
    }
  }
}

Info: each off these status messages you add, will also get a corresponding switch. That way you can add do Homekit automation based on the state of these switches.

Config

The accessory config could look like this:

{
  "accessory": "presence-switch-slack",
  "name": "Slack Presence Indicator",
  "oAuthToken": "<your-token>",
  "interval": 1,
  "setColorApi": "http://127.0.0.1:5000/api/switch",
  "offApi": "http://127.0.0.1:5000/api/off",
  "onApi": "http://127.0.0.1:5000/api/on",
  "startTime": "8:30",
  "endTime": "18:00",
  "weekend": false,
  "statusColors": {
    "available": {
      "red": 0,
      "green": 144,
      "blue": 0
    },
    "away": {
      "red": 255,
      "green": 191,
      "blue": 0
    },
    "donotdisturb": {
      "red": 149,
      "green": 0,
      "blue": 0
    },
    "<slack status>": {
      "red": 179,
      "green": 0,
      "blue": 0
    }
  },
  "lightType": "",
  "debug": true
}

Homekit integration

The following four state switches are available for you to make use of:

  • Offline
  • Do not disturb
  • Away
  • Available

These switches can be used in HomeKit automation. If you use these, you do not have to set setColorApi, offApi, and onApi. Config could look like this:

{
  "accessory": "presence-switch-slack",
  "name": "Slack Presence Indicator",
  "oAuthToken": "<your-token>",
  "interval": 1,
  "startTime": "8:30",
  "endTime": "18:00",
  "weekend": false
}