Node Red

Vehicle Commands

Control your Tesla vehicle with Node-RED

Vehicle Command Node

The teslemetry-vehicle-command node allows you to send commands to your Tesla vehicle.

Node Configuration

PropertyDescription
Teslemetry ConfigSelect your Teslemetry configuration node
VINThe vehicle's VIN (can be overridden via msg.vin)
CommandThe command to execute (can be overridden via msg.command)

Available Commands

CommandDescriptionRequired Parameters
vehicleDataGet current vehicle data-
wakeUpWake the vehicle from sleep-
flashLightsFlash the vehicle's lights-
honkHornHonk the vehicle's horn-
lockDoorsLock all doors-
unlockDoorsUnlock all doors-
actuateTrunkRearOpen/close rear trunk-
actuateTrunkFrontOpen frunk-
startAutoConditioningStart climate control-
stopAutoConditioningStop climate control-
setTempsSet cabin temperaturemsg.driver_temp, msg.passenger_temp
setSeatHeaterSet seat heater levelmsg.seat, msg.level (0-3)
setSteeringWheelHeaterOnTurn on steering wheel heater-
setSteeringWheelHeaterOffTurn off steering wheel heater-
startChargingStart charging-
stopChargingStop charging-
openChargePortOpen charge port door-
closeChargePortClose charge port door-
setChargeLimitSet charge limitmsg.percent (0-100)
setChargingAmpsSet charging currentmsg.amps (5-48)
setSentryModeOnEnable sentry mode-
setSentryModeOffDisable sentry mode-
remoteStartEnable keyless driving-
triggerHomelinkTrigger Homelinkmsg.lat, msg.lon
navigationRequestSend navigation destinationmsg.value

Seat Heater Values

For the setSeatHeater command, the msg.seat parameter accepts:

  • front_left
  • front_right
  • rear_left
  • rear_center
  • rear_right
  • third_row_left
  • third_row_right

Example Flow

[
  {
    "id": "inject-node",
    "type": "inject",
    "name": "Lock Car",
    "payload": "",
    "wires": [["command-node"]]
  },
  {
    "id": "command-node",
    "type": "teslemetry-vehicle-command",
    "name": "Lock Doors",
    "vin": "5YJ3E1EA1KF000000",
    "command": "lockDoors",
    "wires": [["debug-node"]]
  }
]

Dynamic Commands

You can override the VIN and command at runtime by setting msg.vin and msg.command:

msg.vin = "5YJ3E1EA1KF000000";
msg.command = "setChargeLimit";
msg.percent = 80;
return msg;