{"id":18073231,"url":"https://github.com/domalab/ha-unraid","last_synced_at":"2025-04-12T05:13:06.039Z","repository":{"id":257996261,"uuid":"872726164","full_name":"domalab/ha-unraid","owner":"domalab","description":"Monitor and control your Unraid server directly from Home Assistant. Track system metrics (CPU, RAM, disk usage), manage VMs and Docker containers, monitor UPS status, and receive real-time alerts. Features automated discovery and an easy-to-use interface for seamless integration with your smart home.","archived":false,"fork":false,"pushed_at":"2025-04-10T21:50:42.000Z","size":630,"stargazers_count":107,"open_issues_count":9,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T05:12:51.952Z","etag":null,"topics":["custom-component","home-assistant","unraid"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/domalab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-15T00:55:08.000Z","updated_at":"2025-04-10T21:50:45.000Z","dependencies_parsed_at":"2024-10-21T01:51:32.638Z","dependency_job_id":null,"html_url":"https://github.com/domalab/ha-unraid","commit_stats":null,"previous_names":["domalab/ha-unraid"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domalab%2Fha-unraid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domalab%2Fha-unraid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domalab%2Fha-unraid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domalab%2Fha-unraid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/domalab","download_url":"https://codeload.github.com/domalab/ha-unraid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248519556,"owners_count":21117761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-component","home-assistant","unraid"],"created_at":"2024-10-31T10:05:40.025Z","updated_at":"2025-04-12T05:13:06.029Z","avatar_url":"https://github.com/domalab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unraid Integration for Home Assistant\n\n[![HACS Integration][hacsbadge]][hacs]\n[![GitHub Last Commit](https://img.shields.io/github/last-commit/domalab/ha-unraid?style=for-the-badge)](https://github.com/domalab/ha-unraid/commits/main)\n[![Community Forum](https://img.shields.io/badge/Community-Forum-blue?style=for-the-badge)](https://community.home-assistant.io/t/unraid-integration)\n[![License](https://img.shields.io/github/license/domalab/ha-unraid?style=for-the-badge)](./LICENSE)\n[![Quality Scale](https://img.shields.io/badge/Quality%20Scale-Platinum-blue?style=for-the-badge)](https://developers.home-assistant.io/docs/integration_quality_scale_index)\n[![Documentation](https://img.shields.io/badge/Documentation-Cloudflare%20Pages-blue?style=for-the-badge)](https://ha-unraid.pages.dev)\n\nThis custom integration allows you to monitor and control your Unraid server from Home Assistant. Unraid is a popular NAS (Network Attached Storage) operating system that provides flexible storage, virtualization, and application support.\n\n## Features\n\n- Monitor CPU, RAM, Boot, Cache, Array Disks, and Array usage\n- Monitor CPU and Motherboard temperature\n- Monitor System Fans\n- Monitor UPS Connected\n- Control Docker containers\n- Control VMs\n- Execute shell commands\n- Buttons for user scripts\n- Manage user scripts\n- Automatic repair flows for common issues\n- Advanced config flow validation\n- Comprehensive diagnostics\n\n## Installation\n\n### HACS (Recommended)\n\n[![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=domalab\u0026repository=ha-unraid\u0026category=integration)\n\n### Manual\n\n1. Copy the `unraid` folder into your `custom_components` directory.\n2. Restart Home Assistant.\n3. Go to Configuration \u003e Integrations.\n4. Click the \"+ ADD INTEGRATION\" button.\n5. Search for \"Unraid\" and select it.\n6. Follow the configuration steps.\n\n## Configuration\n\n\u003e **IMPORTANT:** SSH is disabled by default. SSH needs to be enabled on Unraid --\u003e Settings --\u003e Management Access\n\nDuring the setup, you'll need to provide:\n\n- Host: The IP address or hostname of your Unraid server\n- Username: Your Unraid username (usually 'root')\n- Password: Your Unraid password\n- Port: SSH port (usually 22)\n- General Update Interval (Minutes): How often to update non-disk sensors (1-60 minutes). Default is 5 minutes.\n- Disk Update Interval (Hours): How often to update disk information (1-24 hours). Default is 1 hour\n\nNote: Setting lower intervals will provide more up-to-date information but may increase system load.\n\n## Sensors\n\n- CPU Usage: Shows the current CPU utilization percentage.\n- RAM Usage: Displays the current RAM usage percentage.\n- CPU and Motherboard Temps: Shows CPU and Motherboard temperatures\n- System Fans : Shows System Fans and RPM\n- Array Usage: Shows the overall array usage percentage.\n- Individual Array Disks: Displays usage information for each disk in the array.\n- Uptime: Shows how long the Unraid server has been running.\n- UPS Power: Displays information about the UPS power consumption\n\n## Diagnostics\n\n- UPS Status: Displays information about the connected UPS (if available).\n- Disk Health: Displays disk health information\n- VM and Docker Service: Displays information about docker and vm services\n- SSH Connectivity: Display information about integration connected to Unraid via SSH\n- Parity Check: Displays information if parity check is enabled.\n\n## Repair Flows\n\nThe integration includes automatic repair flows for common issues:\n\n- Connection Issues: Helps you fix connection problems to your Unraid server\n- Authentication Problems: Guides you through fixing authentication issues\n- Disk Health Issues: Alerts you about potential disk failures and provides guidance\n- Array Problems: Notifies you about array issues and suggests solutions\n- Parity Check Failures: Alerts you about parity check failures\n\n## Config Flow Validation\n\nThe integration includes advanced validation during setup:\n\n- Hostname/IP Validation: Ensures the hostname or IP address is in a valid format\n- Port Validation: Verifies the SSH port is within a valid range (1-65535)\n- Credential Validation: Ensures username and password are not empty\n- Connection Testing: Tests the connection before completing setup\n\n## Switches\n\n- Docker Containers: Turn on/off Docker containers\n- VMs: Turn on/off Virtual Machines\n\n## Services\n\n- `unraid.execute_command`: Execute a shell command on the Unraid server\n- `unraid.execute_in_container`: Execute a command in a Docker container\n- `unraid.execute_user_script`: Execute a user script\n- `unraid.stop_user_script`: Stop a running user script\n- `unraid.system_reboot`: Reboot Unraid\n- `unraid.system_shutdown`: Shutdown Unraid\n\n### Docker Container Services\n\n- `unraid.docker_pause`: Pause a running Docker container\n- `unraid.docker_resume`: Resume a paused Docker container\n- `unraid.docker_restart`: Restart a Docker container\n\n### VM Services\n\n- `unraid.vm_pause`: Pause a running virtual machine\n- `unraid.vm_resume`: Resume a paused virtual machine\n- `unraid.vm_restart`: Restart a running virtual machine\n- `unraid.vm_hibernate`: Hibernate a running virtual machine (suspend to disk)\n- `unraid.vm_force_stop`: Force stop a virtual machine (equivalent to pulling the power plug)\n\n## Buttons\n\n- Buttons to control user scripts (Disabled by default)\n- Buttons to control system reboot and shutdown (Disabled by default)\n\n## Troubleshooting\n\n### Connection Issues\n\n- Ensure SSH is enabled on your Unraid server (Settings \u003e Management Access)\n- Verify the hostname/IP address is correct\n- Check that the SSH port is correct (usually 22)\n- Ensure your username and password are correct\n- Check your network connectivity\n\n### Performance Issues\n\n- Increase the update intervals if the integration is causing high CPU usage\n- Disable sensors you don't need\n- Ensure your Unraid server has adequate resources\n\n## Documentation\n\nComprehensive documentation is available on our [Cloudflare Pages site](https://ha-unraid.pages.dev/):\n\n- [Installation Guide](https://ha-unraid.pages.dev/user-guide/installation)\n- [Features Overview](https://ha-unraid.pages.dev/user-guide/features)\n- [Examples and Use Cases](https://ha-unraid.pages.dev/advanced/examples)\n- [Troubleshooting Guide](https://ha-unraid.pages.dev/user-guide/troubleshooting)\n\n## Contributing\n\nContributions to this integration are welcome. Please fork the repository and submit a pull request with your changes. Make sure to follow the contribution guidelines. See our [Contributing Guide](https://ha-unraid.pages.dev/development/contributing) for more details.\n\n## License\n\nThis integration is released under the Apache License.\n\n## Disclaimer\n\nThis integration is not officially associated with or endorsed by UNRAID. UNRAID trademarks belong to UNRAID, and this integration is independently developed.\n\n[hacs]: https://github.com/custom-components/hacs\n[hacsbadge]: https://img.shields.io/badge/HACS-Default-orange.svg?style=for-the-badge\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdomalab%2Fha-unraid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdomalab%2Fha-unraid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdomalab%2Fha-unraid/lists"}