n8n-nodes-evolviot
v1.0.6
Published
n8n community nodes for EvolvIOT device control, status checks, and polling triggers
Maintainers
Readme
n8n-nodes-evolviot
n8n community nodes for the EvolvIOT external API.
This package provides:
EvolvIOTaction node for device control and one-time status checksEvolvIOT Triggerpolling node for workflow starts based on device or switch state
What It Does
The package supports four main workflows:
- Send device control commands to EvolvIOT devices
- Check device status or switch/sensor values inside a normal workflow
- Poll EvolvIOT devices and trigger workflows when a condition matches
- Trigger Tap to Run scenes
Installation
Install the package in your n8n environment:
npm install n8n-nodes-evolviotFor local development:
npm install
npm run buildIf you install from a local folder or tarball, restart n8n after installation so the nodes and credential are registered.
Credential
Create an EvolvIOT API credential in n8n:
- API Key: your EvolvIOT bearer token
- Base URL: optional override, defaults to
https://api.evolviot.com/api/3rdPartyService/n8n
The node-level Base URL field overrides the credential value when it is filled in.
API Endpoints Used
The nodes expect the configured base URL to end with /api/3rdPartyService/n8n.
They call these endpoints:
GET /api/3rdPartyService/n8n/devicesGET /api/3rdPartyService/n8n/devices/{deviceId}/{dataKeys}GET /api/3rdPartyService/n8n/devices/{deviceIds}POST /api/3rdPartyService/n8n/controlDeviceGET /api/3rdPartyService/n8n/tapToRunScenesPOST /api/3rdPartyService/n8n/{sceneId}/trigger
EvolvIOT Action Node
The EvolvIOT action node has three operations:
- Device control action
- Device control status
- Tap to run scenes
It has two outputs:
- Success
- Error
1. Device Control Action
Use this mode to send a control value to a selected device switch.
Setup:
- Select an EvolvIOT API credential.
- Select a Device from the loaded device list.
- Select a Control Key for that device.
- Choose an Action Type based on the selected switch.
- Send the node execution.
Supported action types depend on the selected control key:
- On/Off for binary outputs
- Custom for PWM outputs
- Sensor-specific values for digital sensors
- Numeric values for analog sensors
The node sends a POST request to /api/3rdPartyService/n8n/controlDevice with this payload shape:
{
"deviceId": {
"keyId": "value"
}
}The success output returns the API response plus a sent object that contains the normalized request metadata.
If a request fails, the node sends the item to the Error output instead of stopping the whole run.
2. Device Control Status
Use this mode to check a device condition once inside a workflow, without polling.
You can check:
- Device online/offline status
- Input switch values
- Sensor values
Watch modes:
- Device status
- Device control/output status
Supported comparisons depend on the selected switch:
- On/Off
- Custom numeric comparison
- Sensor analog numeric comparison
- Sensor digital exact value match
If the selected condition matches, the item goes to Success with:
deviceIddeviceNamestatus- matched switch value when applicable
rawdevice payloadmatched: true
If the condition does not match, the item is sent to the Error output with an explanatory message.
3. Tap to Run Scenes
Use this mode to trigger a saved Tap to Run scene.
Setup:
- Select an EvolvIOT API credential.
- Set Operation to Tap to run scenes.
- Select a Scene from the dropdown (loaded from
tapToRunScenes). - Execute the node.
The node sends a POST request to /api/3rdPartyService/n8n/{sceneId}/trigger.
EvolvIOT Trigger Node
The EvolvIOT Trigger node polls the API and starts the workflow when the current device state matches the selected condition.
Available watch modes:
- Device status
- Device control/output status
You can trigger on:
- Device
OnlineorOffline - Switch
On/Off - PWM value comparisons
- Analog sensor value comparisons
- Digital sensor exact value matches
On each poll, the node fetches device data, evaluates the selected condition, and emits one item per matching device.
Trigger output includes:
deviceIddeviceNamestatus- matched switch value when applicable
rawdevice payload
Device Loading and Dynamic Options
The node UI loads devices directly from the EvolvIOT API.
- Device dropdown values contain the full device object as JSON
- Control key dropdowns are generated from the selected device's
controlKeys - Trigger/action option lists adapt to the selected key type and working mode
This means the UI can automatically switch between binary, PWM, and sensor-specific controls.
Error Handling
The nodes validate:
- missing API key
- missing base URL
- invalid or empty device selection
- invalid switch selection
- invalid numeric values
- HTTP and connection failures
The action node is designed for batch use and routes failed items to the Error output instead of failing the entire execution.
Development
Build locally:
npm install
npm run buildCreate a local installable package:
npm packPublishing
To publish a new npm release:
- Update
versioninpackage.json - Run
npm install - Run
npm run build - Run
npm publish
For a scoped package, use:
npm publish --access public