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

@switchbot/homebridge-switchbot

v4.1.4

Published

The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.

Downloads

7,115

Readme

@switchbot/homebridge-switchbot

npm version npm downloads discord-switchbot

Installation

  1. Search for "SwitchBot" on the plugin screen of Homebridge Config UI X
  2. Find: @switchbot/homebridge-switchbot
    • See noble prerequisites for your OS. (This is used for BLE connection.)
  3. Click Install

Configuration

  • If using OpenAPI Connection

    1. Download SwitchBot App on App Store or Google Play Store
    2. Register a SwitchBot account and log in into your account
    3. Generate an Token within the App
      • Click Bottom Profile Tab
      • Click Preference
      • Click App version 10 Times, this will enable Developer Options
      • Click Developer Options
      • Click Copy token to Clipboard
    4. Input your token into the config parameter
    5. Generate an Secret within the App
      • Click Bottom Profile Tab
      • Click Preference
      • Click App version 10 Times, this will enable Developer Options
      • Click Developer Options
      • Click Copy secret to Clipboard
    6. Input your secret into the config parameter
  • If using BLE Connection

    1. Download SwitchBot App on App Store or Google Play Store
    2. Register a SwitchBot account and log in into your account
    3. Click on Device wanting to connect too plugin
      • Click the Settings Gear
      • Click Device Info
      • Copy BLE Mac aka deviceId
    4. Input your deviceId into the Device Config

Troubleshooting

  • If using Linux / Raspberry Pi OS

    1. bluetoothctl must be installed on the device, otherwise it cannot communicate via Bluetooth. Enable it with sudo bluetoothctl power on.

    2. If errors occur, while enabling it, restart the process:

      • rfkill block bluetooth
      • rfkill unblock bluetooth
    3. Also make sure, that the computer can discover the SwitchBot device:

      • sudo bluetoothctl
      • scan on

      This lists all discovered Bluetooth devices. The BLE address of the SwitchBot device should be included in this list, otherwise your computer does not discover it.

  • If using MacOS

    1. Manually grant Bluetooth access in System Settings UI for Security & Privacy -> Privacy to the node executable, eg /usr/local/bin/node Security & Privacy -> Privacy (This is what is intended in documentation for the noble bluetooth package prerequisites by "Add terminal app", however for HomeBridge it is node that needs the permission granted, not terminal. Without this step, then you will receive the following error when the swichbot plugin launches, which will cause Homebridge or the child bridge process to restart:
    Error: Failed to initialize the Noble object: unauthorized
      at Noble.<anonymous> (file:///usr/local/lib/node_modules/@switchbot/homebridge-switchbot/node_modules/node-switchbot/src/switchbot.ts:244:19)
      at Object.onceWrapper (node:events:629:26)
      at Noble.emit (node:events:514:28)
      at Noble.onStateChange (/usr/local/lib/node_modules/@switchbot/homebridge-switchbot/node_modules/@stoprocent/noble/lib/noble.js:92:8)
      at NobleMac.emit (node:events:514:28)

Supported SwitchBot Devices

Supported IR Devices

(All IR Devices require SwitchBot Hub 2 or Hub Mini)

  • TV
    • Allows for On/Off and Volume Controls
    • Optional Disable Sending Power Command
  • Projector (Displayed as TV)
    • Allows for On/Off and Volume Controls
  • Set Top Box (Displayed as Set Top Box)
    • Allows for On/Off and Volume Controls
  • DVD (Displayed as Set Top Box)
    • Allows for On/Off and Volume Controls
  • Streamer (Displayed as Streaming Stick)
    • Allows for On/Off and Volume Controls
  • Speaker (Displayed as Speaker)
    • Allows for On/Off and Volume Controls
  • Fans
    • Allows for On/Off Controls
    • Optional Rotation Speed
    • Optional Swing Mode
  • Lights
    • Allows for On/Off Controls
  • Air Purifiers
    • Allows for On/Off Controls
  • Air Conditioners
    • Allows for On/Off, Tempeture, and Mode Controls
    • Optional Disable Auto Mode
  • Cameras
    • Allows for On/Off Controls
  • Vacuum Cleaners
    • Allows for On/Off Controls
  • Water Heaters
    • Allows for On/Off Controls
  • Others
    • Option to Display as differenet Device Type
      • Supports Fan Device Type
    • Allows for On/Off Controls

SwitchBot APIs

Community