Caldin-Maldin

ikea-

Nov 15th, 2023 (edited)
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. uart:
  2. - id: ikea
  3. rx_pin: GPIO16
  4. baud_rate: 9600
  5.  
  6. sensor:
  7.  
  8. - platform: pm1006
  9. uart_id: ikea
  10. id: "pm25"
  11. pm_2_5:
  12. name: "IKEA VINDRIKTNING"
  13.  
  14. - platform: uptime
  15. name: uptime
  16.  
  17. - platform: template
  18. name: "Average PM25"
  19. id: "average"
  20. accuracy_decimals: 0
  21. unit_of_measurement: µg/m³
  22. lambda: |-
  23. return ((id(values_)[0] + id(values_)[1] + id(values_)[2] + id(values_)[3] + id(values_)[4] + id(values_)[5] + id(values_)[6] + id(values_)[7] + id(values_)[8] + id(values_)[9] + id(values_)[10] + id(values_)[11] + id(values_)[12] + id(values_)[13] + id(values_)[14] + id(values_)[15] + id(values_)[16] + id(values_)[17] + id(values_)[18] + id(values_)[19] + id(values_)[20] + id(values_)[21] + id(values_)[22] + id(values_)[23]) / id(count_values));
  24.  
  25.  
  26. time:
  27. - platform: homeassistant
  28. id: time_now
  29. # timezone: "<-05>+5"
  30. timezone: "Asia/Yekaterinburg"
  31. on_time:
  32. - seconds: 0
  33. minutes: 05
  34. hours: /1
  35. then:
  36. - lambda: |-
  37. id(values_)[id(time_now).now().hour] = id(pm25).state;
  38. int count = 0;
  39. for (int i = 0; i < 24; i++) {
  40. if (id(values_)[i] != 0) {
  41. count++;
  42. }
  43. }
  44. id(count_values) = count;
  45.  
  46.  
  47. globals:
  48. - id: values_
  49. type: float[24]
  50. restore_value: no
  51. initial_value: '{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}'
  52.  
  53. - id: count_values
  54. type: float
  55. initial_value: "0"
Advertisement
Add Comment
Please, Sign In to add comment