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-wink

v2.1.1

Published

HomeBridge plugin for the Wink hub

Downloads

21

Readme

homebridge-wink

Homebridge platform plugin for the Wink hub

This is a complete rewrite of homebridge-wink. The UUID for the devices are now passed through from Wink. This will cause the devices in HomeKit to disassociate from their existing rooms or triggers that you defined under the old plugin.

Installation

  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-wink
  3. Update your configuration file. See sample config.json snippet below.

Configuration

Configuration sample:

"platforms": [
   	{
   		"platform": "Wink",
   		"name": "Wink",
   		"username": "[email protected]",
   		"password": "WINK_PASSWORD",
   		"client_id": "YOUR_WINK_API_CLIENT_ID",
   		"client_secret": "YOUR_WINK_API_CLIENT_SECRET",
   		"hide_groups": ["garage_door", "thermostat"],
   		"hide_ids": [],
   		"fan_ids": []
   	}
   ],

Fields:

  • "platform": Must always be "Wink" (required)
  • "name": Can be anything (required)
  • "client_id": Wink API client id, must be obtained from [email protected]. You are required to get your own key, but one is provided for initial use. Warning! Personal API keys will not allow use of 3rd party garage door openers.
  • "client_secret": Wink API client id, must be obtained from [email protected]. You are required to get your own key, but one is provided for initial use.
  • "username": Wink login username, same as app (required)
  • "password": Wink login password, same as app (required)
  • "hide_groups": List of Wink groups that will be hidden from Homebridge. Accepted values are:
    • air_contidioner
    • binary_switch
    • garage_door
    • light_bulb
    • lock
    • outlet
    • sensor_pod
    • shade
    • smoke_detector
    • thermostat
  • "hide_ids": List of Wink IDs that will be hidden from Homebridge. These ID can easily be seen as the accessory's serial number in the IOS Home app..
  • "fan_ids": List of Wink IDs (for binary switches or lightbulbs) that will be added as fans to Homebridge.
  • "temperature_unit" : Identifies the display unit for thermostats. F or C. Defaults to F
  • "direct_access" : Attempt to establish access to the Wink hub. true/false. Defaults to true.

Device Support

Supported Devices:

  • Air Conditioners - Identifies the direct-connected Wink Aros.
    • Change between cool, auto and off.
    • Set temperature.
    • Direct fan control is not yet available.
  • Binary Switches - Z-Wave non-dimming switches, Wink Outlink, Wink Relay.
    • On/Off Functions.
    • For the Outlink, uses the power usage to determine if on or off.
    • Does not report actual power usage due to limitation in HomeKit Interface.
    • Can be added to Homekit as a fan using fan_ids optional configuration field.
  • Garage Doors
    • Open/Close Wink-connected garage doors.
    • Report battery status to HomeKit.
    • Does not identify blocked doors due to limitation in Wink Interface.
    • 3rd Party openers may require use of the Quirky API key to open/close.
  • Light Bulbs - Light Bulbs and dimmable switches.
    • On/Off and Dimming.
    • Bulbs with support allow Hue and Saturation.
    • Able to Convert to a Fan.
  • Locks
    • Lock/Unlock and report current status.
    • Report Battery Status.
  • Outlets - The controllable outlets on the Quirky Power Strip.
    • On/Off
    • Does not group the outlets by power strip due to limitation in HomeKit Interface.
  • Propane Tank
  • Reports as a battery.
  • Sensor Pods - Spotter, Tripper and other PIR and Door Sensors.
    • PIR reports as Motion Detector
    • Tripper and other Door Sensors report as Doors. Tamper Detection is not available in HomeKit for these.
    • Spotter reports Temperature and Humidity to HomeKit.
    • Spotter Reports Battery Level.
    • Spotter does not report brightness, vibration or loudness to HomeKit. Apple expects values and these are simply reported as yes/no concerning if it changed.
  • Shades
    • Working on Implementation
  • Smoke Detectors - I believe only Kiddie detectors are supported
    • Reports Battery Level.
    • Reports CO and Smoke Alarms as available by the detector
  • Thermostats
    • Should be full functionality.

Not Yet Supported Devices In Consideration

  • Cameras

Log Messages and their meaning:

  • Wink Init - Occurs when the plugin is initialized by Homebridge.
  • No Wink Config Present - Occurs if Homebridge initializes the plugin without a configuration.
  • Adding: [Device Name] - Occurs when a new device has been detected from Wink and has been loaded.
  • Reclaiming: [Device Name] - Occurs when Homebridge has sent cached information to the plugin.
  • Remove Accessory: [Device Name] - Occurs when a cached or previously loaded device no longer appears in the Wink API feed.
  • API Version 1 Request Detected - If this occurs then the API key only returns version 1 API data. This will cause problems.
  • API Version 2 Request Detected - Occurs when the API key is returning version 2 API data. This is the proper operation.
  • Wink Authentication Successful. - Occurs when the user authenticates to the API.
  • There was a problem authenticating with Wink: [Error Message] - Occurs when the API is unable to authenticate with the cloud.
  • General Error: [Error Information] - An unknown trapped error has occured.
  • No valid reply with call to https://api.wink.com/oauth2/token with the following data: [JSON Data] - This occurs if Wink's API replies with invalid information when the local hub authentication is requested.
  • Unable to Establish Local Control. Error Received: [Error Message] - Occurs when an error was received while fetching an access token for the local hub
  • Hub Link Established: Hub ID [Wink ID] - Occurs when a local access token is retrieved.
  • Command Sent To Local Hub: [Device Name] [JSON Data] - Shows Data sent to the local hub. Only visible when deepdebug is true.
  • Command Sent To Cloud: [Device Name] [JSON Data] - Shows Data sent to the Cloud. Only visible when deepdebug is true.
  • Odd Pubnub Received: [Message] - Occurs if PubNub send information that doesn't appear to be valid.
  • Impossible Scenario. Device not found: [Device Name] - Occurs if a change is sent from PubNub for a device the API doesn't know about.
  • Error occurred communicating with the Wink API: [Error Message] - This is an error with the query sent to the Wink API.

Not Supported Due to HomeKit Limitations

  • Eggtrays - No compatible device in HomeKit
  • Piggy Banks - No compatible device in HomeKit
  • Hubs - Redundant the way homebridge platform plugins are designed
  • Remotes - Only displays what it is linked to and doesn't allow as remote
  • Buttons - The TAPT and Wink Relay buttons. I expect these are too time-delayed to be useful.
  • "Unknown Devices" - Wink doesn't even know what these are.

If you disagree with any of my "limitations in HomeKit", feel free to create and issue for a feature request that reveals what I'm missing.