summaryrefslogtreecommitdiffstats
path: root/custom/template.yaml
blob: 710b9367554bb1c0aec6f70085a4cfb6823e4058 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Manual lights

- trigger:
  - platform: state
    entity_id: "switch.bedroom_bedsidelampsocket"
  - platform: state
    entity_id: "sensor.bedroom_bedsidelampsocket_power"
  binary_sensor:
    - name: "Bedroom/BedsideLamp"
      device_class: light
      state: >
            {{ is_state("switch.bedroom_bedsidelampsocket", "on") and ((states("sensor.bedroom_bedsidelampsocket_power") | float) > 1)  }}

- sensor:
  - name: "Power SmartPI"
    unit_of_measurement: "W"
    state: >
            {% set readings = [ states('sensor.living_office_power'),
                                states('sensor.office_shelftop_power') | float(0), states('sensor.office_shelfbottom_power') | float(0),
                                states('sensor.office_table_power') | float(0), states('sensor.office_aircon_power') | float(0) ] %}
            {{ 'unavailable' if readings[0] == 'unavailable' else readings[0] | float - readings[1] - readings[2] - readings[3] - readings[4] }}

  - name: "Power Office"
    unit_of_measurement: "W"
    state: >
            {{  expand(states.switch.power_office) | selectattr('state') | map(attribute='entity_id') 
                | map('regex_replace','^switch(.*)$','sensor\\1_power') | map('expand') | map(attribute=0) | select("defined")
                | selectattr('state','is_number') | map(attribute='state')  | map('float') | list | sum }}

  - name: "Power Infrastructure"
    unit_of_measurement: "W"
    state: >
            {{  states('sensor.power_smartpi') | float +  expand(states.switch.power_infrastructure) | selectattr('state') | map(attribute='entity_id') 
                | map('regex_replace','^switch(.*)$','sensor\\1_power') | map('expand') | map(attribute=0) | select("defined")
                | selectattr('state','is_number') | map(attribute='state')  | map('float') | list | sum }}
  - name: "Power Kitchen"
    unit_of_measurement: "W"
    state: >
            {{  expand(states.switch.power_kitchen) | selectattr('state') | map(attribute='entity_id') 
                | map('regex_replace','^switch(.*)$','sensor\\1_power') | map('expand') | map(attribute=0) | select("defined")
                | selectattr('state','is_number') | map(attribute='state')  | map('float') | list | sum }}
  - name: "Power Climate"
    unit_of_measurement: "W"
    state: >
            {{  expand(states.switch.power_climate) | selectattr('state') | map(attribute='entity_id') 
                | map('regex_replace','^switch(.*)$','sensor\\1_power') | map('expand') | map(attribute=0) | select("defined")
                | selectattr('state','is_number') | map(attribute='state')  | map('float') | list | sum }}
  - name: "Power Lights"
    unit_of_measurement: "W"
    state: >
            {{  expand(states.switch.power_lights) | selectattr('state') | map(attribute='entity_id') 
                | map('regex_replace','^switch(.*)$','sensor\\1_power') | map('expand') | map(attribute=0) | select("defined")
                | selectattr('state','is_number') | map(attribute='state')  | map('float') | list | sum }}