ngardiner / TWCManager

Control power delivered by a Tesla Wall Charger using two wires screwed into its RS-485 terminals.
The Unlicense
133 stars 55 forks source link

Fix stopAskingToStartCharging behaviour #589

Open RichieB2B opened 5 months ago

RichieB2B commented 5 months ago

See discussion in #575

2nd fix: set stopAskingToStartCharging when a vehicle is not at home so it is allowed to sleep remotely.

MikeBishop commented 5 months ago

Does setting this while not at home produce an actual behavior change? The lines as originally written will skip any car that's not at home already. Though since the car will attempt to charge when plugged in anyway, I suspect we don't lose anything by setting it here, either.

RichieB2B commented 5 months ago

The change in behavior is that TWCManager stops trying to start a charge a car that is not at home. Right now it keeps polling the vehicle_data every minute, determines the location is not home, skips the car. Repeat.

I don't expect a change in the actual charges because stopAskingToStartCharging is reset when a car arrives home. And the charge will start when plugging in as you mentioned.

RichieB2B commented 5 months ago

3rd fix: set vehicle lastErrorTime at 429 in wakeVehicle() 4th fix: increase cacheTime to 300 for vehicle_data

MikeBishop commented 5 months ago

This may interact with #571's statusDeferral, which reduces vehicle status checking to every hour if it's far away from home, and every half-hour if it's nearby but not actually driving. That said, assuming the vehicle will get plugged in upon arrival home and trigger a location update, completely muting vehicle_data checks when the car is away from home may be the more conservative solution.

RichieB2B commented 5 months ago

5th fix: set carApiLastErrorTime at 429 in get_car_api()

Hopefully this all is enough to stay within the free API tier limits.

RichieB2B commented 5 months ago

That said, assuming the vehicle will get plugged in upon arrival home and trigger a location update, completely muting vehicle_data checks when the car is away from home may be the more conservative solution.

I'm running the code in this PR since yesterday. My wife's MS started charging upon plugging in, my MY did not. Had to manually start the charge. Not good. The dashboard said "charging stopped" but there was no stop command in the TWCManager logs (simply no session start either). I'll keep testing this code.. my understanding is that a Tesla will always just start charing when plugged into a live charger. Might be a fluke. Otherwise #571 is a nice solution indeed.