# Grøn energi .. og visning i HOMEY

**URL:** <https://community.homey.app/t/gron-energi-og-visning-i-homey/36353>\
**Category:** 🇩🇰 Dansk (Danish)\
**Created:** [October 22, 2020, 2:11pm UTC](https://community.homey.app/t/gron-energi-og-visning-i-homey/36353 "2020-10-22T14:11:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![CLAUS1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/claus1/32/30105_2.png) [@CLAUS1](https://community.homey.app/u/CLAUS1)\
**Post date:** [October 22, 2020, 2:11pm UTC](https://community.homey.app/t/gron-energi-og-visning-i-homey/36353/1 "2020-10-22T14:11:13Z")

</div>

Hej er ved at kigge på hvordan jeg får HOMEY til at vise hvor meget grøn energi der er i stikkontakten…

Derfor har jeg lavet nedenstående HOMEYSCRIPT ( det er kun et MOCKUP SÅ MEGET GRIM KODE)

Den kaldes så via et flow of så kan man bruge variablen GreenEnergyPercent…

Tænker at enten skal det bruges i LED RING eller LOGIC ZDB kontakt

// ENERGINET

/\*

- This script fetchs JSON data from ENERGINET
- Calculates the Renewable Energy AMount In Percent
- NOTE ONLY FOR DK1 else change pricearea to DK2  
\*/  
log(‘Så starter vi’)  
// Create the request  
// On purpose 10 records is loaded as the latest hours might be nulll  
const res = await fetch(‘[https://www.energidataservice.dk/proxy/api/datastore\_search\_sql?sql=SELECT%20"HourUTC",%20"HourDK",%20"PriceArea",%20"TotalLoad",%20"OtherRenewable",%20"SolarPower",%20"OnshoreWindPower",%20"OffshoreWindPower"%20FROM%20"electricitybalancenonv"%20ORDER%20BY%20"HourUTC"%20DESC%20LIMIT%2010](https://www.energidataservice.dk/proxy/api/datastore_search_sql?sql=SELECT%20%22HourUTC%22,%20%22HourDK%22,%20%22PriceArea%22,%20%22TotalLoad%22,%20%22OtherRenewable%22,%20%22SolarPower%22,%20%22OnshoreWindPower%22,%20%22OffshoreWindPower%22%20FROM%20%22electricitybalancenonv%22%20ORDER%20BY%20%22HourUTC%22%20DESC%20LIMIT%2010)’);  
var GreenEnergyPercent=0;  
var TimeSlot =0  
var DateSlot=0;  
if (!res.ok) {  
throw new Error(res.statusText);  
}

// Get the body JSON  
const body = await res.json();  
//log(`${body.result.records[1].PriceArea}`);  
//log(`${body.result.records[1].HourDK}`);  
//log(`${body.result.records[1].OnshoreWindPower}`);

// Log the services  
body.result.records.forEach(records =\> {  
if(records.PriceArea==‘DK1’){// ONLY WEST DK ELSE USE DK2  
if(records.OnshoreWindPower!=null){ //ONLY use where data  
//log(`${records.HourDK}: ${(records.OnshoreWindPower +records.SolarPower + records.OffshoreWindPower)/records.TotalLoad*100}`);  
if(records.HourDK.substring(11,13)\>TimeSlot || records.HourDK.substring(8,10)\<DateSlot ){ //make sure newest timeslot ( also at day shift)  
//log(‘NEWEST’)  
GreenEnergyPercent= (records.OnshoreWindPower +records.SolarPower + records.OffshoreWindPower)/records.TotalLoad\*100;  
}  
//log(records.HourDK.substring(11,13));  
TimeSlot=records.HourDK.substring(11,13);  
DateSlot=records.HourDK.substring(8,10);  
}}  
});  
global.set(‘GreenEnergyPercent’, GreenEnergyPercent);  
//Log(global.get(‘LysStue’));

//set tag  
await setTagValue(‘GreenEnergyPercent’, {type:‘number’, title: ‘GreenEnergyPercent’}, GreenEnergyPercent );

return(true);
