{"id":22087462,"url":"https://github.com/technickai/teslabot","last_synced_at":"2025-07-10T07:05:20.581Z","repository":{"id":53848770,"uuid":"521462092","full_name":"TechNickAI/teslabot","owner":"TechNickAI","description":"🤖 for automating Tesla vehicles","archived":false,"fork":false,"pushed_at":"2025-06-11T15:50:19.000Z","size":215,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T17:12:52.505Z","etag":null,"topics":["python","tesla","tesla-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TechNickAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-05T01:11:36.000Z","updated_at":"2025-06-11T15:50:23.000Z","dependencies_parsed_at":"2023-02-18T00:45:43.714Z","dependency_job_id":"e5e4a491-b969-4c09-85b8-cebe1993de2c","html_url":"https://github.com/TechNickAI/teslabot","commit_stats":null,"previous_names":["technickai/teslabot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TechNickAI/teslabot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechNickAI%2Fteslabot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechNickAI%2Fteslabot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechNickAI%2Fteslabot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechNickAI%2Fteslabot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TechNickAI","download_url":"https://codeload.github.com/TechNickAI/teslabot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechNickAI%2Fteslabot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264545018,"owners_count":23625387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","tesla","tesla-api"],"created_at":"2024-12-01T02:05:44.146Z","updated_at":"2025-07-10T07:05:20.564Z","avatar_url":"https://github.com/TechNickAI.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeslaBot 🤖\n\nAutomating functionality for Tesla, using the same API the app uses via [Tessie](https://tessie.com/)\n\n[![Github Build](https://github.com/gorillamania/teslabot/actions/workflows/build.yml/badge.svg)](https://github.com/gorillamania/teslabot/actions?query=build)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![GitHub Super-Linter](https://github.com/gorillamania/teslabot/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)\n[![codecov](https://codecov.io/gh/gorillamania/teslabot/branch/master/graph/badge.svg?token=MPHAFA1QX9)](https://codecov.io/gh/gorillamania/teslabot)\n\nVarious automations can be performed based on time of day, location of the vehicle, and conditions of the car. Have an idea for a feature? [Submit a GitHub issue](https://github.com/gorillamania/teslabot/issues/new) to suggest a feature.\n\nOptional SMS notifications available via [Twilio](https://www.twilio.com/).\n\n\u003cimg width=\"524\" alt=\"Screen Shot 2022-08-12 at 1 40 17 PM\" src=\"https://user-images.githubusercontent.com/142708/184441792-82dbea01-bb19-418f-ae89-b6d843aa3489.png\"\u003e\n\n## Features\n\n### Auto Venting\n\nIt's hot out. Sun is streaming in. Interior temperatures can exceed 100°F, damaging the cars interior and making it uncomfortable when you get in. Tesla has a feature called Cabin Overheat Protection to cool down the cabin when it gets hot, but this uses up battery.\n\nYes, you can open the app to vent, but it's not ideal to have to remember to do it every time you park. It's also nice to only vent the windows when it is hot, not all the time.\n\nautovent solves this by allowing you to set a threshold for venting\n\n```text\nUsage: autovent.py [OPTIONS]\n\nOptions:\n  --vin TEXT                 Tesla VIN number to auto vent  [required]\n  --tessie-token TEXT        API access token for Tessie (see tessie.com)\n                             [required]\n  --vent-temp INTEGER RANGE  The threshold for when to roll up/down the\n                             windows, degrees in fahrenheit  [default: 70;\n                             0\u003c=x\u003c=135]\n  --notify-phone TEXT        Send a message to this phone number when the\n                             windows are moved\n  --help                     Show this message and exit.\n```\n\n### Off peak charging\n\nTesla's native off-peak scheduling sucks. It allows you to specify a \"start time\", but no end time, when in practicality you need to be able to specify a peak window, such as 4-9PM for PG\u0026E in Northern California, and have the charging stop during this window.\n\n```text\nUsage: peakoff.py [OPTIONS]\n\nOptions:\n  --vin TEXT                      Tesla VIN number to auto vent  [required]\n  --tessie-token TEXT             API access token for Tessie (see tessie.com)\n                                  [required]\n  --peak-start TEXT               When peak pricing starts, in military time.\n                                  Ex: 16:00  [required]\n  --peak-end TEXT                 When peak pricing ends, in military time.\n                                  Ex: 21:00  [required]\n  --low-battery-threshold INTEGER RANGE\n                                  Don't pause charging if the battery is below\n                                  this threshold  [default: 42; 0\u003c=x\u003c=100]\n  --notify-phone TEXT             Send a message to this phone number when the\n                                  charging is stopped/started\n  --help                          Show this message and exit.\n```\n\n## Development Environment\n\n* Python 3.11\n* [GitHub actions](https://github.com/features/actions) for CI/CD\n* [Super Linter](https://github.com/marketplace/actions/super-linter) for linting, including:\n  * [Black](https://black.readthedocs.io/en/stable/) for perfect python formatting\n  * [flake8](https://flake8.pycqa.org/en/latest/) for python linting\n  * [isort](https://pypi.org/project/isort/) for consistent imports\n* [pytest](https://docs.pytest.org/) for unit testing\n* [pre-commit](https://pre-commit.com/) to automate checks on commit\n\n`pip install -r requirements.txt` for production, [requirements-test.txt](requirements-test.txt) for testing/CI/CD, and [requirements-dev.txt](requirements-dev.txt) for local development.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnickai%2Fteslabot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechnickai%2Fteslabot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnickai%2Fteslabot/lists"}