Itron Idea Labs

Consumer, Commercial Needs Met at #CES2018

January 10, 2018

The Consumer Electronics Show 2018 is my re-introduction to the electronic industry’s show of all shows – the last time I was here was about 15 years ago! The reason I didn’t attended CES during that time is because I haven’t been working in the consumer electronics industry. Now I know that not attending was probably a mistake on my part. This is clearly a show much broader than consumer electronics, and in many cases, there are variants of consumer electronics and commercial electronics. I found the profusion of ‘smart’ and ‘connected’ devices truly amazing as well as the fledgling industries they are creating.



There are several companies demonstrating smart lighting solutions pitching a reduction in operational and maintenance costs while improving safety. Similarly, there are multiple indoor and outdoor environmental sensor solutions.

I also saw smart yard solutions and smart agriculture solutions to monitor soil conditions and control water delivery. The example was repeated with weather stations, environmental sensors, EV charging stations and access controls. There were products that were clearly two sides of the same coin – one side consumer and the other commercial.

There were examples of commercial building and multi-family access controls like door locks, fingerprint readers, face recognition and more products for the home/consumer. There was even a smart pet entry door, which only allows your pet (wearing an RFID TAG) to open the pet door. It communicates this to an app that can be used to monitor the event or lock the door preventing the pet from leaving or entering. What a great product! I need one to keep the neighborhood cats and raccoons out of my house.



So where am I going with this rambling? Simply stated, I believe there is great opportunity here for both the consumer and commercial spaces. The wireless communication used for these devices is all over the board – Proprietary, IEEE 802.15.4, LoRa, ZWave, Bluetooth, IP500 (6LowPAN), Thread, LTE, NB-IoT, etc.  Additionally, the applications are everything from stand alone to cloud-based on Azure, AWS, Google, etc.

When I asked the companies making these devices why they chose a particular wireless technology, and if they thought that it was where their value-add was, the answer I received was, “We did what we had to do at the time” or “It was a means to an end.”  In short, nearly all were open to using a different communication technology that solved their needs as it would allow them to focus on their value-add in devices and software/analytics.

There are many communications problems in the commercial space, and perhaps some in the consumer space, that can be addressed with a Neighborhood Area Network and Itron® Riva technology.
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>