Application with aeraulic heat pump with active thermodynamic recovery

Compact complete system

ELFOPack is the aeraulic heat pump with active thermodynamic recovery for single houses with almost no energy consumption and multifamiliar houses with autonomous installation. ELFOPack integrates all features in a single unit. 

An error occurred while processing the template.
The following has evaluated to null or missing:
==> cur_component.titleColor  [in template "10110#2640274#42661443" at line 155, column 76]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${cur_component.titleColor.getData()}  [in template "10110#2640274#42661443" at line 155, column 74]
----
1<style> 
2    .cli-comp-title-${randomNamespace}{ 
3        font-size: 45px; 
4        font-weight: 700; 
5        color: #3C3C3C; 
6        margin-bottom: 15px; 
7
8    .cli-comp-cont-${randomNamespace}{ 
9        background-color: ${color.getData()}; 
10        padding-top: 85px; 
11        padding-bottom: 60px; 
12
13    .cli-comp-cont-${randomNamespace} .cli-comp-card{ 
14        max-width: 365px; 
15        /*height: 365px;*/ 
16        background-color: white; 
17        margin: auto; 
18        margin-bottom: 50px; 
19        border-radius: 3px; 
20        display: block; 
21
22    .cli-comp-cont-${randomNamespace} .cli-comp-img{ 
23        height: 290px; 
24        overflow: hidden; 
25
26    .cli-comp-cont-${randomNamespace} .cli-comp-img img{ 
27        width: 100%; 
28
29    .cli-comp-cont-${randomNamespace} .cli-comp-align{ 
30         position: relative; 
31         top: 50%; 
32         transform: translateY(-50%); 
33
34    .cli-comp-cont-${randomNamespace} .cli-comp-contitle{ 
35        font-size: 22px; 
36        color: #3C3C3C; 
37        height: 25px; 
38        overflow: hidden; 
39        text-align: center; 
40        line-height: 100%; 
41        padding: 0px 7px; 
42        margin-top: 7px; 
43
44    .cli-comp-cont-${randomNamespace} .cli-comp-context{ 
45        font-size: 19px; 
46        height: 45px; 
47        overflow: hidden; 
48        text-align: center; 
49        padding: 0px 7px; 
50        line-height: 100%; 
51        color: #afafaf; 
52
53    .cli-comp-cont-${randomNamespace} a.cli-comp-card:hover{ 
54        -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.75); 
55        -moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.75); 
56        box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.75); 
57        cursor: pointer; 
58        text-decoration: none; 
59
60    .cli-comp-cont-${randomNamespace}.color .cli-comp-card { 
61        padding: 25px; 
62
63 
64    .cli-comp-cont-${randomNamespace}.white .cli-comp-card { 
65        background-color: #f3f5f7; 
66
67    .cli-comp-cont-${randomNamespace}.white .cli-comp-context { 
68        color: #afafaf; 
69
70 
71    .cli-comp-cont-${randomNamespace}.gray .cli-comp-card { 
72        background-color: #939598; 
73
74    .cli-comp-cont-${randomNamespace}.gray .cli-comp-context { 
75        color: #fff; 
76
77 
78    .cli-comp-cont-${randomNamespace}.blue .cli-comp-card { 
79        color: #009ddd; 
80
81    .cli-comp-cont-${randomNamespace}.blue .cli-comp-context { 
82        color: #fff; 
83
84 
85    .cli-comp-cont-${randomNamespace}.green .cli-comp-card { 
86        background-color: #a7cd45; 
87
88    .cli-comp-cont-${randomNamespace}.green .cli-comp-context { 
89        color: #fff; 
90
91 
92    .cli-comp-cont-${randomNamespace}.red .cli-comp-card { 
93        background-color: #f04e3e; 
94
95    .cli-comp-cont-${randomNamespace}.red .cli-comp-context { 
96        color: #fff; 
97
98 
99    .cli-comp-cont-${randomNamespace}.yellow .cli-comp-card { 
100        background-color: #e6b00f; 
101
102    .cli-comp-cont-${randomNamespace}.yellow .cli-comp-context { 
103        color: #000; 
104
105 
106</style> 
107 
108<div class="cli-comp-title-${randomNamespace}">${title.getData()}</div> 
109<#assign extraCardClass = ""> 
110<#if color.getData() == "#fff"> 
111    <#assign extraCardClass = "color white"> 
112</#if> 
113<#if color.getData() == "#939598"> 
114    <#assign extraCardClass = "color gray"> 
115</#if> 
116<#if color.getData() == "#009ddd"> 
117    <#assign extraCardClass = "color blue"> 
118</#if> 
119<#if color.getData() == "#a7cd45"> 
120    <#assign extraCardClass = "color green"> 
121</#if> 
122<#if color.getData() == "#f04e3e"> 
123    <#assign extraCardClass = "color red"> 
124</#if> 
125<#if color.getData() == "#e6b00f"> 
126    <#assign extraCardClass = "color yellow"> 
127</#if> 
128<div class="container-fluid cli-comp-cont-${randomNamespace} ${extraCardClass}"> 
129    <div class="row"> 
130        <#if component.getSiblings()?has_content> 
131        	<#list component.getSiblings() as cur_component> 
132        	    <#assign cliCompLink = "" /> 
133                <#if cur_component.link.getFriendlyUrl()?? &&cur_component.link.getFriendlyUrl() != ""> 
134                    <#assign cliCompLink = cur_component.link.getFriendlyUrl()> 
135                </#if> 
136                <#if cliCompLink == "" && cur_component.externalLink?has_content && cur_component.externalLink.getData() != ""> 
137                    <#assign cliCompLink = cur_component.externalLink.getData() /> 
138                </#if> 
139        	    <#if cliCompLink != ""> 
140        	        <#assign cliCompTag = "a"> 
141        	    <#else> 
142        	        <#assign cliCompTag = "div"> 
143        	    </#if> 
144        	    <div class="col-md-${rowNumber.getData()}"> 
145        	        <${cliCompTag} class="cli-comp-card" href="${cliCompLink}"> 
146                        <#if cur_component.text.getData()?? && cur_component.text.getData()!=""> 
147                	        <div class="cli-comp-img"> 
148                        <#else> 
149                            <div class="cli-comp-img" style="height: 325px;"> 
150                        </#if> 
151                            <#if cur_component.img.getData()?? && cur_component.img.getData() != ""> 
152                            	<img data-fileentryid="${cur_component.img.getAttribute("fileEntryId")}" alt="${cur_component.img.getAttribute("alt")}" src="${cur_component.img.getData()}" class="cli-comp-align" /> 
153                            </#if> 
154                        </div> 
155                	    <div class="cli-comp-contitle" style="color: ${cur_component.titleColor.getData()};"> 
156                		    ${cur_component.getData()} 
157                		</div> 
158                		<div class="cli-comp-context"> 
159                		    ${cur_component.text.getData()} 
160                		</div> 
161            		</${cliCompTag}> 
162        		</div> 
163        	</#list> 
164        </#if> 
165    </div>     
166</div> 
01
ELFOPack heat pump for zero demand heating and cooling
HEATING COOLING
01
domestic hot water production and integrated storage
DOMESTIC HOT WATER
01
ELFOPack also takes care of mechanical ventilation with thermodynamic recovery
MECHANICAL VENTILATION
01
standard electronic filters with very high filtration efficiency
ELECTRONIC FILTRATION
01
ELFOPack allows summer drying
SUMMER DRYING
01
air distribution and diffusion with ELFOAir
AIR DISTRIBUTION DIFUSSION