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
var cpuTemp = CPH.HardwareGetCpuTemperature();
CPH.LogInfo($"CPU Temp: {cpuTemp}°C");

// Get GPU temperature
var gpuTemp = CPH.HardwareGetGpuTemperature();
CPH.LogInfo($"GPU Temp: {gpuTemp}°C");

// Get CPU usage
var cpuUsage = CPH.HardwareGetCpuUsage();
CPH.LogInfo($"CPU Usage: {cpuUsage}%");

// Get RAM usage
var ramUsage = CPH.HardwareGetRamUsage();
CPH.LogInfo($"RAM Usage: {ramUsage}%");

Stream Overlay Examples

// Update OBS text with system stats
public bool Execute()
{
    var cpu = CPH.HardwareGetCpuUsage();
    var gpuTemp = CPH.HardwareGetGpuTemperature();
    var ram = CPH.HardwareGetRamUsage();

    var stats = $"CPU: {cpu}% | GPU: {gpuTemp}°C | RAM: {ram}%";
    CPH.ObsSetGdiText("System Stats", stats);
    return true;
}

// Alert if GPU gets too hot
public bool Execute()
{
    var temp = CPH.HardwareGetGpuTemperature();
    if (temp > 85)
    {
        CPH.SendMessage($"⚠️ GPU running hot: {temp}°C!");
    }
    return true;
}

See the full API reference for all available hardware methods.