github dougiteixeira/proxmoxve 5.1.0

21 hours ago

Important

Coming from a version before 5.0.0? Read the 5.0.0 release notes first. That release carried the migrations and the changes to entities and options that this one builds on; the notes below assume you are on 5.0.0.

Note

Shared storage in a cluster becomes one device at the first start after this update — see the first section. Everything else needs no reconfiguration.

The first release since the project became a joint effort — thank you, Douglas, for the trust, and thanks to everyone who reported, analysed and asked in the issues and discussions: most of what follows answers one of them, and the pull request (#677) names which. It was developed and tested in my fork through nine betas on a four-node Proxmox VE 9 cluster; several fixes were checked against live pvesh output.

Shared storage is one device now

A storage the cluster marks as shared — an NFS export, a Ceph pool — is one device on the Proxmox Cluster, tracked as storage/<name>, instead of one per node with the same numbers. At the first start the per-node entries are merged: the one on the node you configured (or the first you picked) keeps its device, entities and history; the others lose their device. Automations that referred to one of the removed sensor.storage_<other node>_<name>_… entities have to be pointed at the one that stayed. Local storage stays per node. Nothing changes for single nodes or clusters without shared storage.

Added

Cluster

  • A Proxmox Cluster device for every setup: nodes online (offline ones named), VMs and containers running cluster-wide, CPU used weighted by core count, memory used and total.
  • Shared storage once, with the nodes that see it as an attribute.
  • Ceph used, total and percentage next to the health sensor — untested against real Ceph; reports welcome.
  • Failover. The integration learns every node's address from cluster/status and, when the configured host stops answering, moves to the next node that does — logged once, no configuration. Limits: nodes on a separate corosync network are unreachable; with Verify SSL on, the fallback node needs a certificate valid for its address.

Nodes

  • Software update entity (Settings → Updates) with the pending package count; created only where the credentials hold Sys.Modify.
  • Last backup, Backup duration, Backup status from the newest finished vzdump run, and Backup running — on by default — while one is in progress.
  • IO delay, Version, load average 1/5/15 min, CPU count.
  • The node device carries its hardware addresses, so Home Assistant can merge it with what a network integration sees.
  • Suspend all and Back up all buttons.

Virtual machines and containers

  • Status as enum sensors, keeping QEMU's finer run states.
  • CPU used of host — the guest's usage as a share of the node — and the guest's core count as an attribute.
  • Create snapshot and Back up now buttons.

Storage

  • Storage active, Storage enabled, Storage shared.

Actions and automation

  • proxmoxve.backup starts vzdump runs: target guest, node or cluster devices — any mix, across nodes; the node each guest lives on is looked up and one run starts per node — or name vmids, which are looked up too. Storage, mode, compression and notes as vzdump takes them; the storage defaults to the one picked for the backup buttons. skip_if_running leaves out a node with a run in progress — vzdump holds one lock per node, and a second run would queue behind the first for up to lockwait, 180 minutes by default. Returns {runs, skipped}.
  • Blueprint Proxmox - Scheduled backup: pick the devices, the time and the days; busy nodes are skipped; optional notification with what started where.
  • Backup buttons exist only while a Backup storage for the backup buttons is picked in the options — a pick-list of the storages that accept backups — and the credentials hold VM.Backup.

Setup and behaviour

  • Track everything automatically — a new option, off by default: track everything the credentials can see and follow the cluster from then on, in place, nothing reloads. Your hand-picked selection is kept for when you switch it off. The setup form accepts an empty selection with the switch on.
  • Realm as a pick-list, custom value allowed; the token field accepts the full user@realm!name.
  • Buttons only where the credentials hold the privilege (access/permissions, read once at setup).
  • Repairs that say what is missing, once. Resources the credentials may not read are one repair per config entry listing each with path and privilege; resources the cluster no longer lists are another; a refused guest agent read is a warning of its own naming VM.GuestAgent.Audit / VM.GuestAgent.FileRead (Proxmox VE 9; VM.Monitor before). All of them follow the reads and disappear when nothing is left. The per-resource repairs of earlier versions are swept out at the first start.

Fixed

  • A node switched off overnight demanded new credentials every morning: the expired ticket is renewed by logging in again with the stored password, and a host that answers during boot but issues no tickets yet leaves setup retrying.
  • One unreadable SMART value (-) took a whole disk offline; SAS drives showed no SMART values at all.
  • A stopped container read 0 % disk used / 100 % free; it reads unknown now.
  • Memory percentages above 100 are capped.
  • The "does not exist" repair outlived the fix it asked for.
  • Migration steps v4 and v5 never advanced the entry version; coordinators created after setup had no config entry; YAML import stored no token name; deselecting a node with ZFS pools raised an AttributeError; a 403 on cluster/resources crashed instead of raising a repair; deselecting a storage did not remove its device.
  • A refused guest agent read blamed VM.Audit and flickered once a minute (#676).
  • Home Assistant 2026.9's deprecation of remove_config_entry_id.
  • README: a privilege-separated token inherits nothing from its user — the token instructions had that step backwards.

Removed

  • The reload blueprint. The integration recovers by itself now, and its Ping recipe was YAML the Ping integration no longer accepts. An automation created from it can be deleted.

Documentation

The README is a landing page that renders in HACS; the reference lives in docs/: entities, actions, hardware sensors, permissions, behaviour, troubleshooting, and a feature-by-feature comparison with the core integration in Home Assistant 2026.9.

Translations

The new strings exist in English only for now; the other languages fall back to English for them until they are translated on Crowdin. Three strings from the latest Crowdin import had lost placeholders and were corrected.

Tests

363, with a fake Proxmox API that answers per path.

Full changelog: 5.0.0...5.1.0

Don't miss a new proxmoxve release

NewReleases is sending notifications on new releases.