Files
homeassistant-config/README.md

143 lines
4.2 KiB
Markdown

# 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:
```bash
cp packages/openhardwaremonitor.yaml /config/packages/
```
2. **Copy the binary_sensors.yaml** (if you don't have one already):
```bash
cp binary_sensors.yaml /config/
```
3. **Ensure your `configuration.yaml` has packages enabled**:
```yaml
homeassistant:
packages: !include_dir_named packages
binary_sensor: !include binary_sensors.yaml
```
4. **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`
5. **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`:
```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
```yaml
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
```yaml
type: badge
entity: binary_sensor.server_243_status
name: Server 243
```
## License
This configuration is provided as-is for personal use.