mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Adding power consumption and Heat Disspation #8461
Closed
opened 2025-12-29 20:37:04 +01:00 by adam
·
9 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#8461
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mikygee on GitHub (Aug 13, 2023).
NetBox version
v3.5.7
Feature type
Data model extension
Proposed functionality
Hello,
When I edit a device, there should be a field for
The ultimate goal is to calculate how many Watts all devices in the cabinet/rack are consuming and how much heat they make.
I'm using the demo website to check if it exists in v3.5.7 because it's in that version as of right now

I think it's very important field for a datacenter hosting.
For example, a datacenter such as Equinix add charges on power consumption.
Use case
The ultimate goal is to calculate how many Watts all devices in the cabinet/rack are consuming and how much heat they make.
Database changes
No response
External dependencies
No response
@zeddD1abl0 commented on GitHub (Aug 13, 2023):
Power draw can be assigned to a power connector, as that's the logical location.
Heat dissipation wouldn't be too bad, but I feel that will lead to "air-conditioning" stuff like Power currently is.
@mikygee commented on GitHub (Aug 13, 2023):
Hello,

Thank you for your answer.
I wanted to try it but for some reason I cannot create a power connector, there is no link to add one.
@zeddD1abl0 commented on GitHub (Aug 13, 2023):
If you go to a device, you should be able to add a "Power Port" through the "Add Components" menu:
You can then supply all the details including "Maximum draw" and "Allocated draw":
Power Ports are inputs for power. Power Outlets are for output of power. Make sure you add the right port type.
Once you've got it created, you can also attach them to "Power Panels" if you want to go really in-depth about it all. That's a separate menu:
@jsenecal commented on GitHub (Aug 15, 2023):
Unfortunately, the information you have provided does not constitute an actionable feature request. Per our contributing guide, a feature request must include a thorough description of the proposed functionality, including any database changes, new views or API endpoints, and so on. It must also include a detailed use case justifying its implementation. If you would like to elaborate on your proposal, please modify your post above. If sufficient detail is not added, this issue will be closed.
In my experience Cooling or heat generation is usually tightly coupled with the power consumed as most of the energy consumed by a system is usually converted to heat.
What is the intended goal of this feature request ? What exactly do you feel is missing ?
@jose-d commented on GitHub (Aug 18, 2023):
I'm not autor of issue, but I can comment how I see this from perspective of HPC system operator. I'd welcome this feature as well.
Our GPU accelerated servers have 3 power supplies - each 3kW. In total it's 9kW, but this is nowhere close to the real total power consumption - after some testing, we realized it's ~4kW under full load of synthetic benchmarks, and we keep this value in our wiki. I'd be happy to keep this value in Netbox.
TL/DR: despite power is associated to power ports in Netbox, the true power consumption is often defined by device configuration rather than power-supply rating. So I believe power consumption attribute should be associated to device.
@mikygee is it similar to your original idea?
cheers
@AnythingOverIP commented on GitHub (Aug 19, 2023):
@jose-d : The power connections have both Maximum draw (Rated) and Allocated draw. Your ~4kW value is basically an allocated draw value.
@mikygee : For the heat dissipation value in BTU/h, take the amount of watts and multiply it by 3.4192 (some say 3.4121, but it's close enough for estimation purposes anyway). Multiply this by the power supply efficiency. You can make your own calculations or have a script doing it for you, and leverage the Custom Field functionality to store it.
@mikygee commented on GitHub (Aug 19, 2023):
Hello @jsenecal @jose-d @thefreakquency,
About the power consumption, I'm not an expert but there's a difference between the power supply and the power consumption.
Let's take a Dell server, it has 2 x 750W power supplies but my server consume 200W. Sometimes they can consume more.
But the datacenters don't bill my power consumption at a certain moment, they allow me to burst a little and then come back to a certain value.
I think it's similar to @jose-d use case, we want to insert a value for power consumption, use it to calculate our billing or if the electric system is going to short circuit or how many power capacity left we have in the cabinet.
I think the power consumption is define on how you use the server.
I also use Cisco switches, for example the Nexus 9372PX has 2 x 650W power supplies, Cisco indicates a 537W maximum power consumption and 210W typical power consumption. Because I don't have a lot of trafic, I would use the 210W power consumption which is different from the value of the power supplies and the maximum power that the switch may consume.
For heat dissipation, we need to have an idea on how we should cool down the room as we add or remove devices.
I didn't know about the 3.4 factor, thank you @thefreakquency
However it's based on the power consumption of the machine, not the power supplies or the maximum power consumption of the machine.
So in my case, I would use that 3.4 factor to calculate the heat dissipation, the approximate value is good enough.
If I have 10 servers + switches in a specific room consuming 4500W then I have my value (4500 * 3.4)
That emphasize the need to know how much each server consume in Watts.
For heat dissipation, in my "dreams", there would be a suggested value that is calculated using the power consumption * 3..4 and that field is not modifiable by the user.
Next to that field a tick box to make a manual input, if you tick that box you are allowed to enter any value that you want.
Then in API I can retrieve all the servers/devices racked in a rack and add the sum of power consumption and/or heat dissipation and I can tell if I'm ok with my electrical installation or my cooling installation.
But as a general matter, I think these inputs are as much important as the weight of a server or the number of U used by a server.
Thank you
@jose-d commented on GitHub (Aug 21, 2023):
@thefreakquency
yup.
And - I believe - this "Allocated draw" at PSU is not property of PSU (but yes, it can be calculated by hand and written there!), but value which should be calculated (automatically) as a (sum of) connected devices/modules power consumption divided by amount of power supplies.
If this inheritance would be implemented in Netbox, it would allow quite interesting outputs like:
But perhaps this is too [HPC/'big-iron']-specific - far away(?) from standard use of Netbox.. not sure.
cheers
@jeremystretch commented on GitHub (Aug 22, 2023):
This issue proposes two entirely separate things - one of which already exists - in a single feature request, so I'm going to close it.
@mikygee, if you would like to propose adding some mechanism to track heat dissipation in NetBox, please do so by creating a new, detailed feature request proposing the specific model field(s) and any new workflows to be added. (Your proposal above lists no database changes, which obviously cannot be the case.)
Separately, if you would like to propose an improvement to the existing power modeling functionality in NetBox, please do so in a separate feature request. Be sure to explain exactly what you're trying to accomplish, and why the existing model does not accommodate your needs.