n8n-nodes-govee
v0.2.8
Published
n8n community node for controlling Govee smart devices (lights, plugs, switches, appliances)
Maintainers
Keywords
Readme
n8n-nodes-govee
This is an n8n community node. It lets you use Govee smart devices in your n8n workflows.
Govee is a smart home technology company offering Wi-Fi-enabled lights, plugs, switches, and appliances (humidifiers, purifiers, etc.). This node lets you list devices, query their state, and send control commands — all through the Govee Developer API.
n8n is a fair-code licensed workflow automation platform.
Installation Operations Credentials Compatibility Usage Resources Version history
Installation
Follow the installation guide in the n8n community nodes documentation.
- Go to Settings > Community Nodes.
- Select Install.
- Enter
n8n-nodes-goveeand confirm.
Operations
Device (Lights, Plugs, Switches)
| Operation | Description | |-----------|-------------| | Get Many | List all devices associated with your Govee account | | Get | Get a single device by its MAC address | | Get State | Query the current state of a specific device (online status, power, brightness, color, color temperature) | | Control | Send a command to a device — Turn on/off, set Brightness (0–100), set Color (visual color picker), set Color Temperature (2000–9000K) | | Multi-Command | Send multiple commands to a device in sequence (e.g., turn on + set color + set brightness) |
Appliance (Humidifiers, Purifiers, etc.)
| Operation | Description | |-----------|-------------| | Get Many | List all appliances associated with your Govee account | | Control | Send a command to an appliance — Turn on/off, set Mode (dynamically loaded from device capabilities) |
Credentials
You need a Govee Developer API Key to use this node.
Obtaining a Govee Developer API Key
- Download the Govee Home App:
- iOS: Govee Home on the App Store
- Android: Govee Home on Google Play
- Open the app and navigate to My Profile (tap the profile icon).
- Go to Settings (gear icon, top right).
- Select "Apply for API Key".
- Fill in the form — provide your name and a reason (e.g., "home automation", "n8n integration").
- Agree to the Terms of Service and tap Submit.
- Once approved, your API key will be sent to your email.
In n8n, create a new Govee API credential and paste your API key.
Compatibility
- Tested with n8n v1.x and later.
- Requires devices that support Wi-Fi (Bluetooth-only devices are not supported by the Govee API).
Usage
List all your devices
- Add the Govee node to your workflow.
- Set Resource to
Deviceand Operation toGet Many. - Execute — you'll get a list of all your Govee devices with their MAC addresses, models, and supported commands.
Turn on a light
- Set Resource to
Device, Operation toControl. - Select your device from the Device Name or ID dropdown (auto-populated from your Govee account).
- Select the Model (auto-populated based on your device selection).
- Set Command to
Turn, Turn Value toOn.
Set a color
- Set Resource to
Device, Operation toControl. - Select your device and model from the dropdowns.
- Set Command to
Colorand use the color picker to choose your color.
Send multiple commands at once
- Set Resource to
Device, Operation toMulti-Command. - Select your device and model.
- Enter a JSON array of commands:
[{"name": "turn", "value": "on"}, {"name": "brightness", "value": 80}, {"name": "color", "value": {"r": 255, "g": 0, "b": 100}}]
Command validation
Enable Options > Validate Command on Control or Multi-Command operations to check that your device supports the command before sending it. This makes an extra API call but gives a clear error message if the command isn't supported.
Rate Limits
The Govee API enforces rate limits:
- All APIs: 10,000 requests per day (lights/plugs/switches), 100 per day (appliances)
- Device List: 10 requests per minute
- Device Control / State: 10 requests per minute per device
Resources
Development
Prerequisites
- Node.js v18+
- A Govee Developer API Key (see Credentials)
Setup
git clone https://github.com/rwilson504/n8n-nodes-govee.git
cd n8n-nodes-govee
npm install
npm run buildAPI Key Configuration
- Copy the sample environment file:
cp .env.dev.sample .env.dev - Edit
.env.devand replaceyour-api-key-herewith your actual Govee API key. - The
.env.devfile is git-ignored so your key won't be committed.
Running Tests
# Run all tests
npm test
# Run only unit tests (no API key needed)
npm run test:unit
# Run integration tests (requires API key in .env.dev)
npm run test:integrationUnit tests validate utility functions like hexToRgb and don't require network access.
Integration tests call the real Govee API to verify endpoint structures, response fields, and authentication. They are automatically skipped if no API key is configured. Be mindful of rate limits — the Govee API allows 100 requests per day for appliances and 10 requests per minute for device list/control.
Linting
npm run lint
npm run lint:fixVersion history
0.2.0
- Dynamic device dropdowns — devices and appliances are loaded from your Govee account, no more copy-pasting MAC addresses
- Dynamic model selection — model auto-populates when you select a device
- Visual color picker — choose colors with a color picker instead of entering R/G/B values
- Color temperature range — min/max constrained to 2000–9000K with device-specific range info
- Get single device — new Get operation to retrieve one device by MAC address
- Multi-Command — send multiple commands to a device in sequence (e.g., turn on + brightness + color)
- Command validation — opt-in validation checks that your device supports the command before sending
- Dynamic appliance modes — mode dropdown loads available modes (Low, Medium, High, Sleep, etc.) from device capabilities
- Rate limit info — documented in node description for workflow planning
0.1.0
- Initial release
- Device resource: Get Many, Get State, Control (turn, brightness, color, color temperature)
- Appliance resource: Get Many, Control (turn, mode)
