Integration

Hardware Monitor

Monitor your PC's hardware in real-time. Display CPU, GPU, and RAM stats on stream, or trigger alerts when temperatures get too high.

Overview

FaustBot can read system hardware sensors for live monitoring:

CPU Monitoring

Temperature, usage, and clock speed.

GPU Monitoring

Temperature, usage, and VRAM.

RAM Usage

Track memory consumption.

Threshold Alerts

Get warned when temps spike.

Setup

1

Enable Hardware Monitoring

Go to Integrations → Hardware Monitor and enable the integration. FaustBot will start reading system sensors.

2

Configure Thresholds

Set temperature thresholds for CPU and GPU. When exceeded, FaustBot can trigger warning actions.

3

Set Update Interval

Choose how often to poll sensors. Lower intervals mean more updates but slightly higher CPU usage.

Administrator Access

Some sensors (especially CPU temperature) may require running FaustBot as administrator to access all hardware data.

Triggers

CPU Temp High CPU exceeded temperature threshold
GPU Temp High GPU exceeded temperature threshold
RAM Usage High RAM usage exceeded threshold

Trigger Variables

VariableDescription
%cpuTemp%CPU temperature in °C
%cpuUsage%CPU usage percentage
%gpuTemp%GPU temperature in °C
%gpuUsage%GPU usage percentage
%ramUsage%RAM usage percentage
%ramTotal%Total RAM in GB
%ramUsed%Used RAM in GB

Scripting API

Access hardware sensors from your scripts:

Reading Sensors

# Get CPU temperature
cpu_temp = CPH.HardwareGetCpuTemperature()
CPH.LogInfo(f"CPU Temp: {cpu_temp}°C")

# Get GPU temperature
gpu_temp = CPH.HardwareGetGpuTemperature()
CPH.LogInfo(f"GPU Temp: {gpu_temp}°C")

# Get CPU usage
cpu_usage = CPH.HardwareGetCpuUsage()
CPH.LogInfo(f"CPU Usage: {cpu_usage}%")

# Get RAM usage
ram_usage = CPH.HardwareGetRamUsage()
CPH.LogInfo(f"RAM Usage: {ram_usage}%")

Stream Overlay Examples

# Update OBS text with system stats
def Execute():
    cpu = CPH.HardwareGetCpuUsage()
    gpu_temp = CPH.HardwareGetGpuTemperature()
    ram = CPH.HardwareGetRamUsage()

    stats = f"CPU: {cpu}% | GPU: {gpu_temp}°C | RAM: {ram}%"
    CPH.ObsSetGdiText("System Stats", stats)
    return True

# Alert if GPU gets too hot
def Execute():
    temp = CPH.HardwareGetGpuTemperature()
    if temp > 85:
        CPH.SendMessage(f"⚠️ GPU running hot: {temp}°C!")
    return True

See the full API reference for all available hardware methods.