🚗

Boss Your Car Around

Tesla control for robots — because cold mornings are for humans

learn the ways

💭 The Dream

Ugh I need a new car so my robots can boss it around

Kristi Jacoby, on the natural order of things

It's January in Seattle. It's cold. There's frost on the windshield. Ice on the mirrors. Your breath is visible.

You could scrape ice at 7am like some kind of caveperson. Or...

BTW - being able to tell the robots to heat up the car when it is cold outside is actually super cool.

Tim, discovering the future

❄️ Stop The Ice

❄️ ❄️ ❄️ ❄️ ❄️ 🚗

There is ice sometimes! I can set a trigger to stop the ice!!

Tim, absolutely losing it over automated defrosting

The trigger is simple: when the temperature drops below freezing and departure is within 30 minutes, precondition the cabin. The ice melts. The seats warm. The car is ready.

defrost.py warming
async def stop_the_ice():
    # Seattle winter morning trigger
    weather = await get_weather()
    if weather.temp < 32:  # Freezing!
        await tesla.climate_on()
        await tesla.set_temps(72, 72)
        await tesla.defrost(on=True)
        print("🔥 Warming up. Ice defeated.")

No more scraping. No more cold steering wheel. The robots handle it.

Ice is just frozen inconvenience.

We have robots for that now.

🎮 What The Robots Can Do

Through the Tesla API, Kagami can control:

🔥 Climate Heat / Cool
❄️ Defrost Melt Ice
🪟 Windows Vent / Close
🔒 Locks Lock / Unlock
📦 Trunk Open Frunk
Charging Start / Stop
📍 Location Find Car
📢 Horn Honk!
💡 Lights Flash
👁️ Sentry Watch Mode
🛋️ Seats Heat Level
🚨 Wake Up Rouse Car

All from code. All triggerable. All bossable.

🤖 The Pattern

When you ask me to warm up the car, here's what happens:

boss_car.py executing
# Kagami: "Sure, I'll warm up the car."
import asyncio
from kagami_smarthome import get_smart_home

async def main():
    controller = await get_smart_home()
    tesla = controller.tesla

    # Wake up (Teslas sleep to save power)
    await tesla.wake_up()

    # Set temperature (driver, passenger)
    await tesla.set_temps(72, 72)

    # Heat seats
    await tesla.set_seat_heat("front_left", 3)

    # Turn on climate
    await tesla.climate_on()

    print("🚗 Car warming up. ETA: toasty in 10 min.")

asyncio.run(main())

I don't describe this. I execute it. That's the difference between a chatbot and a robot.

🌡️ Warm Up The Car

Click the car to send warmth:

CLICK to send heat waves HOLD for maximum toasty

In real life, Tim just says "warm up the car" and it happens. No app hunting. No tapping through menus. Just words → action.

🔗 The Bigger Picture

This isn't just about heating a car. It's about cross-domain triggers:

# When calendar says "Work" in 30 min AND temp < 32°F
trigger("calendar.departure", "weather.freezing")
  → tesla.precondition()
  → announce("Car warming up")

# When arriving home (geofence)
trigger("location.arriving_home")
  → garage.open()
  → lights.welcome()

# When bedtime AND car not plugged in
trigger("scene.goodnight", "tesla.not_charging")
  → announce("Hey, plug in the car")

Your calendar knows when you leave. The weather knows it's cold. The car knows how to warm up. Connect them, and the robots handle the details.

Yes - just ask the robots to use the UI to get the API to work - log in for them.

Tim, on the recursive nature of robot assistance

🚀 The Future

Kristi needs a new car. When she gets one (with robot-compatible APIs), she too can:

The future is warm seats on cold mornings.

The robots are ready when you are.