What are integrations about?
VineyardElf doesn’t work in isolation - it connects to your devices and external services:
- Weather stations send temperature data
- OpenSprinkler lets you control irrigation
- Open-Meteo provides forecasts
This section explains how it works under the hood and how you can extend the system with your own integrations.
Built-in integrations
Weather stations
| Manufacturer | How to connect |
|---|---|
| Ecowitt | API key from ecowitt.net |
| Davis | WeatherLink API |
| Netatmo | OAuth login |
| Open-Meteo | No configuration (automatic) |
Configuration: Settings > Integrations > Weather stations
Irrigation
| System | How to connect |
|---|---|
| OpenSprinkler | IP address + password |
| Gardena | SmartSystem account |
| Hunter Hydrawise | API key |
Configuration: Settings > Integrations > Irrigation
Image analysis
| Service | Use case |
|---|---|
| Roboflow | Disease detection on photos |
Configuration: Settings > Integrations > Machine Vision
VineyardElf API
Want to build your own app or integrate VineyardElf with another system? We have a REST API!
How to get access?
- Go to Settings > API > Tokens
- Click “New token”
- Give it a name and permissions
- Copy the token (it’s shown only once!)
How to use it?
Add the token to the header of every request:
Authorization: Bearer YOUR_TOKEN
Examples
Get current weather:
GET /api/v1/weather/current
Get disease risk:
GET /api/v1/diseases/risk
Start an irrigation zone:
POST /api/v1/zones/1/run?duration=300
Get alerts:
GET /api/v1/alerts
Full API documentation: Settings > API > Documentation
Webhooks - VineyardElf calls you
Want the system to notify your service about events? Use webhooks!
How to set it up?
- Go to Settings > Integrations > Webhooks
- Click “Add webhook”
- Enter the URL of your service
- Select the events that should trigger the webhook
- Save
Which events?
-
frost_alert- frost warning -
disease_risk_high- high disease risk -
zone_started- irrigation turned on -
zone_stopped- irrigation turned off -
sensor_offline- a sensor stopped responding
Payload format
{
"event": "frost_alert",
"timestamp": "2024-04-15T03:00:00Z",
"data": {
"temperature": -1.5,
"zone": "Riesling North"
}
}
Advanced integrations
MQTT
For IoT systems we support the MQTT protocol. Configure it in Settings > Integrations > MQTT.
Panel Reader
Have a device without an official API? Panel Reader pulls data from its web interface. See: Reading device panels.
Need help?
Not sure how to integrate your device? Write to us at [email protected] - we’ll help!