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

node-red-contrib-tplink

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-red-contrib-tplink

A collection of Node-RED nodes for TP-Link smart-home devices.

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

TP-Link Smart Home Node-Red Nodes

GitHub release NPM Version GitHub last commit

Node version GitHub repo size in bytes

Github All Releases

npm GitHub contributors contributions welcome

This is a Node-RED node that allows you to control smart plugs, switches, and bulbs from the TP-Link Kasa Smart ecosystem.

Under the hood, this uses TP-Link Smart Home API.

Installation

Run the following command in the root directory of your Node-RED install

$ npm install node-red-contrib-tplink

or you can use the Palette Manager in Node-RED.

Parameters

Name - Type in the name of the host manually or keep the default device name

Device IP - Type in the Device IP address manually or press the button to retrieve all locally available plug devices. To specify a plug in a multi-plug device, append a / followed by the plug number (zero-indexed). Use is optional. Alternatively, or additionally, an input message can include msg.topic with a device IP (and optional plug number). Examples: 192.168.1.101 or 192.168.1.101/3

Connection poll interval - Interval that is used to poll availability of devices (>500ms / Recommended 5000-10000ms). Set to 0 to disable availability checks (in which case, OnlineEvents will not trigger, even if started).

Event poll interval - Interval that is used to poll active devices for events (>500ms / Recommended 1000-3000ms). Set to 0 to disable event polling (in which case, all events except OnlineEvents will not trigger, even if started).

Output payload - Types are info, none, string, number, boolean, JSON, and timestamp. Default type is info with a value of getInfo. If set to info, the selected payload command will be fired after completion, and the payload set accordingly. Output payload is ignored if the node input is a command or an event, in which case see below for more information

Debug - If enabled, will output device information to the flow editor debug tab.

Inputs

Send in a message to control, command, or start/stop events.

  • topic - Optional. The device IP (and optional plug). Any message without a topic will use the device configured via the parameters. If no topic is included, and no device is configured, the message will be ignored.

  • payload - Required. Either a control, command, or event action. See below for details of each.

Controls

Control a device by setting its properties.

string | Object

  • true | on - Turn on the device
  • false | off - Turn off the device
  • toggle - Switch the power state of the device.
  • Or as an object, all properties optional:
    • state: true | on | false | off - Set device on or off
    • brightness: [1-100] - Set brightness, if supported
    • temperature: [2700-6500, 0] - Set brightness (in kelvin), or zero to leave temperature mode and return to previous hsb value if supported
    • hsb: {hue, saturation, brightness} - Set the color, if supported
    • led: true | false - Turn the LED on or off, if supported

Commands

string

  • getInfo - Fetch the device information.
  • getCloudInfo - Fetch the device information from the cloud.
  • getQuickInfo - Fetch most popular proprieties, such as username, device consumption, mode, lighting state, and many more. Supports multi-plug.
  • getMeterInfo - Fetch the current device consumption. Supports multi-plug.
  • eraseStats - Clear all the meter statistics. Supports multi-plug.

Events

string | array | Object

  • startMeterEvents/stopMeterEvents - Subscribe to meter information events. Event emits on event polling interval.
  • startInfoEvents/stopInfoEvents - Subscribe to information events. Event emits on event polling interval.
  • startPowerEvents/stopPowerEvents - Subscribe to power on/off events. Event emits on device/plug change.
  • startPowerUpdateEvents/stopPowerUpdateEvents - Subscribe to power on/off events. Event emits on event polling interval.
  • startInUseEvents/stopInUseEvents - Subscribe to device usage events. Event emits on device/plug change.
  • startInUseUpdateEvents/stopInUseUpdateEvents - Subscribe to device usage events. Event emits on event polling interval.
  • startOnlineEvents/stopOnlineEvents - Subscribe to online/offline events. Event emits on poll interval.
  • stopAllEvents - Unsubscribe all events.

Multiple event actions can be sent at once, either as an array or as a string separated by "|". Alternatively, an array or string can be sent in the events property of an object. Examples:

['startMeterEvents', 'stopPowerEvents']

or

{ events: 'startMeterEvents|stopPowerEvents' }

For developers

This repo. is (mainly) coded on Node 10.3.0 with Node-RED 0.18.7 on Windows 10 Home Build 17134.81.

Runs succesfully in a Raspberry Pi 3 Model B+ on standard Raspbian Stretch's Node 0.10.29 and matching Node-RED.

https://nodei.co/npm/node-red-contrib-tplink.png?downloads=true&downloadRank=true&stars=true

Keywords

FAQs

Package last updated on 28 Dec 2022

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