TWCManager decides how fast your cars may charge, from your solar generation, your house's consumption, your schedule and your wiring limits, and then has your charging stations and cars follow that decision.
You can combine any of the following. Any one is enough to start with, and each one you add makes TWCManager work better. We recommend at least one way to command each car and one way to hear from it.
- Charging stations (EVSEs)
- Gen2 Tesla Wall Connectors, over their RS-485 load-sharing bus. TWCManager takes the master's place and sets each Wall Connector's current.
- Gen3 Tesla Wall Connectors, over RS-485, by emulating the Neurio energy meter they read (1.4.0). You can run Gen3 units without any Gen2 (1.4.1); they still need their own RS-485 adapter.
- Car-side control of unmanaged EVSEs -- Tesla UMC, third-party, etc. (1.4.0). TWCManager sets the car's own charge rate instead.
- Ways to command the car (start and stop charging, set the charge rate and charge limit, wake it)
- Bluetooth (TeslaBLE): free and local, for cars in range. No Tesla account needed.
- Tesla Fleet API: Tesla bills each command, and you need the Vehicle Command proxy.
- Tesla Owner API: free, but it commands only the cars Tesla lists with
command_signing: off. It is deprecated by Tesla and may stop working without notice, so don't rely on it alone: pair Bluetooth or set up the Fleet API as well. - Home Assistant's Tesla Fleet integration, billed like the Fleet API.
- Ways to hear from the car (whether it is home, plugged in, charging or asleep)
- TeslaMate or Fleet Telemetry: they report each change as it happens. TeslaMate normally reads cars through the Owner API, which is deprecated by Tesla and may stop working without notice; Fleet Telemetry doesn't depend on it.
- Bluetooth, Home Assistant or the Tesla API, which TWCManager asks when it needs to. Tesla API reads are free on the Owner API (deprecated by Tesla; it may stop working without notice) and billed on the Fleet API.
What you go without if you leave one out:
- No Wall Connector: TWCManager still sets the charge rate of a car on a Tesla UMC or another brand of charging station through the car itself (the Tesla API; Bluetooth and Home Assistant from 1.4.1), and notices it arriving, plugging in, charging and leaving (1.4.1). Without a Wall Connector or Bluetooth, TWCManager can't learn where home is: set it on the Settings page.
- No TeslaMate or Fleet Telemetry: TWCManager checks on each car without waking it, and reads it only when something changes. On the Fleet API those reads cost about $0.01 a day per car, within a monthly budget you can set.
- No way to command the car: TWCManager can only set the current a Wall Connector offers. It can't set a charge limit, and it can stop a car only through the Wall Connector; on a Gen2 that means methods a Tesla tolerates only a few times per session (see Stop Charging Method).
Supported setups has more detail on each combination.
An energy source (EMS module), such as your solar inverter or energy meter, is optional:
- Without an EMS: Scheduled Charging, Charge Now and the Non-Scheduled charge rate all work, but there is no solar charging.
- With an EMS: Track Green Energy charges from your solar generation. If the EMS also reads your house's consumption, charging uses only the surplus,
maxAmpsAllowedFromGridcan cap what charging draws from the grid,subtractChargerLoadkeeps the cars' own charging from counting as house load, and TWCManager can notice a car starting or stopping on a charging station it doesn't control (1.4.1).
Read the full list of features.
All installation and configuration documentation (Physical and Software) is contained in the documentation repository here
To enable TWCManager to gather the solar generation information that it requires to adjust the charging rate, we provide Interfaces to allow information to be retrieved (EMS Interfaces) and Interfaces to allow us to provide information to external systems to inform them of current charging output and number of cars currently charging.
| Platform | Details |
|---|---|
| Gen2 TWCs | Controls Gen2 Wall Connectors over an RS-485 adapter |
| Gen3 TWCs | Controls Gen3 Wall Connectors over an RS-485 adapter, by emulating their Neurio meter (1.4.0) |
| Platform | Details |
|---|---|
| HTTPControl | Allows control via embedded HTTP server (with RESTful API interface) |
| MQTTControl | Allows control via MQTT |
| WebIPCControl | Allows control via external scripts (sysv IPC) |
EMS Interfaces read solar generation and/or consumption values from an external system. If you enable more than one, TWCManager adds up their generation figures and their consumption figures, so each should measure something different. Current EMS interfaces are:
| Platform | Status | Details |
|---|---|---|
| Dutch SmartMeter | In Development | Supports DSMR Serial Protocol |
| DSMR-reader | Available | Supports DSM Reader via MQTT |
| Efergy | Available | Supports Efergy Pro Sensors |
| Enphase | Available | Supports Enphase Enlighten API |
| Fronius Inverter | Available | Supports Fronius Inverter API |
| Growatt | Available | Support for Growatt Battery systems |
| HomeAssistant | Available | Supports HomeAssistant sensors |
| IoTaWatt | Available | Supports Iotawatt outputs |
| Kostal (Pico/Plenticore) | Available | Support for Kostal Inverters via ModBus |
| Open Energy Monitor | Available | Support Open Energy Monitor integration |
| openHAB | Available | Supports openHAB items |
| OpenWeatherMap | Available | Supports OpenWeatherMap forecast-based tracking where inverter EMS is not available. |
| P1 Monitor | Available | Supports P1 Monitor (Energy Monitoring tool for Pi) |
| SmartMe | Available | Support for smart-me.com API |
| SmartPi | Available | Support for SmartPi Smart Meter |
| SolarEdge | Available | Support for SolarEdge API |
| SolarLog | Available | Supports SolarLog Base API |
| Tesla Powerwall2 | Available | Support for Tesla Powerwall 2 |
| The Energy Detective | Available | Support for TED (The Energy Detective) |
| URL | Available | Support for URL based generation/consumption values (eg Node-RED) |
| Volkszähler | Available | Support for Volkszahler |
Logging interfaces allow recording of statistics and values such as Green Energy data, Slave TWC status and Voltage and Amperage data to various interfaces.
This can be useful if you would like to track charger activity and use it for graphing or statistics purposes.
| Module | Details |
|---|---|
| Console | Print output to console |
| CSV | Log data to CSV files |
| Files | Log data to a log files |
| MySQL | Log data to a MySQL Database |
| Sentry | Log data to a Sentry project |
| SQLite | Log data to a SQLite Database |
Status interfaces publish TWCManager status information to external systems. Current Status interfaces are:
| Platform | Details |
|---|---|
| [HomeAssistant] | Deprecated, please use the MQTT status with Home Assistant autodiscovery |
| MQTT | Publishes MQTT topics to monitor TWCManager State |
| Platform | Details |
|---|---|
| TeslaAPI | Commands and reads through the Tesla Fleet API, and the Owner API (deprecated by Tesla) |
| TeslaBLE | Commands and reads over Bluetooth Low Energy, free and local |
| TeslaMate | Live telemetry from TeslaMate (which normally uses the deprecated Owner API), and Tesla API token sync |
| Fleet Telemetry | Live telemetry from a Tesla Fleet Telemetry server over MQTT |
| Home Assistant | Commands and reads through Home Assistant's Tesla Fleet integration |
The Vehicles page shows every car TWCManager knows and what it is doing with each.
It is important to read and understand the following warnings before using this tool:
- Misuse of the protocol described in this software can direct a Tesla Wall Charger to supply more current to a car than the charger wiring was designed for.
- This will trip a circuit breaker or may start a fire in the unlikely event that the circuit breaker fails.
- This software was not written or designed with the benefit of information from Tesla and there is always a small possibility that some unforeseen aspect of its operation could damage a Tesla vehicle or a Tesla Wall Charger.
- All efforts have been made to avoid such damage and this software is in active use on the author's own vehicle and TWC.
- In short, USE THIS SOFTWARE AT YOUR OWN RISK.
- Due to hardware limitations, TWCManager will not work with Tesla's older High Power Wall Connectors (HPWCs) that were discontinued around April 2016.
- Gen3 Wall Connectors are controlled indirectly and do not report a VIN. See Gen3 status.
- Original TWCManager distribution by cdragon
- The effort by @cdragon cannot be understated, if you would like to read more about the intense hardware hacking that was done to make this project a reality, read this thread.
- Integrated improvements from flodom's TWCManager fork.
- Support for multiple vehicles on multiple chargers
- Support for publishing status to MQTT topics

