BTU field and calculation per rack (Original #4889) #4164

Closed
opened 2025-12-29 18:33:33 +01:00 by adam · 10 comments
Owner

Originally created by @xkilian on GitHub (Oct 2, 2020).

Environment

Python version: N/A
NetBox version: 2.9.3

Proposed Functionality

Provide a new calculated field for all equipement: BTU. This field would be calculated based on equipement wattage defined in the equipement template.
Provide a new calculated field for Racks: Rack Total BTU. This field would be calculated based on the total BTU of defined equipement.
Provide a new calculated field for Racks: Rack-Group Total BTU. This field would be calculated based on the total BTU of racks.

maximum_draw remains an optional field to import a device template. If someone wants to use this feature, they will populate their templates accordingly. Could be re-evaluated at a later date.

Use Case

This will help in determining heat creation per rack and rack_group for room cooling requirements.

A new branch office is being built, and cooling requirements are needed by the contractor.
If all devices in the rack were assigned a BTU rating based on equipement wattage, a pre-calculated value would be feasible.

Database Changes

A new field per device would be required This would be a calculated field based on maximum draw.
A new field per rack would be required This would be a calculated field based on the sum of BTU per rack.
A new field per rack_group would be required This would be a calculated field based on the sum of BTU of all racks in a rack_group and non-racked devices, when #4971 is implemented.

Coonversion formula for watts to BTU: Intel has a specification here: https://www.intel.com/content/www/us/en/support/articles/000006784/server-products.html - for generating BTUs based on consumed wattage. It boils down to watts * 3.41214 = BTU -
Not sure which formula is the most accurate: The formula for calculating BTU/hr is: Heat Dissipation (Watts) x
3.4192 = BTU/Hr. So if a server has a heat dissipation (output) of 500
Watts the thermal or heat energy generated is 1709.6 BTU/hr.

The range of values per device would be from 0 to likely no more than 15000
BTU/hr for a larger chassis switch with multiple blades and power supplies.

If one or more devices do not have "maximum_draw value" defined, automatically pre-prend ">" to the displayed value. This will indicate that the value is expected to be higher. Same approach as the calculated cable length, see #5672.

Data should be made available in the UI and API for device, rack and rack group.

The values should be calculated on field maximum_draw field on creation or change.

External Dependencies

None.

Originally created by @xkilian on GitHub (Oct 2, 2020). ### Environment Python version: N/A NetBox version: 2.9.3 ### Proposed Functionality Provide a new calculated field for all equipement: BTU. This field would be calculated based on equipement wattage defined in the equipement template. Provide a new calculated field for Racks: Rack Total BTU. This field would be calculated based on the total BTU of defined equipement. Provide a new calculated field for Racks: Rack-Group Total BTU. This field would be calculated based on the total BTU of racks. maximum_draw remains an optional field to import a device template. If someone wants to use this feature, they will populate their templates accordingly. Could be re-evaluated at a later date. ### Use Case This will help in determining heat creation per rack and rack_group for room cooling requirements. A new branch office is being built, and cooling requirements are needed by the contractor. If all devices in the rack were assigned a BTU rating based on equipement wattage, a pre-calculated value would be feasible. ### Database Changes A new field per device would be required This would be a calculated field based on maximum draw. A new field per rack would be required This would be a calculated field based on the sum of BTU per rack. A new field per rack_group would be required This would be a calculated field based on the sum of BTU of all racks in a rack_group and non-racked devices, when #4971 is implemented. Coonversion formula for watts to BTU: Intel has a specification here: https://www.intel.com/content/www/us/en/support/articles/000006784/server-products.html - for generating BTUs based on consumed wattage. It boils down to watts * 3.41214 = BTU - Not sure which formula is the most accurate: The formula for *calculating BTU*/hr is: *Heat Dissipation* (Watts) x 3.4192 = *BTU*/Hr. So if a server has a *heat dissipation* (output) of 500 Watts the thermal or *heat* energy generated is 1709.6 *BTU*/hr. The range of values per device would be from 0 to likely no more than 15000 BTU/hr for a larger chassis switch with multiple blades and power supplies. If one or more devices do not have "maximum_draw value" defined, automatically pre-prend ">" to the displayed value. This will indicate that the value is expected to be higher. Same approach as the calculated cable length, see #5672. Data should be made available in the UI and API for device, rack and rack group. The values should be calculated on field maximum_draw field on creation or change. ### External Dependencies None.
adam added the type: featurepending closurestatus: under review labels 2025-12-29 18:33:33 +01:00
adam closed this issue 2025-12-29 18:33:33 +01:00
Author
Owner

@DanSheps commented on GitHub (Oct 2, 2020):

This issue is pending closure as it does not conform to one of the provided templates as required by the contributing guide. If you'd like to request that your issue be re-opened, please first update the content so that it matches the appropriate template (this may require rewriting your issue entirely).

@DanSheps commented on GitHub (Oct 2, 2020): This issue is pending closure as it does not conform to one of the [provided templates](https://github.com/netbox-community/netbox/issues/new/choose) as required by the [contributing guide](https://github.com/netbox-community/netbox/blob/master/CONTRIBUTING.md). If you'd like to request that your issue be re-opened, please first update the content so that it matches the appropriate template (this may require rewriting your issue entirely).
Author
Owner

@xkilian commented on GitHub (Oct 2, 2020):

Ok, it should match the template now. Sorry, I copied over starting from the previous issue.

@xkilian commented on GitHub (Oct 2, 2020): Ok, it should match the template now. Sorry, I copied over starting from the previous issue.
Author
Owner

@xkilian commented on GitHub (Oct 5, 2020):

For discussion: What would be preferred, the use of maximum draw for use in the calculations. Making required fields maximum_draw or simply not bothering and doing the calculation if the fields are available. Some way would then be needed to flag that the calculation is not taking into account all equipement.
There would also be the need to include or exclude unracked equipement that is in the same room (rack or rack group).

@xkilian commented on GitHub (Oct 5, 2020): For discussion: What would be preferred, the use of maximum draw for use in the calculations. Making required fields maximum_draw or simply not bothering and doing the calculation if the fields are available. Some way would then be needed to flag that the calculation is not taking into account all equipement. There would also be the need to include or exclude unracked equipement that is in the same room (rack or rack group).
Author
Owner

@stale[bot] commented on GitHub (Nov 20, 2020):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.

@stale[bot] commented on GitHub (Nov 20, 2020): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@xkilian commented on GitHub (Nov 20, 2020):

I am still hoping someone will take up this issue from the community at large. It should not be a huge change. Benefits are not immediate unless the majority of devices ahev the maximum_draw value implemented, but they are important for those responsible for the datacenter. (cooling)

@xkilian commented on GitHub (Nov 20, 2020): I am still hoping someone will take up this issue from the community at large. It should not be a huge change. Benefits are not immediate unless the majority of devices ahev the maximum_draw value implemented, but they are important for those responsible for the datacenter. (cooling)
Author
Owner

@lewis-preot commented on GitHub (Dec 16, 2020):

I'd love to see this features added, I closed mine immediately as I saw this was open after i originally posted.

@lewis-preot commented on GitHub (Dec 16, 2020): I'd love to see this features added, I closed mine immediately as I saw this was open after i originally posted.
Author
Owner

@stale[bot] commented on GitHub (Jan 31, 2021):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.

@stale[bot] commented on GitHub (Jan 31, 2021): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@xkilian commented on GitHub (Jan 31, 2021):

If devices do not have "maximum_draw value" defined automatically pre-prend ">" to the displayed value. This will indicate that the value is expected to be higher. Same approach as the calculated cable length, see #5672.
Do not required any changes to import behaviour, if someone wants to use this feature, they will populate their templates accordingly.
Calculate this value for all racks.
Calculate this value for all rack-groups which would be the total value of racks and non-racked devices, when #4971 is implemented.
(Updated issue proposed changes)

@xkilian commented on GitHub (Jan 31, 2021): If devices do not have "maximum_draw value" defined automatically pre-prend ">" to the displayed value. This will indicate that the value is expected to be higher. Same approach as the calculated cable length, see #5672. Do not required any changes to import behaviour, if someone wants to use this feature, they will populate their templates accordingly. Calculate this value for all racks. Calculate this value for all rack-groups which would be the total value of racks and non-racked devices, when #4971 is implemented. (Updated issue proposed changes)
Author
Owner

@stale[bot] commented on GitHub (Mar 19, 2021):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.

@stale[bot] commented on GitHub (Mar 19, 2021): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@github-actions[bot] commented on GitHub (Apr 14, 2021):

This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.

@github-actions[bot] commented on GitHub (Apr 14, 2021): This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4164