Home Assistant - OpenHardwareMonitor Integration

This repository contains Home Assistant configuration packages, including integration with OpenHardwareMonitor for hardware monitoring.

OpenHardwareMonitor Package

Monitors hardware sensors from two servers running OpenHardwareMonitor:

  • Server 1: http://10.0.0.243:8085/
  • Server 2: http://10.0.0.244:8085/

Installation

  1. Copy the package file to your Home Assistant packages directory:

    cp packages/openhardwaremonitor.yaml /config/packages/
    
  2. Ensure your configuration.yaml has packages enabled:

    homeassistant:
      packages: !include_dir_named packages
    
  3. Restart Home Assistant

Sensors Created

For each server (243 and 244), the following sensors are created:

  • CPU Temperature (sensor.server_243_cpu_temperature / sensor.server_244_cpu_temperature)

    • Monitors CPU package or core temperature
    • Unit: °C
    • Update interval: 30 seconds
  • CPU Load (sensor.server_243_cpu_load / sensor.server_244_cpu_load)

    • Monitors total CPU load
    • Unit: %
    • Update interval: 30 seconds
  • RAM Usage (sensor.server_243_ram_usage / sensor.server_244_ram_usage)

    • Monitors memory usage
    • Unit: GB
    • Update interval: 30 seconds
  • GPU Temperature (sensor.server_243_gpu_temperature / sensor.server_244_gpu_temperature)

    • Monitors GPU core temperature (NVIDIA/AMD)
    • Unit: °C
    • Update interval: 30 seconds

Requirements

  • OpenHardwareMonitor must be running on both servers with web server enabled
  • Default port: 8085
  • Servers must be accessible from Home Assistant instance

Customization

To modify the scan interval, edit the scan_interval value in openhardwaremonitor.yaml:

rest:
  - resource: http://10.0.0.243:8085/data.json
    scan_interval: 30  # Change this value (in seconds)

To add additional sensors, you can follow the same template pattern and navigate the JSON structure from OpenHardwareMonitor's /data.json endpoint.

Troubleshooting

Sensors show "unknown":

  • Verify OpenHardwareMonitor is running on the target servers
  • Check that the web server is enabled in OpenHardwareMonitor settings
  • Test the endpoint manually: http://10.0.0.243:8085/data.json
  • Check Home Assistant logs for any REST sensor errors

No GPU sensor data:

  • Some systems may not have GPU monitoring enabled
  • Verify OpenHardwareMonitor detects your GPU
  • Check if the GPU sensor name matches the template pattern

Example Dashboard Card

type: entities
title: Server Hardware Monitoring
entities:
  - entity: sensor.server_243_cpu_temperature
    name: Server 243 CPU Temp
  - entity: sensor.server_243_cpu_load
    name: Server 243 CPU Load
  - entity: sensor.server_243_ram_usage
    name: Server 243 RAM
  - entity: sensor.server_243_gpu_temperature
    name: Server 243 GPU Temp
  - entity: sensor.server_244_cpu_temperature
    name: Server 244 CPU Temp
  - entity: sensor.server_244_cpu_load
    name: Server 244 CPU Load
  - entity: sensor.server_244_ram_usage
    name: Server 244 RAM
  - entity: sensor.server_244_gpu_temperature
    name: Server 244 GPU Temp

License

This configuration is provided as-is for personal use.

Description
Home Assistant configuration files and packages
Readme 36 KiB