Sentry meters, to detect water leaks in the network
Focus
Focus
Category Facet
Custom Facet
Search Results
-
Document · written-by LUCIA ALGISI on-date Jun 5, 2024 10:45 PM
Board Member Expertise Cristian Fabbri Executive Chairman ✔ Market Group Manager and responsible for the Group's activities in the energy markets since 2014 (all activities related to...
-
Document · written-by LUCIA ALGISI on-date May 31, 2024 12:40 PM
-
Document · written-by LUCIA ALGISI on-date Jun 20, 2024 6:50 PM
HERA GROUP | Analyst’s comments on Q1 2024 financial results INSTITUTE COMMENT BANCA AKROS "The company’s results were basically in line with our estimates. It is worth highlighting that the...
-
Documents Folder on-date Jul 2, 2020 11:34 AM
-
Documents Folder on-date Jun 29, 2020 3:22 PM
-
Documents Folder on-date Jun 30, 2020 9:47 AM
-
Documents Folder on-date Jun 30, 2020 11:25 AM
-
Documents Folder on-date Jul 2, 2020 12:14 PM
-
Documents Folder on-date Jul 3, 2020 11:23 AM
-
Documents Folder on-date Jul 4, 2020 9:05 AM
-
Documents Folder on-date Jul 4, 2020 9:24 AM
-
Documents Folder on-date Jul 4, 2020 9:44 AM
-
Documents Folder on-date Jul 6, 2020 8:16 AM
-
Documents Folder on-date Jul 6, 2020 9:39 AM
-
Documents Folder on-date Jul 6, 2020 10:30 AM
-
Documents Folder on-date Jul 8, 2020 11:31 AM
-
Documents Folder on-date Jul 9, 2020 11:23 AM
-
Documents Folder on-date Jul 22, 2020 4:36 PM
-
Documents Folder on-date Aug 3, 2020 11:24 AM
-
Documents Folder on-date Aug 5, 2020 8:58 AM
Asset Publisher
The pilot project involving the installation of Kamstrup meters was carried out in Conselice, near Ravenna, and yielded excellent results. The tests now continue in Modena, covering a larger area
The Flow IQ® 2200 manufactured by Kamstrup, a well-established European supplier, is a sentry meter that can “listen” to the network thanks to a built-in hydrophone, i.e. a sensor designed to capture sounds and other acoustic signals underwater, which in this case is able to detect the noise associated with any water leaks.
By placing the meters at strategic points in the network, about 50 metres apart, it is possible to create a grid within which continuous monitoring can be carried out.
The meters transmit to a digital platform (called the LeakDetector) the minimum value of noise detected in 24 hours: if this is high, the meters will be highlighted with different alarm levels and analysis of the data will make it possible to identify whether it is indeed a water leak.
If a leak or break code is activated for a meter, the customer will be notified promptly by our technicians.
The meter testing phase started in May 2022 with the installation of more than 900 meters in the municipality of Conselice, where continuous monitoring of the water network began in September 2022 with real-time analysis of the leaks present, thereby allowing targeted intervention for repairs.
It is planned to continue testing over a wider area, starting with Modena, where 1,300 meters are being installed.
The Conselice pilot project: benefits noted
Reliability
The meters are extremely reliable, the leak and break indications that were verified were correct and no false positives were found.
Promptness
We intervened before customers called us: many leaks were repaired the day after they appeared, whereas previously some leaks would only have been detected following issue of a bill with an unusually high consumption figure.
Permanent monitoring
Compared to the installation of standard meters, the main difference is that with Flow IQ® 2200s, a permanent water leak monitoring system is put in place. Kamstrup meters are also smart meters and automatically send data to the portal.
Rapid localisation
If the meters are correctly positioned, field localisation is quick because the area to be investigated is confined.
Integration
The system interfaces seamlessly with other company monitoring tools.
Affordability
By correctly establishing the number of meters required, good network coverage is achieved without an unsustainable increase in costs.
Search Bar
Tag Facet
Search Results
Java method "static it.reply.open.hera.template.custom.service.WidgetTemplateTool.getDateFormattedBy(String, String, Locale)" threw an exception; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: publishDate = hera_template_tool.getD... [in template "20099#20135#57725650" at line 71, column 13] ----
1<#assign
2assetVocabularyLocalServiceUtil = objectUtil("com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil")
3vocabularyComunicatiStampa = assetVocabularyLocalServiceUtil.fetchGroupVocabulary(themeDisplay.getScopeGroupId(), languageUtil.get(locale, "comunicati-stampa"))
4vocabularyId = vocabularyComunicatiStampa.vocabularyId
5/>
6
7
8<#assign
9companyId=themeDisplay.getCompanyId() languageId=themeDisplay.getLanguageId()
10currentUrl=themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() url=portalUtil.getPortalURL(themeDisplay)
11HERA_FIELD_TITLE="title_" + languageId
12HERA_FIELD_LOCALIZED_TITLE="title_"+languageId
13HERA_FIELD_SIMPLE_TITLE="title"
14HERA_FIELD_URL_TITLE="urlTitle"
15HERA_FIELD_CONTENT="content_" + languageId
16HERA_FIELD_DESCRIPTION="description"
17HERA_FIELD_DESCRIPTION_IT="description_" + languageId
18HERA_FIELD_PUBLISH_DATE="publishDate"
19HERA_FIELD_DISPLAYDATE="displayDate"
20HERA_FIELD_CREATEDATE="createDate"
21HERA_FIELD_CLASS_TYPE_ID="classTypeId"
22HERA_FIELD_ENTRY_CLASS_NAME="entryClassName"
23HERA_FIELD_CLASSPK="entryClassPK"
24HERA_FIELD_ENTRY_CLASS_NAME_LAYOUT="com.liferay.portal.kernel.model.Layout"
25HERA_FIELD_ENTRY_CLASS_NAME_JA="com.liferay.journal.model.JournalArticle"
26HERA_FIELD_ENTRY_CLASS_NAME_DFE="com.liferay.document.library.kernel.model.DLFileEntry"
27HERA_FIELD_ENTRY_CLASS_NAME_USER="com.liferay.portal.kernel.model.User"
28HERA_FIELD_ENTRY_CLASS_NAME_FOLDER="com.liferay.document.library.kernel.model.DLFolder"
29HERA_FIELD_ENTRY_CLASS_NAME_DDLRECORD="com.liferay.dynamic.data.lists.model.DDLRecord"
30HERA_FIELD_ENTRY_CLASS_NAME_DDMFORMINSTANCERECORD="com.liferay.dynamic.data.mapping.model.DDMFormInstanceRecord"
31HERA_FIELD_PREFIX="ddm__keyword__"
32HERA_FIELD_PREFIX_TEXT="ddm__text__"
33HERA_FIELD_SOTTOTITOLO="__sottotitolo_"
34HERA_FIELD_IMMAGINE="__immagine_"
35HERA_FIELD_IMMAGINE_SINISTRA_FOCUS="__ImmagineSinistra_"
36HERA_FIELD_IMMAGINE_TYPE2= "__immagine_r13v_"
37HERA_ASSET_CATEGORY_TITLE="assetCategoryTitles"
38HERA_FIELD_USER_FULLNAME="fullName"
39HERA_FIELD_USER_EMAIL_ADDRESS="emailAddress"
40HERA_ORA_PUBBLICAZIONE="__ora_pubblicazione_"
41HERA_CONTENT="content_"+languageId
42
43CATEGORY_HERA_SPA=languageUtil.get(locale, "hera-spa")
44CATEGORY_IR_PRICE=languageUtil.get(locale, "ir-price")
45/>
46
47
48<#-- gruppohera_results.jsp es. ddm__keyword__54911__sottotitolo_it_IT es. displayDate -->
49
50<#-- Abilitare o Disabilitare Highlight dei termini ricercati in configurazione -->
51<#assign isHighlightEnabled=true />
52<#if portletPreferences["highlightEnabled"]?? && portletPreferences["highlightEnabled"][0]?has_content>
53 <#assign isHighlightEnabled=portletPreferences["highlightEnabled"][0] />
54</#if>
55
56<#assign docs=searchContainer.getResults() />
57
58<div class="container archivio my-4">
59 <#if docs?has_content>
60 <#list docs as d>
61 <#assign contentTitle="" contentSummary="" content="" contentDate="" />
62
63 <#assign contentTitle=hera_template_tool.highlight(d.get(HERA_FIELD_LOCALIZED_TITLE),searchResultsPortletDisplayContext.getKeywords(), isHighlightEnabled?boolean)
64 classTypeId=d.get(HERA_FIELD_CLASS_TYPE_ID)
65 sottotitolo=d.get(HERA_FIELD_PREFIX + classTypeId + HERA_FIELD_SOTTOTITOLO + languageId)
66 description=d.get(HERA_FIELD_DESCRIPTION_IT)
67 immagineInEvidenza=d.get(HERA_FIELD_PREFIX_TEXT+classTypeId + HERA_FIELD_IMMAGINE_SINISTRA_FOCUS + languageId)
68 urlTitle=d.get(HERA_FIELD_URL_TITLE)
69 contentSummary=hera_template_tool.highlight(d.get(HERA_CONTENT), searchResultsPortletDisplayContext.getKeywords(), isHighlightEnabled?boolean)
70 contentDate=hera_template_tool.getDateFormattedBy(d.get(HERA_FIELD_DISPLAYDATE),"dd/MM/yyyy",locale)
71 publishDate=hera_template_tool.getDateFormattedBy(d.get(HERA_FIELD_PUBLISH_DATE),"dd/MM/yyyy",locale)
72 oraPubblicazione = d.get(HERA_FIELD_PREFIX +classTypeId + HERA_ORA_PUBBLICAZIONE + languageId)
73 oraPubblicazioneObj = oraPubblicazione
74 checkcategory=0
75 contentUrl=hera_template_tool.getSearchResultViewURL(renderRequest, renderResponse,
76 d.get(HERA_FIELD_ENTRY_CLASS_NAME), d.get(HERA_FIELD_CLASSPK)?number, true, currentUrl)
77 content=d.get(HERA_FIELD_CONTENT) titlepage=languageUtil.get(locale, titlepage,
78 layout.getName(locale)) />
79
80<#attempt>
81
82 <#assign
83 immagineInEvidenzaObj=jsonFactoryUtil.createJSONObject(immagineInEvidenza)
84 />
85
86
87
88 <#if immagineInEvidenzaObj?? && immagineInEvidenzaObj?has_content && !immagineInEvidenzaObj.groupId?? && !immagineInEvidenzaObj.name?? && !immagineInEvidenzaObj.uuid??>
89 <#assign
90 immagineInEvidenzaObj=jsonFactoryUtil.createJSONObject(immagineInEvidenzaType2)
91 />
92 </#if>
93
94 <div class="post-item mb-3">
95 <a href="${urlTitle}" class="tile boxarchivio-round position-relative white-bg">
96 <#if immagineInEvidenzaObj?? && immagineInEvidenzaObj?has_content >
97 <div class="row d-flex align-items-center">
98 <#else>
99 <div class="row d-flex align-items-center min-height-168">
100 </#if>
101 <#if immagineInEvidenzaObj?? && immagineInEvidenzaObj?has_content && immagineInEvidenzaObj.groupId?? && immagineInEvidenzaObj.name?? && immagineInEvidenzaObj.uuid??>
102 <#assign immagineUrl="/documents/" + immagineInEvidenzaObj.groupId + "/0/" + immagineInEvidenzaObj.name + "/" + immagineInEvidenzaObj.uuid />
103 <div class="col-xs-3 col-md-2">
104 <img title="${immagineInEvidenzaObj.name}" alt="${titlepage}" class="agg-tile-image img-archivio-news" src="${immagineUrl}" />
105 </div>
106 <div class="col-xs-9 col-md-10 offset-lg-1 col-lg-9 px-5 px-md-0">
107 <div class="container px-lg-3 pr-xl-4">
108 <div class="black py-2 small">
109 <div class="mr-0 mr-md-5 d-inline">
110 <#attempt>
111 ${contentDate}
112 <#recover>
113 </#attempt>
114 </div>
115 <#assign assetCategoryList= hera_template_tool.getAssetCategoryList(d.get("rootEntryClassPK"))/>
116 <#list assetCategoryList as entryCategory>
117 <#if entryCategory.vocabularyId == vocabularyId || true>
118 <#assign catName = entryCategory.name>
119 <#if catName==CATEGORY_HERA_SPA>
120 <#assign checkcategory=1 />
121 </#if>
122 <#if catName==CATEGORY_IR_PRICE>
123 <#assign checkcategory=1 />
124 </#if>
125
126 <div class="mr-2 d-inline gruppo-color-bg white px-1 py-0 py-lg-1 py-md-1 ${catName?lower_case}">
127 ${catName}
128 </div>
129 </#if>
130 </#list>
131 </div>
132
133 <h3 class="titlesize bigger black letter-spacing-sm bolder"> ${contentTitle}</h3>
134 <#if contentSummary?? && contentSummary?has_content>
135 <div class="d-none d-lg-block greyish-brown tilesize"> ${contentSummary} </div>
136 <#else>
137 <div class="d-none d-lg-block greyish-brown tilesize">
138 ${description}
139 </div>
140 </#if>
141 <#if checkcategory==1>
142 <i class="black py-2 mr-0 mr-md-3">
143 <#if publishDate!=""> Online dal ${publishDate} </#if>
144 <#--<#list oraPubblicazioneObj as ora_pubb>-->
145 <#if oraPubblicazioneObj!="">
146 alle ore ${oraPubblicazioneObj}
147 </#if>
148 <#--</#list>-->
149
150 </i>
151 </#if>
152 </div>
153 </div>
154 <#else>
155 <div class="col-xs-12 col-md-10">
156 <div class="container">
157 <div class="ml-4 black py-2 small mr-3">
158 <div class="mr-5 d-inline">
159 ${contentDate}
160 </div>
161 <div class="mr-2 d-inline gruppo-color-bg white px-1 py-0 py-lg-1 py-md-1">
162 <#assign assetCategoryList= hera_template_tool.getAssetCategoryList(d.get("rootEntryClassPK"))/>
163 <#list assetCategoryList as entryCategory>
164 <#if entryCategory.vocabularyId == vocabularyId>
165 <#assign catName = entryCategory.name>
166 <#if catName==CATEGORY_HERA_SPA>
167 <#assign checkcategory=1 />
168 </#if>
169 <#if catName==CATEGORY_IR_PRICE>
170 <#assign checkcategory=1 />
171 </#if>
172
173 <div class="mr-2 d-inline gruppo-color-bg white px-1 py-0 py-lg-1 py-md-1">
174 ${catName}
175 </div>
176 </#if>
177 </#list>
178 </div>
179 </div>
180 <h3 class="titlesize bigger ml-4 black letter-spacing-sm bolder"> ${contentTitle}</h3>
181 <#if contentSummary?? && contentSummary?has_content>
182 <div class="d-none d-lg-block black tilesize ml-4">
183 ${contentSummary}
184 </div>
185 <#else>
186 <div class="d-none d-lg-block greyish-brown tilesize ml-4">
187 ${description}
188
189 </div>
190 </#if>
191 <#if checkcategory==1>
192 <i class="ml-4 black py-2 small mr-3">
193 <#if publishDate!=""> Online dal ${publishDate} </#if>
194 <#--<#list oraPubblicazioneObj as ora_pubb>-->
195 <#if oraPubblicazioneObj!="">
196 alle ore ${oraPubblicazioneObj}
197 </#if>
198 <#--</#list>-->
199 </i>
200 </#if>
201 </div>
202 </div>
203 </#if>
204 </div>
205 </a>
206 </div>
207 <#recover>
208
209 </#attempt>
210 </#list>
211 </#if>
212</div>
213
214
215<script>
216 $(document).ready(function () {
217 var url = window.location.href;
218 if (url.indexOf("/-/")>=0){
219 var recoverurl=localStorage.getItem("reindexcomunicati");
220 $(".reindexlink").attr("href",recoverurl);
221 }else{
222 localStorage.setItem("reindexcomunicati", url);
223 }
224 });
225</script>
Asset Publisher