4.2 KiB
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
-
Copy the package file to your Home Assistant packages directory:
cp packages/openhardwaremonitor.yaml /config/packages/ -
Copy the binary_sensors.yaml (if you don't have one already):
cp binary_sensors.yaml /config/ -
Ensure your
configuration.yamlhas packages enabled:homeassistant: packages: !include_dir_named packages binary_sensor: !include binary_sensors.yaml -
Configure the Server 243 Status sensor via UI:
- Go to Settings → Devices & Services → Add Integration
- Search for "Ping (ICMP)"
- Add integration with these settings:
- IP:
10.0.0.243 - Name:
Server 243 Status
- IP:
-
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
Binary Sensors (Status Monitoring)
- Server 243 Status (
binary_sensor.server_243_status)- Configured via UI (Ping integration)
- Monitors online/offline state of Server 243
- Perfect for adding a status badge to your dashboard
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
Status sensor not working:
- Ensure the Ping (ICMP) integration is added via UI
- Ensure ICMP (ping) is allowed through any firewalls
- Check Home Assistant logs for ping integration errors
Example Dashboard Card
type: entities
title: Server Hardware Monitoring
entities:
- entity: binary_sensor.server_243_status
name: Server 243 Status
- 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
Example Badge Card for Status
type: badge
entity: binary_sensor.server_243_status
name: Server 243
License
This configuration is provided as-is for personal use.