iR2mqtt is a standalone Windows app written in Python that:
Reads real-time telemetry data from the iRacing simulator
Publishes that data to a MQTT broker
Lets you build dashboards and automations in Home Assistant, such as:
Speed and RPM tracking
Fuel levels
Session and lap times
Flags (yellow, blue, etc.)
Pit status
Incidents
Starting lights
Driver & Team name
And much more!
Why did I build this?
The idea for this project came from real life:
Sometimes during a race, my toddler would start crying, and my wife wasn’t sure if I could help or not. So I created an automation:
Whenever the baby monitor detects noise and I’m in the middle of a race, Home Assistant sends her a gentle notification.
We’ve laughed about it, but it actually works and I’ve managed to avoid becoming single so far!
The app is stable and functional, with features like:
Clean GUI with customization options for a personalized experience
System tray integration
Automatic start/stop publishing if iracing starts running
Designed to be lightweight
Donation key system to unlock flags, starting lights and incidents and pit detection (No minimum, just a way to show appreciation for the weeks spent developing this.)
All telemetry fields and settings controls now have descriptive tooltips.
Feedback welcome!
Whether you want to build dashboards or automations (baby-related or not ), there are some examples of sensors, blueprints, and dashboards to test!
I’d love your feedback, please create issues on GitHub if you find any bugs. Thank you!
That’s a great idea, but it would require fundamental changes to how the system works.
For that reason, it’s not currently in the plans but I really appreciate the suggestion!
This is awesome! I am looking for something that can tell when I am actively driving vs when I am spectating.
I am often in an endurance race and my SO doesn’t know whether I can be disturbed. I have a light outside the door that normally shows this but atm I have to display busy when iRacing is running. Ideally if I could tell when I am racing vs spotting, I could change the light to a “maybe busy” colour.
I can see the python based SDK tool has a variable for replay active. Is it possible to have a sensor called “Actively driving” or similar?
v3.5.3 is out with a few additions that came directly from user requests.
Driver name and team name are now published as sensors, which makes it straightforward to build automations that include the driver in notifications without hardcoding anything, useful for team endurance races.
A driving state sensor has also been added with four states: Driving, Spectating, Garage, and Menu. This one came from a request to control a door light differently depending on whether the driver is actively racing or just spotting.
The Dashboard now has a speed unit selector (m/s, km/h, mph) for display purposes. MQTT continues to publish in m/s so the integration handles all three units without any changes on the Home Assistant side.
Start minimized to tray is now available in Settings, so when combined with Start with Windows the app launches straight to the tray on boot.