Itron News
Timor-Leste Utilizes Itron Technology to Ensure Social Distancing
Since COVID-19 was declared a pandemic, people around the world have become accustomed to staying home to avoid spreading the virus. For many, this meant minimizing trips to the grocery store and foregoing group outings. However, in places like Timor-Leste in Southeast Asia, citizens must still leave their homes to purchase electricity.
In many parts of the world, including Timor-Leste, consumers prepay for electricity the same way some people utilize prepaid phone plans. To purchase electricity, consumers often buy electricity credits through kiosks set up by the electricity provider.
Recognizing that people would have to leave their homes and gather around these kiosks to purchase electricity, Electricidade de Timor-Leste (EDTL), which provides electricity for Timor-Leste, is offering a $15 per month prepaid token credit for two two months to more than 160,000 customers by working with Itron Indonesia. The electricity credit will help avoid crowds of people gathering to buy electricity credits at the EDTL boxes located throughout Dili and other parts of Timor. Limiting the need for people to leave their homes, EDTL is ensuring that consumers can practice social distancing while still providing electricity.
To help distribute and generate the electricity tokens, EDTL has been working closely with Itron Indonesia, which provides service management for the prepayment systems in Timor-Leste. Additionally, Itron provided support in creating custom programs to distribute the credits to residents.
Beyond providing credits, EDTL is expanding its implementation of Itron’s prepayment system, which provides residents with a vending system using SMS (Short Message Service) vouchers through their mobile phones. With this service, residents can purchase electricity in a convenient, cost-effective way.
As people around the globe continue to experience the ripple effects of COVID-19, we are thankful for energy providers who are helping keep the “lights on” during this pandemic.
In many parts of the world, including Timor-Leste, consumers prepay for electricity the same way some people utilize prepaid phone plans. To purchase electricity, consumers often buy electricity credits through kiosks set up by the electricity provider.
Recognizing that people would have to leave their homes and gather around these kiosks to purchase electricity, Electricidade de Timor-Leste (EDTL), which provides electricity for Timor-Leste, is offering a $15 per month prepaid token credit for two two months to more than 160,000 customers by working with Itron Indonesia. The electricity credit will help avoid crowds of people gathering to buy electricity credits at the EDTL boxes located throughout Dili and other parts of Timor. Limiting the need for people to leave their homes, EDTL is ensuring that consumers can practice social distancing while still providing electricity.
To help distribute and generate the electricity tokens, EDTL has been working closely with Itron Indonesia, which provides service management for the prepayment systems in Timor-Leste. Additionally, Itron provided support in creating custom programs to distribute the credits to residents.
Beyond providing credits, EDTL is expanding its implementation of Itron’s prepayment system, which provides residents with a vending system using SMS (Short Message Service) vouchers through their mobile phones. With this service, residents can purchase electricity in a convenient, cost-effective way.
As people around the globe continue to experience the ripple effects of COVID-19, we are thankful for energy providers who are helping keep the “lights on” during this pandemic.
Kesalahan terjadi ketika Memproses Template.
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>
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>