Heart Rate
Display your heart rate on stream in real-time. React to BPM changes with alerts, OBS effects, and more. Works with Pulsoid, HypeRate, and Bluetooth devices.
Overview
FaustBot can connect to various heart rate sources for real-time BPM data:
Real-Time BPM
Get your current heart rate instantly.
Statistics
Track min, max, and average BPM.
Thresholds
Trigger actions at specific heart rates.
Multiple Sources
Pulsoid, HypeRate, or Bluetooth.
Setup
Choose a Provider
Select a heart rate provider: Pulsoid, HypeRate, or direct Bluetooth connection. Each has its own setup in FaustBot.
Connect Your Device
Pair your heart rate monitor (chest strap, smartwatch, or fitness band) with your chosen provider's app.
Configure Thresholds
In Integrations → Heart Rate, set up threshold values to trigger events when your heart rate reaches specific levels.
Triggers
Heart Rate Update BPM value changedThreshold Reached BPM crossed a configured thresholdHigh Heart Rate BPM exceeded high thresholdLow Heart Rate BPM dropped below low thresholdTrigger Variables
| Variable | Description |
|---|---|
%heartRate% | Current BPM value |
%heartRateMin% | Minimum BPM this session |
%heartRateMax% | Maximum BPM this session |
%heartRateAvg% | Average BPM this session |
%threshold% | Threshold that was crossed |
Scripting API
Access heart rate data from your scripts:
Getting BPM Data
# Get current heart rate
bpm = CPH.HeartRateGetBpm()
CPH.LogInfo(f"Current BPM: {bpm}")
# Get statistics
stats = CPH.HeartRateGetStats()
CPH.LogInfo(f"Min: {stats['min']}, Max: {stats['max']}, Avg: {stats['avg']}")
# Check if connected
if CPH.HeartRateIsConnected():
CPH.LogInfo("Heart rate monitor connected")Reacting to Heart Rate
# React to high heart rate
def Execute():
bpm = CPH.HeartRateGetBpm()
if bpm > 150:
CPH.SendMessage("MY HEART IS RACING!")
CPH.ObsSetSourceFilterEnabled("Webcam", "Shake", True)
elif bpm > 120:
CPH.SendMessage(f"Getting intense! BPM: {bpm}")
return True
# Update OBS text source with current BPM
def Execute():
bpm = CPH.HeartRateGetBpm()
CPH.ObsSetGdiText("Heart Rate", f"❤️ {bpm} BPM")
return TrueSee the full API reference for all available heart rate methods.