Facebook
From Christer Gustafsson, 2 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 128
  1. // my script
  2. let tokens = await Homey.flowToken.getFlowTokens();
  3. let devices = await Homey.devices.getDevices();
  4.  
  5. var d = new Date();
  6. var n = d.getDay();
  7.  
  8. var dateObj = new Date();
  9. var month = dateObj.getUTCMonth() + 1;
  10. var day = dateObj.getUTCDate();
  11. var year = dateObj.getUTCFullYear();
  12.  
  13. var url = "https://api.dryg.net/dagar/v2.1/"+year+"/"+month+"/"+day;
  14. let response = await fetch(url);
  15. var namnsdag
  16.  
  17. let data = await response.json();
  18.  
  19. Object.keys(data.dagar[0].namnsdag).forEach(function(key) {
  20.     namnsdag+=data.dagar[0].namnsdag[key]
  21.       if(key<data.dagar[0].namnsdag.length-1) {
  22.       namnsdag+=" och "
  23.   }
  24. });
  25. namnsdag=namnsdag.replace("undefined","")
  26.  
  27.  
  28.  
  29.  
  30. //Get indoor temp
  31. _.forEach(devices, device => {
  32.        if(device.name=="Kitchen Purifier") {sintemp=JSON.stringify(device.capabilitiesObj.measure_temperature.value);}
  33.        if(device.name=="Kitchen Purifier") {sinhumid=JSON.stringify(device.capabilitiesObj.measure_humidity.value);}
  34.  
  35.        if(device.name=="SMHI weather") {fouttemp=JSON.stringify(device.capabilitiesObj.measure_air_temperature_cp.value);}
  36.        if(device.name=="SMHI weather") {vindby=JSON.stringify(device.capabilitiesObj.wind_gust_speed_cp.value);}
  37.        if(device.name=="SMHI weather") {vind=JSON.stringify(device.capabilitiesObj.measure_wind_speed_cp.value);}
  38.        if(device.name=="SMHI weather") {rainmin=JSON.stringify(device.capabilitiesObj.minimum_precipitation_intensity_cp.value);}
  39.        if(device.name=="SMHI weather") {rainmax=JSON.stringify(device.capabilitiesObj.maximum_precipitation_intensity_cp.value);}
  40.        if(device.name=="SMHI weather") {sweather=JSON.stringify(device.capabilitiesObj.measure_weather_situation_cp.value);}
  41.        
  42.  
  43.        if(device.name=="Pollen") {salpollen=JSON.stringify(device.capabilitiesObj.al_pollen_0.value);}
  44.        if(device.name=="Pollen") {salmpollen=JSON.stringify(device.capabilitiesObj.alm_pollen_0.value);}
  45.        if(device.name=="Pollen") {sambpollen=JSON.stringify(device.capabilitiesObj.ambrosia_pollen_0.value);}
  46.        if(device.name=="Pollen") {sbjorkpollen=JSON.stringify(device.capabilitiesObj.bjork_pollen_0.value);}
  47.        if(device.name=="Pollen") {sgraspollen=JSON.stringify(device.capabilitiesObj.gras_pollen_0.value);}
  48.        if(device.name=="Pollen") {shasselpollen=JSON.stringify(device.capabilitiesObj.hassel_pollen_0.value);}
  49.        if(device.name=="Pollen") {ssalgpollen=JSON.stringify(device.capabilitiesObj.salg_vide_pollen_0.value);}
  50.        if(device.name=="Pollen") {sgrabopollen=JSON.stringify(device.capabilitiesObj.grabo_pollen_0.value);}
  51.        if(device.name=="Pollen") {sekpollen=JSON.stringify(device.capabilitiesObj.ek_pollen_0.value);}
  52.        if(device.name=="Pollen") {sbokpollen=JSON.stringify(device.capabilitiesObj.bok_pollen_0.value);}
  53.     });
  54.  
  55. _.forEach(tokens, token => {
  56.      if(token.title=="Time") {stime=token.value;}
  57.      if(token.id=="date") {sdate=token.value.substring(0,2);}
  58.      if(token.id=="date") {smonth=token.value.substring(3,5);}
  59.      if(token.title=="Weather") {sweather=token.value;}
  60.      if(token.title=="Temperature (°C)") {stemp=JSON.stringify(token.value);}
  61.      if(token.title=="Humidity (%)") {shumid=token.value;}
  62.      if(token.title=="Sunset") {ssunset=token.value;}
  63.     });
  64.  
  65. switch(smonth) {
  66.             case '01': smonth = "Januari";
  67.                      break;
  68.             case '02':  smonth = "Februari";
  69.                      break;
  70.             case '03':  smonth = "Mars";
  71.                      break;
  72.             case '04':  smonth = "April";
  73.                      break;
  74.             case '05':  smonth = "Maj";
  75.                      break;
  76.             case '06':  smonth = "Juni";
  77.                      break;
  78.             case '07':  smonth = "Juli";
  79.                      break;
  80.             case '08':  smonth = "Augusti";
  81.                      break;
  82.             case '09':  smonth = "September";
  83.                      break;
  84.             case '10': smonth = "Oktober";
  85.                      break;
  86.             case '11': smonth = "November";
  87.                      break;
  88.             case '12': smonth = "December";
  89.                      break;        
  90. }
  91.  
  92.  if (sdate == 1 || sdate == 2 || sdate==21 || sdate==22 || sdate==31) {sdate+=":a"}
  93.  else {sdate+=":e"};
  94.  
  95. //sdate=sdate.replace("01", "1")
  96. //sdate=sdate.replace("02", "2")
  97. //sdate=sdate.replace("03", "3")
  98. //sdate=sdate.replace("04", "4")
  99. //sdate=sdate.replace("05", "5")
  100. //sdate=sdate.replace("06", "6")
  101. //sdate=sdate.replace("07", "7")
  102. //sdate=sdate.replace("08", "8")
  103. //sdate=sdate.replace("09", "9")
  104. sdate=sdate.replace(/^0+/, '')
  105. stemp=stemp.replace(".", " komma ")
  106. sintemp=sintemp.replace(".", " komma ")
  107. sinhumid=sinhumid.replace(".", " komma ")
  108. fouttemp=fouttemp.replace(".", " komma ")
  109. vindby=vindby.replace(".", " komma ")
  110. vind=vind.replace(".", " komma ")
  111. rainmin=rainmin.replace(".", " komma ")
  112. rainmax=rainmax.replace(".", " komma ")
  113. sweather=sweather.replace("Clear sky", "Klar himmel")
  114. sweather=sweather.replace("Nearly clear sky", "Nästan klar himmel")
  115. sweather=sweather.replace("Variable cloudiness", "Variabel molnighet")
  116. sweather=sweather.replace("Halfclear sky", "Halvklar himmel")
  117. sweather=sweather.replace("Cloudy sky", "Molnig himmel")
  118. sweather=sweather.replace("Overcast", "Mulet")
  119. sweather=sweather.replace("Fog", "Dimma")
  120. sweather=sweather.replace("Light rain showers", "Lätta regnbyar")
  121. sweather=sweather.replace("Moderate rain showers", "Måttliga regnskurar")
  122. sweather=sweather.replace("Heavy rain showers", "Kraftiga regnskurar")
  123. sweather=sweather.replace("Thunderstorm", "Åskväder")
  124. sweather=sweather.replace("Light sleet showers", "Lätta regnbyar")
  125. sweather=sweather.replace("Moderate sleet showers", "Måttliga regnbyar")
  126. sweather=sweather.replace("Heavy sleet showers", "Kraftiga regnbyar")
  127. sweather=sweather.replace("Light snow showers", "Lätta snöbyar")
  128. sweather=sweather.replace("Moderate snow showers", "Måttliga snöbyar")
  129. sweather=sweather.replace("Heavy snow showers", "Kraftiga snöbyar")
  130. sweather=sweather.replace("Light rain", "Duggregn")
  131. sweather=sweather.replace("Moderate rain", "Måttligt regn")
  132. sweather=sweather.replace("Heavy rain", "Mycket regn")
  133. sweather=sweather.replace("Thunder", "åska")
  134. sweather=sweather.replace("Light sleet", "Lätt snöblandat regn")
  135. sweather=sweather.replace("Moderate sleet", "Måttligt snöblandat regn")
  136. sweather=sweather.replace("Heavy sleet", "Kraftigt snöblandat regn")
  137. sweather=sweather.replace("Light snowfall", "Lätt snöfall")
  138. sweather=sweather.replace("Moderate snowfall", "Måttligt snöfall")
  139. sweather=sweather.replace("Heavy snowfall", "Kraftigt snöfall")
  140.  
  141.  
  142.  
  143.  
  144. speech="Godmorgon, idag är det den "+sdate+" "+smonth+" och klockan är "+stime+".  ";
  145. speech=speech+""+namnsdag+" har namnsdag idag.  "
  146. speech=speech+"Ute är det "+fouttemp+" grader med en luftfuktighet på "+shumid+" procent.  ";
  147.  
  148. speech2="Inne är det just nu "+sintemp+" grader med en luftfuktighet på "+sinhumid+" procent.  ";
  149. speech2=speech2+"Solen går idag ner klockan "+ssunset+".       ";
  150.  
  151. //speech3="Björk har "+sbjorkpollen+"... Gräs har "+sgraspollen+".  ";
  152. //speech3=speech3+"Hassel har "+shasselpollen+".    ";
  153.  
  154. //speech4="Ambrosia har "+sambpollen+"...  Sälg har "+ssalgpollen+"... Gråbo har "+sgrabopollen+".  ";
  155. //speech4=speech4+"Ek har "+sekpollen+".   ";
  156.  
  157. //speech5="Al har "+salpollen+"... Alm har "+salmpollen+".   ";
  158. //speech5=speech5+"Bok har "+sbokpollen+"   ";
  159.  
  160. speech6="Vindstyrkan är "+vind+" ";
  161. speech6=speech6+"med "+vindby+" i byarna.   ";
  162.  
  163. speech7="Idag kan det bli mellan "+rainmin+" och "+rainmax+" ";
  164. speech7=speech7+"milliliter nederbörd.   ";
  165.  
  166. speech8="Just nu är det "+sweather+".   ";
  167. speech8=speech8+"   ";
  168.  
  169. let BLApp = await Homey.apps.getApp({id:'net.i-dev.betterlogic'});
  170. BLApp.apiPut("MorningStatus/"+speech);
  171. BLApp.apiPut("MorningStatus2/"+speech2);
  172. //BLApp.apiPut("MorningStatus3/"+speech3);
  173. //BLApp.apiPut("MorningStatus4/"+speech4);
  174. //BLApp.apiPut("MorningStatus5/"+speech5);
  175. BLApp.apiPut("MorningStatus6/"+speech6);
  176. BLApp.apiPut("MorningStatus7/"+speech7);
  177. BLApp.apiPut("MorningStatus8/"+speech8);
  178. console.log(speech)
  179. console.log(speech2)
  180. //console.log(speech3)
  181. //console.log(speech4)
  182. //console.log(speech5)
  183. console.log(speech6)
  184. console.log(speech7)
  185. console.log(speech8)