NewTech Challenge: Wind turbine monitoring

An error occurred while processing the template.
The following has evaluated to null or missing:
==> mostrarTituloH2  [in template "20102#20129#105831" at line 4, column 40]

----
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: #assign hayH2 = getterUtil.getBoolean...  [in template "20102#20129#105831" at line 4, column 1]
----
1<#assign title = .vars['reserved-article-title'].getData()> 
2<div class="containerInterior"> 
3<#assign hayH1 = getterUtil.getBoolean(MostrarTituloH1.getData())> 
4<#assign hayH2 = getterUtil.getBoolean(mostrarTituloH2.getData())> 
5 
6<#if hayH1> 
7    <h1 aria-level="1" role="heading" id="titulo">${layout.getName(locale)}</h1> 
8</#if> 
9<#if hayH2> 
10 
11    <#if TituloContenido.getData()?? && TituloContenido.getData() != ""> 
12        <#assign contenido = TituloContenido.getData()> 
13    <#else> 
14        <#assign contenido = title> 
15    </#if> 
16 
17    <#if hayH1> 
18        <p  id="subtitulo"  
19            aria-level="2"  
20            role="heading"  
21            style=" 
22                color: #007f33 !important; 
23                font-size: 45px; 
24                font-family: 'IberPangea Medium', sans-serif; 
25                line-height: 45px; 
26                margin-top: .75em; 
27                margin-bottom: .9em;"> 
28            ${contenido} 
29        </p> 
30    <#else> 
31        <p  id="subtitulo" 
32            style=" 
33                color: #007f33 !important; 
34                font-size: 45px; 
35                font-family: 'IberPangea Medium', sans-serif; 
36                line-height: 45px; 
37                margin-top: .75em; 
38                margin-bottom: .9em;"> 
39            ${contenido} 
40        </p> 
41    </#if> 
42 
43</#if> 
44 
45<#if getterUtil.getBoolean(MostrarCategorias.getData())> 
46 
47 
48 
49    <#assign journalArticleId = .vars['reserved-article-id'].data> 
50    <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
51 
52    <#assign assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") /> 
53 
54    <#assign article = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) /> 
55    <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
56    <#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) > 
57    <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
58 
59    <p class="tag-categorias"> 
60 
61    <#list asset.getCategories() as category> 
62 
63 
64 
65    <#if assetCategoryPropertyLocalService.fetchCategoryProperty(category.getCategoryId(), "friendlyURL")??> 
66 
67        <#assign categoryFriendly = '/tag/' + assetCategoryPropertyLocalService.fetchCategoryProperty(category.getCategoryId(), "friendlyURL").getValue() /> 
68 
69        <#if layoutLocalService.fetchLayoutByFriendlyURL(groupId, false, categoryFriendly)??> 
70            <#assign  categoryLayout = layoutLocalService.fetchLayoutByFriendlyURL(groupId, false, categoryFriendly) /> 
71            <#assign categoryLayoutURL = portalUtil.getLayoutFullURL(categoryLayout, themeDisplay) /> 
72 
73            <a class="tag-categoria" href="${categoryLayoutURL}">${category.getTitle(locale)?cap_first}</a> 
74 
75        <#else> 
76        <a class="tag-categoria" href="/tag/#">${category.getTitle(locale)?cap_first}</a> 
77 
78        </#if> 
79    </#if> 
80 
81 
82 
83 
84    </#list> 
85 
86    </p> 
87 
88</#if> 
89<div id="contenidoEntradilla">${DescripcionDetalleContenido.getData()}</div> 
90 
91 
92<#if ContenidoWebcofl.getSiblings()?has_content> 
93	<#list ContenidoWebcofl.getSiblings() as cur_ContenidoWebcofl> 
94		<#assign 
95			webContentData = jsonFactoryUtil.createJSONObject(cur_ContenidoWebcofl.getData()) 
96		/> 
97 
98			<#if webContentData?length gt 5> 
99					<@liferay_asset["asset-display"] 
100                                className = webContentData.className 
101                                classPK = webContentData.classPK?number 
102                        /> 
103 
104			</#if> 
105 
106 
107	</#list> 
108</#if> 
109</div> 
110<@liferay_util["html-top"]> 
111<style> 
112    #decPagination div.containerInterior p#subtitulo { 
113        font-family: "Iberpangea Medium"; 
114        font-size: 45px; 
115        line-height: 45px; 
116        color: #007F33; 
117        margin-bottom: 20px; 
118
119 
120 
121    div.contenidoCentrado div.contenidoInterior div.containerInterior p.tag-categorias a.tag-categoria:focus{ 
122        outline: 2px solid rgba(0, 0, 0, 0.7) !important; 
123
124    p.tag-categorias > .tag-categoria { 
125        width: auto !important; 
126        max-width: inherit !important; 
127
128     
129    div.faldon h2 { 
130        width: 100%; 
131        float: left; 
132        font-size: 1.26em; 
133        font-family: IberPangeaText Light, sans-serif; 
134        margin-bottom: 2em; 
135        border-bottom: 1px solid #e0e0e0; 
136        padding-bottom: .8em; 
137        color: #427314 !important; 
138 
139        line-height: 1.35em; 
140        margin-top: .75em; 
141
142    .contenidoInterior div.faldon h2+ul li:before { 
143        margin: .15em 0 0 -1.75em; 
144        font-size: 1em; 
145
146    .cursiva_texto { 
147        font-style: italic; 
148
149    .contenidoInterior h1 { 
150		font-family: 'IberPangea', sans-serif !important; 
151		font-size: 32px !important; 
152		border: none !important; 
153		line-height: 36px !important; 
154		letter-spacing: 0px !important; 
155		color: #00402A !important; 
156		padding-left: 0em !important; 
157		margin-bottom: 14px !important; 
158
159    p span.table a.enlace-actualidad[href*="/tag/"], 
160    p span.table a.enlace-actualidad[href*="/label/"], 
161    p.tag-categorias a.tag-categoria[href*="/tag/"], 
162    p.tag-categorias a.tag-categoria[href*="/label/"]{ 
163        line-height: 23px !important; 
164
165    .contenidoInterior #contenidoEntradilla p.entradilla { 
166        font-family: IberPangeaText, sans-serif !important; 
167        font-size: 17px !important; 
168        line-height: 23px !important; 
169        font-weight: 700; 
170        color: #615D5A !important; 
171        margin-top: 2em; 
172
173       
174    .contenidoInterior h2#subtitulo{ 
175        font-family: 'IberPangea  Medium', sans-serif !important; 
176        margin-bottom: 0.4em; 
177
178   #decPagination div.containerInterior{ 
179        max-width:980px; 
180        margin:0 auto 25px; 
181
182    #decPagination div.containerInterior h1#titulo{ 
183        font-family:"Iberpangea Medium"; 
184        font-size:32px; 
185        line-height:36px; 
186        color:#00402A; 
187        text-transform:none; 
188        border-left:none; 
189        margin-top:20px; 
190
191    #decPagination div.containerInterior h2#subtitulo{ 
192        font-family:"Iberpangea Medium"; 
193        font-size:45px; 
194        line-height:45px; 
195        color:#007F33; 
196        margin-bottom:20px; 
197
198    #decPagination div.containerInterior p.tag-categorias{ 
199        margin-bottom:30px !important; 
200
201    #decPagination div.containerInterior p.tag-categorias a.tag-categoria{ 
202        margin-right:20px; 
203        color:#00402A; 
204
205    #decPagination div.containerInterior div#contenidoEntradilla p.entradilla{ 
206        font-family:"IberpangeaText"; 
207        font-size:20px ; 
208        line-height:26px; 
209        color:#615D5A; 
210
211    @media all and (max-width:500px){ 
212        #decPagination div.containerInterior h1#titulo{ 
213            font-size:26px; 
214            line-height:36px; 
215
216        #decPagination div.containerInterior h2#subtitulo{ 
217            font-size:35px; 
218            line-height:35px; 
219            margin-bottom:20px; 
220
221        #decPagination div.containerInterior div#contenidoEntradilla p.entradilla{ 
222            font-family:"IberpangeaText Bold"; 
223            font-size:16px ; 
224            line-height:24px; 
225
226
227    @media screen and (max-width: 47.95em) { 
228        .contenidoInterior h1 { 
229            font-size: 26px !important; 
230
231        .contenidoInterior h2#subtitulo{ 
232            font-size: 35px; 
233            line-height: 35px; 
234            color: #007F33 !important; 
235            margin-bottom: 1em; 
236
237        .contenidoInterior #contenidoEntradilla p.entradilla { 
238            margin-top: 0.8em; 
239
240        .contenidoInterior #contenidoEntradilla p.entradilla { 
241            line-height: 24px !important; 
242
243
244 
245 
246</style> 
247</@> 
The winner will sign a collaboration agreement and be able to try out their project.
The winner will sign a collaboration agreement and be able to try out their project.

Part of Iberdrola's commitment to the development of wind energy lies in the constant search for greater efficiency and the reduction of operating and maintenance costs to increase competitiveness. In this sense, monitoring systems for wind turbines and the associated electrical infrastructure are a key element in extending the life of the wind farms.

Spanish startup Xmart Connectivity Solutions (XmartSense) offered the winning solution for the Wind turbine monitoring challenge, which they will be able to test alongside Iberdrola International Startup Programme - PERSEO: a wireless, self-powered sensor which can measure ambient and fluid temperatures, relative humidity, pressure, gas concentration, spatial position and more.

This sensor can be applied to acoustic detection, rotor bearing temperature, torque measurement, vibration monitoring, and gear tooth wear measurement. 3D printing makes this a flexible platform that adapts easily to different scenarios by adding and combining new sensors.

It therefore meets the main requirement: solutions that can be implemented quickly, simply and economically at older farms.

What kind of solutions did we seek?

The challenge was to find innovative and competitive wind turbine monitoring solutions that meet the following requirements:

 They are low cost solutions or sensors.

 They are low-powered or self-powered.

 They can be implemented in wind farms already in operation with turbines from different suppliers. Special consideration will be given to the speed of installation and to making as few modifications as possible to the existing hardware.

 They have few wiring requirements (power/communications). Wireless and autonomous sensors — that do not need external power — will be appreciated.

 They use long-distance wireless data transmission protocols (such as LoraWAN), which enable centralised data collection at the substation or the operations and maintenance base.

 They have On-edge data processing to reduce the bandwidth needed to transmit the data.

 They have open interfaces for the post-processing and sending of the raw data.

 They are multifunctional sensors and combine, for instance, temperature, pressure, humidity and triaxial vibration data.

The deadline for registration was between 1 July and 15 September 2020. The winner was announced in October 2020. 

What is the prize?

 The prize will consist of us signing a collaboration and testing agreement with PERSEO and/or with any other Iberdrola group company. PERSEO or the signatory company will assume the costs of these activities and will provide the winner with the necessary technical support, as well as a real environment and data to test the solution, giving them access to equipment, infrastructure, high-tech sites and joint work areas.

 If the trial or concept testing is satisfactory, Iberdrola could offer the participant the chance to scale up the solution by adopting it through commercial agreements.

 PERSEO may also consider investing in the participating company and/or in the winning solution.

External link, opens in new window.