Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
node-red-contrib-tplink
Advanced tools
A collection of Node-RED nodes for TP-Link smart-home devices.
TP-Link Smart Home Node-Red Nodes
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.
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.
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.
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.
Control a device by setting its properties.
string | Object
true
| on
- Turn on the devicefalse
| off
- Turn off the devicetoggle
- Switch the power state of the device.state: true
| on
| false
| off
- Set device on or offbrightness: [1-100]
- Set brightness, if supportedtemperature: [2700-6500, 0]
- Set brightness (in kelvin), or zero to leave temperature mode and return to previous hsb value if supportedhsb: {hue, saturation, brightness}
- Set the color, if supportedled: true
| false
- Turn the LED on or off, if supportedstring
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.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' }
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.
1.0.1 (2022-12-28)
FAQs
A collection of Node-RED nodes for TP-Link smart-home devices.
We found that node-red-contrib-tplink demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.