You are browsing as a guest. Sign up (or log in) to start making projects!

Volvo API playground

  • 5 Devlogs
  • 11 Total hours

Recreation of Volvo apis made to simplify developing and testing apps that isn’t static

Open comments for this post

3h 34m 27s logged

Devlog

  • centralLock is called carLocked in the docs. The docs seem to be outdated. I think the OpenAPI specification is more accurate and contains fewer errors.
  • I added a way to validate data using class functions.
  • Implemented timestamps. Using datetime function from python
  • Added tyre endpoints.
  • Added a way to generate new API keys and create new cars (I used python secrets). 
    (getting ready to make first public running version)
  • Roadmap.md file with status of this project

What is next to do

  • Start using the updated method for changing data.
  • Update the dashboard to reflect and modify the new data.
  • Add WebSocket support.
  • Add the remaining 2 vehicle and warning endpoints.
  • Create an example app for testers.
  • Redesign dashboard. It looks awful

I had a 2 days off because I was on school trip but I back. Next thing on my list is an updated dashboard 

Devlog

  • centralLock is called carLocked in the docs. The docs seem to be outdated. I think the OpenAPI specification is more accurate and contains fewer errors.
  • I added a way to validate data using class functions.
  • Implemented timestamps. Using datetime function from python
  • Added tyre endpoints.
  • Added a way to generate new API keys and create new cars (I used python secrets). 
    (getting ready to make first public running version)
  • Roadmap.md file with status of this project

What is next to do

  • Start using the updated method for changing data.
  • Update the dashboard to reflect and modify the new data.
  • Add WebSocket support.
  • Add the remaining 2 vehicle and warning endpoints.
  • Create an example app for testers.
  • Redesign dashboard. It looks awful

I had a 2 days off because I was on school trip but I back. Next thing on my list is an updated dashboard 

Replying to @Kl

0
3
Open comments for this post

1h 55m 21s logged

Devlog

  1. You can edit data through the dashboard now. It’s not the best solution, and I want to change how it works (probably start from scratch), but not now.

  2. Diagnostics endpoints.

I had a very good time with them today. Why? Because of the “/diagnostics” docs. I attached a screenshot showing an example from the official website and data from a real car (left: real API, right: docs).

If you look at them, you can see two errors and one very small issue that you would only notice if you read the whole documentation:

  • In serviceWarning, you can see the value is NORMAL, but NORMAL is not a valid value for it. It should be NO_WARNING. This is the small one.

  • In engineHoursToService, the API response contains a unit, but the docs don’t mention it at all.

  • And the worst one (and the only real error): there is no information about washerFluidLevelWarning in the docs, but it appears in the data from the car.

What do you think I should do? Should I write to them about it? I think you can comment on the post, so let me know what you think.

Devlog

  1. You can edit data through the dashboard now. It’s not the best solution, and I want to change how it works (probably start from scratch), but not now.

  2. Diagnostics endpoints.

I had a very good time with them today. Why? Because of the “/diagnostics” docs. I attached a screenshot showing an example from the official website and data from a real car (left: real API, right: docs).

If you look at them, you can see two errors and one very small issue that you would only notice if you read the whole documentation:

  • In serviceWarning, you can see the value is NORMAL, but NORMAL is not a valid value for it. It should be NO_WARNING. This is the small one.

  • In engineHoursToService, the API response contains a unit, but the docs don’t mention it at all.

  • And the worst one (and the only real error): there is no information about washerFluidLevelWarning in the docs, but it appears in the data from the car.

What do you think I should do? Should I write to them about it? I think you can comment on the post, so let me know what you think.

Replying to @Kl

0
3
Open comments for this post

1h 45m 38s logged

Devlog

  1. Added odometer and fuel endpoints.

Funny thing is that Volvo sends in what unit the data is, but the docs say that only metric units are valid, so it really sends always the same unit. Most likely they wanted to add imperial later, or they left it like this for simplicity.

  1. Added first version of dashboard.

For now, it’s using polling every 5 seconds (I have planned to change it to WebSocket). It only displays some information and can’t edit anything.

Also, I wrote some HTML and JavaScript. I never liked web development, so I don’t know a lot (I’m learning while I code 😅). It could be that it will look very rough till the end because I don’t have any patience for HTML and CSS.

I “will” do it when I have a very good day, or AI will do it? I would like not to use AI in this way, but I will see.

Edit: Forgot to push the updated version to GitHub I will do it tomorrow because it’s late (it’s tomorrow )

Devlog

  1. Added odometer and fuel endpoints.

Funny thing is that Volvo sends in what unit the data is, but the docs say that only metric units are valid, so it really sends always the same unit. Most likely they wanted to add imperial later, or they left it like this for simplicity.

  1. Added first version of dashboard.

For now, it’s using polling every 5 seconds (I have planned to change it to WebSocket). It only displays some information and can’t edit anything.

Also, I wrote some HTML and JavaScript. I never liked web development, so I don’t know a lot (I’m learning while I code 😅). It could be that it will look very rough till the end because I don’t have any patience for HTML and CSS.

I “will” do it when I have a very good day, or AI will do it? I would like not to use AI in this way, but I will see.

Edit: Forgot to push the updated version to GitHub I will do it tomorrow because it’s late (it’s tomorrow )

Replying to @Kl

0
3
Open comments for this post

2h 49m 35s logged

Devlog

  1. Added a command accessibility endpoint (it tells if the car can receive commands).
  2. I refactored duplicate code in the climate endpoint.
  3. Added engine endpoints (they aren’t perfect, but this isn’t the final code).

It was also a frustrating day because I repeatedly forgot to save my code before testing (my bad).

A photo of the error that cost me way too much time today. (I changed it to “/vehicles/{VIN}/engine-status”, but I didn’t save the file.)

Devlog

  1. Added a command accessibility endpoint (it tells if the car can receive commands).
  2. I refactored duplicate code in the climate endpoint.
  3. Added engine endpoints (they aren’t perfect, but this isn’t the final code).

It was also a frustrating day because I repeatedly forgot to save my code before testing (my bad).

A photo of the error that cost me way too much time today. (I changed it to “/vehicles/{VIN}/engine-status”, but I didn’t save the file.)

Replying to @Kl

0
3
Open comments for this post

54m 49s logged

I setup my codespace and started working on first few endpoints. Additionally I looked how most of Volvos apis looks that gave me direction to go. That was all time I had today. Also I could add screenshot here because of macOS :(

I setup my codespace and started working on first few endpoints. Additionally I looked how most of Volvos apis looks that gave me direction to go. That was all time I had today. Also I could add screenshot here because of macOS :(

Replying to @Kl

0
3

Followers

Loading…