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

cdif-ble-manager

v0.0.9

Published

BLE manager for CDIF framework

Downloads

9

Readme

Introduction

CDIF's Bluetooth LE manager implementation

Based on Sandeep Mistry's noble-device, the goal of this module is to provide common Bluetooth LE device management interface for CDIF framework

In addition to support yeelight-blue and sensorTag extension modules, CDIF BLE manager module now support converting a device's well-known GATT profiles adopted by Bluetooth organization into CDIF's common device model.

This model is dynamically generated from the device's service discovery result. If a well-known characteristic have read / write property, respective read /write action calls will be generated. If the characteristic has notify or indicate property, the state variable's sendEvents property would be set to true so client can subscribe to event update from it. Below is a screen shot of the converted device model for Pally Smart key finder. And client can issue action call to trigger its immediate alert characteristic to buzz it (may need to turn off its passcode feature).

alt tag

By doing this mapping, we hope to provide client web app developers a cleaner programming interface for Bluetooth LE devices which follows standardized Bluetooth LE profiles. Unlike other protocols such as Z-Wave which has more uniformed device profiles, Bluetooth LE is more open and freely used. And in reality, there would be few manufacturers produce BLE device products without their own extensions, e.g. those vendor-specific service, characteristics and controlling commands. However, we hope that, by providing support to standardized GATT profiles as defined by bluetooth.org, client applications may still access devices' standardized profiles and benefit from an open and inter-operable solution even when they doesn't recognize those vendor extensions.

In addition, this module also allows vendor-specific implementations which are managed by this module to flexibly pick either 'cdif-net' or 'vendor-com' URN name space for their device profiles. The yeelight-blue's spec file inside yeelight-blue module contains such examples.

See following links for more details:

https://github.com/out4b/cdif