@@ -46,6 +46,9 @@ String mqtt_pass;
4646String mqtt_solar;
4747String mqtt_grid_ie;
4848String mqtt_vrms;
49+ String mqtt_vehicle_soc;
50+ String mqtt_vehicle_range;
51+ String mqtt_vehicle_eta;
4952String mqtt_announce_topic;
5053
5154// OCPP 1.6 Settings
@@ -70,9 +73,12 @@ double divert_decay_smoothing_factor;
7073uint32_t divert_min_charge_time;
7174
7275// Tesla Client settings
73- String tesla_username;
74- String tesla_password;
75- int tesla_vehidx;
76+ String tesla_access_token;
77+ String tesla_refresh_token;
78+ uint64_t tesla_created_at;
79+ uint64_t tesla_expires_in;
80+
81+ String tesla_vehicle_id;
7682
7783#if RGB_LED
7884uint8_t led_brightness;
@@ -116,6 +122,9 @@ ConfigOpt *opts[] =
116122 new ConfigOptDefenition<String>(mqtt_solar, " " , " mqtt_solar" , " mo" ),
117123 new ConfigOptDefenition<String>(mqtt_grid_ie, " emon/emonpi/power1" , " mqtt_grid_ie" , " mg" ),
118124 new ConfigOptDefenition<String>(mqtt_vrms, " emon/emonpi/vrms" , " mqtt_vrms" , " mv" ),
125+ new ConfigOptDefenition<String>(mqtt_vehicle_soc, " " , " mqtt_vehicle_soc" , " mc" ),
126+ new ConfigOptDefenition<String>(mqtt_vehicle_range, " " , " mqtt_vehicle_range" , " mr" ),
127+ new ConfigOptDefenition<String>(mqtt_vehicle_eta, " " , " mqtt_vehicle_eta" , " met" ),
119128 new ConfigOptDefenition<String>(mqtt_announce_topic, " openevse/announce/" +ESPAL.getShortId (), " mqtt_announce_topic" , " ma" ),
120129
121130// OCPP 1.6 Settings
@@ -134,9 +143,11 @@ ConfigOpt *opts[] =
134143 new ConfigOptDefenition<uint32_t >(divert_min_charge_time, (10 * 60 ), " divert_min_charge_time" , " dt" ),
135144
136145// Tesla client settings
137- new ConfigOptDefenition<String>(tesla_username, " " , " tesla_username" , " tu" ),
138- new ConfigOptSecret (tesla_password, " " , " tesla_password" , " tp" ),
139- new ConfigOptDefenition<int >(tesla_vehidx, -1 , " tesla_vehidx" , " ti" ),
146+ new ConfigOptSecret (tesla_access_token, " " , " tesla_access_token" , " tat" ),
147+ new ConfigOptSecret (tesla_refresh_token, " " , " tesla_refresh_token" , " trt" ),
148+ new ConfigOptDefenition<uint64_t >(tesla_created_at, -1 , " tesla_created_at" , " tc" ),
149+ new ConfigOptDefenition<uint64_t >(tesla_expires_in, -1 , " tesla_expires_in" , " tx" ),
150+ new ConfigOptDefenition<String>(tesla_vehicle_id, " " , " tesla_vehicle_id" , " ti" ),
140151
141152#if RGB_LED
142153// LED brightness
@@ -152,9 +163,10 @@ ConfigOpt *opts[] =
152163 new ConfigOptVirtualBool (flagsOpt, CONFIG_MQTT_ALLOW_ANY_CERT, 0 , " mqtt_reject_unauthorized" , " mru" ),
153164 new ConfigOptVirtualBool (flagsOpt, CONFIG_SERVICE_OHM, CONFIG_SERVICE_OHM, " ohm_enabled" , " oe" ),
154165 new ConfigOptVirtualBool (flagsOpt, CONFIG_SERVICE_SNTP, CONFIG_SERVICE_SNTP, " sntp_enabled" , " se" ),
155- new ConfigOptVirtualBool (flagsOpt,CONFIG_SERVICE_TESLA,CONFIG_SERVICE_TESLA, " tesla_enabled" , " te" ),
166+ new ConfigOptVirtualBool (flagsOpt, CONFIG_SERVICE_TESLA, CONFIG_SERVICE_TESLA, " tesla_enabled" , " te" ),
156167 new ConfigOptVirtualBool (flagsOpt, CONFIG_SERVICE_DIVERT, CONFIG_SERVICE_DIVERT, " divert_enabled" , " de" ),
157168 new ConfigOptVirtualBool (flagsOpt, CONFIG_PAUSE_USES_DISABLED, CONFIG_PAUSE_USES_DISABLED, " pause_uses_disabled" , " pd" ),
169+ new ConfigOptVirtualBool (flagsOpt, CONFIG_VEHICLE_RANGE_MILES, CONFIG_VEHICLE_RANGE_MILES, " mqtt_vehicle_range_miles" , " mvru" ),
158170 new ConfigOptVirtualBool (flagsOpt, CONFIG_SERVICE_OCPP, CONFIG_SERVICE_OCPP, " ocpp_enabled" , " ope" ),
159171 new ConfigOptVirtualBool (flagsOpt, CONFIG_OCPP_ACCESS_SUSPEND, CONFIG_OCPP_ACCESS_SUSPEND, " ocpp_suspend_evse" , " ops" ),
160172 new ConfigOptVirtualBool (flagsOpt, CONFIG_OCPP_ACCESS_ENERGIZE, CONFIG_OCPP_ACCESS_ENERGIZE, " ocpp_energize_plug" , " opn" ),
@@ -218,12 +230,10 @@ void config_changed(String name)
218230 DBUGVAR (config_divert_enabled ());
219231 DBUGVAR (config_charge_mode ());
220232 divertmode_update ((config_divert_enabled () && 1 == config_charge_mode ()) ? DIVERT_MODE_ECO : DIVERT_MODE_NORMAL);
221- } else if (name == " tesla_username" ) {
222- teslaClient.setUser (tesla_username.c_str ());
223- } else if (name == " tesla_password" ) {
224- teslaClient.setPass (tesla_password.c_str ());
225- } else if (name == " tesla_vehidx" ) {
226- teslaClient.setVehicleIdx (tesla_vehidx);
233+ } else if (name == " tesla_vehicle_id" ) {
234+ teslaClient.setVehicleId (tesla_vehicle_id);
235+ } else if (name.startsWith (" tesla_" )) {
236+ teslaClient.setCredentials (tesla_access_token, tesla_refresh_token, tesla_created_at, tesla_expires_in);
227237#if RGB_LED
228238 } else if (name == " led_brightness" ) {
229239 ledManager.setBrightness (led_brightness);
0 commit comments