Advertisement
breti76

schedy_heating.yaml

Sep 15th, 2022
1,244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 5.25 KB | Source Code | 0 0
  1. schedy_heating:
  2.   module: hass_apps_loader
  3.   class: SchedyApp
  4.  
  5.   actor_type: thermostat
  6.   actor_templates:
  7.     default:
  8.       off_temp: 6
  9.       supports_hvac_modes: false
  10.  
  11.   expression_environment: |
  12.     def heating_mode():
  13.        return state("input_select.heating_mode")
  14.  
  15.   schedule_snippets:
  16.     ss_aus:
  17.     - value: OFF
  18.  
  19.     ss_durchgehend_wohnen:
  20.     - value: 21
  21.  
  22.     ss_durchgehend_sonstige:
  23.     - value: 17
  24.  
  25.     ss_abwesend:
  26.     - value: 17
  27.       start: "10:00"
  28.       end: "20:00"
  29.  
  30.     ss_az_arbeiten:
  31.     - value: 21
  32.       rules:
  33.       - start: "06:55"
  34.         end: "15:25"
  35.  
  36.     ss_wz_arbeiten:
  37.     - value: 17
  38.       rules:
  39.       - start: "10:00"
  40.         end: "15:25"
  41.  
  42.     ss_bz_arbeiten:
  43.     - value: 21
  44.       rules:
  45.       - start: "6:15"
  46.         end: "06:45"
  47.     - value: 17
  48.       rules:
  49.       - start: "6:45"
  50.         end: "10:00"
  51.  
  52.     ss_wohnen:
  53.     - value: 21
  54.       rules:
  55.       - weekdays: 1-4,7
  56.         start: "10:00"
  57.         end: "21:30"
  58.       - weekdays: 5,6
  59.         start: "10:00"
  60.         end: "21:30"
  61.  
  62.     ss_bz:
  63.     - value: 21
  64.       rules:
  65.       - weekdays: 1-5
  66.         start: "5:45"
  67.         end: "10:00"
  68.       - weekdays: 6
  69.         start: "8:00"
  70.         end: "10:00"
  71.       - weekdays: 7
  72.         start: "8:00"
  73.         end: "10:00"
  74.     - value: 17
  75.       rules:
  76.       - weekdays: 1-5
  77.         start: "10:00"
  78.         end: "21:30"
  79.       - weekdays: 6
  80.         start: "10:00"
  81.         end: "22:00"
  82.       - weekdays: 7
  83.         start: "10:00"
  84.         end: "21:30"
  85.  
  86.     ss_sonstige:
  87.     - value: 17
  88.       start: "10:00"
  89.       end: "20:00"
  90.  
  91.   watched_entities:
  92.  - input_select.heating_mode
  93.  
  94.   schedule_prepend:
  95.   - x: "Mark(OFF, Mark.OVERLAY) if not (is_empty(filter_entities('sensor', state='open', window_room=room_name))) else Next()"
  96.   - x: "Mark(OFF, Mark.OVERLAY) if not (is_empty(filter_entities('sensor', state='tilted', window_room=room_name))) else Next()"
  97.   - x: "Mark(OFF, Mark.OVERLAY) if not (is_empty(filter_entities('binary_sensor', state='on', window_room=room_name))) else Next()"
  98.   - x: "IncludeSchedule(schedule_snippets['ss_abwesend']) if heating_mode() == 'abwesend/zeitgesteuert' else Next()"
  99.   - x: "IncludeSchedule(schedule_snippets['ss_aus']) if heating_mode() == 'aus' else Next()"
  100.  
  101.   schedule_append:
  102.   - value: 17
  103.  
  104.   rooms:
  105.     sz:
  106.       actors:
  107.         climate.sz_ht_heizung_wetter:
  108.       watched_entities:
  109.      - sensor.sz_fg_fenster_state
  110.       schedule:
  111.       - x: "IncludeSchedule(schedule_snippets['ss_sonstige']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
  112.       - x: "IncludeSchedule(schedule_snippets['ss_durchgehend_sonstige']) if heating_mode() == 'durchgehend aktiv' else Next()"
  113.     az:
  114.       actors:
  115.         climate.az_ht_heizung_wetter:
  116.       watched_entities:
  117.      - sensor.az_fg_fenster_state
  118.       - binary_sensor.arbeitstag
  119.       schedule:
  120.       - x: "IncludeSchedule(schedule_snippets['ss_az_arbeiten']) if heating_mode() == 'anwesend/zeitgesteuert' and is_on('binary_sensor.arbeitstag') else Next()"
  121.       - x: "IncludeSchedule(schedule_snippets['ss_wohnen']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
  122.       - x: "IncludeSchedule(schedule_snippets['ss_durchgehend_wohnen']) if heating_mode() == 'durchgehend aktiv' else Next()"
  123.     bz:
  124.       actors:
  125.         climate.bz_ht_heizung_wetter:
  126.       watched_entities:
  127.      - sensor.bz_fg_fenster_state
  128.       - binary_sensor.arbeitstag
  129.       schedule:
  130.       - x: "IncludeSchedule(schedule_snippets['ss_bz_arbeiten']) if heating_mode() == 'anwesend/zeitgesteuert' and is_on('binary_sensor.arbeitstag') else Next()"
  131.       - x: "IncludeSchedule(schedule_snippets['ss_bz']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
  132.       - x: "IncludeSchedule(schedule_snippets['ss_durchgehend_sonstige']) if heating_mode() == 'durchgehend aktiv' else Next()"
  133.     ku:
  134.       actors:
  135.         climate.ku_ht_heizung_wetter:
  136.       watched_entities:
  137.      - sensor.ku_fg_fenster_state
  138.       schedule:
  139.       - x: "IncludeSchedule(schedule_snippets['ss_sonstige']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
  140.       - x: "IncludeSchedule(schedule_snippets['ss_durchgehend_sonstige']) if heating_mode() == 'durchgehend aktiv' else Next()"
  141.     wz:
  142.       actors:
  143.         climate.wz_ht_heizung_wetter:
  144.       watched_entities:
  145.      - sensor.wz_fg_fenster_state
  146.       - sensor.wz_fg_tuer_state
  147.       - binary_sensor.arbeitstag
  148.       schedule:
  149.       - x: "IncludeSchedule(schedule_snippets['ss_wz_arbeiten']) if heating_mode() == 'anwesend/zeitgesteuert' and is_on('binary_sensor.arbeitstag') else Next()"
  150.       - x: "IncludeSchedule(schedule_snippets['ss_wohnen']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
  151.       - x: "IncludeSchedule(schedule_snippets['ss_durchgehend_wohnen']) if heating_mode() == 'durchgehend aktiv' else Next()"
  152.     wf:
  153.       actors:
  154.         climate.wf_ht_heizung_wetter:
  155.       watched_entities:
  156.      - binary_sensor.wf_tk_wohnungstuer_state
  157.       - binary_sensor.fenster
  158.       schedule:
  159.       - x: "IncludeSchedule(schedule_snippets['ss_sonstige']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
  160.       - x: "IncludeSchedule(schedule_snippets['ss_durchgehend_sonstige']) if heating_mode() == 'durchgehend aktiv' else Next()"
  161.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement