Guest User

Untitled

a guest
May 1st, 2026
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 99.77 KB | None | 0 0
  1. {
  2. "trace": {
  3. "last_step": "action/6/choose/2/sequence/0/else/0/choose/1/conditions/0",
  4. "run_id": "136e3d4a67011e4969b9123ff2b9e5e1",
  5. "state": "stopped",
  6. "script_execution": "finished",
  7. "timestamp": {
  8. "start": "2026-05-01T10:26:58.714544+00:00",
  9. "finish": "2026-05-01T10:26:58.891473+00:00"
  10. },
  11. "domain": "automation",
  12. "item_id": "1720466044416",
  13. "trigger": "sensor.haydnstrasse_temperatur via template",
  14. "trace": {
  15. "trigger/23": [
  16. {
  17. "path": "trigger/23",
  18. "timestamp": "2026-05-01T10:26:58.751753+00:00",
  19. "changed_variables": {
  20. "this": {
  21. "entity_id": "automation.rolladen_aussen",
  22. "state": "on",
  23. "attributes": {
  24. "id": "1720466044416",
  25. "last_triggered": "2026-05-01T08:32:53.497056+00:00",
  26. "mode": "queued",
  27. "current": 0,
  28. "max": 10,
  29. "friendly_name": "Rollo außen auto"
  30. },
  31. "last_changed": "2026-04-29T12:48:02.764575+00:00",
  32. "last_reported": "2026-05-01T08:32:53.628109+00:00",
  33. "last_updated": "2026-05-01T08:32:53.628109+00:00",
  34. "context": {
  35. "id": "01KQHAPP6F5FBCKW1R9ND32SJ4",
  36. "parent_id": "01KQHAPP6D53ZGKV0KWM7VZRFS",
  37. "user_id": null
  38. }
  39. },
  40. "trigger": {
  41. "platform": "template",
  42. "entity_id": "sensor.haydnstrasse_temperatur",
  43. "from_state": {
  44. "entity_id": "sensor.haydnstrasse_temperatur",
  45. "state": "19.2",
  46. "attributes": {
  47. "state_class": "measurement",
  48. "latitude": 49.97450525,
  49. "longitude": 8.55627195,
  50. "unit_of_measurement": "°C",
  51. "attribution": "Data provided by Netatmo",
  52. "device_class": "temperature",
  53. "friendly_name": "Außen"
  54. },
  55. "last_changed": "2026-05-01T10:20:59.988462+00:00",
  56. "last_reported": "2026-05-01T10:20:59.988462+00:00",
  57. "last_updated": "2026-05-01T10:20:59.988462+00:00",
  58. "context": {
  59. "id": "01KQHGWMPM2YA3YW9JT25XMK1A",
  60. "parent_id": null,
  61. "user_id": null
  62. }
  63. },
  64. "to_state": {
  65. "entity_id": "sensor.haydnstrasse_temperatur",
  66. "state": "19.4",
  67. "attributes": {
  68. "state_class": "measurement",
  69. "latitude": 49.97450525,
  70. "longitude": 8.55627195,
  71. "unit_of_measurement": "°C",
  72. "attribution": "Data provided by Netatmo",
  73. "device_class": "temperature",
  74. "friendly_name": "Außen"
  75. },
  76. "last_changed": "2026-05-01T10:26:58.713446+00:00",
  77. "last_reported": "2026-05-01T10:26:58.713446+00:00",
  78. "last_updated": "2026-05-01T10:26:58.713446+00:00",
  79. "context": {
  80. "id": "01KQHH7K0SQM4VFRBQR9CP9ZW9",
  81. "parent_id": null,
  82. "user_id": null
  83. }
  84. },
  85. "id": "t_shading_start_pending_4",
  86. "idx": "23",
  87. "alias": null,
  88. "for": null,
  89. "description": "sensor.haydnstrasse_temperatur via template"
  90. },
  91. "blind": "cover.rolladen_ausen",
  92. "cover_type": "blind",
  93. "is_awning": false,
  94. "resident_sensor": [],
  95. "position_source": "current_position_attr",
  96. "custom_position_sensor": [],
  97. "open_position": 100,
  98. "close_position": 0,
  99. "ventilate_position": 20,
  100. "shading_position": 25,
  101. "position_tolerance": 0,
  102. "open_tilt_position": 50,
  103. "close_tilt_position": 50,
  104. "ventilate_tilt_position": 50,
  105. "shading_tilt_elevation_1": 20,
  106. "shading_tilt_elevation_2": 30,
  107. "shading_tilt_elevation_3": 48,
  108. "shading_tilt_position_0": 0,
  109. "shading_tilt_position_1": 20,
  110. "shading_tilt_position_2": 37,
  111. "shading_tilt_position_3": 50,
  112. "auto_options": [
  113. "auto_up_enabled",
  114. "auto_down_enabled",
  115. "auto_shading_enabled",
  116. "auto_ventilate_enabled",
  117. "auto_sun_enabled"
  118. ],
  119. "cover_tilt_config": "cover_tilt_disabled",
  120. "cover_tilt_reposition_config": "cover_tilt_reposition_disabled",
  121. "is_cover_tilt_enabled": false,
  122. "tilt_wait_mode": "fixed_delay",
  123. "tilt_wait_timeout": 30,
  124. "is_tilt_wait_idle_mode": false,
  125. "time_up_early": "06:35:00",
  126. "time_up_early_non_workday": "08:00:00",
  127. "time_up_late": "08:00:00",
  128. "time_up_late_non_workday": "09:00:00",
  129. "time_down_early": "16:00:00",
  130. "time_down_early_non_workday": "16:00:00",
  131. "time_down_late": "22:00:00",
  132. "time_down_late_non_workday": "22:00:00",
  133. "workday_sensor_today": "binary_sensor.workday_sensor",
  134. "workday_sensor_tomorrow": [],
  135. "time_control": "time_control_input",
  136. "calendar_entity": [],
  137. "calendar_open_title": "Open Cover",
  138. "calendar_close_title": "Close Cover",
  139. "calendar_open_title_lc": "open cover",
  140. "calendar_close_title_lc": "close cover",
  141. "is_calendar_enabled": false,
  142. "default_brightness_sensor": [],
  143. "brightness_up": 0,
  144. "brightness_down": 0,
  145. "brightness_hysteresis": 0,
  146. "default_sun_sensor": "sun.sun",
  147. "sun_elevation_mode": "fixed",
  148. "sun_elevation_up": 9.8,
  149. "sun_elevation_down": -3,
  150. "sun_elevation_up_sensor": [],
  151. "sun_elevation_down_sensor": [],
  152. "contact_window_opened": [],
  153. "contact_window_tilted": "binary_sensor.kontakt_ausen",
  154. "lockout_tilted_options": [],
  155. "shading_azimuth_start": 120,
  156. "shading_azimuth_end": 265,
  157. "shading_elevation_min": 25,
  158. "shading_elevation_max": 90,
  159. "shading_sun_brightness_start": 35000,
  160. "shading_sun_brightness_end": 25000,
  161. "shading_sun_brightness_hysteresis": 0,
  162. "shading_brightness_sensor": [],
  163. "shading_temperatur_sensor1": "sensor.dwd_max_temp",
  164. "shading_temperatur_sensor2": "sensor.haydnstrasse_temperatur",
  165. "shading_min_temperatur1": 19,
  166. "shading_min_temperatur2": 19,
  167. "shading_temperature_hysteresis1": 0.2,
  168. "shading_temperature_hysteresis2": 0.2,
  169. "shading_forecast_sensor": "weather.ruesselsheim",
  170. "shading_forecast_temp_sensor": [],
  171. "shading_forecast_type": "weather_attributes",
  172. "shading_forecast_temp": [],
  173. "shading_forecast_temp_hysteresis": 0,
  174. "shading_weather_conditions": [
  175. "sunny",
  176. "partlycloudy",
  177. "cloudy",
  178. "clear",
  179. "rainy",
  180. "exceptional"
  181. ],
  182. "shading_conditions_start_and": [
  183. "cond_azimuth",
  184. "cond_elevation",
  185. "cond_forecast_weather"
  186. ],
  187. "shading_conditions_start_or": [
  188. "cond_temp1",
  189. "cond_temp2"
  190. ],
  191. "shading_conditions_end_and": [],
  192. "shading_conditions_end_or": [
  193. "cond_azimuth",
  194. "cond_elevation"
  195. ],
  196. "lockout_tilted_when_closing": false,
  197. "lockout_tilted_when_shading_starts": false,
  198. "lockout_tilted_when_shading_ends": false,
  199. "is_shading_enabled": true,
  200. "is_up_enabled": true,
  201. "is_down_enabled": true,
  202. "is_brightness_enabled": false,
  203. "is_sun_elevation_enabled": true,
  204. "is_time_field_enabled": true,
  205. "is_time_control_disabled": false,
  206. "is_ventilation_enabled": true,
  207. "reset_override_config": "reset_disabled",
  208. "reset_override_time": "00:10:00",
  209. "reset_override_timeout": 5,
  210. "is_reset_disabled": true,
  211. "is_reset_fixed_time": false,
  212. "is_reset_timeout": false,
  213. "auto_up_force": [],
  214. "auto_down_force": [],
  215. "auto_ventilate_force": [],
  216. "auto_shading_start_force": [],
  217. "cover_status_options": "cover_helper_enabled",
  218. "cover_status_helper": "input_text.rolladen_aussen_helfer",
  219. "invalid_states": [
  220. "",
  221. "unavailable",
  222. "unknown",
  223. "none",
  224. "None",
  225. "null",
  226. "query failed",
  227. []
  228. ],
  229. "version": "2026.01.26",
  230. "blind_entities": [
  231. "cover.rolladen_ausen"
  232. ],
  233. "current_position": 100,
  234. "current_tilt_position": 101,
  235. "position_comparisons": {
  236. "current_above_open": false,
  237. "current_above_close": true,
  238. "current_above_shading": true,
  239. "current_above_ventilate": true,
  240. "current_below_open": false,
  241. "current_below_close": false,
  242. "current_below_shading": false,
  243. "current_below_ventilate": false,
  244. "open_above_close": true,
  245. "open_above_ventilate": true,
  246. "shading_above_close": true,
  247. "shading_below_open": true,
  248. "ventilate_above_close": true
  249. },
  250. "current_sun_azimuth": 156.18,
  251. "current_sun_elevation": 53.25,
  252. "sun_elevation_up_current": 9.8,
  253. "sun_elevation_down_current": -3,
  254. "is_today_off": true,
  255. "is_tomorrow_off": false,
  256. "is_tomorrow_on": false,
  257. "is_cover_tilt_enabled_and_possible": false,
  258. "is_cover_tilt_reposition_enabled": false,
  259. "drive_delay_fix": 0,
  260. "drive_delay_random": 5,
  261. "drive_time": 25,
  262. "time_up_early_today": "08:00:00",
  263. "time_up_late_today": "09:00:00",
  264. "time_down_early_today": "16:00:00",
  265. "time_down_late_today": "22:00:00",
  266. "shading_tilt_position": 50,
  267. "in_open_position": true,
  268. "in_close_position": false,
  269. "in_shading_position": false,
  270. "in_ventilate_position": false,
  271. "brightness_time_duration": 30,
  272. "sun_time_duration": 30,
  273. "shading_waitingtime_start": 300,
  274. "shading_waitingtime_end": 300,
  275. "shading_start_max_duration": 7200,
  276. "shading_end_max_duration": 7200,
  277. "shading_config": [],
  278. "shading_end_immediate_by_sun_position": false,
  279. "is_shading_end_immediate_by_sun_position": false,
  280. "forecast_source": {
  281. "use_sensor": false,
  282. "use_weather": true,
  283. "prevent_service": true
  284. },
  285. "shading_start_condition_enabled": {
  286. "azimuth": true,
  287. "elevation": true,
  288. "brightness": false,
  289. "temp1": true,
  290. "temp2": true,
  291. "forecast_temp": false,
  292. "forecast_weather": true
  293. },
  294. "shading_end_condition_enabled": {
  295. "azimuth": true,
  296. "elevation": true,
  297. "brightness": false,
  298. "temp1": false,
  299. "temp2": false,
  300. "forecast_temp": false,
  301. "forecast_weather": false
  302. },
  303. "is_status_helper_enabled": true,
  304. "helper_json": {
  305. "open": {
  306. "a": 1,
  307. "t": 1777615322
  308. },
  309. "close": {
  310. "a": 0,
  311. "t": 1777575769
  312. },
  313. "shading": {
  314. "a": 0,
  315. "t": 1758379398,
  316. "p": 0,
  317. "q": 0
  318. },
  319. "vpart": {
  320. "a": 0,
  321. "t": 1777143181
  322. },
  323. "vfull": {
  324. "a": 0,
  325. "t": 0
  326. },
  327. "manual": {
  328. "a": 1,
  329. "t": 1777615322
  330. },
  331. "v": 5,
  332. "t": 1777615322
  333. },
  334. "helper_status": {
  335. "open": true,
  336. "closed": false,
  337. "shaded": false,
  338. "shading_start_pending": false,
  339. "shading_end_pending": false,
  340. "vpart": false,
  341. "vfull": false,
  342. "manual": true
  343. },
  344. "helper_ts": {
  345. "open": 1777615322,
  346. "closed": 1777575769,
  347. "shaded": 1758379398,
  348. "vpart": 1777143181,
  349. "vfull": 0,
  350. "manual": 1777615322
  351. },
  352. "is_cover_movement_blocked": {
  353. "open": false,
  354. "close": false,
  355. "ventilate": false,
  356. "shading": false,
  357. "any": false
  358. },
  359. "resident_config": [],
  360. "resident_flags": {
  361. "opening_enabled": false,
  362. "closing_enabled": false,
  363. "allow_shading": false,
  364. "allow_opening": false,
  365. "allow_ventilation": false
  366. },
  367. "ignore_after_manual_config": [],
  368. "override_flags": {
  369. "opening": false,
  370. "closing": false,
  371. "ventilation": false,
  372. "shading": false
  373. },
  374. "auto_ventilate_options": [],
  375. "contact_delay_trigger": 2,
  376. "contact_delay_status": 3,
  377. "ventilation_flags": {
  378. "delay_enabled": false,
  379. "if_lower_enabled": false,
  380. "after_shading_end": false
  381. },
  382. "prevent_config": [],
  383. "prevent_flags": {
  384. "higher_position_closing": false,
  385. "lowering_when_closing_if_shaded": false,
  386. "shading_end_if_closed": false,
  387. "opening_after_shading_end": false,
  388. "opening_after_ventilation_end": false,
  389. "default_cover_actions": false,
  390. "shading_multiple_times": false,
  391. "opening_multiple_times": false,
  392. "closing_multiple_times": false
  393. },
  394. "auto_recover_after_force": "auto_recover_disabled",
  395. "is_auto_recover_enabled": false,
  396. "check_config": false,
  397. "check_config_debuglevel": "info",
  398. "check_status_helper_length": 254
  399. }
  400. }
  401. ],
  402. "condition/0": [
  403. {
  404. "path": "condition/0",
  405. "timestamp": "2026-05-01T10:26:58.751886+00:00",
  406. "result": {
  407. "result": true
  408. }
  409. }
  410. ],
  411. "condition/1": [
  412. {
  413. "path": "condition/1",
  414. "timestamp": "2026-05-01T10:26:58.752049+00:00",
  415. "result": {
  416. "result": true
  417. }
  418. }
  419. ],
  420. "condition/1/conditions/0": [
  421. {
  422. "path": "condition/1/conditions/0",
  423. "timestamp": "2026-05-01T10:26:58.752202+00:00",
  424. "result": {
  425. "result": false,
  426. "entities": []
  427. }
  428. }
  429. ],
  430. "condition/1/conditions/1": [
  431. {
  432. "path": "condition/1/conditions/1",
  433. "timestamp": "2026-05-01T10:26:58.752776+00:00",
  434. "result": {
  435. "result": true,
  436. "entities": []
  437. }
  438. }
  439. ],
  440. "condition/2": [
  441. {
  442. "path": "condition/2",
  443. "timestamp": "2026-05-01T10:26:58.757921+00:00",
  444. "result": {
  445. "result": true
  446. }
  447. }
  448. ],
  449. "condition/2/conditions/0": [
  450. {
  451. "path": "condition/2/conditions/0",
  452. "timestamp": "2026-05-01T10:26:58.758076+00:00",
  453. "result": {
  454. "result": false,
  455. "entities": []
  456. }
  457. }
  458. ],
  459. "condition/2/conditions/1": [
  460. {
  461. "path": "condition/2/conditions/1",
  462. "timestamp": "2026-05-01T10:26:58.758719+00:00",
  463. "result": {
  464. "result": true,
  465. "entities": []
  466. }
  467. }
  468. ],
  469. "condition/3": [
  470. {
  471. "path": "condition/3",
  472. "timestamp": "2026-05-01T10:26:58.759334+00:00",
  473. "result": {
  474. "result": true,
  475. "entities": [
  476. "input_text.rolladen_aussen_helfer"
  477. ]
  478. }
  479. }
  480. ],
  481. "action/0": [
  482. {
  483. "path": "action/0",
  484. "timestamp": "2026-05-01T10:26:58.760877+00:00",
  485. "changed_variables": {
  486. "context": {
  487. "id": "01KQHH7K0TVQ2S89DB9F4X6M20",
  488. "parent_id": "01KQHH7K0SQM4VFRBQR9CP9ZW9",
  489. "user_id": null
  490. },
  491. "cover_move_action": {
  492. "sequence": [
  493. {
  494. "condition": "template",
  495. "value_template": true
  496. },
  497. {
  498. "condition": "template",
  499. "value_template": true
  500. },
  501. {
  502. "repeat": {
  503. "for_each": [
  504. "cover.rolladen_ausen"
  505. ],
  506. "sequence": [
  507. {
  508. "choose": [
  509. {
  510. "conditions": false,
  511. "sequence": [
  512. {
  513. "service": "cover.close_cover",
  514. "target": {
  515. "entity_id": ""
  516. }
  517. }
  518. ]
  519. },
  520. {
  521. "conditions": false,
  522. "sequence": [
  523. {
  524. "service": "cover.open_cover",
  525. "target": {
  526. "entity_id": ""
  527. }
  528. }
  529. ]
  530. },
  531. {
  532. "conditions": false,
  533. "sequence": [
  534. {
  535. "service": "cover.set_cover_position",
  536. "data": {
  537. "position": 101
  538. },
  539. "target": {
  540. "entity_id": ""
  541. }
  542. }
  543. ]
  544. }
  545. ]
  546. },
  547. {
  548. "delay": {
  549. "seconds": 1
  550. }
  551. }
  552. ]
  553. }
  554. }
  555. ]
  556. },
  557. "tilt_move_action": {
  558. "sequence": [
  559. {
  560. "condition": "template",
  561. "value_template": true
  562. },
  563. {
  564. "condition": "template",
  565. "value_template": false
  566. },
  567. {
  568. "repeat": {
  569. "for_each": [
  570. "cover.rolladen_ausen"
  571. ],
  572. "sequence": [
  573. {
  574. "if": true,
  575. "then": [
  576. {
  577. "if": false,
  578. "then": [
  579. {
  580. "service": "cover.set_cover_tilt_position",
  581. "data": {
  582. "tilt_position": 0
  583. },
  584. "target": {
  585. "entity_id": ""
  586. }
  587. },
  588. {
  589. "delay": {
  590. "seconds": 0
  591. }
  592. }
  593. ]
  594. },
  595. {
  596. "choose": [
  597. {
  598. "conditions": false,
  599. "sequence": [
  600. {
  601. "wait_template": false,
  602. "timeout": 30,
  603. "continue_on_timeout": true
  604. },
  605. {
  606. "if": "",
  607. "then": [
  608. {
  609. "delay": 1
  610. }
  611. ]
  612. }
  613. ]
  614. }
  615. ],
  616. "default": [
  617. {
  618. "delay": {
  619. "seconds": 0
  620. }
  621. }
  622. ]
  623. },
  624. {
  625. "service": "cover.set_cover_tilt_position",
  626. "data": {
  627. "tilt_position": 101
  628. },
  629. "target": {
  630. "entity_id": ""
  631. }
  632. },
  633. {
  634. "delay": {
  635. "seconds": 2
  636. }
  637. }
  638. ]
  639. }
  640. ]
  641. }
  642. }
  643. ]
  644. },
  645. "helper_update": {
  646. "if": [
  647. true
  648. ],
  649. "then": [
  650. {
  651. "service": "input_text.set_value",
  652. "data": {
  653. "entity_id": "input_text.rolladen_aussen_helfer",
  654. "value": {
  655. "open": {
  656. "a": 1,
  657. "t": 1777615322
  658. },
  659. "close": {
  660. "a": 0,
  661. "t": 1777575769
  662. },
  663. "shading": {
  664. "a": 0,
  665. "t": 1758379398,
  666. "p": 0,
  667. "q": 0
  668. },
  669. "vpart": {
  670. "a": 0,
  671. "t": 1777143181
  672. },
  673. "vfull": {
  674. "a": 0,
  675. "t": 0
  676. },
  677. "manual": {
  678. "a": 1,
  679. "t": 1777615322
  680. },
  681. "v": 5,
  682. "t": 1777615322
  683. }
  684. }
  685. }
  686. ]
  687. }
  688. }
  689. }
  690. ],
  691. "action/1": [
  692. {
  693. "path": "action/1",
  694. "timestamp": "2026-05-01T10:26:58.776210+00:00"
  695. }
  696. ],
  697. "action/1/if": [
  698. {
  699. "path": "action/1/if",
  700. "timestamp": "2026-05-01T10:26:58.776900+00:00",
  701. "result": {
  702. "result": false
  703. }
  704. }
  705. ],
  706. "action/1/if/condition/0": [
  707. {
  708. "path": "action/1/if/condition/0",
  709. "timestamp": "2026-05-01T10:26:58.777956+00:00",
  710. "result": {
  711. "result": true,
  712. "entities": []
  713. }
  714. }
  715. ],
  716. "action/1/if/condition/1": [
  717. {
  718. "path": "action/1/if/condition/1",
  719. "timestamp": "2026-05-01T10:26:58.779831+00:00",
  720. "result": {
  721. "result": false,
  722. "entities": []
  723. }
  724. }
  725. ],
  726. "action/2": [
  727. {
  728. "path": "action/2",
  729. "timestamp": "2026-05-01T10:26:58.782361+00:00"
  730. }
  731. ],
  732. "action/2/if": [
  733. {
  734. "path": "action/2/if",
  735. "timestamp": "2026-05-01T10:26:58.782938+00:00",
  736. "result": {
  737. "result": false
  738. }
  739. }
  740. ],
  741. "action/2/if/condition/0": [
  742. {
  743. "path": "action/2/if/condition/0",
  744. "timestamp": "2026-05-01T10:26:58.784447+00:00",
  745. "result": {
  746. "result": false,
  747. "entities": []
  748. }
  749. }
  750. ],
  751. "action/3": [
  752. {
  753. "path": "action/3",
  754. "timestamp": "2026-05-01T10:26:58.786850+00:00",
  755. "changed_variables": {
  756. "forecast_temp_raw": 19.3,
  757. "forecast_weather_condition_raw": null,
  758. "shading_start_condition_states": {
  759. "azimuth_valid": true,
  760. "elevation_valid": true,
  761. "brightness_valid": true,
  762. "temp1_valid": true,
  763. "temp2_valid": true,
  764. "forecast_temp_valid": true,
  765. "forecast_weather_valid": false
  766. },
  767. "shading_start_and_result": false,
  768. "shading_start_or_result": true,
  769. "shading_start_conditions_met": false,
  770. "shading_end_condition_states": {
  771. "azimuth_invalid": false,
  772. "elevation_invalid": false,
  773. "brightness_invalid": false,
  774. "temp1_invalid": false,
  775. "temp2_invalid": false,
  776. "forecast_temp_invalid": false,
  777. "forecast_weather_invalid": false
  778. },
  779. "shading_end_and_result": false,
  780. "shading_end_or_result": false,
  781. "shading_end_conditions_met": false,
  782. "calendar_open_event": {
  783. "found": false,
  784. "start": null,
  785. "end": null
  786. },
  787. "calendar_close_event": {
  788. "found": false,
  789. "start": null,
  790. "end": null
  791. },
  792. "now_ts": 1777631218.797897,
  793. "calendar_open_start": null,
  794. "calendar_open_end": null,
  795. "calendar_close_start": null,
  796. "calendar_close_end": null,
  797. "is_opening_phase": false,
  798. "is_daytime_phase": true,
  799. "is_closing_phase": false,
  800. "is_evening_phase": false,
  801. "is_time_up_late": true,
  802. "is_time_down_late": false,
  803. "is_shading_allowed_window": true,
  804. "environment_allows_opening": true,
  805. "environment_allows_closing": false,
  806. "should_be_open_now": true,
  807. "should_be_closed_now": false
  808. }
  809. }
  810. ],
  811. "action/4": [
  812. {
  813. "path": "action/4",
  814. "timestamp": "2026-05-01T10:26:58.806107+00:00"
  815. }
  816. ],
  817. "action/4/if": [
  818. {
  819. "path": "action/4/if",
  820. "timestamp": "2026-05-01T10:26:58.806853+00:00",
  821. "result": {
  822. "result": false
  823. }
  824. }
  825. ],
  826. "action/4/if/condition/0": [
  827. {
  828. "path": "action/4/if/condition/0",
  829. "timestamp": "2026-05-01T10:26:58.808013+00:00",
  830. "result": {
  831. "result": true,
  832. "entities": []
  833. }
  834. }
  835. ],
  836. "action/4/if/condition/1": [
  837. {
  838. "path": "action/4/if/condition/1",
  839. "timestamp": "2026-05-01T10:26:58.810193+00:00",
  840. "result": {
  841. "result": true,
  842. "entities": []
  843. }
  844. }
  845. ],
  846. "action/4/if/condition/2": [
  847. {
  848. "path": "action/4/if/condition/2",
  849. "timestamp": "2026-05-01T10:26:58.812407+00:00",
  850. "result": {
  851. "result": false
  852. }
  853. }
  854. ],
  855. "action/4/if/condition/2/conditions/0": [
  856. {
  857. "path": "action/4/if/condition/2/conditions/0",
  858. "timestamp": "2026-05-01T10:26:58.813591+00:00",
  859. "result": {
  860. "result": false,
  861. "entities": [
  862. "input_text.rolladen_aussen_helfer"
  863. ]
  864. }
  865. }
  866. ],
  867. "action/4/if/condition/2/conditions/1": [
  868. {
  869. "path": "action/4/if/condition/2/conditions/1",
  870. "timestamp": "2026-05-01T10:26:58.815784+00:00",
  871. "result": {
  872. "result": false,
  873. "entities": [
  874. "input_text.rolladen_aussen_helfer"
  875. ]
  876. }
  877. }
  878. ],
  879. "action/5": [
  880. {
  881. "path": "action/5",
  882. "timestamp": "2026-05-01T10:26:58.818748+00:00"
  883. }
  884. ],
  885. "action/5/if": [
  886. {
  887. "path": "action/5/if",
  888. "timestamp": "2026-05-01T10:26:58.819478+00:00",
  889. "result": {
  890. "result": false
  891. }
  892. }
  893. ],
  894. "action/5/if/condition/0": [
  895. {
  896. "path": "action/5/if/condition/0",
  897. "timestamp": "2026-05-01T10:26:58.822325+00:00",
  898. "result": {
  899. "result": true,
  900. "entities": []
  901. }
  902. }
  903. ],
  904. "action/5/if/condition/1": [
  905. {
  906. "path": "action/5/if/condition/1",
  907. "timestamp": "2026-05-01T10:26:58.824479+00:00",
  908. "result": {
  909. "result": false,
  910. "entities": []
  911. }
  912. }
  913. ],
  914. "action/6": [
  915. {
  916. "path": "action/6",
  917. "timestamp": "2026-05-01T10:26:58.828026+00:00",
  918. "result": {
  919. "choice": 2
  920. }
  921. }
  922. ],
  923. "action/6/choose/0": [
  924. {
  925. "path": "action/6/choose/0",
  926. "timestamp": "2026-05-01T10:26:58.828831+00:00",
  927. "result": {
  928. "result": false
  929. }
  930. }
  931. ],
  932. "action/6/choose/0/conditions/0": [
  933. {
  934. "path": "action/6/choose/0/conditions/0",
  935. "timestamp": "2026-05-01T10:26:58.830003+00:00",
  936. "result": {
  937. "result": true,
  938. "entities": []
  939. }
  940. }
  941. ],
  942. "action/6/choose/0/conditions/1": [
  943. {
  944. "path": "action/6/choose/0/conditions/1",
  945. "timestamp": "2026-05-01T10:26:58.832094+00:00",
  946. "result": {
  947. "result": true,
  948. "entities": []
  949. }
  950. }
  951. ],
  952. "action/6/choose/0/conditions/2": [
  953. {
  954. "path": "action/6/choose/0/conditions/2",
  955. "timestamp": "2026-05-01T10:26:58.834204+00:00",
  956. "result": {
  957. "result": false,
  958. "entities": []
  959. }
  960. }
  961. ],
  962. "action/6/choose/1": [
  963. {
  964. "path": "action/6/choose/1",
  965. "timestamp": "2026-05-01T10:26:58.836407+00:00",
  966. "result": {
  967. "result": false
  968. }
  969. }
  970. ],
  971. "action/6/choose/1/conditions/0": [
  972. {
  973. "path": "action/6/choose/1/conditions/0",
  974. "timestamp": "2026-05-01T10:26:58.837589+00:00",
  975. "result": {
  976. "result": true,
  977. "entities": []
  978. }
  979. }
  980. ],
  981. "action/6/choose/1/conditions/1": [
  982. {
  983. "path": "action/6/choose/1/conditions/1",
  984. "timestamp": "2026-05-01T10:26:58.839672+00:00",
  985. "result": {
  986. "result": true,
  987. "entities": []
  988. }
  989. }
  990. ],
  991. "action/6/choose/1/conditions/2": [
  992. {
  993. "path": "action/6/choose/1/conditions/2",
  994. "timestamp": "2026-05-01T10:26:58.841866+00:00",
  995. "result": {
  996. "result": false,
  997. "entities": []
  998. }
  999. }
  1000. ],
  1001. "action/6/choose/2": [
  1002. {
  1003. "path": "action/6/choose/2",
  1004. "timestamp": "2026-05-01T10:26:58.844125+00:00",
  1005. "result": {
  1006. "result": true
  1007. }
  1008. }
  1009. ],
  1010. "action/6/choose/2/conditions/0": [
  1011. {
  1012. "path": "action/6/choose/2/conditions/0",
  1013. "timestamp": "2026-05-01T10:26:58.845388+00:00",
  1014. "result": {
  1015. "result": true,
  1016. "entities": []
  1017. }
  1018. }
  1019. ],
  1020. "action/6/choose/2/conditions/1": [
  1021. {
  1022. "path": "action/6/choose/2/conditions/1",
  1023. "timestamp": "2026-05-01T10:26:58.847507+00:00",
  1024. "result": {
  1025. "result": true,
  1026. "entities": []
  1027. }
  1028. }
  1029. ],
  1030. "action/6/choose/2/conditions/2": [
  1031. {
  1032. "path": "action/6/choose/2/conditions/2",
  1033. "timestamp": "2026-05-01T10:26:58.849635+00:00",
  1034. "result": {
  1035. "result": true,
  1036. "entities": []
  1037. }
  1038. }
  1039. ],
  1040. "action/6/choose/2/conditions/3": [
  1041. {
  1042. "path": "action/6/choose/2/conditions/3",
  1043. "timestamp": "2026-05-01T10:26:58.851753+00:00",
  1044. "result": {
  1045. "result": true,
  1046. "entities": []
  1047. }
  1048. }
  1049. ],
  1050. "action/6/choose/2/conditions/4": [
  1051. {
  1052. "path": "action/6/choose/2/conditions/4",
  1053. "timestamp": "2026-05-01T10:26:58.853841+00:00",
  1054. "result": {
  1055. "result": true
  1056. }
  1057. }
  1058. ],
  1059. "action/6/choose/2/conditions/5": [
  1060. {
  1061. "path": "action/6/choose/2/conditions/5",
  1062. "timestamp": "2026-05-01T10:26:58.855036+00:00",
  1063. "result": {
  1064. "result": true
  1065. }
  1066. }
  1067. ],
  1068. "action/6/choose/2/conditions/5/conditions/0": [
  1069. {
  1070. "path": "action/6/choose/2/conditions/5/conditions/0",
  1071. "timestamp": "2026-05-01T10:26:58.856330+00:00",
  1072. "result": {
  1073. "result": false,
  1074. "entities": []
  1075. }
  1076. }
  1077. ],
  1078. "action/6/choose/2/conditions/5/conditions/1": [
  1079. {
  1080. "path": "action/6/choose/2/conditions/5/conditions/1",
  1081. "timestamp": "2026-05-01T10:26:58.858414+00:00",
  1082. "result": {
  1083. "result": true,
  1084. "entities": []
  1085. }
  1086. }
  1087. ],
  1088. "action/6/choose/2/conditions/6": [
  1089. {
  1090. "path": "action/6/choose/2/conditions/6",
  1091. "timestamp": "2026-05-01T10:26:58.860500+00:00",
  1092. "result": {
  1093. "result": true
  1094. }
  1095. }
  1096. ],
  1097. "action/6/choose/2/conditions/6/conditions/0": [
  1098. {
  1099. "path": "action/6/choose/2/conditions/6/conditions/0",
  1100. "timestamp": "2026-05-01T10:26:58.861651+00:00",
  1101. "result": {
  1102. "result": true,
  1103. "entities": []
  1104. }
  1105. }
  1106. ],
  1107. "action/6/choose/2/conditions/7": [
  1108. {
  1109. "path": "action/6/choose/2/conditions/7",
  1110. "timestamp": "2026-05-01T10:26:58.863750+00:00",
  1111. "result": {
  1112. "result": true
  1113. }
  1114. }
  1115. ],
  1116. "action/6/choose/2/conditions/7/conditions/0": [
  1117. {
  1118. "path": "action/6/choose/2/conditions/7/conditions/0",
  1119. "timestamp": "2026-05-01T10:26:58.864876+00:00",
  1120. "result": {
  1121. "result": true,
  1122. "entities": []
  1123. }
  1124. }
  1125. ],
  1126. "action/6/choose/2/conditions/8": [
  1127. {
  1128. "path": "action/6/choose/2/conditions/8",
  1129. "timestamp": "2026-05-01T10:26:58.866995+00:00",
  1130. "result": {
  1131. "result": true,
  1132. "entities": []
  1133. }
  1134. }
  1135. ],
  1136. "action/6/choose/2/conditions/9": [
  1137. {
  1138. "path": "action/6/choose/2/conditions/9",
  1139. "timestamp": "2026-05-01T10:26:58.869116+00:00",
  1140. "result": {
  1141. "result": true
  1142. }
  1143. }
  1144. ],
  1145. "action/6/choose/2/conditions/9/conditions/0": [
  1146. {
  1147. "path": "action/6/choose/2/conditions/9/conditions/0",
  1148. "timestamp": "2026-05-01T10:26:58.870308+00:00",
  1149. "result": {
  1150. "result": true,
  1151. "entities": []
  1152. }
  1153. }
  1154. ],
  1155. "action/6/choose/2/sequence/0": [
  1156. {
  1157. "path": "action/6/choose/2/sequence/0",
  1158. "timestamp": "2026-05-01T10:26:58.872771+00:00",
  1159. "result": {
  1160. "choice": "else"
  1161. }
  1162. }
  1163. ],
  1164. "action/6/choose/2/sequence/0/if": [
  1165. {
  1166. "path": "action/6/choose/2/sequence/0/if",
  1167. "timestamp": "2026-05-01T10:26:58.873513+00:00",
  1168. "result": {
  1169. "result": false
  1170. }
  1171. }
  1172. ],
  1173. "action/6/choose/2/sequence/0/if/condition/0": [
  1174. {
  1175. "path": "action/6/choose/2/sequence/0/if/condition/0",
  1176. "timestamp": "2026-05-01T10:26:58.874672+00:00",
  1177. "result": {
  1178. "result": false
  1179. }
  1180. }
  1181. ],
  1182. "action/6/choose/2/sequence/0/if/condition/0/conditions/0": [
  1183. {
  1184. "path": "action/6/choose/2/sequence/0/if/condition/0/conditions/0",
  1185. "timestamp": "2026-05-01T10:26:58.875825+00:00",
  1186. "result": {
  1187. "result": false
  1188. }
  1189. }
  1190. ],
  1191. "action/6/choose/2/sequence/0/if/condition/0/conditions/0/conditions/0": [
  1192. {
  1193. "path": "action/6/choose/2/sequence/0/if/condition/0/conditions/0/conditions/0",
  1194. "timestamp": "2026-05-01T10:26:58.877014+00:00",
  1195. "result": {
  1196. "result": false,
  1197. "entities": []
  1198. }
  1199. }
  1200. ],
  1201. "action/6/choose/2/sequence/0/if/condition/0/conditions/1": [
  1202. {
  1203. "path": "action/6/choose/2/sequence/0/if/condition/0/conditions/1",
  1204. "timestamp": "2026-05-01T10:26:58.879146+00:00",
  1205. "result": {
  1206. "result": false,
  1207. "entities": []
  1208. }
  1209. }
  1210. ],
  1211. "action/6/choose/2/sequence/0/else/0": [
  1212. {
  1213. "path": "action/6/choose/2/sequence/0/else/0",
  1214. "timestamp": "2026-05-01T10:26:58.881551+00:00"
  1215. }
  1216. ],
  1217. "action/6/choose/2/sequence/0/else/0/choose/0": [
  1218. {
  1219. "path": "action/6/choose/2/sequence/0/else/0/choose/0",
  1220. "timestamp": "2026-05-01T10:26:58.882290+00:00",
  1221. "result": {
  1222. "result": false
  1223. }
  1224. }
  1225. ],
  1226. "action/6/choose/2/sequence/0/else/0/choose/0/conditions/0": [
  1227. {
  1228. "path": "action/6/choose/2/sequence/0/else/0/choose/0/conditions/0",
  1229. "timestamp": "2026-05-01T10:26:58.883450+00:00",
  1230. "result": {
  1231. "result": false,
  1232. "entities": []
  1233. }
  1234. }
  1235. ],
  1236. "action/6/choose/2/sequence/0/else/0/choose/1": [
  1237. {
  1238. "path": "action/6/choose/2/sequence/0/else/0/choose/1",
  1239. "timestamp": "2026-05-01T10:26:58.885648+00:00",
  1240. "result": {
  1241. "result": false
  1242. }
  1243. }
  1244. ],
  1245. "action/6/choose/2/sequence/0/else/0/choose/1/conditions/0": [
  1246. {
  1247. "path": "action/6/choose/2/sequence/0/else/0/choose/1/conditions/0",
  1248. "timestamp": "2026-05-01T10:26:58.886795+00:00",
  1249. "result": {
  1250. "result": false,
  1251. "entities": []
  1252. }
  1253. }
  1254. ]
  1255. },
  1256. "config": {
  1257. "trigger_variables": {
  1258. "blind": "cover.rolladen_ausen",
  1259. "cover_type": "blind",
  1260. "is_awning": "{{ cover_type == 'awning' }}",
  1261. "resident_sensor": [],
  1262. "position_source": "current_position_attr",
  1263. "custom_position_sensor": [],
  1264. "open_position": 100,
  1265. "close_position": 0,
  1266. "ventilate_position": 20,
  1267. "shading_position": 25,
  1268. "position_tolerance": 0,
  1269. "open_tilt_position": 50,
  1270. "close_tilt_position": 50,
  1271. "ventilate_tilt_position": 50,
  1272. "shading_tilt_elevation_1": 20,
  1273. "shading_tilt_elevation_2": 30,
  1274. "shading_tilt_elevation_3": 48,
  1275. "shading_tilt_position_0": 0,
  1276. "shading_tilt_position_1": 20,
  1277. "shading_tilt_position_2": 37,
  1278. "shading_tilt_position_3": 50,
  1279. "auto_options": [
  1280. "auto_up_enabled",
  1281. "auto_down_enabled",
  1282. "auto_shading_enabled",
  1283. "auto_ventilate_enabled",
  1284. "auto_sun_enabled"
  1285. ],
  1286. "cover_tilt_config": "cover_tilt_disabled",
  1287. "cover_tilt_reposition_config": "cover_tilt_reposition_disabled",
  1288. "is_cover_tilt_enabled": "{{ not is_awning and 'cover_tilt_enabled' in cover_tilt_config }}",
  1289. "tilt_wait_mode": "fixed_delay",
  1290. "tilt_wait_timeout": 30,
  1291. "is_tilt_wait_idle_mode": "{{ tilt_wait_mode == 'wait_idle' }}",
  1292. "time_up_early": "06:35:00",
  1293. "time_up_early_non_workday": "08:00:00",
  1294. "time_up_late": "08:00:00",
  1295. "time_up_late_non_workday": "09:00:00",
  1296. "time_down_early": "16:00:00",
  1297. "time_down_early_non_workday": "16:00:00",
  1298. "time_down_late": "22:00:00",
  1299. "time_down_late_non_workday": "22:00:00",
  1300. "workday_sensor_today": "binary_sensor.workday_sensor",
  1301. "workday_sensor_tomorrow": [],
  1302. "time_control": "time_control_input",
  1303. "calendar_entity": [],
  1304. "calendar_open_title": "Open Cover",
  1305. "calendar_close_title": "Close Cover",
  1306. "calendar_open_title_lc": "{{ (calendar_open_title | default('')) | lower | trim }}",
  1307. "calendar_close_title_lc": "{{ (calendar_close_title | default('')) | lower | trim }}",
  1308. "is_calendar_enabled": "{{ 'time_control_calendar' in time_control and calendar_entity != [] }}",
  1309. "default_brightness_sensor": [],
  1310. "brightness_up": 0,
  1311. "brightness_down": 0,
  1312. "brightness_hysteresis": 0,
  1313. "default_sun_sensor": "sun.sun",
  1314. "sun_elevation_mode": "fixed",
  1315. "sun_elevation_up": 9.8,
  1316. "sun_elevation_down": -3,
  1317. "sun_elevation_up_sensor": [],
  1318. "sun_elevation_down_sensor": [],
  1319. "contact_window_opened": [],
  1320. "contact_window_tilted": "binary_sensor.kontakt_ausen",
  1321. "lockout_tilted_options": [],
  1322. "shading_azimuth_start": 120,
  1323. "shading_azimuth_end": 265,
  1324. "shading_elevation_min": 25,
  1325. "shading_elevation_max": 90,
  1326. "shading_sun_brightness_start": 35000,
  1327. "shading_sun_brightness_end": 25000,
  1328. "shading_sun_brightness_hysteresis": 0,
  1329. "shading_brightness_sensor": [],
  1330. "shading_temperatur_sensor1": "sensor.dwd_max_temp",
  1331. "shading_temperatur_sensor2": "sensor.haydnstrasse_temperatur",
  1332. "shading_min_temperatur1": 19,
  1333. "shading_min_temperatur2": 19,
  1334. "shading_temperature_hysteresis1": 0.2,
  1335. "shading_temperature_hysteresis2": 0.2,
  1336. "shading_forecast_sensor": "weather.ruesselsheim",
  1337. "shading_forecast_temp_sensor": [],
  1338. "shading_forecast_type": "weather_attributes",
  1339. "shading_forecast_temp": [],
  1340. "shading_forecast_temp_hysteresis": 0,
  1341. "shading_weather_conditions": [
  1342. "sunny",
  1343. "partlycloudy",
  1344. "cloudy",
  1345. "clear",
  1346. "rainy",
  1347. "exceptional"
  1348. ],
  1349. "shading_conditions_start_and": [
  1350. "cond_azimuth",
  1351. "cond_elevation",
  1352. "cond_forecast_weather"
  1353. ],
  1354. "shading_conditions_start_or": [
  1355. "cond_temp1",
  1356. "cond_temp2"
  1357. ],
  1358. "shading_conditions_end_and": [],
  1359. "shading_conditions_end_or": [
  1360. "cond_azimuth",
  1361. "cond_elevation"
  1362. ],
  1363. "lockout_tilted_when_closing": "{{ 'lockout_tilted_closing' in lockout_tilted_options }}",
  1364. "lockout_tilted_when_shading_starts": "{{ 'lockout_tilted_shading_start' in lockout_tilted_options }}",
  1365. "lockout_tilted_when_shading_ends": "{{ 'lockout_tilted_shading_end' in lockout_tilted_options }}",
  1366. "is_shading_enabled": "{{ 'auto_shading_enabled' in auto_options }}",
  1367. "is_up_enabled": "{{ 'auto_up_enabled' in auto_options }}",
  1368. "is_down_enabled": "{{ 'auto_down_enabled' in auto_options }}",
  1369. "is_brightness_enabled": "{{ 'auto_brightness_enabled' in auto_options }}",
  1370. "is_sun_elevation_enabled": "{{ 'auto_sun_enabled' in auto_options }}",
  1371. "is_time_field_enabled": "{{ 'time_control_input' in time_control }}",
  1372. "is_time_control_disabled": "{{ 'time_control_disabled' in time_control }}",
  1373. "is_ventilation_enabled": "{{ not is_awning and 'auto_ventilate_enabled' in auto_options }}",
  1374. "reset_override_config": "reset_disabled",
  1375. "reset_override_time": "00:10:00",
  1376. "reset_override_timeout": 5,
  1377. "is_reset_disabled": "{{ 'reset_disabled' in reset_override_config }}",
  1378. "is_reset_fixed_time": "{{ 'reset_fixed_time' in reset_override_config }}",
  1379. "is_reset_timeout": "{{ 'reset_timeout' in reset_override_config }}",
  1380. "auto_up_force": [],
  1381. "auto_down_force": [],
  1382. "auto_ventilate_force": [],
  1383. "auto_shading_start_force": [],
  1384. "cover_status_options": "cover_helper_enabled",
  1385. "cover_status_helper": "input_text.rolladen_aussen_helfer",
  1386. "invalid_states": [
  1387. "",
  1388. "unavailable",
  1389. "unknown",
  1390. "none",
  1391. "None",
  1392. "null",
  1393. "query failed",
  1394. []
  1395. ]
  1396. },
  1397. "variables": {
  1398. "version": "2026.01.26",
  1399. "blind_entities": "{{ expand(blind) | map(attribute='entity_id') | list }}",
  1400. "current_position": "{% set source = position_source %} {% if source == 'current_position_attr' %}\n {{ state_attr(blind, 'current_position') | int(default=101) }}\n{% elif source == 'position_attr' %}\n {{ state_attr(blind, 'position') | int(default=101) }}\n{% elif source == 'custom_sensor' and custom_position_sensor != [] %}\n {{ states(custom_position_sensor) | int(default=101) }}\n{% else %}\n {{ 101 }}\n{% endif %}",
  1401. "current_tilt_position": "{{ state_attr(blind, 'current_tilt_position') | int(default=101) }}",
  1402. "position_comparisons": {
  1403. "current_above_open": "{{ current_position < open_position if is_awning else current_position > open_position }}",
  1404. "current_above_close": "{{ current_position < close_position if is_awning else current_position > close_position }}",
  1405. "current_above_shading": "{{ current_position < shading_position if is_awning else current_position > shading_position }}",
  1406. "current_above_ventilate": "{{ current_position < ventilate_position if is_awning else current_position > ventilate_position }}",
  1407. "current_below_open": "{{ current_position > open_position if is_awning else current_position < open_position }}",
  1408. "current_below_close": "{{ current_position > close_position if is_awning else current_position < close_position }}",
  1409. "current_below_shading": "{{ current_position > shading_position if is_awning else current_position < shading_position }}",
  1410. "current_below_ventilate": "{{ current_position > ventilate_position if is_awning else current_position < ventilate_position }}",
  1411. "open_above_close": "{{ open_position < close_position if is_awning else open_position > close_position }}",
  1412. "open_above_ventilate": "{{ open_position < ventilate_position if is_awning else open_position > ventilate_position }}",
  1413. "shading_above_close": "{{ shading_position < close_position if is_awning else shading_position > close_position }}",
  1414. "shading_below_open": "{{ shading_position > open_position if is_awning else shading_position < open_position }}",
  1415. "ventilate_above_close": "{{ ventilate_position < close_position if is_awning else ventilate_position > close_position }}"
  1416. },
  1417. "current_sun_azimuth": "{{ state_attr(default_sun_sensor, 'azimuth') }}",
  1418. "current_sun_elevation": "{{ state_attr(default_sun_sensor, 'elevation') }}",
  1419. "sun_elevation_up_current": "{% set mode = sun_elevation_mode %} {% set sensor = sun_elevation_up_sensor %} {% set fixed_value = sun_elevation_up | float %} {% set sensor_valid = sensor != [] and states(sensor) not in invalid_states and is_number(states(sensor)) %} {% if mode == 'dynamic' %}\n {% if sensor_valid %}\n {{ states(sensor) | float }}\n {% else %}\n {{ fixed_value }}\n {% endif %}\n{% elif mode == 'hybrid' %}\n {% if sensor_valid %}\n {{ (states(sensor) | float) + fixed_value }}\n {% else %}\n {{ fixed_value }}\n {% endif %}\n{% else %}\n {{ fixed_value }}\n{% endif %}",
  1420. "sun_elevation_down_current": "{% set mode = sun_elevation_mode %} {% set sensor = sun_elevation_down_sensor %} {% set fixed_value = sun_elevation_down | float %} {% set sensor_valid = sensor != [] and states(sensor) not in invalid_states and is_number(states(sensor)) %} {% if mode == 'dynamic' %}\n {% if sensor_valid %}\n {{ states(sensor) | float }}\n {% else %}\n {{ fixed_value }}\n {% endif %}\n{% elif mode == 'hybrid' %}\n {% if sensor_valid %}\n {{ (states(sensor) | float) + fixed_value }}\n {% else %}\n {{ fixed_value }}\n {% endif %}\n{% else %}\n {{ fixed_value }}\n{% endif %}",
  1421. "is_today_off": "{{ workday_sensor_today != [] and is_state(workday_sensor_today, 'off') }}",
  1422. "is_tomorrow_off": "{{ workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'off') }}",
  1423. "is_tomorrow_on": "{{ workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'on') }}",
  1424. "is_cover_tilt_enabled_and_possible": "{{ is_cover_tilt_enabled and state_attr(blind, 'current_tilt_position') != none }}",
  1425. "is_cover_tilt_reposition_enabled": "{{ 'cover_tilt_reposition_enabled' in cover_tilt_reposition_config }}",
  1426. "drive_delay_fix": 0,
  1427. "drive_delay_random": 5,
  1428. "drive_time": 25,
  1429. "time_up_early_today": "{{ time_up_early_non_workday if is_today_off else time_up_early }}",
  1430. "time_up_late_today": "{{ time_up_late_non_workday if is_today_off else time_up_late }}",
  1431. "time_down_early_today": "{{\n time_down_early_non_workday if is_tomorrow_off else\n time_down_early if is_tomorrow_on else\n time_down_early_non_workday if is_today_off else\n time_down_early\n}}",
  1432. "time_down_late_today": "{{\n time_down_late_non_workday if is_tomorrow_off else\n time_down_late if is_tomorrow_on else\n time_down_late_non_workday if is_today_off else\n time_down_late\n}}",
  1433. "shading_tilt_position": "{% set elevation = current_sun_elevation | int(default=0) %} {% if elevation >= shading_tilt_elevation_3 | int %}\n {{ shading_tilt_position_3 | int }}\n{% elif elevation >= shading_tilt_elevation_2 | int %}\n {{ shading_tilt_position_2 | int }}\n{% elif elevation >= shading_tilt_elevation_1 | int %}\n {{ shading_tilt_position_1 | int }}\n{% else %}\n {{ shading_tilt_position_0 | int }}\n{% endif %}",
  1434. "in_open_position": "{% set min = open_position - position_tolerance %} {% set max = open_position + position_tolerance %} {{\n (current_position >= min and current_position <= max)\n and (\n (not is_cover_tilt_enabled_and_possible) or\n (is_cover_tilt_enabled_and_possible and current_tilt_position == open_tilt_position | int)\n )\n}}",
  1435. "in_close_position": "{% set min = close_position - position_tolerance %} {% set max = close_position + position_tolerance %} {{\n (current_position >= min and current_position <= max)\n and (\n (not is_cover_tilt_enabled_and_possible) or\n (is_cover_tilt_enabled_and_possible and current_tilt_position == close_tilt_position | int)\n )\n}}",
  1436. "in_shading_position": "{% set min = shading_position - position_tolerance %} {% set max = shading_position + position_tolerance %} {{\n is_shading_enabled\n and (current_position >= min and current_position <= max)\n and (\n (not is_cover_tilt_enabled_and_possible) or\n (current_tilt_position == shading_tilt_position | int)\n )\n}}",
  1437. "in_ventilate_position": "{% set min = ventilate_position - position_tolerance %} {% set max = ventilate_position + position_tolerance %} {{\n is_ventilation_enabled\n and (current_position >= min and current_position <= max)\n and (\n (not is_cover_tilt_enabled_and_possible) or\n (current_tilt_position == ventilate_tilt_position | int)\n )\n}}",
  1438. "brightness_time_duration": 30,
  1439. "sun_time_duration": 30,
  1440. "shading_waitingtime_start": 300,
  1441. "shading_waitingtime_end": 300,
  1442. "shading_start_max_duration": 7200,
  1443. "shading_end_max_duration": 7200,
  1444. "shading_config": [],
  1445. "shading_end_immediate_by_sun_position": false,
  1446. "is_shading_end_immediate_by_sun_position": "{{ shading_end_immediate_by_sun_position }}",
  1447. "forecast_source": {
  1448. "use_sensor": "{{ shading_forecast_temp_sensor != [] }}",
  1449. "use_weather": "{{ shading_forecast_sensor != [] and shading_forecast_temp_sensor == [] }}",
  1450. "prevent_service": "{{ 'weather_attributes' in shading_forecast_type }}"
  1451. },
  1452. "shading_start_condition_enabled": {
  1453. "azimuth": "{{ 'cond_azimuth' in shading_conditions_start_and or 'cond_azimuth' in shading_conditions_start_or }}",
  1454. "elevation": "{{ 'cond_elevation' in shading_conditions_start_and or 'cond_elevation' in shading_conditions_start_or }}",
  1455. "brightness": "{{ 'cond_brightness' in shading_conditions_start_and or 'cond_brightness' in shading_conditions_start_or }}",
  1456. "temp1": "{{ 'cond_temp1' in shading_conditions_start_and or 'cond_temp1' in shading_conditions_start_or }}",
  1457. "temp2": "{{ 'cond_temp2' in shading_conditions_start_and or 'cond_temp2' in shading_conditions_start_or }}",
  1458. "forecast_temp": "{{ 'cond_forecast_temp' in shading_conditions_start_and or 'cond_forecast_temp' in shading_conditions_start_or }}",
  1459. "forecast_weather": "{{ 'cond_forecast_weather' in shading_conditions_start_and or 'cond_forecast_weather' in shading_conditions_start_or }}"
  1460. },
  1461. "shading_end_condition_enabled": {
  1462. "azimuth": "{{ 'cond_azimuth' in shading_conditions_end_and or 'cond_azimuth' in shading_conditions_end_or }}",
  1463. "elevation": "{{ 'cond_elevation' in shading_conditions_end_and or 'cond_elevation' in shading_conditions_end_or }}",
  1464. "brightness": "{{ 'cond_brightness' in shading_conditions_end_and or 'cond_brightness' in shading_conditions_end_or }}",
  1465. "temp1": "{{ 'cond_temp1' in shading_conditions_end_and or 'cond_temp1' in shading_conditions_end_or }}",
  1466. "temp2": "{{ 'cond_temp2' in shading_conditions_end_and or 'cond_temp2' in shading_conditions_end_or }}",
  1467. "forecast_temp": "{{ 'cond_forecast_temp' in shading_conditions_end_and or 'cond_forecast_temp' in shading_conditions_end_or }}",
  1468. "forecast_weather": "{{ 'cond_forecast_weather' in shading_conditions_end_and or 'cond_forecast_weather' in shading_conditions_end_or }}"
  1469. },
  1470. "is_status_helper_enabled": "{{\n 'cover_helper_enabled' in cover_status_options and\n cover_status_helper != [] and\n states(cover_status_helper) not in invalid_states and\n states(cover_status_helper) | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\")\n}}",
  1471. "helper_json": "{% if is_status_helper_enabled %}\n {{ states(cover_status_helper) | from_json }}\n{% else %}\n {{\n {\n 'open': {'a': 0, 't': 0},\n 'close': {'a': 0, 't': 0},\n 'shading': {'a': 0, 't': 0, 'p': 0, 'q': 0},\n 'vpart': {'a': 0, 't': 0},\n 'vfull': {'a': 0, 't': 0},\n 'manual': {'a': 0, 't': 0},\n 'v': 5,\n 't': as_timestamp(now()) | round(0)\n } | to_json | from_json\n }}\n{% endif %}\n",
  1472. "helper_status": {
  1473. "open": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('open')) and (helper_json.open.a | default(false) | bool) }}",
  1474. "closed": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('close')) and (helper_json.close.a | default(false) | bool) }}",
  1475. "shaded": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('shading')) and (helper_json.shading.a | default(false) | bool) and not (helper_json.shading.p | default(false) | bool) }}",
  1476. "shading_start_pending": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('shading')) and (helper_json.shading.p | default(false) | bool) }}",
  1477. "shading_end_pending": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('shading')) and (helper_json.shading.q | default(false) | bool) }}",
  1478. "vpart": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('vpart')) and (helper_json.vpart.a | default(false) | bool) }}",
  1479. "vfull": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('vfull')) and (helper_json.vfull.a | default(false) | bool) }}",
  1480. "manual": "{{ (is_status_helper_enabled | default(false)) and (helper_json | regex_search('manual')) and (helper_json.manual.a | default(false) | bool) }}"
  1481. },
  1482. "helper_ts": {
  1483. "open": "{{ (helper_json.open.t | default(0)) if ((is_status_helper_enabled | default(false)) and (helper_json | regex_search('open'))) else 0 }}",
  1484. "closed": "{{ (helper_json.close.t | default(0)) if ((is_status_helper_enabled | default(false)) and (helper_json | regex_search('close'))) else 0 }}",
  1485. "shaded": "{{ (helper_json.shading.t | default(0)) if ((is_status_helper_enabled | default(false)) and (helper_json | regex_search('shading'))) else 0 }}",
  1486. "vpart": "{{ (helper_json.vpart.t | default(0)) if ((is_status_helper_enabled | default(false)) and (helper_json | regex_search('vpart'))) else 0 }}",
  1487. "vfull": "{{ (helper_json.vfull.t | default(0)) if ((is_status_helper_enabled | default(false)) and (helper_json | regex_search('vfull'))) else 0 }}",
  1488. "manual": "{{ (helper_json.manual.t | default(0)) if ((is_status_helper_enabled | default(false)) and (helper_json | regex_search('manual'))) else 0 }}"
  1489. },
  1490. "is_cover_movement_blocked": {
  1491. "open": "{{ (auto_down_force != [] and states(auto_down_force) in ['on', 'true']) or (auto_ventilate_force != [] and states(auto_ventilate_force) in ['on', 'true']) or (auto_shading_start_force != [] and states(auto_shading_start_force) in ['on', 'true']) }}",
  1492. "close": "{{ (auto_up_force != [] and states(auto_up_force) in ['on', 'true']) or (auto_ventilate_force != [] and states(auto_ventilate_force) in ['on', 'true']) or (auto_shading_start_force != [] and states(auto_shading_start_force) in ['on', 'true']) }}",
  1493. "ventilate": "{{ (auto_up_force != [] and states(auto_up_force) in ['on', 'true']) or (auto_down_force != [] and states(auto_down_force) in ['on', 'true']) or (auto_shading_start_force != [] and states(auto_shading_start_force) in ['on', 'true']) }}",
  1494. "shading": "{{ (auto_up_force != [] and states(auto_up_force) in ['on', 'true']) or (auto_down_force != [] and states(auto_down_force) in ['on', 'true']) or (auto_ventilate_force != [] and states(auto_ventilate_force) in ['on', 'true']) }}",
  1495. "any": "{{ (auto_up_force != [] and states(auto_up_force) in ['on', 'true']) or (auto_down_force != [] and states(auto_down_force) in ['on', 'true']) or (auto_ventilate_force != [] and states(auto_ventilate_force) in ['on', 'true']) or (auto_shading_start_force != [] and states(auto_shading_start_force) in ['on', 'true']) }}"
  1496. },
  1497. "resident_config": [],
  1498. "resident_flags": {
  1499. "opening_enabled": "{{ 'resident_opening_enabled' in resident_config }}",
  1500. "closing_enabled": "{{ 'resident_closing_enabled' in resident_config }}",
  1501. "allow_shading": "{{ 'resident_allow_shading' in resident_config }}",
  1502. "allow_opening": "{{ 'resident_allow_opening' in resident_config }}",
  1503. "allow_ventilation": "{{ 'resident_allow_ventilation' in resident_config }}"
  1504. },
  1505. "ignore_after_manual_config": [],
  1506. "override_flags": {
  1507. "opening": "{{ 'ignore_opening_after_manual' in ignore_after_manual_config }}",
  1508. "closing": "{{ 'ignore_closing_after_manual' in ignore_after_manual_config }}",
  1509. "ventilation": "{{ 'ignore_ventilation_after_manual' in ignore_after_manual_config }}",
  1510. "shading": "{{ 'ignore_shading_after_manual' in ignore_after_manual_config }}"
  1511. },
  1512. "auto_ventilate_options": [],
  1513. "contact_delay_trigger": 2,
  1514. "contact_delay_status": 3,
  1515. "ventilation_flags": {
  1516. "delay_enabled": "{{ 'ventilation_delay_enabled' in auto_ventilate_options }}",
  1517. "if_lower_enabled": "{{ 'ventilation_if_lower_enabled' in auto_ventilate_options }}",
  1518. "after_shading_end": "{{ 'ventilation_after_shading_end' in auto_ventilate_options }}"
  1519. },
  1520. "prevent_config": [],
  1521. "prevent_flags": {
  1522. "higher_position_closing": "{{ 'prevent_higher_position_closing' in prevent_config }}",
  1523. "lowering_when_closing_if_shaded": "{{ 'prevent_lowering_when_closing_if_shaded' in prevent_config }}",
  1524. "shading_end_if_closed": "{{ 'prevent_shading_end_if_closed' in prevent_config }}",
  1525. "opening_after_shading_end": "{{ 'prevent_opening_after_shading_end' in prevent_config }}",
  1526. "opening_after_ventilation_end": "{{ 'prevent_opening_after_ventilation_end' in prevent_config }}",
  1527. "default_cover_actions": "{{ 'prevent_default_cover_actions' in prevent_config }}",
  1528. "shading_multiple_times": "{{ 'prevent_shading_multiple_times' in prevent_config }}",
  1529. "opening_multiple_times": "{{ 'prevent_opening_multiple_times' in prevent_config }}",
  1530. "closing_multiple_times": "{{ 'prevent_closing_multiple_times' in prevent_config }}"
  1531. },
  1532. "auto_recover_after_force": "auto_recover_disabled",
  1533. "is_auto_recover_enabled": "{{ 'auto_recover_enabled' in auto_recover_after_force }}",
  1534. "check_config": false,
  1535. "check_config_debuglevel": "info",
  1536. "check_status_helper_length": "{{ state_attr(cover_status_helper, 'max') if cover_status_helper != [] else None }}"
  1537. },
  1538. "mode": "queued",
  1539. "max": 10,
  1540. "max_exceeded": "warning",
  1541. "triggers": [
  1542. {
  1543. "trigger": "template",
  1544. "value_template": "{% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set time_compare = time_up_early_non_workday if is_today_off else time_up_early %} {{ now() >= today_at(time_compare) }}",
  1545. "enabled": "{{ is_time_field_enabled }}",
  1546. "id": "t_open_1"
  1547. },
  1548. {
  1549. "trigger": "template",
  1550. "value_template": "{% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set early = time_up_early_non_workday if is_today_off else time_up_early %} {% set late = time_up_late_non_workday if is_today_off else time_up_late %} {{ early != late and now() >= today_at(late) }}",
  1551. "enabled": "{{ is_time_field_enabled }}",
  1552. "id": "t_open_2"
  1553. },
  1554. {
  1555. "trigger": "template",
  1556. "value_template": "{{ states(default_brightness_sensor) | float(default=brightness_up) > (brightness_up + brightness_hysteresis) }}",
  1557. "for": {
  1558. "seconds": 30
  1559. },
  1560. "enabled": "{{ is_brightness_enabled and default_brightness_sensor != [] }}",
  1561. "id": "t_open_4"
  1562. },
  1563. {
  1564. "trigger": "template",
  1565. "value_template": "{% set mode = sun_elevation_mode %} {% set sensor = sun_elevation_up_sensor %} {% set fixed_value = sun_elevation_up | float %} {% set current_elevation = state_attr(default_sun_sensor, 'elevation') | float(0) %} {% set sensor_valid = sensor != [] and states(sensor) not in invalid_states and is_number(states(sensor)) %} {% if mode == 'dynamic' %}\n {% if sensor_valid %}\n {% set threshold = states(sensor) | float %}\n {% else %}\n {% set threshold = fixed_value %}\n {% endif %}\n{% elif mode == 'hybrid' %}\n {% if sensor_valid %}\n {% set threshold = (states(sensor) | float) + fixed_value %}\n {% else %}\n {% set threshold = fixed_value %}\n {% endif %}\n{% else %}\n {% set threshold = fixed_value %}\n{% endif %} {{ current_elevation > threshold }}",
  1566. "for": {
  1567. "seconds": 30
  1568. },
  1569. "enabled": "{{ is_sun_elevation_enabled and default_sun_sensor != [] }}",
  1570. "id": "t_open_5"
  1571. },
  1572. {
  1573. "trigger": "state",
  1574. "entity_id": [],
  1575. "from": "on",
  1576. "to": "off",
  1577. "enabled": "{{ resident_sensor != [] }}",
  1578. "id": "t_open_6"
  1579. },
  1580. {
  1581. "trigger": "state",
  1582. "entity_id": [],
  1583. "from": "off",
  1584. "to": "on",
  1585. "enabled": "{{ auto_up_force != [] }}",
  1586. "id": "t_force_enabled_open"
  1587. },
  1588. {
  1589. "trigger": "state",
  1590. "entity_id": [],
  1591. "from": "on",
  1592. "to": "off",
  1593. "enabled": "{{ auto_up_force != [] }}",
  1594. "id": "t_force_disabled_open"
  1595. },
  1596. {
  1597. "trigger": "template",
  1598. "value_template": "{% set is_tomorrow_off = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'off') %} {% set is_tomorrow_on = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'on') %} {% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set time_compare =\n time_down_early_non_workday if is_tomorrow_off else\n time_down_early if is_tomorrow_on else\n time_down_early_non_workday if is_today_off else\n time_down_early %}\n{{ now() >= today_at(time_compare) }}",
  1599. "enabled": "{{ is_time_field_enabled }}",
  1600. "id": "t_close_1"
  1601. },
  1602. {
  1603. "trigger": "template",
  1604. "value_template": "{% set is_tomorrow_off = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'off') %} {% set is_tomorrow_on = workday_sensor_tomorrow != [] and is_state(workday_sensor_tomorrow, 'on') %} {% set is_today_off = workday_sensor_today != [] and is_state(workday_sensor_today, 'off') %} {% set time_compare =\n time_down_late_non_workday if is_tomorrow_off else\n time_down_late if is_tomorrow_on else\n time_down_late_non_workday if is_today_off else\n time_down_late %}\n{{ (time_down_early_non_workday != time_compare and time_down_early != time_compare) and now() >= today_at(time_compare) }}",
  1605. "enabled": "{{ is_time_field_enabled }}",
  1606. "id": "t_close_2"
  1607. },
  1608. {
  1609. "trigger": "template",
  1610. "value_template": "{{ states(default_brightness_sensor) | float(default=brightness_down) < (brightness_down - brightness_hysteresis) }}",
  1611. "for": {
  1612. "seconds": 30
  1613. },
  1614. "enabled": "{{ is_brightness_enabled and default_brightness_sensor != [] }}",
  1615. "id": "t_close_4"
  1616. },
  1617. {
  1618. "trigger": "template",
  1619. "value_template": "{% set mode = sun_elevation_mode %} {% set sensor = sun_elevation_down_sensor %} {% set fixed_value = sun_elevation_down | float %} {% set current_elevation = state_attr(default_sun_sensor, 'elevation') | float(0) %} {% set sensor_valid = sensor != [] and states(sensor) not in invalid_states and is_number(states(sensor)) %} {% if mode == 'dynamic' %}\n {% if sensor_valid %}\n {% set threshold = states(sensor) | float %}\n {% else %}\n {% set threshold = fixed_value %}\n {% endif %}\n{% elif mode == 'hybrid' %}\n {% if sensor_valid %}\n {% set threshold = (states(sensor) | float) + fixed_value %}\n {% else %}\n {% set threshold = fixed_value %}\n {% endif %}\n{% else %}\n {% set threshold = fixed_value %}\n{% endif %} {{ current_elevation < threshold }}",
  1620. "for": {
  1621. "seconds": 30
  1622. },
  1623. "enabled": "{{ is_sun_elevation_enabled and default_sun_sensor != [] }}",
  1624. "id": "t_close_5"
  1625. },
  1626. {
  1627. "trigger": "state",
  1628. "entity_id": [],
  1629. "from": "off",
  1630. "to": "on",
  1631. "enabled": "{{ resident_sensor != [] }}",
  1632. "id": "t_close_6"
  1633. },
  1634. {
  1635. "trigger": "state",
  1636. "entity_id": [],
  1637. "from": "off",
  1638. "to": "on",
  1639. "enabled": "{{ auto_down_force != [] }}",
  1640. "id": "t_force_enabled_close"
  1641. },
  1642. {
  1643. "trigger": "state",
  1644. "entity_id": [],
  1645. "from": "on",
  1646. "to": "off",
  1647. "enabled": "{{ auto_down_force != [] }}",
  1648. "id": "t_force_disabled_close"
  1649. },
  1650. {
  1651. "trigger": "state",
  1652. "entity_id": [],
  1653. "to": "on",
  1654. "enabled": "{{ is_calendar_enabled }}",
  1655. "id": "t_calendar_event_start"
  1656. },
  1657. {
  1658. "trigger": "state",
  1659. "entity_id": [],
  1660. "to": "off",
  1661. "enabled": "{{ is_calendar_enabled }}",
  1662. "id": "t_calendar_event_end"
  1663. },
  1664. {
  1665. "trigger": "state",
  1666. "entity_id": "binary_sensor.kontakt_ausen",
  1667. "enabled": "{{ is_ventilation_enabled and contact_window_tilted != [] }}",
  1668. "id": "t_contact_tilted_changed",
  1669. "for": {
  1670. "seconds": 2
  1671. }
  1672. },
  1673. {
  1674. "trigger": "state",
  1675. "entity_id": [],
  1676. "enabled": "{{ is_ventilation_enabled and contact_window_opened != [] }}",
  1677. "id": "t_contact_opened_changed",
  1678. "for": {
  1679. "seconds": 2
  1680. }
  1681. },
  1682. {
  1683. "trigger": "state",
  1684. "entity_id": [],
  1685. "from": "off",
  1686. "to": "on",
  1687. "enabled": "{{ auto_ventilate_force != [] }}",
  1688. "id": "t_force_enabled_ventilate"
  1689. },
  1690. {
  1691. "trigger": "state",
  1692. "entity_id": [],
  1693. "from": "on",
  1694. "to": "off",
  1695. "enabled": "{{ auto_ventilate_force != [] }}",
  1696. "id": "t_force_disabled_ventilate"
  1697. },
  1698. {
  1699. "trigger": "template",
  1700. "value_template": "{{\n state_attr(default_sun_sensor, 'azimuth') | float(default=shading_azimuth_start) > shading_azimuth_start and\n state_attr(default_sun_sensor, 'azimuth') | float(default=shading_azimuth_end) < shading_azimuth_end and\n state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_min) > shading_elevation_min and\n state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_max) < shading_elevation_max\n}}",
  1701. "enabled": "{{ is_shading_enabled and default_sun_sensor != [] }}",
  1702. "id": "t_shading_start_pending_1"
  1703. },
  1704. {
  1705. "trigger": "template",
  1706. "value_template": "{{ states(shading_brightness_sensor) not in invalid_states and states(shading_brightness_sensor) | float(default=shading_sun_brightness_start) > (shading_sun_brightness_start + shading_sun_brightness_hysteresis) }}",
  1707. "enabled": "{{ is_shading_enabled and shading_brightness_sensor != [] }}",
  1708. "id": "t_shading_start_pending_2"
  1709. },
  1710. {
  1711. "trigger": "template",
  1712. "value_template": "{{ states(shading_temperatur_sensor1) not in invalid_states and states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) > (shading_min_temperatur1 + shading_temperature_hysteresis1) }}",
  1713. "enabled": "{{ is_shading_enabled and shading_temperatur_sensor1 != [] }}",
  1714. "id": "t_shading_start_pending_3"
  1715. },
  1716. {
  1717. "trigger": "template",
  1718. "value_template": "{{ states(shading_temperatur_sensor2) not in invalid_states and states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) > (shading_min_temperatur2 + shading_temperature_hysteresis2) }}",
  1719. "enabled": "{{ is_shading_enabled and shading_temperatur_sensor2 != [] }}",
  1720. "id": "t_shading_start_pending_4"
  1721. },
  1722. {
  1723. "trigger": "template",
  1724. "value_template": "{{ states(shading_forecast_sensor) not in invalid_states and states(shading_forecast_sensor) in shading_weather_conditions }}",
  1725. "enabled": "{{ is_shading_enabled and shading_forecast_sensor != [] }}",
  1726. "id": "t_shading_start_pending_5"
  1727. },
  1728. {
  1729. "trigger": "template",
  1730. "value_template": "{{ states(shading_forecast_temp_sensor) not in invalid_states and states(shading_forecast_temp_sensor) | float(default=shading_forecast_temp) > (shading_forecast_temp + shading_forecast_temp_hysteresis) }}",
  1731. "enabled": "{{ is_shading_enabled and shading_forecast_temp_sensor != [] and shading_forecast_temp != [] }}",
  1732. "id": "t_shading_start_pending_6"
  1733. },
  1734. {
  1735. "trigger": "template",
  1736. "value_template": "{{ now() >= today_at([time_up_early, time_up_early_non_workday] | min) - timedelta(hours = 1) }}",
  1737. "enabled": "{{ is_shading_enabled }}",
  1738. "id": "t_shading_start_pending_7"
  1739. },
  1740. {
  1741. "trigger": "template",
  1742. "value_template": "{% set helper_state = states(cover_status_helper) %} {{\n helper_state not in invalid_states and\n helper_state | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") and\n helper_state | from_json | regex_search('shading') and\n (helper_state | from_json).shading.p is defined and\n (helper_state | from_json).shading.p > 0 and\n now() >= ((helper_state | from_json).shading.p) | as_datetime | as_local\n}}",
  1743. "enabled": "{{ is_shading_enabled and cover_status_helper != [] }}",
  1744. "id": "t_shading_start_execution"
  1745. },
  1746. {
  1747. "trigger": "state",
  1748. "entity_id": [],
  1749. "from": "off",
  1750. "to": "on",
  1751. "enabled": "{{ auto_shading_start_force != [] }}",
  1752. "id": "t_force_enabled_shading"
  1753. },
  1754. {
  1755. "trigger": "state",
  1756. "entity_id": [],
  1757. "from": "on",
  1758. "to": "off",
  1759. "enabled": "{{ auto_shading_start_force != [] }}",
  1760. "id": "t_force_disabled_shading"
  1761. },
  1762. {
  1763. "trigger": "template",
  1764. "value_template": "{{\n states(cover_status_helper) not in invalid_states and\n states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n state_attr(default_sun_sensor, 'elevation') < shading_tilt_elevation_1\n}}",
  1765. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1766. "id": "t_shading_tilt_1"
  1767. },
  1768. {
  1769. "trigger": "template",
  1770. "value_template": "{{\n states(cover_status_helper) not in invalid_states and\n states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n state_attr(default_sun_sensor, 'elevation') < shading_tilt_elevation_2 and\n state_attr(default_sun_sensor, 'elevation') >= shading_tilt_elevation_1\n}}",
  1771. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1772. "id": "t_shading_tilt_2"
  1773. },
  1774. {
  1775. "trigger": "template",
  1776. "value_template": "{{\n states(cover_status_helper) not in invalid_states and\n states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n state_attr(default_sun_sensor, 'elevation') < shading_tilt_elevation_3 and\n state_attr(default_sun_sensor, 'elevation') >= shading_tilt_elevation_2\n}}",
  1777. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1778. "id": "t_shading_tilt_3"
  1779. },
  1780. {
  1781. "trigger": "template",
  1782. "value_template": "{{\n states(cover_status_helper) not in invalid_states and\n states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') and\n state_attr(default_sun_sensor, 'elevation') >= shading_tilt_elevation_3\n}}",
  1783. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and is_cover_tilt_enabled and default_sun_sensor != [] }}",
  1784. "id": "t_shading_tilt_4"
  1785. },
  1786. {
  1787. "trigger": "template",
  1788. "value_template": "{{ states(shading_temperatur_sensor1) not in invalid_states and states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) < (shading_min_temperatur1 - shading_temperature_hysteresis1) }}",
  1789. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_temperatur_sensor1 != [] }}",
  1790. "id": "t_shading_end_pending_1"
  1791. },
  1792. {
  1793. "trigger": "template",
  1794. "value_template": "{{ states(shading_temperatur_sensor2) not in invalid_states and states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) < (shading_min_temperatur2 - shading_temperature_hysteresis2) }}",
  1795. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_temperatur_sensor2 != [] }}",
  1796. "id": "t_shading_end_pending_2"
  1797. },
  1798. {
  1799. "trigger": "template",
  1800. "value_template": "{{ states(shading_brightness_sensor) not in invalid_states and states(shading_brightness_sensor) | float(default=shading_sun_brightness_end) < (shading_sun_brightness_end - shading_sun_brightness_hysteresis) }}",
  1801. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_brightness_sensor != [] }}",
  1802. "id": "t_shading_end_pending_3"
  1803. },
  1804. {
  1805. "trigger": "template",
  1806. "value_template": "{{ states(shading_forecast_sensor) not in shading_weather_conditions }}",
  1807. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_weather_conditions != [] and shading_forecast_sensor != [] }}",
  1808. "id": "t_shading_end_pending_4"
  1809. },
  1810. {
  1811. "trigger": "template",
  1812. "value_template": "{{\n (state_attr(default_sun_sensor, 'azimuth') | float(default=shading_azimuth_start) < shading_azimuth_start) or\n (state_attr(default_sun_sensor, 'azimuth') | float(default=shading_azimuth_end) > shading_azimuth_end) or\n (state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_max) > shading_elevation_max) or\n (state_attr(default_sun_sensor, 'elevation') | float(default=shading_elevation_min) < shading_elevation_min)\n}}",
  1813. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and default_sun_sensor != [] }}",
  1814. "id": "t_shading_end_pending_5"
  1815. },
  1816. {
  1817. "trigger": "template",
  1818. "value_template": "{{ states(shading_forecast_temp_sensor) not in invalid_states and states(shading_forecast_temp_sensor) | float(default=shading_forecast_temp) < (shading_forecast_temp - shading_forecast_temp_hysteresis) }}",
  1819. "enabled": "{{ is_shading_enabled and cover_status_helper != [] and shading_forecast_temp_sensor != [] and shading_forecast_temp != [] }}",
  1820. "id": "t_shading_end_pending_6"
  1821. },
  1822. {
  1823. "trigger": "template",
  1824. "value_template": "{% set helper_state = states(cover_status_helper) %} {{\n helper_state not in invalid_states and\n helper_state | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") and\n helper_state | from_json | regex_search('shading') and\n (helper_state | from_json).shading.q is defined and\n (helper_state | from_json).shading.q > 0 and\n now() >= ((helper_state | from_json).shading.q) | as_datetime | as_local\n}}",
  1825. "enabled": "{{ is_shading_enabled and cover_status_helper != [] }}",
  1826. "id": "t_shading_end_execution"
  1827. },
  1828. {
  1829. "trigger": "template",
  1830. "value_template": "{{ now() >= today_at('23:55:00') }}",
  1831. "id": "t_shading_reset",
  1832. "enabled": "{{ is_shading_enabled }}"
  1833. },
  1834. {
  1835. "trigger": "state",
  1836. "entity_id": "cover.rolladen_ausen",
  1837. "attribute": "current_position",
  1838. "enabled": "{{ position_source == 'current_position_attr' }}",
  1839. "id": "t_manual_position",
  1840. "for": {
  1841. "seconds": 60
  1842. }
  1843. },
  1844. {
  1845. "trigger": "state",
  1846. "entity_id": "cover.rolladen_ausen",
  1847. "attribute": "position",
  1848. "enabled": "{{ position_source == 'position_attr' }}",
  1849. "id": "t_manual_position",
  1850. "for": {
  1851. "seconds": 60
  1852. }
  1853. },
  1854. {
  1855. "trigger": "state",
  1856. "entity_id": [],
  1857. "enabled": "{{ position_source == 'custom_sensor' and custom_position_sensor != [] }}",
  1858. "id": "t_manual_position",
  1859. "for": {
  1860. "seconds": 60
  1861. }
  1862. },
  1863. {
  1864. "trigger": "state",
  1865. "entity_id": "cover.rolladen_ausen",
  1866. "attribute": "current_tilt_position",
  1867. "id": "t_manual_tilt",
  1868. "for": {
  1869. "minutes": 1
  1870. },
  1871. "enabled": "{{ is_cover_tilt_enabled }}"
  1872. },
  1873. {
  1874. "trigger": "template",
  1875. "value_template": "{{ now() >= today_at(reset_override_time) }}",
  1876. "enabled": "{{ is_reset_fixed_time }}",
  1877. "id": "t_reset_fixedtime",
  1878. "for": {
  1879. "minutes": 2
  1880. }
  1881. },
  1882. {
  1883. "trigger": "template",
  1884. "value_template": "{% set helper_state = states(cover_status_helper) %} {{\n helper_state not in invalid_states and\n helper_state | regex_match(\"((\\[[^\\}]+)?\\{s*[^\\}\\{]{3,}?:.*\\}([^\\{]+\\])?)\") and\n helper_state | from_json | regex_search('manual') and\n (helper_state | from_json).manual.t is defined and\n (helper_state | from_json).manual.a is defined and\n (helper_state | from_json).manual.a | bool is true and\n now() >= ((helper_state | from_json).manual.t + 60 * reset_override_timeout) | as_datetime | as_local\n}}",
  1885. "enabled": "{{ is_reset_timeout and cover_status_helper != [] }}",
  1886. "id": "t_reset_timeout",
  1887. "for": {
  1888. "seconds": 2
  1889. }
  1890. }
  1891. ],
  1892. "conditions": [
  1893. {
  1894. "condition": []
  1895. },
  1896. {
  1897. "or": [
  1898. "{{ trigger.to_state is not defined }}",
  1899. "{{ trigger.to_state is defined and trigger.to_state.state not in invalid_states }}"
  1900. ]
  1901. },
  1902. {
  1903. "or": [
  1904. "{{ trigger.id is not defined }}",
  1905. "{{ not trigger.id | regex_match('^t_calendar_event') }}",
  1906. {
  1907. "and": [
  1908. "{{ trigger.id | regex_match('^t_calendar_event') }}",
  1909. "{{ state_attr(calendar_entity, 'message') is not none }}",
  1910. "{{\n calendar_open_title_lc in (state_attr(calendar_entity, 'message') | lower) or\n calendar_close_title_lc in (state_attr(calendar_entity, 'message') | lower)\n}}"
  1911. ]
  1912. }
  1913. ]
  1914. },
  1915. {
  1916. "condition": "template",
  1917. "value_template": "{% if is_status_helper_enabled %}\n {% if trigger.id is match('^t_shading_start_pending_[1-6]$') %}\n {{ states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*0') }}\n {% elif trigger.id is match('^t_shading_end_pending_[1-6]$') %}\n {{ states(cover_status_helper) | regex_search('\"shading\"\\s*:\\s*\\{[^}]*\"a\"\\s*:\\s*1') }}\n {% else %}\n true\n {% endif %}\n{% else %}\n true\n{% endif %}"
  1918. }
  1919. ],
  1920. "actions": [
  1921. {
  1922. "variables": {
  1923. "cover_move_action": {
  1924. "sequence": [
  1925. {
  1926. "condition": "template",
  1927. "value_template": "{{ not is_cover_movement_blocked.any or trigger.id is match('^t_force_') }}"
  1928. },
  1929. {
  1930. "condition": "template",
  1931. "value_template": "{{ not prevent_flags.default_cover_actions }}"
  1932. },
  1933. {
  1934. "repeat": {
  1935. "for_each": "{{ blind_entities | list }}",
  1936. "sequence": [
  1937. {
  1938. "choose": [
  1939. {
  1940. "conditions": "{{ target_position | default(101) | int == 0 }}",
  1941. "sequence": [
  1942. {
  1943. "service": "cover.close_cover",
  1944. "target": {
  1945. "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  1946. }
  1947. }
  1948. ]
  1949. },
  1950. {
  1951. "conditions": "{{ target_position | default(101) | int == 100 }}",
  1952. "sequence": [
  1953. {
  1954. "service": "cover.open_cover",
  1955. "target": {
  1956. "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  1957. }
  1958. }
  1959. ]
  1960. },
  1961. {
  1962. "conditions": "{{ 0 < target_position | default(101) | int < 100 }}",
  1963. "sequence": [
  1964. {
  1965. "service": "cover.set_cover_position",
  1966. "data": {
  1967. "position": "{{ target_position | default(101) | int }}"
  1968. },
  1969. "target": {
  1970. "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  1971. }
  1972. }
  1973. ]
  1974. }
  1975. ]
  1976. },
  1977. {
  1978. "delay": {
  1979. "seconds": "{{ range(1, 3) | random }}"
  1980. }
  1981. }
  1982. ]
  1983. }
  1984. }
  1985. ]
  1986. },
  1987. "tilt_move_action": {
  1988. "sequence": [
  1989. {
  1990. "condition": "template",
  1991. "value_template": "{{ not is_cover_movement_blocked.any or trigger.id is match('^t_force_') }}"
  1992. },
  1993. {
  1994. "condition": "template",
  1995. "value_template": "{{ not prevent_flags.default_cover_actions and is_cover_tilt_enabled_and_possible }}"
  1996. },
  1997. {
  1998. "repeat": {
  1999. "for_each": "{{ blind_entities | list }}",
  2000. "sequence": [
  2001. {
  2002. "if": "{{ state_attr(repeat.item if repeat is defined else '', 'current_tilt_position') is defined }}",
  2003. "then": [
  2004. {
  2005. "if": "{{ tilt_first | default(false) }}",
  2006. "then": [
  2007. {
  2008. "service": "cover.set_cover_tilt_position",
  2009. "data": {
  2010. "tilt_position": 0
  2011. },
  2012. "target": {
  2013. "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2014. }
  2015. },
  2016. {
  2017. "delay": {
  2018. "seconds": 0
  2019. }
  2020. }
  2021. ]
  2022. },
  2023. {
  2024. "choose": [
  2025. {
  2026. "conditions": "{{ is_tilt_wait_idle_mode | default(false) }}",
  2027. "sequence": [
  2028. {
  2029. "wait_template": "{{ states(repeat.item if repeat is defined else '') in ['open', 'closed'] }}",
  2030. "timeout": "{{ tilt_wait_timeout | int }}",
  2031. "continue_on_timeout": true
  2032. },
  2033. {
  2034. "if": "{{ wait.completed if wait is defined else '' }}",
  2035. "then": [
  2036. {
  2037. "delay": 1
  2038. }
  2039. ]
  2040. }
  2041. ]
  2042. }
  2043. ],
  2044. "default": [
  2045. {
  2046. "delay": {
  2047. "seconds": 0
  2048. }
  2049. }
  2050. ]
  2051. },
  2052. {
  2053. "service": "cover.set_cover_tilt_position",
  2054. "data": {
  2055. "tilt_position": "{{ target_tilt_position | default(101) }}"
  2056. },
  2057. "target": {
  2058. "entity_id": "{{ repeat.item if repeat is defined else '' }}"
  2059. }
  2060. },
  2061. {
  2062. "delay": {
  2063. "seconds": "{{ range(1, 3) | random }}"
  2064. }
  2065. }
  2066. ]
  2067. }
  2068. ]
  2069. }
  2070. }
  2071. ]
  2072. },
  2073. "helper_update": {
  2074. "if": [
  2075. "{{ is_status_helper_enabled }}"
  2076. ],
  2077. "then": [
  2078. {
  2079. "service": "input_text.set_value",
  2080. "data": {
  2081. "entity_id": "input_text.rolladen_aussen_helfer",
  2082. "value": "{% set dict_var = helper_json %}\n{% set dict_new = dict(dict_var, **(update_values | default({})) ) %}\n{{ dict_new | to_json }}"
  2083. }
  2084. }
  2085. ]
  2086. }
  2087. }
  2088. },
  2089. {
  2090. "if": [
  2091. "{{ is_shading_enabled }}",
  2092. "{{ forecast_source.use_weather and not forecast_source.prevent_service }}",
  2093. "{{ states(shading_forecast_sensor) not in invalid_states }}",
  2094. "{{ trigger.id is defined }}",
  2095. "{{ trigger.id | regex_match('^(t_shading_start|t_open_1|t_open_3)') }}"
  2096. ],
  2097. "then": [
  2098. {
  2099. "action": "weather.get_forecasts",
  2100. "target": {
  2101. "entity_id": "weather.ruesselsheim"
  2102. },
  2103. "data": {
  2104. "type": "weather_attributes"
  2105. },
  2106. "response_variable": "weather_forecast",
  2107. "continue_on_error": true
  2108. }
  2109. ]
  2110. },
  2111. {
  2112. "if": [
  2113. "{{ is_calendar_enabled }}",
  2114. "{{ calendar_entity != [] }}",
  2115. "{{ states(calendar_entity) not in invalid_states }}",
  2116. "{{ trigger.id is defined }}",
  2117. {
  2118. "or": [
  2119. "{{ trigger.id | regex_match('^t_open') }}",
  2120. "{{ trigger.id | regex_match('^t_close') }}",
  2121. "{{ trigger.id | regex_match('^t_shading_start') }}",
  2122. "{{ trigger.id | regex_match('^t_calendar_event') }}"
  2123. ]
  2124. }
  2125. ],
  2126. "then": [
  2127. {
  2128. "action": "calendar.get_events",
  2129. "target": {
  2130. "entity_id": []
  2131. },
  2132. "data": {
  2133. "start_date_time": "{{ today_at('00:00:00').isoformat() }}",
  2134. "end_date_time": "{{ (today_at('23:59:59') + timedelta(seconds=1)).isoformat() }}"
  2135. },
  2136. "response_variable": "calendar_events",
  2137. "continue_on_error": true
  2138. }
  2139. ]
  2140. },
  2141. {
  2142. "variables": {
  2143. "forecast_temp_raw": "{% set sensor = shading_forecast_temp_sensor %} {% set weather = shading_forecast_sensor %} {% if sensor != [] and states(sensor) not in invalid_states %}\n {{ states(sensor) | float(default=None) }}\n{% elif weather == [] or states(weather) in invalid_states %}\n {{ None }}\n{% elif 'weather_attributes' in shading_forecast_type %}\n {{ state_attr(weather, 'temperature') | float(default=None) }}\n{% elif weather_forecast is defined and weather in weather_forecast %}\n {{ weather_forecast[weather].forecast[0].temperature | default(None) | float(default=None) }}\n{% else %}\n {{ None }}\n{% endif %}",
  2144. "forecast_weather_condition_raw": "{% set weather = shading_forecast_sensor %} {% if weather == [] or states(weather) in invalid_states %}\n {{ None }}\n{% elif 'weather_attributes' in shading_forecast_type %}\n {{ state_attr(weather, 'condition') }}\n{% elif weather_forecast is defined and weather in weather_forecast %}\n {{ weather_forecast[weather].forecast[0].condition | default(None) }}\n{% else %}\n {{ None }}\n{% endif %}",
  2145. "shading_start_condition_states": {
  2146. "azimuth_valid": "{{\n not is_shading_enabled or\n not shading_start_condition_enabled.azimuth or\n default_sun_sensor == [] or\n (\n current_sun_azimuth | float(default=0) > shading_azimuth_start and\n current_sun_azimuth | float(default=0) < shading_azimuth_end\n )\n}}",
  2147. "elevation_valid": "{{\n not is_shading_enabled or\n not shading_start_condition_enabled.elevation or\n default_sun_sensor == [] or\n (\n current_sun_elevation | float(default=0) > shading_elevation_min and\n current_sun_elevation | float(default=0) < shading_elevation_max\n )\n}}",
  2148. "brightness_valid": "{{\n not is_shading_enabled or\n not shading_start_condition_enabled.brightness or\n shading_brightness_sensor == [] or\n (\n states(shading_brightness_sensor) not in invalid_states and\n states(shading_brightness_sensor) | float(default=shading_sun_brightness_start) > (shading_sun_brightness_start + shading_sun_brightness_hysteresis)\n )\n}}",
  2149. "temp1_valid": "{{\n not is_shading_enabled or\n not shading_start_condition_enabled.temp1 or\n shading_temperatur_sensor1 == [] or\n (\n states(shading_temperatur_sensor1) not in invalid_states and\n states(shading_temperatur_sensor1) | float(default=shading_min_temperatur1) > (shading_min_temperatur1 + shading_temperature_hysteresis1)\n )\n}}",
  2150. "temp2_valid": "{{\n not is_shading_enabled or\n not shading_start_condition_enabled.temp2 or\n shading_temperatur_sensor2 == [] or\n (\n states(shading_temperatur_sensor2) not in invalid_states and\n states(shading_temperatur_sensor2) | float(default=shading_min_temperatur2) > (shading_min_temperatur2 + shading_temperature_hysteresis2)\n )\n}}",
  2151. "forecast_temp_valid": "{{\n not is_shading_enabled or\n not shading_start_condition_enabled.forecast_temp or\n shading_forecast_temp == [] or\n (\n forecast_temp_raw is not none and\n forecast_temp_raw > (shading_forecast_temp + shading_forecast_temp_hysteresis)\n ) or\n (\n 'shading_compare_forecast_with_sensor2' in shading_config and\n shading_temperatur_sensor2 != [] and\n shading_forecast_temp != [] and\n (states(shading_temperatur_sensor2) | float(default=0) > (shading_forecast_temp + shading_forecast_temp_hysteresis))\n )\n}}",
  2152. "forecast_weather_valid": "{{\n not is_shading_enabled or\n not shading_start_condition_enabled.forecast_weather or\n shading_weather_conditions == [] or\n forecast_source.use_sensor or\n (\n forecast_weather_condition_raw is not none and\n forecast_weather_condition_raw not in invalid_states and\n forecast_weather_condition_raw in shading_weather_conditions\n )\n}}"
  2153. },
  2154. "shading_start_and_result": "{{\n (\n ('cond_azimuth' not in shading_conditions_start_and or\n default_sun_sensor == [] or\n shading_start_condition_states.azimuth_valid)\n and\n ('cond_elevation' not in shading_conditions_start_and or\n default_sun_sensor == [] or\n shading_start_condition_states.elevation_valid)\n and\n ('cond_brightness' not in shading_conditions_start_and or\n shading_brightness_sensor == [] or\n shading_start_condition_states.brightness_valid)\n and\n ('cond_temp1' not in shading_conditions_start_and or\n shading_temperatur_sensor1 == [] or\n shading_start_condition_states.temp1_valid)\n and\n ('cond_temp2' not in shading_conditions_start_and or\n shading_temperatur_sensor2 == [] or\n shading_start_condition_states.temp2_valid)\n and\n ('cond_forecast_temp' not in shading_conditions_start_and or\n shading_forecast_temp == [] or\n shading_start_condition_states.forecast_temp_valid)\n and\n ('cond_forecast_weather' not in shading_conditions_start_and or\n shading_weather_conditions == [] or\n shading_start_condition_states.forecast_weather_valid)\n )\n}}",
  2155. "shading_start_or_result": "{{\n (shading_conditions_start_or | count == 0) or\n (\n ('cond_azimuth' in shading_conditions_start_or and\n default_sun_sensor != [] and\n shading_start_condition_states.azimuth_valid)\n or\n ('cond_elevation' in shading_conditions_start_or and\n default_sun_sensor != [] and\n shading_start_condition_states.elevation_valid)\n or\n ('cond_brightness' in shading_conditions_start_or and\n shading_brightness_sensor != [] and\n shading_start_condition_states.brightness_valid)\n or\n ('cond_temp1' in shading_conditions_start_or and\n shading_temperatur_sensor1 != [] and\n shading_start_condition_states.temp1_valid)\n or\n ('cond_temp2' in shading_conditions_start_or and\n shading_temperatur_sensor2 != [] and\n shading_start_condition_states.temp2_valid)\n or\n ('cond_forecast_temp' in shading_conditions_start_or and\n shading_forecast_temp != [] and\n shading_start_condition_states.forecast_temp_valid)\n or\n ('cond_forecast_weather' in shading_conditions_start_or and\n shading_weather_conditions != [] and\n shading_start_condition_states.forecast_weather_valid)\n )\n}}",
  2156. "shading_start_conditions_met": "{{\n is_shading_enabled and\n shad
Advertisement
Add Comment
Please, Sign In to add comment