Adding power consumption and Heat Disspation #8461

Closed
opened 2025-12-29 20:37:04 +01:00 by adam · 9 comments
Owner

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

  • Power consumption in Watts
  • Heat dissipation in BTU/Hr

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
image

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

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 - Power consumption in Watts - Heat dissipation in BTU/Hr 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 ![image](https://github.com/netbox-community/netbox/assets/2222550/e86a699a-96bf-44e1-9e70-86f56f6838d9) 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_
adam added the type: featurestatus: revisions needed labels 2025-12-29 20:37:04 +01:00
adam closed this issue 2025-12-29 20:37:04 +01:00
Author
Owner

@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.

@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.
Author
Owner

@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.
image

@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. ![image](https://github.com/netbox-community/netbox/assets/2222550/bbf49423-2d1a-4f27-9014-509e8d6c608e)
Author
Owner

@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:

image

You can then supply all the details including "Maximum draw" and "Allocated draw":

image

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:

image

@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: ![image](https://github.com/netbox-community/netbox/assets/8335605/84eb15c9-bfb2-4d63-b5ae-e2b251040e25) You can then supply all the details including "Maximum draw" and "Allocated draw": ![image](https://github.com/netbox-community/netbox/assets/8335605/1eb4a843-9ce5-44ef-98cf-e05ac0ccea27) 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: ![image](https://github.com/netbox-community/netbox/assets/8335605/0d68112c-907c-4202-8866-0594ea03d65f)
Author
Owner

@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 ?

@jsenecal commented on GitHub (Aug 15, 2023): Unfortunately, the information you have provided does not constitute an actionable feature request. Per our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md), 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 ?
Author
Owner

@jose-d commented on GitHub (Aug 18, 2023):

What is the intended goal of this feature request ? What exactly do you feel is missing ?

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

@jose-d commented on GitHub (Aug 18, 2023): > What is the intended goal of this feature request ? What exactly do you feel is missing ? 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
Author
Owner

@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.

@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.
Author
Owner

@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

@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
Author
Owner

@jose-d commented on GitHub (Aug 21, 2023):

@thefreakquency

The power connections have both Maximum draw (Rated) and Allocated draw. Your ~4kW value is basically an allocated draw value.

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:

  • estimates of complex devices like eg. JBODs consumption (because disk can be added as a module/device..) (=to avoid excel-ware)
  • to create rack power density heatmap (useful nowadays as GPU servers have extreme power density and certain rack-U positions are de-facto unusable because of per-rack power limitations)..
  • PDU load planning

But perhaps this is too [HPC/'big-iron']-specific - far away(?) from standard use of Netbox.. not sure.

cheers

@jose-d commented on GitHub (Aug 21, 2023): @thefreakquency > The power connections have both Maximum draw (Rated) and Allocated draw. Your ~4kW value is basically an allocated draw value. 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: * estimates of complex devices like eg. JBODs consumption (because disk can be added as a module/device..) (=to avoid excel-ware) * to create rack power density heatmap (useful nowadays as GPU servers have extreme power density and certain rack-U positions are de-facto unusable because of per-rack power limitations).. * PDU load planning But perhaps this is too [HPC/'big-iron']-specific - far away(?) from standard use of Netbox.. not sure. cheers
Author
Owner

@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.

@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.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#8461