Itron Inspire

Edge Intelligence via Collaboration: The Itron Riva Developers Community

October 19, 2016

This afternoon we spent time with Roberto Aiello, managing director of Itron Idea Labs, as he discussed the Itron Riva Developers Community. We launched the Developers Community last May with the purpose of encouraging a collaborative ecosystem of IoT developers and device manufacturers to create applications that utilize the OpenWay Riva networking solution.

“The world is changing and we can’t do business the same way we used to,” said Roberto. “We want people with ideas and solutions to create apps on our network.”

Through the Itron Riva Developers Community site, developers can access tools and support to prototype, validate and develop turnkey IoT applications at the device level. These applications span various IoT verticals such as energy and water management, building energy management, smart street lighting and solar monitoring.

To help inspire our developer’s community, we recently sponsored the Itron Ignite Innovation Challenge and called on IoT developers to create connected, resourceful solutions for pressing challenges facing the utility industry and smart cities. More than 20 solutions were submitted through the challenge and this morning, we announced that Cyient, a global provider of engineering, manufacturing, data analytics, networks and operations solutions, won the challenge by creating a mobile and web application for outage management that predicts and proactively communicates outages.

The app can help utilities proactively manage and communicate outages rather than reactively handle them as they have in the past. Our Itron Riva platform allows the app to pull information from the edge of the network and communicate in real-time, which not only allows utilities to quickly identify fault locations, but also provides immediate notification to affected customers on outage incidents and restoration status. The application also provides a visual display of an outage and restored areas for utility field crews as well as customers.

The Ignite Innovation Challenge captured the essence of what we’re working to achieve with the developers community – encouraging third party developers to utilize the Itron Riva Edge platform to create opportunities for using IoT to empower smarter utilities and smarter cities across the globe.

“We want to allow people to collaborate and innovate,” Roberto continued. “We want more people and more companies on the network.” Through the Itron Riva Developers Community, we are focused on empowering smarter utilities and smarter cities, fundamentally changing the way meters and smart devices interact and leverage the possibilities of IoT.

You can learn more about the Itron Riva Developers Community or purchase a development kit at www.itronriva.com.
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> authorContent.contentFields  [in template "44616#44647#114455" at line 9, column 17]

----
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: contentFields = authorContent.content...  [in template "44616#44647#114455" at line 9, column 1]
----
1<#assign 
2	webContentData = jsonFactoryUtil.createJSONObject(author.getData()) 
3	classPK = webContentData.classPK 
4/> 
5 
6<#assign 
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs") 
8contentFields = authorContent.contentFields 
9categories=authorContent.taxonomyCategoryBriefs 
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent) 
11friendlyURL = authorContentData.friendlyUrlPath 
12authorCategoryId = "0" 
13/> 
14 
15<#list contentFields as contentField > 
16   <#assign  
17	 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)  
18	 name = contentField.name 
19	 /> 
20	 <#if name == 'authorImage'> 
21	    <#if (contentField.contentFieldValue.image)??> 
22	        <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />	 
23			</#if> 
24	 </#if> 
25	 <#if name == 'authorName'> 
26	    <#assign authorName = contentField.contentFieldValue.data /> 
27			<#list categories as category > 
28         <#if authorName == category.taxonomyCategoryName> 
29				     <#assign authorCategoryId = category.taxonomyCategoryId /> 
30				 </#if> 
31      </#list> 
32	 </#if> 
33	 <#if name == 'authorDescription'> 
34	    <#assign authorDescription = contentField.contentFieldValue.data /> 
35			 
36	 </#if> 
37	  
38	 <#if name == 'authorJobTitle'> 
39	    <#assign authorJobTitle = contentField.contentFieldValue.data /> 
40			 
41	 </#if> 
42 
43</#list> 
44 
45<div class="blog-author-info"> 
46	<#if authorImageURL??> 
47		<img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" /> 
48	</#if> 
49	<#if authorName??> 
50		<#if authorName != ""> 
51			<p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p> 
52			<hr /> 
53		</#if> 
54	</#if> 
55	<#if authorJobTitle??> 
56		<#if authorJobTitle != ""> 
57			<p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p> 
58			<hr /> 
59		</#if> 
60	</#if> 
61	<#if authorDescription??> 
62		<#if authorDescription != "" && authorDescription != "null" > 
63			<p class="blog-author-desc" id="author-job-desc">${authorDescription}</p> 
64			<hr /> 
65		</#if> 
66	</#if> 
67</div>