Advertisement
Guest User

Java

a guest
Mar 31st, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. if(existsState('javascript.0.vis.pv_hours') === false) {
  2. createState('vis.pv_hours', 0, {name: 'HTML-Daten der Stundenvorhersagen', unit: '', type: 'string', role: 'text'});
  3. }
  4. schedule('* * * * *', function() {
  5. let vishtml = '';
  6. let state_id = 'plenticore.0.forecast.day1.power'
  7. let hour_state_id;
  8. let power;
  9. let generated;
  10. let time;
  11. let gen_percentage;
  12. for(let h = 1; h <= 24; h++) {
  13. hour_state_id = state_id + '.' + h + 'h';
  14. if(!existsState(hour_state_id + '.power')) {
  15. //log(hour_state_id + '.power not existing', 'info');
  16. continue;
  17. }
  18. power = getState(hour_state_id + '.power').val;
  19.  
  20. if(existsState(hour_state_id + '.generated')) {
  21. generated = getState(hour_state_id + '.generated').val;
  22. } else {
  23. generated = 0;
  24. }
  25.  
  26. //log('Gen for h ' + h + ' is ' + generated);
  27.  
  28. gen_percentage = Math.round(100 * generated / power);
  29.  
  30. if(existsState(hour_state_id + '.time')) {
  31. time = new Date(getState(hour_state_id + '.time').val);
  32. time.toGermanTime();
  33. time = ('0' + time.getHours()).slice(-2) + ':' + ('0' + time.getMinutes()).slice(-2);
  34. } else {
  35. time = '';
  36. }
  37.  
  38. vishtml += '<div class="fc-hour-entry">';
  39. vishtml += '<div class="fc-hour-time">' + time + '</div>';
  40. vishtml += '<div class="fc-hour-forecast">' + Math.round(power).toLocaleString().replace(',', '.') + ' Wh</div>';
  41. vishtml += '<div class="fc-hour-real"><span class="progress-bar"><span class="progress" style="width:' + (gen_percentage > 100 ? 100 : gen_percentage) + '%"></span></span><span class="progress-label">' + Math.round(generated).toLocaleString().replace(',', '.') + ' Wh (' + gen_percentage + '%)</span></div>';
  42. vishtml += '</div>';
  43. }
  44.  
  45. setState('vis.pv_hours', vishtml, true);
  46. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement