npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@teslemetry/node-red-contrib-teslemetry

v0.2.1

Published

Node-RED nodes for controlling Tesla vehicles and energy sites via Teslemetry API

Downloads

56

Readme

Node-RED Teslemetry Integration

npm version License

Node-RED nodes for controlling Tesla vehicles and energy sites via the Teslemetry 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

From npm (Recommended)

Navigate to your Node-RED user directory (usually ~/.node-red) and install:

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 MenuManage palette
  3. Click the Install tab
  4. Search for @teslemetry/node-red-contrib-teslemetry
  5. Click Install

Local Development

cd ~/.node-red
npm install /path/to/packages/node-red-contrib-teslemetry

Prerequisites

  1. Teslemetry Account: Sign up at 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

teslemetry-config

Configuration node to store your Teslemetry Access Token.

teslemetry-vehicle-command

Send commands to a specific vehicle or retrieve vehicle data.

Configuration:

  • VIN: Select a vehicle or leave empty to use msg.vin.
  • Command: Select a command or leave empty to use msg.command.

Inputs:

  • msg.vin (string): VIN of the vehicle (if not configured).
  • msg.command (string): Command to execute (if not configured).
  • msg.driver_temp (number): Driver temperature for setTemps.
  • msg.passenger_temp (number): Passenger temperature for setTemps.
  • msg.seat (string): Seat position for setSeatHeater (e.g., front_left).
  • msg.level (number): Heat level (0-3) for setSeatHeater.
  • msg.percent (number): Charge limit percentage for setChargeLimit.
  • msg.amps (number): Charging amps for setChargingAmps.
  • msg.lat (number): Latitude for triggerHomelink.
  • msg.lon (number): Longitude for triggerHomelink.
  • msg.value (string): Address or text for navigationRequest.

teslemetry-energy-command

Send commands to a Tesla Energy Site or retrieve site status.

Configuration:

  • Site ID: Select a site or leave empty to use msg.siteId.
  • Command: Select a command or leave empty to use msg.command.

Inputs:

  • msg.siteId (number): Energy Site ID (if not configured).
  • msg.command (string): Command to execute (if not configured).
  • msg.percentage (number): Backup reserve percentage for setBackupReserve.
  • msg.percent (number): Off-grid reserve percentage for setOffGridVehicleChargingReserve.

teslemetry-event

Listen for real-time Server-Sent Events (SSE) from Teslemetry.

Configuration:

  • VIN: Filter events for a specific vehicle (optional).
  • 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

teslemetry-signal

Listen for specific signal changes from a vehicle.

Configuration:

  • 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

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 file for details

Contributing

Contributions are welcome! Please see the main repository for contribution guidelines.