This custom Home Assistant integration allows you to track Rocket League rank data and match results from the Rocket League Assistant BakkesMod Plugin.
- Track MMR, tier, division, and matches played for all competitive playlists
- Monitor current playlist and last match results
- Support for multiple usernames
- Real-time updates via webhook automation
- Individual entities for each rank and playlist
- Copy the
custom_components/rocket_league_assistantfolder to your Home Assistantcustom_componentsdirectory - Restart Home Assistant
- Go to Configuration > Integrations
- Click the "+" button and search for "Rocket League Assistant"
- Follow the configuration steps
- Open HACS in Home Assistant
- Open the menu from the top right and select "Custom Repositories"
- Add this repo as a repository with the type of "Integration"
- Search for Rocket League Assistant and install.
- Restart Home Assistant
When setting up the integration, you'll need to provide:
- Name: A friendly name for this instance (default: "Rocket League Assistant")
- Username: How you want to refer to the account
- Platform: Your gaming platform (Steam or Epic)
- UUID: Your platform-specific UUID (You can locate your UUID in the URL when reviewing your stats at https://rocketleague.tracker.network/)
Tracker You can locate your UUID in the URL when reviewing your stats at https://rocketleague.tracker.network/
Via JSON Data
You can find your UID in the JSON data sent by your Rocket League Assistant under MMRData.player_data.uid.
If you already have a webhook automation receiving Rocket League data, you can simply add a service call to forward the data to this integration:
Add this action to your existing webhook automation:
- service: rocket_league_assistant.update_match_data
data:
json_data: "{{ trigger.json }}"For each configured username, the integration creates the following entities:
sensor.{username}_{playlist}_mmr- Current MMRsensor.{username}_{playlist}_tier- Current tier (as rank name)sensor.{username}_{playlist}_division- Current divisionsensor.{username}_{playlist}_matches_played- Total matches playedsensor.{username}_{playlist}_rank- Full rank name (e.g., "Diamond II Div 2")
sensor.{username}_current_playlist- Currently active playlistsensor.{username}_last_match_result- Win/Loss/Tiesensor.{username}_team_score- Your team's scoresensor.{username}_opponent_score- Opponent team's score
- Solo Duel (1v1)
- Doubles (2v2)
- Standard (3v3)
- Hoops
- Rumble
- Dropshot
- Snow Day
- Tournaments
The integration expects JSON data in this format:
{
"data": "matchEnded",
"TeamData": {
"PlayersTeam": {
"color": {"r": 24, "g": 115, "b": 255},
"score": 7
},
"OtherTeam": {
"color": {"r": 194, "g": 100, "b": 24},
"score": 3
}
},
"MMRData": {
"player_data": {
"name": "YourUsername",
"uid": "Steam|1234567890123456|0"
},
"current_playlist": {
"id": 10,
"name": "Solo_Duel",
"mmr": 894,
"tier": 14,
"division": 1,
"matches_played": 2,
"rank_name": "Diamond II Div 2",
"is_synced": true
},
"ranks": {
"Solo_Duel": {
"mmr": 894,
"tier": 14,
"division": 1,
"matches_played": 2,
"rank_name": "Diamond II Div 2"
}
// ... other playlists
}
}
}type: entities
title: Rocket League Ranks
entities:
- sensor.user_doubles_rank
- sensor.user_doubles_mmr
- sensor.user_standard_rank
- sensor.user_standard_mmr
- sensor.user_solo_duel_rank
- sensor.user_solo_duel_mmrtype: glance
title: Last Match
entities:
- sensor.user_current_playlist
- sensor.user_last_match_result
- sensor.user_team_score
- sensor.user_opponent_score- Verify your platform and UUID in the integration configuration matches your UID in the JSON
- Check that webhook automation is properly configured
- Ensure the Rocket League Assistant is sending data to the correct webhook URL
- Create separate integration instances for each platform/UUID combination
- Each user will have their own set of entities
- Check Home Assistant logs for webhook errors
- Verify the webhook URL is accessible from your Rocket League Assistant
- Test the webhook manually using curl or Postman
For issues and feature requests, please visit the GitHub repository.
