WhiteRavenTRC

Boiler

Feb 1st, 2026
62
0
Never
7
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.50 KB | Housing | 0 0
  1. alias: Boiler Solar - Control unificat (v3.2 – non-blocking)
  2. description: >
  3. Controlează boilerul de 2.5 kW în funcție de producția solară, surplus și
  4. starea bateriei. Evită consumul din rețea și descărcarea bateriei, include
  5. histerezis pe timp (helpers) și diagnostic clar în Telegram. Fără delay-uri
  6. blocante.
  7. triggers:
  8. - alias: Pornire boiler - surplus mare
  9. trigger: numeric_state
  10. entity_id: sensor.surplus_power
  11. above: 2.8
  12. for:
  13. minutes: 1
  14. - alias: Oprire boiler - surplus scăzut
  15. trigger: numeric_state
  16. entity_id: sensor.surplus_power
  17. below: 1.2
  18. for:
  19. seconds: 30
  20. - alias: Oprire boiler - consum mare
  21. trigger: numeric_state
  22. entity_id: sensor.house_power_consumption
  23. above: 5
  24. for:
  25. seconds: 15
  26. conditions: []
  27. actions:
  28. - choose:
  29. - conditions:
  30. - condition: state
  31. entity_id: switch.boiler_tasmota_priza_1_2
  32. state: "off"
  33. - condition: numeric_state
  34. entity_id: sensor.surplus_power
  35. above: 2.8
  36. - condition: numeric_state
  37. entity_id: sensor.house_power_consumption
  38. below: 5
  39. - condition: numeric_state
  40. entity_id: sensor.inverter_input_power
  41. above: 2.5
  42. - condition: numeric_state
  43. entity_id: sensor.batteries_charge_discharge_power
  44. above: -0.1
  45. - condition: template
  46. value_template: "{{ states('sensor.power_meter_active_power')|float(0) > -0.3 }}"
  47. - condition: template
  48. value_template: |
  49. {% set luna = now().month %} {% if luna in [11, 12, 1, 2, 3] %}
  50. {{ states('sensor.batteries_state_of_capacity')|float(0) >= 70 }}
  51. {% else %}
  52. true
  53. {% endif %}
  54. - condition: template
  55. value_template: |
  56. {{ now().timestamp() -
  57. (as_timestamp(states('input_datetime.ultima_pornire_boiler')) or 0) > 600 }}
  58. - condition: template
  59. value_template: |
  60. {{ now().timestamp() -
  61. (as_timestamp(states('input_datetime.ultima_oprire_boiler')) or 0) > 300 }}
  62. sequence:
  63. - action: switch.turn_on
  64. target:
  65. entity_id: switch.boiler_tasmota_priza_1_2
  66. - action: input_datetime.set_datetime
  67. target:
  68. entity_id: input_datetime.ultima_pornire_boiler
  69. data:
  70. datetime: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
  71. - action: telegram_bot.send_message
  72. data:
  73. chat_id: -4624694357
  74. message: >
  75. ✅ *Boiler pornit automat* la {{ now().strftime('%H:%M:%S') }} ☀️
  76.  
  77. • Producție solară: {{
  78. (states('sensor.inverter_input_power')|float)|round(2) }} kW
  79.  
  80. • Surplus: {{ (states('sensor.surplus_power')|float)|round(2) }}
  81. kW
  82.  
  83. • Putere baterii: {{
  84. (states('sensor.batteries_charge_discharge_power')|float)|round(2)
  85. }} W
  86.  
  87. • Consum casă: {{
  88. (states('sensor.house_power_consumption')|float)|round(2) }} kW
  89.  
  90. ⏱️ Histerezis timp: min. 10 min între două porniri.
  91. - conditions:
  92. - condition: state
  93. entity_id: switch.boiler_tasmota_priza_1_2
  94. state: "on"
  95. - condition: or
  96. conditions:
  97. - condition: numeric_state
  98. entity_id: sensor.house_power_consumption
  99. above: 5
  100. - condition: numeric_state
  101. entity_id: sensor.surplus_power
  102. below: 0.8
  103. - condition: numeric_state
  104. entity_id: sensor.inverter_input_power
  105. below: 2.5
  106. - condition: numeric_state
  107. entity_id: sensor.batteries_charge_discharge_power
  108. below: 0
  109. - condition: template
  110. value_template: "{{ states('sensor.power_meter_active_power')|float(0) < 0.1 }}"
  111. sequence:
  112. - action: switch.turn_off
  113. target:
  114. entity_id: switch.boiler_tasmota_priza_1_2
  115. - action: input_datetime.set_datetime
  116. target:
  117. entity_id: input_datetime.ultima_oprire_boiler
  118. data:
  119. datetime: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
  120. - action: telegram_bot.send_message
  121. data:
  122. chat_id: -4624694357
  123. message: >
  124. ⚠️ *Boiler oprit automat* la {{ now().strftime('%H:%M:%S') }}
  125.  
  126. ☀️ Producție solară: {{
  127. (states('sensor.inverter_input_power')|float)|round(2) }} kW
  128.  
  129. ☀️ Surplus: {{ (states('sensor.surplus_power')|float)|round(2)
  130. }} kW
  131.  
  132. 🔋 Putere baterii: {{
  133. (states('sensor.batteries_charge_discharge_power')|float)|round(2)
  134. }} W
  135.  
  136. ⚡ Active power: {{ states('sensor.power_meter_active_power') }}
  137. W
  138.  
  139. ⏱️ Timp de funcționare respectat (min. 5 min) în majoritatea
  140. scenariilor; în caz de urgență (consum mare/import) oprirea
  141. poate fi imediată.
  142. default:
  143. - action: telegram_bot.send_message
  144. data:
  145. chat_id: -4624694357
  146. message: >
  147. {% set surplus = states('sensor.surplus_power')|float(0) %} {% set
  148. import = states('sensor.power_meter_active_power')|float(0) %} {%
  149. set solar = states('sensor.inverter_input_power')|float(0) %} {% set
  150. battery = states('sensor.batteries_charge_discharge_power')|float(0)
  151. %} {% set soc =
  152. states('sensor.batteries_state_of_capacity')|float(0) %} {% set
  153. house = states('sensor.house_power_consumption')|float(0) %} {% set
  154. luna = now().month %} {% set iarna = luna in [11, 12, 1, 2, 3] %}
  155.  
  156. {% if battery < 0 %}
  157. 🔴 *Avertisment:* Bateria descarcă! Boiler oprit recomandat.
  158. {% elif import < 0 %}
  159. 🔴 *Avertisment:* Consum din rețea detectat!
  160. {% elif solar < 2.5 %}
  161. 🟠 *Atenție:* Producție solară insuficientă.
  162. {% elif surplus < 1 %}
  163. 🟠 *Atenție:* Surplus scăzut, risc de import.
  164. {% elif iarna and soc < 70 %}
  165. 🟦 *Mod iarnă:* SOC baterie sub 70% (acum {{ soc|round(0) }}%). Boiler nu pornește.
  166. {% else %}
  167. 🟢 *Totul OK:* Funcționare normală.
  168. {% endif %}
  169.  
  170. 🔎 *Diagnostic Boiler* (no action la {{ now().strftime('%H:%M:%S')
  171. }})
  172.  
  173. 🟢 *Switch:* {{ states('switch.boiler_tasmota_priza_1_2') }}
  174.  
  175. ☀️ *Producție solară:* {{ solar|round(2) }} kW ☀️ *Surplus:* {{
  176. surplus|round(2) }} kW 🔋 *Baterii:* {{ battery|round(2) }} W 🔋
  177. *SOC:* {{ soc|round(0) }}% 🏠 *Consum casă:* {{ house|round(2) }} kW
  178. ⚡ *Active power:* {{ import|round(2) }} W
  179.  
  180. ❄️ *Iarnă (Nov–Mar):* {{ 'DA' if iarna else 'NU' }} | Prag SOC
  181. iarnă: 70%
  182.  
  183. ⏱️ *Timp pornire OK:* {{
  184. '✅' if (
  185. now().timestamp() -
  186. (as_timestamp(states('input_datetime.ultima_pornire_boiler')) or 0)
  187. ) > 600 else '⛔'
  188. }}
  189.  
  190. ⏱️ *Timp oprire OK:* {{
  191. '✅' if (
  192. now().timestamp() -
  193. (as_timestamp(states('input_datetime.ultima_oprire_boiler')) or 0)
  194. ) > 300 else '⛔'
  195. }}
  196.  
  197. 🧠 *Start ready:* {{
  198. '✅' if (
  199. is_state('switch.boiler_tasmota_priza_1_2','off') and
  200. (surplus >= 2.8) and
  201. (solar >= 2.5) and
  202. (battery >= -0.1) and
  203. (house < 5) and
  204. (import >= -0.3) and
  205. ( (not iarna) or (soc >= 70) ) and
  206. ( now().timestamp() -
  207. (as_timestamp(states('input_datetime.ultima_pornire_boiler')) or 0)
  208. > 600 ) and
  209. ( now().timestamp() -
  210. (as_timestamp(states('input_datetime.ultima_oprire_boiler')) or 0)
  211. > 300 )
  212. ) else '⛔'
  213. }}
  214. mode: restart
  215.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Cosegbi
    3 days
    # CSS 0.44 KB | 0 0
    1. Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1Cz5fHkwyaApTWwqfgBBtpvConU8Lo_qJ9xtn7RazWpk/edit?usp=sharing
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment