Control strategy feedback for ChargeHQ replacement

Context: I live in Auckland, New Zealand and for several years, I have used Solar Analytics and ChargeHQ to manage charging my Tesla Model 3 from surplus solar energy. My Solar Analytics fell over when 3G phased out. Catch control claimed to replace it, but didn’t, so I learned a bit about Shelly EM50s and Home Assistant and implemented my own push-api feed to ChargeHQ. Now ChargeHQ is ceasing to exist, the most robust option is to extend my HA solution using Tesla Fleet api and Home Assistant.

I’d love some critique of my reasoning for: the cycle life of the HV contactor, the command rates for Tesla Fleet api and my proposed control strategies.

**1. My raw grid power (and current) data reveal many transient conditions, up and down. I censor these if they are too fast to accurately measure and I integrate them into obscurity if they are measurable but insignificant.

**2. The HV contactor is switching unloaded (you can see it slowly walk up and quickly walk down). I assume that such a relay has a 500,000-cycle mechanical life under these conditions. I want it to last for 20 x 365-day years, resulting in a budget of 68 cycles per day. If I assume 11-hours of potential solar charging each day, that requires a minimum 9.6-minute on-off-on cycle period.
I propose to enforce elapsed-time floors: once closed, the contactor can’t open for 6 minutes; once open, it can’t close for 15 minutes. No condition resets these timers early. The fastest open-close-open cycle will have a 21 minute period, providing a 220% margin on the assumed relay cycle life.

**3. The Tesla api provides $10 credit each month and limits commands to 30 per minute. From the portal, wakes are $0.02 each and command requests are $0.001 each. Most days I see fewer than 4 wake events, so I budget for 4 x 31 = 124 per month that will cost $2.48, leaving a command budget of $7.52 (7,520 commands). If those are spread over 31 x 11-hour days, I can send 22 commands per hour (2.7 minutes minimum command period).
I propose to enforce a minimum command cadence of 3 minutes. These cost assumptions can be monitored over time and cadence might be reduced if desired, by implementing a local BLE link to the car for current adjustment.

**4. Once charging, ongoing current adjustment reaction time is proposed to scale according to the integral of the difference between current output and what conditions now support, bounded by a 3-minute minimum and 15-minute maximum response time — so a small difference responds slowly and a large difference gets acted on more quickly.