mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-09 10:30:14 -04:00
251 lines
9.2 KiB
YAML
251 lines
9.2 KiB
YAML
platform: template
|
|
sensors:
|
|
hvac_filter_next_change:
|
|
unique_id: templatesensor.hvac_filter_next_change
|
|
friendly_name: "HVAC Filter Next Change"
|
|
value_template: "{{ strptime(states('input_datetime.filter_last_changed'), '%Y-%m-%d %H:%M:%S') + timedelta(days=90) }}"
|
|
|
|
hvac_mode:
|
|
unique_id: templatesensor.hvac_mode
|
|
value_template: '{{states("climate.thermostat")}}'
|
|
friendly_name: HVAC Mode
|
|
|
|
hvac_equipment_running:
|
|
unique_id: templatesensor.hvac_equipment_running
|
|
value_template: '{{state_attr("climate.thermostat", "equipment_running")|default("none", true)}}'
|
|
friendly_name: HVAC Equipment Running
|
|
|
|
hvac_action:
|
|
unique_id: templatesensor.hvac_action
|
|
value_template: '{{state_attr("climate.thermostat", "hvac_action")}}'
|
|
friendly_name: HVAC Action
|
|
|
|
clint_status:
|
|
unique_id: templatesensor.clint_status
|
|
value_template: '{{ states.input_select.clint_status_dropdown.state }}'
|
|
friendly_name: 'Clint'
|
|
|
|
emmett_status:
|
|
unique_id: templatesensor.emmett_status
|
|
value_template: '{{ states.input_select.emmett_status_dropdown.state }}'
|
|
friendly_name: 'Emmett'
|
|
|
|
bridget_status:
|
|
unique_id: templatesensor.bridget_status
|
|
value_template: '{{ states.input_select.bridget_status_dropdown.state }}'
|
|
friendly_name: 'Bridget'
|
|
|
|
kristy_status:
|
|
unique_id: templatesensor.kristy_status
|
|
value_template: '{{ states.input_select.kristy_status_dropdown.state }}'
|
|
friendly_name: 'Kristy'
|
|
|
|
marshall_status:
|
|
unique_id: templatesensor.marshall_status
|
|
value_template: '{{ states.input_select.marshall_status_dropdown.state }}'
|
|
friendly_name: 'Marshall'
|
|
|
|
tess_status:
|
|
unique_id: templatesensor.tess_status
|
|
value_template: '{{ states.input_select.tess_status_dropdown.state }}'
|
|
friendly_name: 'Tess'
|
|
|
|
ebin_status:
|
|
unique_id: templatesensor.ebin_status
|
|
value_template: '{{ states.input_select.ebin_status_dropdown.state }}'
|
|
friendly_name: 'Ebin'
|
|
|
|
people_count:
|
|
unique_id: templatesensor.people_count
|
|
friendly_name: 'People Count'
|
|
value_template: >
|
|
{{[ states.input_boolean.clint_home,
|
|
states.input_boolean.emmett_home,
|
|
states.input_boolean.bridget_home,
|
|
states.input_boolean.kristy_home,
|
|
states.input_boolean.marshall_home,
|
|
states.input_boolean.tess_home,
|
|
states.input_boolean.ebin_home,
|
|
states.input_boolean.guest_home ]
|
|
| selectattr('state', 'eq', 'on') | list | count}}
|
|
|
|
count_automations:
|
|
unique_id: templatesensor.count_automations
|
|
value_template: "{{ states.automation | list | length }}"
|
|
|
|
count_scripts:
|
|
unique_id: templatesensor.count_scripts
|
|
value_template: "{{ states.script | list | length }}"
|
|
|
|
count_device_trackers:
|
|
unique_id: templatesensor.count_device_trackers
|
|
value_template: "{{ states.device_tracker | list | length }}"
|
|
|
|
count_binary_sensors:
|
|
unique_id: templatesensor.count_binary_sensors
|
|
value_template: "{{ states.binary_sensor | list | length }}"
|
|
|
|
count_sensors:
|
|
unique_id: templatesensor.count_sensors
|
|
value_template: "{{ states.sensor | list | length }}"
|
|
|
|
count_switches:
|
|
unique_id: templatesensor.count_switches
|
|
value_template: "{{ states.switch | list | length }}"
|
|
|
|
count_zones:
|
|
unique_id: templatesensor.count_zones
|
|
value_template: "{{ states.zone | list | length }}"
|
|
|
|
count_input_booleans:
|
|
unique_id: templatesensor.count_input_booleans
|
|
value_template: "{{ states.input_boolean | list | length }}"
|
|
|
|
count_input_numbers:
|
|
unique_id: templatesensor.count_input_numbers
|
|
value_template: "{{ states.input_number | list | length }}"
|
|
|
|
count_input_texts:
|
|
unique_id: templatesensor.count_input_texts
|
|
value_template: "{{ states.input_text | list | length }}"
|
|
|
|
count_input_selects:
|
|
unique_id: templatesensor.count_input_selects
|
|
value_template: "{{ states.input_select | list | length }}"
|
|
|
|
count_input_datetimes:
|
|
unique_id: templatesensor.count_input_datetimes
|
|
value_template: "{{ states.input_datetime | list | length }}"
|
|
|
|
steam1_game:
|
|
unique_id: templatesensor.steam1_game
|
|
value_template: >-
|
|
{% if state_attr('sensor.steam_76561197960668089', 'game') is not none%}
|
|
{{ state_attr('sensor.steam_76561197960668089', 'game') }}
|
|
{% else %}
|
|
{{ states('sensor.steam_76561197960668089') }}
|
|
{% endif %}
|
|
|
|
nonsummer_per_kwh:
|
|
friendly_name: 'Non-Summer Rate'
|
|
unique_id: templatesensor.non_summer_per_kwh
|
|
value_template: 0.100496
|
|
icon_template: mdi:currency-usd
|
|
unit_of_measurement: '$/kWh'
|
|
|
|
summernonpeak_per_kwh:
|
|
friendly_name: 'Summer Non-Peak Rate'
|
|
unique_id: templatesensor.summer_nonpeak_per_kwh
|
|
value_template: 0.100649
|
|
icon_template: mdi:currency-usd
|
|
unit_of_measurement: '$/kWh'
|
|
|
|
summerpeak_per_kwh:
|
|
friendly_name: 'Summer Peak Rate'
|
|
unique_id: templatesensor.summerpeak_per_kwh
|
|
value_template: 0.149656
|
|
icon_template: mdi:currency-usd
|
|
unit_of_measurement: '$/kWh'
|
|
|
|
energy_cost:
|
|
unique_id: templatesensor.energy_cost
|
|
friendly_name: 'Energy Cost'
|
|
value_template: >-
|
|
{% if now().month > 9 or now().month < 6 -%}
|
|
0.100496
|
|
{%- else -%}
|
|
{%- if now().weekday() < 5 and now().hour >= 14 and now().hour <= 19 -%}
|
|
0.149656
|
|
{%- else -%}
|
|
0.100649
|
|
{%- endif -%}
|
|
{% endif %}
|
|
icon_template: mdi:currency-usd
|
|
unit_of_measurement: '$/kWh'
|
|
|
|
energy_tariff:
|
|
unique_id: templatesensor.energy_tariff
|
|
friendly_name: 'Energy Tariff'
|
|
value_template: >-
|
|
{% if now().month > 9 or now().month < 6 -%}
|
|
Non-Summer
|
|
{%- else -%}
|
|
{%- if now().weekday() < 5 and now().hour >= 14 and now().hour <= 19 -%}
|
|
Summer Peak
|
|
{%- else -%}
|
|
Summer Non-Peak
|
|
{%- endif -%}
|
|
{% endif %}
|
|
|
|
general_waste:
|
|
unique_id: templatesensor.general_waste
|
|
friendly_name: 'General Waste'
|
|
icon_template: mdi:trash-can
|
|
value_template: >-
|
|
{% if is_state('calendar.trash_schedule','on') %}
|
|
today
|
|
{% elif state_attr('calendar.trash_schedule','offset_reached') %}
|
|
tomorrow
|
|
{% else %}
|
|
future
|
|
{% endif %}
|
|
|
|
# monitored_daily_kwh:
|
|
# unique_id: templatesensor.monitored_daily_kwh
|
|
# friendly_name: 'Monitored Daily [kWh]'
|
|
# icon_template: mdi:flash
|
|
# unit_of_measurement: kWh
|
|
# value_template: "{{ states('sensor.basement_and_laundry_lights_and_plugs_kwh')|float(default=0) + }}"
|
|
|
|
#my_room_status
|
|
occupied_room_count:
|
|
unique_id: temlatesensor.occupied_room_count
|
|
friendly_name: Rooms Occupied
|
|
value_template: "{{ (expand('group.my_room_status') | selectattr('state', 'eq', 'on')) | list | count |int(default=0) }}"
|
|
icon_template: "{{ iif(is_state('group.my_room_status', 'on'), 'mdi:floor-plan','mdi:floor-plan') }}"
|
|
|
|
speakers_on_count:
|
|
unique_id: temlatesensor.speakers_on_count
|
|
friendly_name: Speakers On
|
|
value_template: "{{ (expand('group.all_my_speakers') | selectattr('state', 'eq', 'playing')) | list | count |int(default=0) }}"
|
|
icon_template: "{{ iif(is_state('group.all_my_speakers', 'on'), 'mdi:speaker-multiple','mdi:speaker-off') }}"
|
|
|
|
lights_on_count:
|
|
unique_id: temlatesensor.lights_on_count
|
|
friendly_name: Lights On
|
|
value_template: "{{ (expand('group.my_lights') | selectattr('state', 'eq', 'on')) | list | count |int(default=0) }}"
|
|
icon_template: "{{ iif(is_state('group.my_lights', 'on'), 'mdi:lightbulb-group','mdi:lightbulb-group-off') }}"
|
|
|
|
open_windows_count:
|
|
unique_id: temlatesensor.open_windows_count
|
|
friendly_name: Open Windows
|
|
value_template: "{{ (expand('group.my_exterior_windows') | selectattr('state', 'eq', 'on')) | list | count |int(default=0) }}"
|
|
icon_template: "{{ iif(is_state('group.my_exterior_windows', 'on'), 'mdi:window-open-variant','mdi:window-closed-variant') }}"
|
|
|
|
open_external_doors_count:
|
|
unique_id: temlatesensor.open_external_doors_count
|
|
friendly_name: Open External Doors
|
|
value_template: "{{ (expand('group.my_exterior_doors') | selectattr('state', 'eq', 'on')) | list | count |int(default=0) }}"
|
|
icon_template: "{{ iif(is_state('group.my_exterior_windows', 'on'), 'mdi:door-open','mdi:door') }}"
|
|
|
|
frigate_person_count:
|
|
unique_id: temlatesensor.frigate_person_count
|
|
friendly_name: Frigate Person Count
|
|
value_template: "{{
|
|
states('sensor.boys_room_person_count')|int(default=0) +
|
|
states('sensor.computer_area_person_count')|int(default=0) +
|
|
states('sensor.dining_room_person_count')|int(default=0) +
|
|
states('sensor.entryway_person_count')|int(default=0) +
|
|
states('sensor.front_porch_person_count')|int(default=0) +
|
|
states('sensor.front_room_person_count')|int(default=0) +
|
|
states('sensor.furnace_room_person_count')|int(default=0) +
|
|
states('sensor.great_room_person_count')|int(default=0) +
|
|
states('sensor.kitchen_person_count')|int(default=0) +
|
|
states('sensor.master_bedroom_person_count')|int(default=0) +
|
|
states('sensor.nursery_person_count')|int(default=0) +
|
|
states('sensor.utility_room_person_count')|int(default=0) +
|
|
states('sensor.walkway_person_count')|int(default=0) +
|
|
states('sensor.workshop_person_count')|int(default=0)
|
|
}}"
|
|
|
|
icon_template: mdi:human-queue |