@teslemetry/node-red-contrib-teslemetry
Advanced tools
+11
-4
| { | ||
| "name": "@teslemetry/node-red-contrib-teslemetry", | ||
| "version": "0.1.2", | ||
| "description": "Node-RED integration for Teslemetry", | ||
| "version": "0.1.3", | ||
| "description": "Node-RED nodes for controlling Tesla vehicles and energy sites via Teslemetry API", | ||
| "main": "dist/index.cjs", | ||
@@ -12,3 +12,10 @@ "engines": { | ||
| "tesla", | ||
| "teslemetry" | ||
| "teslemetry", | ||
| "automation", | ||
| "vehicle", | ||
| "energy", | ||
| "powerwall", | ||
| "solar", | ||
| "iot", | ||
| "smart-home" | ||
| ], | ||
@@ -48,3 +55,3 @@ "author": { | ||
| "tsdown": "^0.16.7", | ||
| "@teslemetry/api": "0.2.1" | ||
| "@teslemetry/api": "0.6.8" | ||
| }, | ||
@@ -51,0 +58,0 @@ "scripts": { |
+134
-10
| # Node-RED Teslemetry Integration | ||
| Node-RED nodes for interacting with Tesla vehicles and energy sites via [Teslemetry](https://teslemetry.com). | ||
| [](https://www.npmjs.com/package/@teslemetry/node-red-contrib-teslemetry) | ||
| [](https://opensource.org/licenses/Apache-2.0) | ||
| Node-RED nodes for controlling Tesla vehicles and energy sites via the [Teslemetry](https://teslemetry.com) API. | ||
| ## Features | ||
| - 🚗 **Vehicle Control**: Lock/unlock, climate, charging, navigation, and more | ||
| - ⚡ **Energy Management**: Monitor and control Powerwall and Solar systems | ||
| - 📡 **Real-Time Events**: React to vehicle state changes via Server-Sent Events | ||
| - 🎯 **Signal Monitoring**: Track specific vehicle data fields (speed, battery, etc.) | ||
| - 🔄 **Full API Coverage**: Access all Teslemetry API features | ||
| ## Installation | ||
| Local installation (for development): | ||
| ### From npm (Recommended) | ||
| Navigate to your Node-RED user directory (usually `~/.node-red`) and install: | ||
| ```bash | ||
| cd ~/.node-red | ||
| npm install @teslemetry/node-red-contrib-teslemetry | ||
| ``` | ||
| Then restart Node-RED. | ||
| ### From Node-RED Palette Manager | ||
| 1. Open Node-RED in your browser | ||
| 2. Go to **Menu** → **Manage palette** | ||
| 3. Click the **Install** tab | ||
| 4. Search for `@teslemetry/node-red-contrib-teslemetry` | ||
| 5. Click **Install** | ||
| ### Local Development | ||
| ```bash | ||
| cd ~/.node-red | ||
| npm install /path/to/packages/node-red-contrib-teslemetry | ||
| ``` | ||
| ## Prerequisites | ||
| 1. **Teslemetry Account**: Sign up at [teslemetry.com](https://teslemetry.com) | ||
| 2. **Access Token**: Generate an API access token from your Teslemetry dashboard | ||
| 3. **Tesla Virtual Key**: Configure virtual key access for your vehicle(s) | ||
| ## Configuration | ||
| 1. Drag a Teslemetry node onto your flow | ||
| 2. Double-click to edit and add a new **Teslemetry Config** | ||
| 3. Enter your Teslemetry access token | ||
| 4. Save and deploy | ||
| ## Nodes | ||
@@ -57,7 +100,18 @@ | ||
| - **VIN**: Filter events for a specific vehicle (optional). | ||
| - **Event Type**: The type of event to listen for (e.g., `vehicle_data`, `state`, `alerts`). | ||
| - **Event Type**: The type of event to listen for. | ||
| **Event Types:** | ||
| - **all**: Stream all events | ||
| - **data**: Real-time telemetry data updates | ||
| - **state**: State changes (online/asleep/charging) | ||
| - **vehicle_data**: Full vehicle data snapshots | ||
| - **errors**: Vehicle error events | ||
| - **alerts**: Vehicle alerts and notifications | ||
| - **connectivity**: Connection status changes | ||
| - **credits**: API credit usage updates | ||
| - **config**: Configuration changes | ||
| **Outputs:** | ||
| - `msg.payload`: The event data object. | ||
| - `msg.topic`: The event type. | ||
| - `msg.payload`: The event data object | ||
| - `msg.topic`: The event type | ||
@@ -68,8 +122,78 @@ ### teslemetry-signal | ||
| **Configuration:** | ||
| - **VIN**: The vehicle to monitor. | ||
| - **Field**: The specific signal field to listen for (e.g., `speed`, `odometer`). | ||
| - **VIN**: The vehicle to monitor | ||
| - **Field**: The specific signal field to listen for (e.g., `speed`, `odometer`, `battery_level`) | ||
| **Outputs:** | ||
| - `msg.payload`: The new value of the signal. | ||
| - `msg.topic`: `signal`. | ||
| - `msg.field`: The name of the field. | ||
| - `msg.payload`: The new value of the signal | ||
| - `msg.topic`: `signal` | ||
| - `msg.field`: The name of the field | ||
| ## Usage Examples | ||
| ### Example 1: Lock Vehicle When Leaving Home | ||
| 1. Add a **geofence** or **location** trigger node | ||
| 2. Add a **function** node to set `msg.command = "lockDoors"` | ||
| 3. Add a **teslemetry-vehicle-command** node with your VIN configured | ||
| 4. Connect them together | ||
| ### Example 2: Start Climate Control on Schedule | ||
| 1. Add an **inject** node configured for your departure time | ||
| 2. Add a **teslemetry-vehicle-command** node | ||
| 3. Set Command to **Start HVAC** | ||
| 4. Set temperatures using **setTemps** with `msg.driver_temp` and `msg.passenger_temp` | ||
| ### Example 3: Monitor Charging and Send Notifications | ||
| 1. Add a **teslemetry-event** node | ||
| 2. Set Event Type to **data** | ||
| 3. Add a **function** node to filter charging-related updates | ||
| 4. Add an **email** or **pushover** node for notifications | ||
| 5. Send alert when charging completes | ||
| ### Example 4: Alert on Low Battery | ||
| 1. Add a **teslemetry-signal** node | ||
| 2. Set Field to `battery_level` | ||
| 3. Add a **switch** node to check if value < 20 | ||
| 4. Add notification node (email/SMS/Pushover) | ||
| ## Available Vehicle Commands | ||
| - **Get Vehicle Data**: Retrieves comprehensive vehicle information | ||
| - **Wake Up**: Wakes up the vehicle from sleep | ||
| - **Flash Lights**: Flashes the headlights | ||
| - **Honk Horn**: Honks the horn | ||
| - **Lock/Unlock Doors**: Controls door locks | ||
| - **Remote Start**: Enables keyless driving | ||
| - **Actuate Trunk**: Opens/closes front or rear trunk | ||
| - **Climate Control**: Start/stop HVAC, set temps, seat heaters, steering wheel heater | ||
| - **Charging**: Start/stop, open/close port, set limit, set amps | ||
| - **Sentry Mode**: Enable/disable Sentry Mode | ||
| - **Homelink**: Trigger Homelink at specific coordinates | ||
| - **Navigation**: Send destination to vehicle navigation | ||
| ## Available Energy Commands | ||
| - **Get Live Status**: Live power usage details | ||
| - **Get Site Info**: Configuration and site details | ||
| - **Set Backup Reserve**: Set battery reserve percentage | ||
| - **Set Operation Mode**: Self Consumption, Backup, or Autonomous | ||
| - **Set Storm Mode**: Enable/disable Storm Mode | ||
| - **Grid Import/Export**: Configure grid export rules (Everything, Solar Only, Nothing) | ||
| - **Off-Grid Reserve**: Set vehicle charging reserve for off-grid operation | ||
| ## Resources | ||
| - **Teslemetry Documentation**: https://teslemetry.com/docs | ||
| - **API Reference**: https://developer.teslemetry.com | ||
| - **Support**: https://github.com/Teslemetry/typescript-teslemetry/issues | ||
| ## License | ||
| Apache-2.0 License - see [LICENSE](LICENSE) file for details | ||
| ## Contributing | ||
| Contributions are welcome! Please see the [main repository](https://github.com/Teslemetry/typescript-teslemetry) for contribution guidelines. |
Sorry, the diff of this file is too big to display
188367
7.33%5854
3.85%198
167.57%