feat: Working ansible with vault variables, needs cleaned up.
This commit is contained in:
17
Makefile
17
Makefile
@@ -3,7 +3,7 @@ TEX_TITLE ?= "Report.tex"
|
|||||||
HTML_TITLE ?= "report.html"
|
HTML_TITLE ?= "report.html"
|
||||||
OUT_FILE ?= "Report.md"
|
OUT_FILE ?= "Report.md"
|
||||||
OUT_DIR ?= "outfiles"
|
OUT_DIR ?= "outfiles"
|
||||||
PDF_TEST_TILE ?= "Report.test.pdf"
|
PDF_TEST_TITLE ?= "Report.test.pdf"
|
||||||
|
|
||||||
.PHONY: gen
|
.PHONY: gen
|
||||||
gen:
|
gen:
|
||||||
@@ -20,16 +20,14 @@ pdf: gen
|
|||||||
&& open ${PDF_TITLE} \
|
&& open ${PDF_TITLE} \
|
||||||
&& osascript ./scripts/notify.scpt
|
&& osascript ./scripts/notify.scpt
|
||||||
|
|
||||||
.PHONY: test-pdf
|
.PHONY: pdf-test
|
||||||
test-pdf: gen
|
pdf-test:
|
||||||
@pandoc --pdf-engine=xelatex \
|
@pandoc --pdf-engine=xelatex \
|
||||||
-H resources/head.tex \
|
-H resources/head.tex \
|
||||||
-H "${OUT_DIR}/footer.tex" \
|
-H "${OUT_DIR}/footer.tex" \
|
||||||
-o ${PDF_TEST_TITLE} \
|
-o "${OUT_DIR}/${PDF_TEST_TITLE}" \
|
||||||
"${OUT_DIR}/${OUT_FILE}" \
|
"${OUT_DIR}/${OUT_FILE}" \
|
||||||
resources/Definitions.md \
|
resources/Definitions.md
|
||||||
&& open ${PDF_TEST_TITLE} \
|
|
||||||
&& osascript ./scripts/notify.scpt
|
|
||||||
|
|
||||||
.PHONY: tex
|
.PHONY: tex
|
||||||
tex: gen
|
tex: gen
|
||||||
@@ -52,3 +50,8 @@ install:
|
|||||||
mactex-no-gui \
|
mactex-no-gui \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
gettext
|
gettext
|
||||||
|
|
||||||
|
@.PHONY: clean
|
||||||
|
clean:
|
||||||
|
@rm -rf outfiles
|
||||||
|
@mkdir outfiles
|
||||||
|
|||||||
5
ansible.cfg
Normal file
5
ansible.cfg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[defaults]
|
||||||
|
inventory=./inventory.ini
|
||||||
|
roles_path=./roles
|
||||||
|
stdout_callback=yaml
|
||||||
|
interpreter_python=auto_silent
|
||||||
19
group_vars/all/vars.yml
Normal file
19
group_vars/all/vars.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
author_name: "{{ vault_author_name }}"
|
||||||
|
document_title: "Home Performance Report"
|
||||||
|
company: "{{ vault_company }}"
|
||||||
|
links:
|
||||||
|
images:
|
||||||
|
logo: "img/logo.png"
|
||||||
|
trueflow: "img/trueflow.png"
|
||||||
|
trueflow_forecast: "img/forecast.png"
|
||||||
|
documents: "{{ vault_document_links }}"
|
||||||
|
|
||||||
|
customer: "{{ vault_customer }}"
|
||||||
|
|
||||||
|
home:
|
||||||
|
square_feet: "3,000"
|
||||||
|
cfm50: "3,000"
|
||||||
|
lair: "1:1"
|
||||||
|
|
||||||
|
output_path: "/Users/michael/projects/hpa-consult-report/outfiles"
|
||||||
35
group_vars/all/vault.yaml
Normal file
35
group_vars/all/vault.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
34356166663933373435353334376433633137323838373832616335396232366536353766613131
|
||||||
|
3465313832383733326433613862363639353665306164660a643534646438353233393239373866
|
||||||
|
38336631623166643065653738393330616535656237376438323438363934323935363565393632
|
||||||
|
3462366164323233640a343966303361656261383138306664333930636433383261653066626639
|
||||||
|
63626465323266346164313030343963623661666233633236363439303164396431306165646533
|
||||||
|
33353562386337343538363333313362333362643230353536656535383931333665653335383130
|
||||||
|
34353130653836633531336563323831333337353936313737303239653539623263356261303635
|
||||||
|
31373832396438643466326361396162316134313833303732633062326531346637313665663037
|
||||||
|
63393261666436363062306436313334356465316361383938646162333130356130323736633761
|
||||||
|
34396530356231623437633163363762333461303337363539366638376462663561313437313938
|
||||||
|
30306335303638633037383732646236663437333362626433366330326566633532396535346165
|
||||||
|
64376663346132666538343566343437323763633532303336646330626439353334643837383165
|
||||||
|
66323261656466363237346661653232363766646265643037343366373133663739383532643161
|
||||||
|
63353338663537313430653066373764376437393364363438363834616363653139396237656534
|
||||||
|
34343332393030383863306664613434653665303336346163613161363431633236316138396537
|
||||||
|
37373332326233326264613337303134626661663930316434303865633365353437313363343834
|
||||||
|
61656266343466656239623366366538343937363932613966333832646534653462366637623163
|
||||||
|
31383733303736353565306637653532346431666666303931616232656138616532653161666463
|
||||||
|
37623734303436653664353261363664666138666436626330316437396237313131663361373634
|
||||||
|
61383061366263313239643665356638666361666561313532636563643932613462616131396363
|
||||||
|
36636362613463336136633962386139353965636538666562383831313661376261396531306631
|
||||||
|
32346264633631303164643832613835376432636331396234323034656438363638633633353363
|
||||||
|
36303831653534333031623437663832323961323763323863643562343137323164373161343130
|
||||||
|
31306132343235333735616437376662336464643431643563623731333463353631626238656262
|
||||||
|
38613637626433303866336330636234363534626664306337613832623433663866646430373666
|
||||||
|
66626131383839356337653461343866313431666566633230653831303062636433623830383236
|
||||||
|
39626137653461353535333366393633356538633437356563323663616466623737323438666438
|
||||||
|
33623364303961363666653930393466613938333537336530616461333036646265343032653362
|
||||||
|
66303237363631353631346137643539333435323535356133313530393238623239333233656265
|
||||||
|
62303633376233646334663633613838303462613662643433663465323864396265383165313932
|
||||||
|
61346434633965656133646264373034616538653330663661306562613730376432363564646461
|
||||||
|
34636462666337303465666564393465363865343763623832383735616237373331623231333931
|
||||||
|
33323965353864313932623339383431636536633734393065373437666461636666373364356535
|
||||||
|
3666336333306431306630663537383235653735363662343636
|
||||||
2
inventory.ini
Normal file
2
inventory.ini
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[local]
|
||||||
|
127.0.0.1 ansible_connection=local
|
||||||
7
playbook/report.yml
Normal file
7
playbook/report.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
- name: Generate Report.
|
||||||
|
hosts: all
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: report
|
||||||
|
tag: report
|
||||||
21
resources/vault.example.yaml
Normal file
21
resources/vault.example.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
vault_author_name: "Testy McTestface Jr"
|
||||||
|
|
||||||
|
vault_company:
|
||||||
|
website: "https://example.com"
|
||||||
|
phone: "555-555-5555"
|
||||||
|
url_display_title: "www.Example.com"
|
||||||
|
|
||||||
|
vault_document_links:
|
||||||
|
loads_folder: "https://example.com/path/to/loads/folder"
|
||||||
|
trueflow_file: "https://example.com/path/to/trueflow/file"
|
||||||
|
trueflow_forecast_file: "https://example.com/path/to/trueflow/forecast/file"
|
||||||
|
document_folder: "https://example.com/path/to/document/folder"
|
||||||
|
|
||||||
|
vault_customer:
|
||||||
|
name: "Testy McTestface Sr"
|
||||||
|
address:
|
||||||
|
street: "1234 Seasme Street"
|
||||||
|
city: "No Mans Land"
|
||||||
|
state: "Foo"
|
||||||
|
zip: "55555"
|
||||||
33
roles/report/defaults/main.yml
Normal file
33
roles/report/defaults/main.yml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
author_name: "Testy McTestface Jr"
|
||||||
|
document_title: "Home Performance Report"
|
||||||
|
company:
|
||||||
|
website: "https://example.com"
|
||||||
|
phone: "555-555-5555"
|
||||||
|
url_display_title: "www.Example.com"
|
||||||
|
|
||||||
|
links:
|
||||||
|
images:
|
||||||
|
logo: "img/logo.png"
|
||||||
|
trueflow: "img/trueflow.png"
|
||||||
|
trueflow_forecast: "img/forecast.png"
|
||||||
|
documents:
|
||||||
|
loads_folder: "https://example.com/path/to/loads/folder"
|
||||||
|
trueflow_file: "https://example.com/path/to/trueflow/file"
|
||||||
|
trueflow_forecast_file: "https://example.com/path/to/trueflow/forecast/file"
|
||||||
|
document_folder: "https://example.com/path/to/document/folder"
|
||||||
|
|
||||||
|
customer:
|
||||||
|
name: "Testy McTestface Sr"
|
||||||
|
address:
|
||||||
|
street: "1234 Seasme Street"
|
||||||
|
city: "No Mans Land"
|
||||||
|
state: "Foo"
|
||||||
|
zip: "55555"
|
||||||
|
|
||||||
|
home:
|
||||||
|
square_feet: "3,000"
|
||||||
|
cfm50: "3,000"
|
||||||
|
lair: "1:1"
|
||||||
|
|
||||||
|
output_path: "outfiles"
|
||||||
22
roles/report/tasks/main.yml
Normal file
22
roles/report/tasks/main.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
- name: Generate Footer File
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "templates/{{ item }}"
|
||||||
|
dest: "{{ output_path }}/footer.tex"
|
||||||
|
mode: "0600"
|
||||||
|
# variable_end_string: '[%'
|
||||||
|
# variable_start_string: '%]'
|
||||||
|
with_items:
|
||||||
|
- "footer.tex"
|
||||||
|
tags:
|
||||||
|
- footer
|
||||||
|
|
||||||
|
- name: Generate Templated Files
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "templates/{{ item }}"
|
||||||
|
dest: "{{ output_path }}/Report.md"
|
||||||
|
mode: "0600"
|
||||||
|
with_items:
|
||||||
|
- "Report.md"
|
||||||
|
tags:
|
||||||
|
- report
|
||||||
307
roles/report/templates/Report.md
Normal file
307
roles/report/templates/Report.md
Normal file
@@ -0,0 +1,307 @@
|
|||||||
|
---
|
||||||
|
title: "{{ document_title }}"
|
||||||
|
author: "{{ author_name }}"
|
||||||
|
date: \today{}
|
||||||
|
mainfont: Avenir Next
|
||||||
|
documentclass: article
|
||||||
|
fontsize: 12pt
|
||||||
|
# NOTE: The applegreen is a custom color defined in resources/head.tex
|
||||||
|
linkcolor: applegreen
|
||||||
|
urlcolor: applegreen
|
||||||
|
abstract: |
|
||||||
|
**Prepared For:**
|
||||||
|
|
||||||
|
{{ customer.name }}
|
||||||
|
|
||||||
|
{{ customer.address.street }}
|
||||||
|
{{ customer.address.city }}, {{ customer.address.state }} {{ customer.address.zip }}
|
||||||
|
|
||||||
|
```{=latex}
|
||||||
|
\begin{center}
|
||||||
|
```
|
||||||
|
<!-- below are just forced line breaks -->
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
|
||||||
|
[{ width=30% }]({{ company.website }})
|
||||||
|
|
||||||
|
```{=latex}
|
||||||
|
\end{center}
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- NOTE: Table of contents section only needs changed if new sections are
|
||||||
|
added.
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Contents
|
||||||
|
|
||||||
|
1. [Introduction](#home-performance-report)
|
||||||
|
1. [Your Goals](#your-goals)
|
||||||
|
1. [Leakage](#how-leaky-is-your-house)
|
||||||
|
1. [Observations](#observations)
|
||||||
|
1. [HVAC](#hvac-observations)
|
||||||
|
1. [Home](#home-observations)
|
||||||
|
1. [Load Calculations](#load-calculations)
|
||||||
|
1. [Your Loads](#your-loads)
|
||||||
|
1. [Airflow Assessment](#airflow-assessment)
|
||||||
|
1. [Your Static Measurements](#your-static-measurements)
|
||||||
|
1. [Static Pressure Forecast](#static-measurements-forecast)
|
||||||
|
1. [Summary](#summary)
|
||||||
|
1. [Definitions](#definitions)
|
||||||
|
1. [CFM50]
|
||||||
|
1. [IAQ]
|
||||||
|
1. [LAIR]
|
||||||
|
1. [Load Calculation][load-calculation]
|
||||||
|
1. [Shell][shell]
|
||||||
|
1. [SHR]
|
||||||
|
1. [TESP]
|
||||||
|
1. [WC][wc]
|
||||||
|
|
||||||
|
# Home Performance Report
|
||||||
|
|
||||||
|
Thank you for having us to your home for a home performance assessment. I hope that it was
|
||||||
|
beneficial. We learned a lot about your home and your goals during the brief visit. So, let’s jump
|
||||||
|
in to some of the things discovered.
|
||||||
|
|
||||||
|
Below is a summary of your goals, house measurements, and our budget discussion as well as my
|
||||||
|
observations and some recommendations. As part of the service we ran load calculations that help
|
||||||
|
determine the right sized HVAC for your home as it stand and with some upgrades. Those are attached
|
||||||
|
as are bids for replacements.
|
||||||
|
|
||||||
|
Once you read the report you’ll have 3 options: do nothing, pick and choose upgrades, or do more
|
||||||
|
planning for more difficult goals or complex projects. These options are discussed at the end of the
|
||||||
|
report as well as our leanings for your home.
|
||||||
|
|
||||||
|
\goalsimage
|
||||||
|
|
||||||
|
## Your goals:
|
||||||
|
|
||||||
|
<!-- NOTE: This should probably be a table in most cases, with a rank.-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
| Goal | Rank |
|
||||||
|
| ------ | ---- |
|
||||||
|
| A goal | 8 |
|
||||||
|
| B goal | 5 |
|
||||||
|
-->
|
||||||
|
<!-- WARNING: Add goals here -->
|
||||||
|
|
||||||
|
1. Add air conditioning.
|
||||||
|
|
||||||
|
# How Leaky Is Your House
|
||||||
|
|
||||||
|
<!-- NOTE: Several of the variables used in this section are defined in vars.sh
|
||||||
|
Do not change them here, instead update them in the vars.sh file.
|
||||||
|
-->
|
||||||
|
|
||||||
|
One of the main objectives was to perform a blower door test and load calculations for the home. We
|
||||||
|
discovered that the blower door number was {{ home.cfm50 }} [CFM50] for the approximately
|
||||||
|
{{ home.square_feet }} \squarefoot ({{ home.lair }} [LAIR]). A leaky home, most often, is an
|
||||||
|
uncomfortable and uncontrollable home.
|
||||||
|
|
||||||
|
> _Air leakage tends to have one of the largest impacts on the load of a home._
|
||||||
|
>
|
||||||
|
> - _Around 1:1 homes begin to be more controllable / comfortable_
|
||||||
|
> - _your home is {{ home.cfm50 }}:{{ home.square_feet }} \squarefoot for a ratio of
|
||||||
|
> {{ home.lair }}_
|
||||||
|
> - _Leaky homes are very difficult to maintain comfort with HVAC alone._
|
||||||
|
|
||||||
|
# Observations
|
||||||
|
|
||||||
|
The below sections are observations about the current HVAC system and the home.
|
||||||
|
|
||||||
|
## HVAC Observations
|
||||||
|
|
||||||
|
<!-- WARNING: Add HVAC observations here. -->
|
||||||
|
|
||||||
|
1. Current furnace is sized appropriately based on the load of the home.
|
||||||
|
1. Current duct system is not sized adequately for the system.
|
||||||
|
1. Filter is too small for the system.
|
||||||
|
1. Return sizing is not adequate.
|
||||||
|
1. Supply sizing is marginal.
|
||||||
|
1. Current static pressure is already high.
|
||||||
|
1. These problems may become worse when AC is installed.
|
||||||
|
|
||||||
|
## Home Observations
|
||||||
|
|
||||||
|
<!-- WARNING: Add house observations here. -->
|
||||||
|
|
||||||
|
1. The house leakage is high for the size of the home.
|
||||||
|
1. May be hard to control comfort without [shell] improvements.
|
||||||
|
|
||||||
|
# Load Calculations
|
||||||
|
|
||||||
|
Several [load-calculations][load-calculation] were performed on your home to determine the proper
|
||||||
|
equipment sizing for this application. Below is a comparison of the
|
||||||
|
[load-calculations][load-calculation] with the current air leakage and several improved air leakage
|
||||||
|
targets.
|
||||||
|
|
||||||
|
## Your Loads
|
||||||
|
|
||||||
|
<!-- WARNING: Add the project loads here. -->
|
||||||
|
|
||||||
|
| [CFM50] | | Heating Total | Cooling Total | [SHR] | [LAIR] |
|
||||||
|
| -------------------- | ----------- | ------------- | ------------- | -------- | ------------------- |
|
||||||
|
| **{{ home.cfm50 }}** | **Current** | **55,102** | **20,726** | **0.79** | **{{ home.lair }}** |
|
||||||
|
| 2,000 | | 40,320 | 17,279 | 0.85 | 1.5:1 |
|
||||||
|
| 1,350 | | 35,885 | 16,245 | 0.88 | 1:1 |
|
||||||
|
|
||||||
|
> **Note:**
|
||||||
|
>
|
||||||
|
> 1. _The lower the heating and cooling total's the better._
|
||||||
|
> 1. _An undersized air conditioner is better than an oversized one._
|
||||||
|
> 1. _Supplemental dehumidification may be required for [SHR]'s below 0.83._
|
||||||
|
|
||||||
|
The above table shows the relationship between air leakage and the amount of heating and cooling
|
||||||
|
that is required for the home. A tight home is easier to control the comfort levels, offers superior
|
||||||
|
IAQ levels, and lower utility costs.
|
||||||
|
|
||||||
|
<!-- WARNING: Update this summary for the given project -->
|
||||||
|
|
||||||
|
The projected cooling size required for your home is around 2-Tons for the current leakage rate, or
|
||||||
|
1.5-Tons if [shell] improvements were made.
|
||||||
|
|
||||||
|
[Here is a link to your load calculation reports][loads-folder]
|
||||||
|
|
||||||
|
# Airflow Assessment
|
||||||
|
|
||||||
|
While on site, we also measured the total system airflow and static pressure of the system. Static
|
||||||
|
pressure is equivalent to the blood pressure of your system and gives us a better understanding of
|
||||||
|
the overall ability for the system to provide the proper amount of airflow, as well as how much it
|
||||||
|
may struggle to do so.
|
||||||
|
|
||||||
|
Static pressure is the amount of resistance that the blower has to work against in order to move air
|
||||||
|
through the system. Things that have an effect on the static pressure of the system include, air
|
||||||
|
filters (size and type), duct sizes, amount of ducts, length of ducts, duct fittings and
|
||||||
|
transitions, as well as internal system components. Each component of the system has a resistance
|
||||||
|
associated with it that the blower has to overcome, by taking some key measurements we are able to
|
||||||
|
determine the [TESP] of the system. While there are several static pressures in the system, when we
|
||||||
|
talk about static pressure we are generally referring to [TESP].
|
||||||
|
|
||||||
|
Static pressure ([TESP]) has a range of _low_, _acceptable_, or _high_. While these numbers are
|
||||||
|
specific to the actual equipment, most manufacturers follow similar standards. For the sake of
|
||||||
|
simplicity, 0.5" [wc] or under is an _acceptable_ target, 0.8" [wc] is generally the max acceptable
|
||||||
|
static pressure (although we like to stay well below this if possible), and above 0.8" [wc] is
|
||||||
|
considered _high_ and should be addressed. _Low_ is generally not common and is rarely problematic,
|
||||||
|
so it is not focused on much.
|
||||||
|
|
||||||
|
<!-- NOTE: Force a new page here, for images and sub-section heading to be on same page -->
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
## Your Static Measurements
|
||||||
|
|
||||||
|
![True Flow Report][trueflow-image]{ height=50% }
|
||||||
|
|
||||||
|
<!-- WARNING: Summarize the static measurements here -->
|
||||||
|
|
||||||
|
The above image is a snapshot of the static pressures recorded for your system. This shows that the
|
||||||
|
static pressure of your system is very high (1.114" [wc]). The primary culprits for the high static
|
||||||
|
pressure are that the filter is undersized for the airflow required and the return duct sizing is
|
||||||
|
small.
|
||||||
|
|
||||||
|
These measurements were taken in the heating mode because your system does not currently have air
|
||||||
|
conditioning. Currently the heating airflow is on the low side for what is required for your system
|
||||||
|
(1200 CFM would be ideal). This should be adjusted if possible during the install to get better
|
||||||
|
performance and efficiency out of the system, given that some static pressures can be improved
|
||||||
|
during the project.
|
||||||
|
|
||||||
|
\
|
||||||
|
\
|
||||||
|
|
||||||
|
[Here is a link to the full airflow report.][trueflow-file]
|
||||||
|
|
||||||
|
<!-- NOTE: Force a new page here, for images and sub-section heading to be on same page -->
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
## Static Measurements Forecast
|
||||||
|
|
||||||
|
![True Flow Forecast][trueflow-forecast-image]{ height=50% }
|
||||||
|
|
||||||
|
<!-- WARNING: Summarize the forecast results below. -->
|
||||||
|
|
||||||
|
The above image is a snapshot is of a forecast of the static pressures after adding air
|
||||||
|
conditioning. It should be noted that these measurements are based solely on the airflow required
|
||||||
|
for cooling mode, not for heating mode (in other words, heating mode is going to be higher because
|
||||||
|
the airflow requirement is higher).
|
||||||
|
|
||||||
|
This shows that with an upgraded filter we can get the static pressure below the 0.8" [wc] max
|
||||||
|
target while in cooling mode.
|
||||||
|
|
||||||
|
\
|
||||||
|
\
|
||||||
|
|
||||||
|
[Here is a link to the full forecast report.][trueflow-forecast-file]
|
||||||
|
|
||||||
|
# Summary
|
||||||
|
|
||||||
|
The purpose of the home performance assessment is to help find the overlap between the house needs,
|
||||||
|
the goals, and the budget to see if there's a viable project.
|
||||||
|
|
||||||
|
<!-- WARNING: Add summary here -->
|
||||||
|
|
||||||
|
The house is pretty leaky overall. This is due to the age and construction style of the house. This
|
||||||
|
may lead to comfort problems or trouble maintaining comfort in all areas of the house.
|
||||||
|
|
||||||
|
Based on the [load calculations][load-calculation], the previously quoted systems are too large for
|
||||||
|
the current load, so we need to update the proposals to be for 2-Ton systems. This will help with
|
||||||
|
the fact that the static pressure of the system is already really high. The static pressure for
|
||||||
|
heating will likely still be above the 0.8" [wc] max threshold.
|
||||||
|
|
||||||
|
An upgraded air filter is going to be required to help alleviate the blower motor. Another return
|
||||||
|
may be required in the living space to further drop the static pressure, however this could likely
|
||||||
|
be done in the future if desired. I would estimate that adding another return would be in the
|
||||||
|
**$800-1,200** range.
|
||||||
|
|
||||||
|
While on site it was mentioned that you would like some of the ducts to be sealed that go to the
|
||||||
|
second floor. This is something that is not included in our general proposals. I would estimate this
|
||||||
|
to be an additional **$150-300** and will add options in the updated proposals.
|
||||||
|
|
||||||
|
Since the goal is to add air conditioning, then I would recommend going with a 2-Ton system. If the
|
||||||
|
system does not maintain then you could look into [shell] improvements and air sealing the home.
|
||||||
|
|
||||||
|
Regards,
|
||||||
|
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
|
||||||
|
[Here is a link to all the documents][document-folder]
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
|
||||||
|
<!-- NOTE: These are reference links for short form linking in the document.
|
||||||
|
This allows all the links to be changed / updated in one place.
|
||||||
|
However most do not need updated unless sections are added, besides the
|
||||||
|
document links, which are defined / setup in vars.sh.
|
||||||
|
-->
|
||||||
|
|
||||||
|
[CFM50]: #cfm50-definition "CFM50"
|
||||||
|
[IAQ]: #iaq-definition "IAQ"
|
||||||
|
[LAIR]: #lair-definition "LAIR"
|
||||||
|
[load-calculation]: #load-calculation-definition "load calculation"
|
||||||
|
[shell]: #shell-definition "shell"
|
||||||
|
[SHR]: #shr-definition "SHR"
|
||||||
|
[wc]: #wc-definition "wc"
|
||||||
|
[TESP]: #tesp-definition "TESP"
|
||||||
|
|
||||||
|
|
||||||
|
<!-- IMPORTANT: Take screen shots of the TrueFlow reports and add to the img
|
||||||
|
folder with names / path setup in vars.sh -->
|
||||||
|
|
||||||
|
<!-- default is img/trueflow.png -->
|
||||||
|
[trueflow-image]: "{{ links.images.trueflow }}"
|
||||||
|
|
||||||
|
<!-- default is img/forecast.png -->
|
||||||
|
[trueflow-forecast-image]: "{{ links.images.trueflow_forecast }}"
|
||||||
|
|
||||||
|
<!-- NOTE: These links are defined in vars.sh -->
|
||||||
|
|
||||||
|
[loads-folder]: "{{ links.documents.loads_folder }}"
|
||||||
|
[trueflow-file]: "{{ links.documents.trueflow_file }}"
|
||||||
|
[trueflow-forecast-file]: "{{ links.documents.trueflow_forecast_file }}"
|
||||||
|
[document-folder]: "{{ links.documents.document_folder }}"
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
26
roles/report/templates/footer.tex
Normal file
26
roles/report/templates/footer.tex
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
% customize the footer
|
||||||
|
\usepackage{fancyhdr}
|
||||||
|
\pagestyle{fancy}
|
||||||
|
% clear all footers
|
||||||
|
\fancyfoot{}
|
||||||
|
% clear all headers
|
||||||
|
\fancyhead{}
|
||||||
|
|
||||||
|
% change font size on footer.
|
||||||
|
\newcommand{\changefont}{
|
||||||
|
\fontsize{8}{10}\selectfont
|
||||||
|
}
|
||||||
|
% NOTE: What is displayed in the footer of each page.
|
||||||
|
\fancyfoot[LE,LO]{
|
||||||
|
\href{ {{ company.website }} }
|
||||||
|
{\changefont\textbf{
|
||||||
|
{{ company.url_display_title }}
|
||||||
|
}}
|
||||||
|
}
|
||||||
|
\fancyfoot[RE,RO]{\textbf{
|
||||||
|
\changefont{
|
||||||
|
Phone: \href{tel:{{ company.phone }} }{
|
||||||
|
\color{orange}{{ company.phone }}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
Reference in New Issue
Block a user