Normalize the Proxmox VE guest id to an int (#180488)

This commit is contained in:
Franck Nijhof
2026-08-28 10:04:39 +02:00
committed by GitHub
parent 1b2365aad0
commit 7dbc17c9a0
6 changed files with 13 additions and 12 deletions
+2 -2
View File
@@ -378,7 +378,7 @@ class ProxmoxVMButtonEntity(ProxmoxVMEntity, ProxmoxBaseButton):
self.entity_description.press_action,
self.coordinator,
self._node_name,
self.vm_data["vmid"],
self.device_id,
)
@@ -394,5 +394,5 @@ class ProxmoxContainerButtonEntity(ProxmoxContainerEntity, ProxmoxBaseButton):
self.entity_description.press_action,
self.coordinator,
self._node_name,
self.container_data["vmid"],
self.device_id,
)
@@ -161,8 +161,8 @@ def _get_nodes_data(data: dict[str, Any]) -> list[dict[str, Any]]:
nodes_data.append(
{
CONF_NODE: node["node"],
CONF_VMS: [vm["vmid"] for vm in vms],
CONF_CONTAINERS: [container["vmid"] for container in containers],
CONF_VMS: [int(vm["vmid"]) for vm in vms],
CONF_CONTAINERS: [int(container["vmid"]) for container in containers],
}
)
+3 -2
View File
@@ -129,7 +129,7 @@ class ProxmoxVMEntity(ProxmoxCoordinatorEntity):
self.entity_description = entity_description
self._vm_data = vm_data
self._node_name = node_data.node["node"]
self.device_id = vm_data["vmid"]
self.device_id = int(vm_data["vmid"])
self.device_name = vm_data["name"]
self._attr_device_info = DeviceInfo(
@@ -187,7 +187,8 @@ class ProxmoxContainerEntity(ProxmoxCoordinatorEntity):
self.entity_description = entity_description
self._container_data = container_data
self._node_name = node_data.node["node"]
self.device_id = container_data["vmid"]
# Proxmox hands out a container vmid as a string, a VM one as an int
self.device_id = int(container_data["vmid"])
self.device_name = container_data["name"]
self._attr_device_info = DeviceInfo(
+2 -2
View File
@@ -133,8 +133,8 @@ def mock_proxmox_client():
else load_json_array_fixture("nodes/tasks.json", DOMAIN)
)
qemu_by_vmid = {vm["vmid"]: vm for vm in qemu_list}
lxc_by_vmid = {vm["vmid"]: vm for vm in lxc_list}
qemu_by_vmid = {int(vm["vmid"]): vm for vm in qemu_list}
lxc_by_vmid = {int(vm["vmid"]): vm for vm in lxc_list}
# Cache resource mocks by vmid so callers (e.g. button tests) can
# inspect specific call counts after pressing a button.
@@ -1,6 +1,6 @@
[
{
"vmid": 200,
"vmid": "200",
"name": "ct-nginx",
"status": "running",
"maxmem": 1073741824,
@@ -14,7 +14,7 @@
"netout": 524288
},
{
"vmid": 201,
"vmid": "201",
"name": "ct-backup",
"status": "stopped",
"maxmem": 1073741824,
@@ -71,7 +71,7 @@
'netout': 524288,
'status': 'running',
'uptime': 43200,
'vmid': 200,
'vmid': '200',
}),
'201': dict({
'cpu': 0.05,
@@ -85,7 +85,7 @@
'netout': 524288,
'status': 'stopped',
'uptime': 43200,
'vmid': 201,
'vmid': '201',
}),
}),
'node': dict({