fixing typo and some small things

adding README info of commands with documentation
This commit is contained in:
Tobias Lindberg
2021-03-09 22:02:48 +01:00
parent 876e06d68b
commit c88e0fa6f8
3 changed files with 34 additions and 6 deletions
+26
View File
@@ -13,6 +13,7 @@ TeslaMateApi is a RESTful API to get data collected by self-hosted data logger *
- Written in **[Golang](https://golang.org/)**
- Data is collected from TeslaMate **Postgres** database and local **MQTT** Broker
- Endpoints return data in JSON format
- Send commands to your Tesla through the TeslaMateApi
### Table of Contents
@@ -108,6 +109,28 @@ Basically the same environment variables for the database, mqqt and timezone nee
- **MQTT_NAMESPACE** string *(default: )*
- **MQTT_SLEEPTIME** integer *(default: 100)*
**Commands** environment variables
- **ENABLE_COMMANDS** boolean *(default: false)*
- **COMMANDS_ALL** boolean *(default: false)*
- **COMMANDS_ALLOWLIST** string *(default: allow_list.json)*
- **COMMANDS_WAKE** boolean *(default: false)*
- **COMMANDS_ALERT** boolean *(default: false)*
- **COMMANDS_REMOTESTART** boolean *(default: false)*
- **COMMANDS_HOMELINK** boolean *(default: false)*
- **COMMANDS_SPEEDLIMIT** boolean *(default: false)*
- **COMMANDS_VALET** boolean *(default: false)*
- **COMMANDS_SENTRYMODE** boolean *(default: false)*
- **COMMANDS_DOORS** boolean *(default: false)*
- **COMMANDS_TRUNK** boolean *(default: false)*
- **COMMANDS_WINDOWS** boolean *(default: false)*
- **COMMANDS_SUNROOF** boolean *(default: false)*
- **COMMANDS_CHARGING** boolean *(default: false)*
- **COMMANDS_CLIMATE** boolean *(default: false)*
- **COMMANDS_MEDIA** boolean *(default: false)*
- **COMMANDS_SHARING** boolean *(default: false)*
- **COMMANDS_SOFTWAREUPDATE** boolean *(default: false)*
## API documentation
More detailed documentation of every endpoint will come..
@@ -118,10 +141,13 @@ More detailed documentation of every endpoint will come..
- GET `/api/v1/cars/:CarID`
- GET `/api/v1/cars/:CarID/charges`
- GET `/api/v1/cars/:CarID/charges/:ChargeID`
- GET `/api/v1/cars/:CarID/command`
- POST `/api/v1/cars/:CarID/command/:Command`
- GET `/api/v1/cars/:CarID/drives`
- GET `/api/v1/cars/:CarID/drives/:DriveID`
- GET `/api/v1/cars/:CarID/status`
- GET `/api/v1/cars/:CarID/updates`
- POST `/api/v1/cars/:CarID/wake_up`
- GET `/api/v1/globalsettings`
- GET `/api/ping`
+4 -2
View File
@@ -43,7 +43,9 @@ func TeslaMateAPICarsCommandV1(c *gin.Context) {
CarID = convertStringToInteger(ParamCarID)
}
// validating that CarID is not zero
if CarID == 0 {
log.Println("[error] TeslaMateAPICarsCommand CarID is invalid (zero)!")
c.JSON(http.StatusBadRequest, gin.H{"error": "CarID invalid"})
return
}
@@ -159,7 +161,7 @@ func getCommandToken() string {
func getAllowList() []string {
var allowAll bool = getEnvAsBool("COMMANDS_ALL", false)
allowAll := getEnvAsBool("COMMANDS_ALL", false)
// https://tesla-api.timdorr.com/vehicle/commands/wake
if getEnvAsBool("COMMANDS_WAKE", false) || allowAll {
@@ -224,7 +226,7 @@ func getAllowList() []string {
}
// https://tesla-api.timdorr.com/vehicle/commands/sunroof
if getEnvAsBool("COMMAND_SUNROOF", false) || allowAll {
if getEnvAsBool("COMMANDS_SUNROOF", false) || allowAll {
allowList = append(allowList, "/command/sun_roof_control")
}
+4 -4
View File
@@ -75,16 +75,16 @@ func main() {
v1.GET("/cars/:CarID", TeslaMateAPICarsV1)
v1.GET("/cars/:CarID/charges", TeslaMateAPICarsChargesV1)
v1.GET("/cars/:CarID/charges/:ChargeID", TeslaMateAPICarsChargesDetailsV1)
v1.GET("/cars/:CarID/commands", TeslaMateAPICarsCommandV1)
v1.POST("/cars/:CarID/commands/:Command", TeslaMateAPICarsCommandV1)
v1.GET("/cars/:CarID/drives", TeslaMateAPICarsDrivesV1)
v1.GET("/cars/:CarID/drives/:DriveID", TeslaMateAPICarsDrivesDetailsV1)
v1.GET("/cars/:CarID/status", TeslaMateAPICarsStatusV1)
v1.GET("/cars/:CarID/updates", TeslaMateAPICarsUpdatesV1)
v1.GET("/globalsettings", TeslaMateAPIGlobalsettingsV1)
v1.GET("/cars/:CarID/command", TeslaMateAPICarsCommandV1)
v1.POST("/cars/:CarID/command/:Command", TeslaMateAPICarsCommandV1)
v1.POST("/cars/:CarID/wake_up", TeslaMateAPICarsCommandV1)
v1.GET("/globalsettings", TeslaMateAPIGlobalsettingsV1)
}
// /api/ping endpoint