AutomationDataset/noelrobinson/noelrobinson_automations.yaml

1706 lines
48 KiB
YAML

- id: '1105783920393'
alias: Sinks - Hot Water - Start immersion heater (excess solar)
description: ''
trigger:
- trigger: state
entity_id: binary_sensor.request_3kw_immersion
for:
hours: 0
minutes: 1
seconds: 0
to: 'on'
condition:
- condition: time
after: 07:00:00
before: '19:00:00'
action:
- repeat:
sequence:
- type: turn_on
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: switch.sonoff_1001db22ba
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 15
until:
- condition: template
value_template: '{{ states(''switch.sonoff_1001db22ba'') == ''on'' or repeat.index
== 3 }}'
mode: single
- id: '11991293920222'
alias: Sinks - Hot Water - Pause immersion heater (temperature reached)
description: ''
triggers:
- trigger: numeric_state
entity_id: sensor.sonoff_1001db22ba_power
for:
hours: 0
minutes: 0
seconds: 30
below: 100
conditions:
- condition: state
entity_id: switch.sonoff_1001db22ba
state: 'on'
for:
hours: 0
minutes: 0
seconds: 30
- condition: time
after: 07:00:00
before: '19:00:00'
actions:
- action: automation.turn_off
data:
stop_actions: true
target:
entity_id: automation.sinks_put_3kw_immersion_heater_excess_solar
- action: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_1001db22ba
- delay:
hours: 0
minutes: 60
seconds: 0
milliseconds: 0
- action: automation.turn_on
data: {}
target:
entity_id: automation.sinks_put_3kw_immersion_heater_excess_solar
mode: single
- id: '11001293920394'
alias: Sinks - Hot Water - Run immersion heater (evening top-up in case of low solar)
description: ''
trigger:
- trigger: time
at: '19:35:00'
condition:
- condition: template
value_template: '{{ states(''sensor.daily_hot_water_peak'')|float + states(''sensor.daily_hot_water_solar'')|float
< states(''input_number.evening_immersion_target'')|float }}'
action:
- repeat:
sequence:
- type: turn_on
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: switch.sonoff_1001db22ba
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 15
until:
- condition: template
value_template: '{{ states(''switch.sonoff_1001db22ba'') == ''on'' or repeat.index
== 3 }}'
- repeat:
sequence:
- delay:
hours: 0
minutes: 1
seconds: 0
until:
- condition: template
value_template: '{{ states(''sensor.daily_hot_water_peak'')|float + states(''sensor.daily_hot_water_solar'')|float
>= states(''input_number.evening_immersion_target'')|float }}'
- repeat:
sequence:
- type: turn_off
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: switch.sonoff_1001db22ba
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
until:
- condition: template
value_template: '{{ states(''switch.sonoff_1001db22ba'') == ''off'' or repeat.index
== 3 }}'
mode: single
- id: '1105783920394'
alias: Sinks - Hot Water - Start immersion heater (night start)
description: ''
triggers:
- trigger: time
at: 00:35:00
- trigger: time
at: 01:35:00
- trigger: time
at: 02:35:00
- trigger: time
at: 03:35:00
- trigger: time
at: 04:35:00
conditions:
- condition: template
value_template: '{{ states(''sensor.daily_hot_water_offpeak'')|float < states(''input_number.night_immersion_target'')|float
}}'
actions:
- repeat:
sequence:
- type: turn_on
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: switch.sonoff_1001db22ba
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 15
until:
- condition: template
value_template: '{{ states(''switch.sonoff_1001db22ba'') == ''on'' or repeat.index
== 3 }}'
mode: single
- id: '1029486719232'
alias: Sinks - Hot Water - Stop immersion heater (max temp idle time or night target
reached)
description: Turn off completely if thermostat starts turning off the heating (hot
enough) or target achieved
triggers:
- trigger: numeric_state
entity_id: sensor.sonoff_1001db22ba_power
for:
seconds: '{{ states(''input_number.max_temp_idle_seconds'')|int }}'
below: 1000
- trigger: template
value_template: '{{ states(''sensor.daily_hot_water_offpeak'')|float >= states(''input_number.night_immersion_target'')|float
}}'
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'on'
to: 'off'
conditions:
- condition: time
after: 00:30:00
before: 05:30:00
enabled: false
actions:
- repeat:
sequence:
- type: turn_off
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: switch.sonoff_1001db22ba
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
until:
- condition: template
value_template: '{{ states(''switch.sonoff_1001db22ba'') == ''off'' or repeat.index
== 3 }}'
mode: single
- id: '1283957837432'
alias: Sinks - Hot Water - Stop immersion heater (low solar or night end)
description: ''
trigger:
- trigger: state
entity_id: binary_sensor.request_3kw_immersion
for:
hours: 0
minutes: 0
seconds: 45
to: 'off'
- trigger: time
at: 01:25:00
- trigger: time
at: 02:25:00
- trigger: time
at: 03:25:00
- trigger: time
at: 04:25:00
- trigger: time
at: 05:25:00
- trigger: time
at: '19:15:00'
condition:
- condition: time
after: 01:15:00
before: '19:15:00'
action:
- repeat:
sequence:
- type: turn_off
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: switch.sonoff_1001db22ba
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 15
until:
- condition: template
value_template: '{{ states(''switch.sonoff_1001db22ba'') == ''off'' or repeat.index
== 3 }}'
mode: single
- id: '1302984839333'
alias: Tariffs - Set 'solar' tariff for tracking usage from PV
description: Set some meters to use 'solar' tariff
trigger:
- trigger: sun
event: sunrise
offset: 0
variables:
tariff: '{{ "solar" if today_at(''05:30'') <= now() else "offpeak" }}'
- trigger: sun
event: sunset
offset: 0
variables:
tariff: peak
- trigger: time
at: '23:30:00'
variables:
tariff: offpeak
- trigger: time
at: 05:30:00
variables:
tariff: '{{ "peak" if (is_state(''sun.sun'', "below_horizon")) else "solar"
}}'
action:
- action: select.select_option
target:
entity_id: select.monthly_hot_water
data:
option: '{{ tariff }}'
- action: select.select_option
target:
entity_id: select.daily_hot_water
data:
option: '{{ tariff }}'
- id: '1302984839203'
alias: Tariffs - Switch electricity tariff
description: Set electricity tariff for utility sensor
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
variables:
tariff: offpeak
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'on'
to: 'off'
variables:
tariff: peak
- trigger: time
at: '23:30:00'
variables:
tariff: offpeak
- trigger: time
at: 05:30:00
variables:
tariff: peak
enabled: false
conditions: []
actions:
- action: select.select_option
target:
entity_id: select.daily_grid
data:
option: '{{ tariff }}'
- action: select.select_option
target:
entity_id: select.monthly_grid
data:
option: '{{ tariff }}'
- action: select.select_option
target:
entity_id: select.daily_tesla_charging
data:
option: '{{ tariff }}'
- action: select.select_option
target:
entity_id: select.monthly_tesla_charging
data:
option: '{{ tariff }}'
- action: select.select_option
target:
entity_id: select.daily_spa
data:
option: '{{ tariff }}'
- action: select.select_option
target:
entity_id: select.monthly_spa
data:
option: '{{ tariff }}'
- action: input_number.set_value
target:
entity_id: input_number.electricity_tariff_cost
data:
value: '{% set cost = dict(peak=0.23713, offpeak=0.07) %} {{ cost[tariff] }} '
variables:
tariff: offpeak
mode: single
- id: '1019847854392'
alias: Inverter - Refresh local energy readings
description: Updates local inverter readings
trigger:
- trigger: time_pattern
seconds: /15
condition:
- condition: time
after: 06:00:00
before: '22:00:00'
action:
- action: homeassistant.update_entity
entity_id: sensor.solax_rest_local
mode: single
- id: '1019845554393'
alias: Inverter - Refresh local energy settings
description: Updates local inverter settings
trigger:
- trigger: time_pattern
minutes: /15
condition:
- condition: time
after: 09:00:00
before: '22:00:00'
action:
- action: homeassistant.update_entity
entity_id: sensor.solax_rest_local_settings
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.solax_local_settings_read
data:
timestamp: '{{ now().timestamp() }}'
mode: single
- id: '2000'
alias: Octopus - Saving Session joiner
description: Automatically join Octopus Saving Session Events
triggers:
- trigger: event
event_type: octopus_energy_new_octoplus_saving_session
conditions:
- condition: template
value_template: '{{ (state_attr(''event.octopus_energy_a_7e9f23d1_octoplus_saving_session_events'',
''available_events'') | selectattr(''code'', ''eq'', trigger.event.data["event_code"])
| list | map(attribute=''octopoints_per_kwh'') | first) >= 240}}'
actions:
- action: octopus_energy.join_octoplus_saving_session_event
data:
event_code: '{{ trigger.event.data["event_code"] }}'
target:
entity_id: event.octopus_energy_a_7e9f23d1_octoplus_saving_session_events
- action: persistent_notification.create
data:
notification_id: alert_saving_session
title: Octopus Saving Sessions Updated
message: 'Joined new Octopus Energy saving session. It starts at {{ trigger.event.data["event_start"].strftime(''%H:%M'')
}} on {{ trigger.event.data["event_start"].day }}/{{ trigger.event.data["event_start"].month
}}
'
mode: single
- id: '2001'
alias: Octopus - Is there a Saving Session today?
description: Sets the today flag and copies over the start time - this in turn should
trigger the 3001 automation for pre-charging
trigger:
- trigger: time_pattern
minutes: /30
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions
attribute: next_joined_event_start
action:
- action: input_select.select_option
target:
entity_id: input_select.saving_session_today
data:
option: '{% set current_event = state_attr(''binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions'',
''current_joined_event_start'') %} {% set next_event = state_attr(''binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions'',
''next_joined_event_start'') %} {% set upcoming_event = current_event if (current_event
!= None) else next_event %} {{ ''yes'' if (upcoming_event != None and upcoming_event.strftime(''%j'')
== now().strftime(''%j'')) else ''no'' }}
'
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.saving_session_start
data:
datetime: '{% set current_event = state_attr(''binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions'',
''current_joined_event_start'') %} {% set next_event = state_attr(''binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions'',
''next_joined_event_start'') %} {% set upcoming_event = current_event if (current_event
!= None) else next_event %} {{ (now() + timedelta(days=7)).strftime(''%Y-%m-%d
00:00:00'') if (upcoming_event == None) else upcoming_event }}
'
mode: single
- id: '3005'
alias: Battery - Saving Sessions - Enable automations
description: Enable pre-charging and forced discharge automations
trigger:
- trigger: state
entity_id:
- input_select.saving_session_today
from: 'no'
to: 'yes'
action:
- action: automation.turn_on
data: {}
target:
entity_id: automation.battery_enable_forced_charge_before_saving_session
- action: automation.turn_on
data: {}
target:
entity_id: automation.battery_saving_sessions_enable_forced_discharge
mode: single
- id: '3001'
alias: Battery - Saving Sessions - Request full charge
description: Stops allowed discharge and allows for charging to target
trigger:
- trigger: time_pattern
minutes: /15
- trigger: state
entity_id:
- input_datetime.saving_session_start
- input_select.saving_session_today
for:
hours: 0
minutes: 0
seconds: 45
condition:
- condition: template
value_template: "{{ states('sensor.solax_local_battery_chd2_enabled')|bool==false\
\ \n and states('input_select.saving_session_today') == 'yes' \n and states('input_datetime.saving_session_start')\
\ != None }}"
action:
- repeat:
sequence:
- action: rest_command.solax_local_set_period2_enable
data:
enabled: '{{ 1 }}
'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: rest_command.solax_local_set_forced_charge_stop2
data:
value: '{% set end_time = as_datetime(state_attr(''input_datetime.saving_session_start'',
''timestamp'') - 60) %} {{ end_time.hour + end_time.minute * 256 }}'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
entity_id: sensor.solax_rest_local_settings
until:
- condition: template
value_template: "{% set end_time = as_datetime(state_attr('input_datetime.saving_session_start',\
\ 'timestamp') - 60).strftime('%H:%M') %} {{ (states('sensor.solax_local_battery_chd2_enabled')|bool==true\
\ \n and states('sensor.solax_local_battery_setting_stop_charge_2') ==\
\ end_time)\n or repeat.index == 3 }}"
mode: single
- id: '3003'
alias: Battery - Saving Sessions - Enable forced discharge
description: Maximise export by forcing battery discharge
trigger:
- trigger: time_pattern
minutes: /1
condition:
- condition: template
value_template: "{{ states('sensor.solax_local_inverter_mode') == 'Self Use' \n\
\ and states('input_select.saving_session_today') == 'yes' \n and as_datetime(states('input_datetime.saving_session_start')).timestamp()\
\ < now().timestamp() }}"
action:
- action: automation.turn_off
data:
stop_actions: true
target:
entity_id: automation.battery_enable_forced_charge_before_saving_session
- action: automation.turn_on
data: {}
target:
entity_id: automation.battery_saving_sessions_return_to_self_use
- type: turn_off
device_id: fd52819a40b9e62efed08288a34e51d6
entity_id: switch.charger
domain: switch
- repeat:
sequence:
- action: rest_command.solax_local_set_inverter_mode
data:
value: '{{ 3 }}
'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: rest_command.solax_local_set_manual_mode_behaviour
data:
value: '{{ 2 }}
'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
entity_id: sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ (states(''sensor.solax_local_inverter_mode'') == ''Manual''
and states(''sensor.solax_local_manual_mode_behaviour'') == ''Forced Discharge'')
or repeat.index == 3 }}'
mode: single
- id: '3006'
alias: Battery - Saving Sessions - Disable automations
description: A few minutes after the event (current/next get updated), disable most
of the automations related to saving sessions
trigger:
- trigger: state
entity_id:
- input_select.saving_session_today
from: 'yes'
to: 'no'
for:
hours: 0
minutes: 5
seconds: 0
action:
- action: automation.turn_off
data:
stop_actions: true
target:
entity_id: automation.battery_saving_sessions_enable_forced_discharge
- action: automation.turn_off
data:
stop_actions: true
target:
entity_id: automation.battery_enable_forced_charge_before_saving_session
- action: automation.turn_off
data:
stop_actions: false
target:
entity_id: automation.battery_saving_sessions_return_to_self_use
mode: single
- id: '3008'
alias: Battery - Saving Sessions - Return to Self-Use
description: Stop forced discharge and return to normal operation
triggers:
- trigger: numeric_state
entity_id: sensor.solax_local_battery_soc
below: 10
for:
hours: 0
minutes: 3
seconds: 0
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions
from: 'on'
to: 'off'
for:
hours: 0
minutes: 0
seconds: 30
conditions:
- condition: template
value_template: '{{ (states(''sensor.solax_local_inverter_mode'') == ''Manual''
or states(''sensor.solax_local_battery_chd2_enabled'')|bool==true) }}'
actions:
- action: automation.turn_off
data:
stop_actions: true
target:
entity_id: automation.battery_saving_sessions_enable_forced_discharge
- repeat:
sequence:
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: rest_command.solax_local_set_inverter_mode
data:
value: '{{ 0 }}
'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: rest_command.solax_local_set_period2_enable
data:
enabled: '{{ 0 }}
'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ (states(''sensor.solax_local_battery_chd2_enabled'')|bool==false
and states(''sensor.solax_local_inverter_mode'') == ''Self Use'') or repeat.index
== 3 }}'
mode: single
- id: '1029376657476'
alias: Battery - Enable forced charge outside night hours
description: Stops allowed discharge and allows for charging to target
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
conditions:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_soc'')|int <= states(''sensor.solax_local_battery_charge_from_grid_to'')|int
+ 8 }}'
actions:
- repeat:
sequence:
- action: rest_command.solax_local_set_forced_charge_start
data:
value: '{% set hour = as_timestamp(now())|timestamp_custom (''%H'')|int
%} {% set minute = as_timestamp(now())|timestamp_custom (''%M'')|int %}
{{ hour + minute * 256 }}'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_start_charge'')
== as_timestamp(now())|timestamp_custom (''%H:%M'') or repeat.index == 3
}}'
- repeat:
sequence:
- action: rest_command.solax_local_set_forced_charge_stop
data:
value: '{% set hour = as_timestamp(states(''sensor.current_off_peak_rate_end_time''))|timestamp_custom
(''%H'')|int %} {% set minute = as_timestamp(states(''sensor.current_off_peak_rate_end_time''))|timestamp_custom
(''%M'')|int %} {{ hour + minute * 256 }}'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_stop_charge'')
== as_timestamp(states(''sensor.current_off_peak_rate_end_time''))|timestamp_custom
(''%H:%M'') or repeat.index == 3 }}'
mode: single
- id: '1029376657479'
alias: Battery - Enable forced charge for night hours
description: Battery - Enable forced charge during night tariff
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'on'
to: 'off'
conditions:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_start_charge'')
!= ''23:30'' }}'
actions:
- repeat:
sequence:
- action: rest_command.solax_local_set_forced_charge_start
data:
value: '{%set next_off_peak_start = as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_start''))%} {% set hour = next_off_peak_start | timestamp_custom
(''%H'')|int %} {% set minute = next_off_peak_start | timestamp_custom
(''%M'')|int %} {{ hour + minute * 256 }}'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_start_charge'')
== as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_start''))|timestamp_custom (''%H:%M'') or repeat.index == 3 }}'
- repeat:
sequence:
- action: rest_command.solax_local_set_forced_charge_stop
data:
value: '{%set next_off_peak_end = as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_end''))%} {% set hour = next_off_peak_end | timestamp_custom (''%H'')|int
%} {% set minute = next_off_peak_end | timestamp_custom (''%M'')|int %}
{{ hour + minute * 256 }}'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_stop_charge'')
== as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_end''))|timestamp_custom (''%H:%M'') or repeat.index == 3 }}'
mode: single
- id: '1029376657477'
alias: Battery - When charging EV
description: Prevents the Battery emptying into the EV when on charge
triggers:
- trigger: state
entity_id:
- binary_sensor.tesla_wall_connector_contactor_closed
from: null
to: 'on'
conditions:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_min_soc'')|int < 100 }}'
actions:
- repeat:
sequence:
- action: rest_command.solax_local_set_battery_min_soc
data:
level: 100
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_min_soc'')|int ==
100 or repeat.index == 3 }}'
mode: single
- id: '1029376657478'
alias: Battery - When NOT charging EV
description: Resets the Battery Min SOC back to 10
triggers:
- trigger: state
entity_id:
- binary_sensor.tesla_wall_connector_contactor_closed
from: null
to: 'off'
conditions:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_min_soc'')|int == 100
}}'
actions:
- repeat:
sequence:
- action: rest_command.solax_local_set_battery_min_soc
data:
level: 10
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_min_soc'')|int ==
10 or repeat.index == 3 }}'
mode: single
- id: '1693997255329'
alias: Close gates
description: ''
triggers:
- trigger: time
at: '23:31:00'
conditions: []
actions:
- type: turn_on
device_id: f026eddf710c85a131f11c071f912d81
entity_id: 6bcc6e79f9145622d02e31a5704f1199
domain: switch
mode: single
- id: '1733600670953'
alias: Freezing Forecast
description: ''
triggers:
- trigger: numeric_state
entity_id:
- weather.forecast_home
attribute: temperature
below: 0
conditions: []
actions:
- action: persistent_notification.create
data:
notification_id: alert_freezing
title: Freezing forecast
message: Freezing temps forecast ({{ state_attr('weather.forecast_home','temperature')
}}), turn off outside shower and taps. Leave tap open to allow expansion
mode: single
- id: '1733731347661'
alias: Off Peak Tariff Heat Hot Tub
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
conditions: []
actions:
- action: climate.set_temperature
metadata: {}
data:
temperature: '{% set temp_increase_value = 2 if states(''sensor.openweathermap_feels_like_temperature'')
| float < 10 else 1 %} {% set target_temp = states(''sensor.spa_weather_compensated_setpoint'')
| float | round(0) + temp_increase_value %} {% set target_temp_capped = target_temp
if target_temp <= 40 else 40 %} {{ target_temp_capped }}'
target:
entity_id: climate.spa_thermostat
- action: climate.set_hvac_mode
metadata: {}
data:
hvac_mode: heat
target:
entity_id: climate.spa_thermostat
mode: single
- id: '1733731466034'
alias: Peak Tariff Heat Hot Tub
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'on'
to: 'off'
- trigger: state
entity_id:
- binary_sensor.tesla_wall_connector_vehicle_connected
from: null
to: 'off'
enabled: true
conditions: []
actions:
- action: climate.set_temperature
metadata: {}
data:
temperature: '{{ states(''sensor.spa_weather_compensated_setpoint'') | float
}}'
target:
entity_id: climate.spa_thermostat
- action: climate.set_hvac_mode
metadata: {}
data:
hvac_mode: 'off'
target:
entity_id: climate.spa_thermostat
enabled: false
mode: single
- id: '1733825294842'
alias: Spa Fresh Fill Up
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.spa_heat_time
for:
hours: 0
minutes: 2
seconds: 0
above: 18
conditions:
- condition: state
entity_id: binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
state: 'off'
actions:
- device_id: a33ca33ccb3f9a2cea06a35767048af2
domain: mobile_app
type: notify
message: Spa filled up for first time over 18hrs to heat, so will heat overnight
title: Spa first time fill
- type: turn_off
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
mode: single
- id: '1733831577952'
alias: Spa Heat Up First Time on Off Peak Tariff
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
conditions:
- condition: numeric_state
entity_id: sensor.spa_heat_time
above: 6
actions:
- repeat:
sequence:
- type: turn_on
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
- action: climate.set_hvac_mode
metadata: {}
data:
hvac_mode: heat
target:
entity_id: climate.spa_thermostat
- delay:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
until:
- condition: template
value_template: '{{ states(''sensor.spa_heat_time'') != ''unavailable'' or
repeat.index == 10 }}'
mode: single
- id: '1733831748049'
alias: Spa Heat Up First Time on Peak Tariff
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'on'
to: 'off'
conditions:
- condition: numeric_state
entity_id: sensor.spa_heat_time
above: 6
actions:
- repeat:
sequence:
- type: turn_off
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
- delay:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
until:
- condition: template
value_template: '{{ states(''sensor.spa_heat_time'') != ''unavailable'' or
repeat.index == 10 }}'
mode: single
- id: '1733834779510'
alias: Set Spa Temp Every Hour during day
description: ''
triggers:
- trigger: time_pattern
minutes: /5
conditions:
- condition: state
entity_id: binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
state: 'off'
actions:
- action: climate.set_temperature
metadata: {}
data:
temperature: '{{ states(''sensor.spa_weather_compensated_setpoint'') | float
}}'
target:
entity_id: climate.spa_thermostat
mode: single
- id: '1733868552363'
alias: Turn Off Spa Lights @ Midnight
description: ''
triggers:
- trigger: time
at: '23:30:00'
conditions: []
actions:
- type: turn_off
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: c2b25d7f2e33e5f0f3e46d5b3897a706
domain: light
mode: single
- id: '1733943804919'
alias: Saving Sessions Start - Turn off Spa
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions
from: 'off'
to: 'on'
for:
hours: 0
minutes: 0
seconds: 30
conditions: []
actions:
- type: turn_off
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
mode: single
- id: '1733943856968'
alias: Saving Sessions Finish - Turn on Spa
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_octoplus_saving_sessions
from: 'on'
to: 'off'
for:
hours: 0
minutes: 0
seconds: 30
conditions: []
actions:
- type: turn_on
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
mode: single
- id: '1734297616094'
alias: Spa Water Top Up
description: ''
triggers:
- trigger: state
entity_id:
- input_boolean.spa_water_top_up
from: 'off'
to: 'on'
conditions:
- condition: state
entity_id: binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
state: 'off'
actions:
- type: turn_off
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
- action: light.turn_off
metadata: {}
data: {}
target:
device_id: b81d1e055479a535ec428ef2f24f44c9
mode: single
- id: '1734298131758'
alias: 'Spa Top Up Off peak turn on heat mode '
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
conditions:
- condition: state
entity_id: input_boolean.spa_water_top_up
state: 'on'
actions:
- type: turn_on
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.spa_water_top_up
mode: single
- id: '1734419722333'
alias: Spa Heat Pause Off
description: ''
triggers:
- trigger: state
entity_id:
- input_boolean.spa_water_top_up
from: 'on'
to: 'off'
conditions: []
actions:
- type: turn_on
device_id: b81d1e055479a535ec428ef2f24f44c9
entity_id: 89574fa5b8cdc46b734c5cef0184d199
domain: switch
mode: single
- id: '1734471144543'
alias: Windy night
description: ''
triggers:
- trigger: numeric_state
entity_id:
- weather.forecast_home
attribute: wind_speed
above: 30
conditions: []
actions:
- action: persistent_notification.create
data:
notification_id: alert_windy
title: Windy alert
message: Windy tonight, {{ state_attr('weather.forecast_home','wind_speed')
}} {{ state_attr('weather.forecast_home','wind_speed_unit') }} winds. Shut
the gates and tie down hot tub lid.
mode: single
- id: '1734537593643'
alias: Christmas Lights On
description: ''
triggers:
- trigger: sun
event: sunset
offset: 00:25:00
- trigger: sun
event: sunrise
offset: -01:15:00
conditions: []
actions:
- type: turn_on
device_id: 650163cb259a651cd1b5167e4a0ba955
entity_id: 6bbdd9225f4d3235a087e0410581015f
domain: switch
- type: turn_on
device_id: 650163cb259a651cd1b5167e4a0ba955
entity_id: 14a5d8f576713dbc07cb955eb76ea92e
domain: switch
mode: single
- id: '1734537643511'
alias: Christmas Lights Off
description: ''
triggers:
- trigger: sun
event: sunrise
offset: 00:45:00
- trigger: time
at: '23:00:00'
conditions:
- condition: template
value_template: '{{ (now().month, now().day) != (12, 25) }}'
- condition: template
value_template: '{{ (now().month, now().day) != (12, 31) }}'
actions:
- type: turn_off
device_id: 650163cb259a651cd1b5167e4a0ba955
entity_id: 6bbdd9225f4d3235a087e0410581015f
domain: switch
- type: turn_off
device_id: 650163cb259a651cd1b5167e4a0ba955
entity_id: 14a5d8f576713dbc07cb955eb76ea92e
domain: switch
mode: single
- id: '1734680558837'
alias: Reset Spa Heat Pause
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
conditions:
- condition: state
entity_id: input_boolean.spa_water_top_up
state: 'on'
actions:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.spa_water_top_up
mode: single
- id: '1734782261315'
alias: Spa Filter Cycle 2 Day Off Peak
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
- trigger: time_pattern
minutes: /2
conditions:
- condition: time
after: 09:00:00
before: '21:00:00'
- condition: state
entity_id: binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
state: 'on'
actions:
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.spa_filter_cycle_2_start_time
data:
time: '{{ as_timestamp(now()) | timestamp_custom(''%H:%M'') }}'
- action: time.set_value
metadata: {}
data:
time: '{{ as_timestamp(now()) | timestamp_custom(''%H:%M'') }}'
target:
entity_id: time.filter_cycle_2_begins
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.spa_filter_cycle_2_run_duration
data:
time: '{{ (as_timestamp(states(''sensor.current_off_peak_rate_end_time'')) -
as_timestamp(now()) - 3600) | timestamp_custom(''%H:%M'')}}'
- action: time.set_value
metadata: {}
data:
time: '{{ (as_timestamp(states(''sensor.current_off_peak_rate_end_time'')) -
as_timestamp(now()) - 3600) | timestamp_custom(''%H:%M'')}}'
target:
entity_id: time.filter_cycle_2_runs
mode: single
- id: '1734783186956'
alias: Reset Filter Cycle 2
description: ''
triggers:
- trigger: time
at: '21:15:00'
conditions: []
actions:
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.spa_filter_cycle_2_start_time
data:
time: '10:00:00'
- action: time.set_value
metadata: {}
data:
time: '10:00:00'
target:
entity_id: time.filter_cycle_2_begins
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.spa_filter_cycle_2_run_duration
data:
time: 02:00:00
- action: time.set_value
metadata: {}
data:
time: 02:00:00
target:
entity_id: time.filter_cycle_2_runs
mode: single
- id: '1734947696262'
alias: Battery - Enable forced charge during night tariff - Car Unplugged
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.tesla_wall_connector_vehicle_connected
from: null
to: 'off'
conditions:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_start_charge'')
!= ''23:30'' }}'
actions:
- repeat:
sequence:
- action: rest_command.solax_local_set_forced_charge_start
data:
value: '{%set next_off_peak_start = as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_start''))%} {% set hour = next_off_peak_start | timestamp_custom
(''%H'')|int %} {% set minute = next_off_peak_start | timestamp_custom
(''%M'')|int %} {{ hour + minute * 256 }}'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_start_charge'')
== as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_start''))|timestamp_custom (''%H:%M'') or repeat.index == 3 }}'
- repeat:
sequence:
- action: rest_command.solax_local_set_forced_charge_stop
data:
value: '{%set next_off_peak_end = as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_end''))%} {% set hour = next_off_peak_end | timestamp_custom (''%H'')|int
%} {% set minute = next_off_peak_end | timestamp_custom (''%M'')|int %}
{{ hour + minute * 256 }}'
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: homeassistant.update_entity
data:
entity_id:
- sensor.solax_rest_local_settings
until:
- condition: template
value_template: '{{ states(''sensor.solax_local_battery_setting_stop_charge'')
== as_timestamp(state_attr(''binary_sensor.octopus_energy_electricity_20e5176819_2000052794266_off_peak'',
''next_end''))|timestamp_custom (''%H:%M'') or repeat.index == 3 }}'
mode: single
- id: '1735250385216'
alias: Open Gates
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.tesla_wall_connector_vehicle_connected
to: 'off'
from: 'on'
conditions:
- condition: not
conditions:
- condition: state
entity_id: binary_sensor.ioniq_5_ev_battery_plug
state: 'on'
actions:
- type: turn_on
device_id: afcb7a62c88eb03f866095cc34b56385
entity_id: 4c85a601a8b95f54a46656b1eee59515
domain: switch
mode: single
- id: '1735931895735'
alias: Set Intelligent Target Time at Night
description: ''
triggers:
- trigger: time
at: '23:15:00'
conditions:
- condition: state
entity_id: time.octopus_energy_a_7e9f23d1_intelligent_target_time
state: '11:00:00'
actions:
- repeat:
sequence:
- action: time.set_value
metadata: {}
data:
time: 07:00:00
target:
entity_id: time.octopus_energy_a_7e9f23d1_intelligent_target_time
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: number.set_value
metadata: {}
data:
value: '60'
target:
entity_id: number.octopus_energy_a_7e9f23d1_intelligent_charge_target
enabled: true
until:
- condition: template
value_template: '{{ states(''time.octopus_energy_a_7e9f23d1_intelligent_target_time'')
== ''07:00:00'' and states(''number.octopus_energy_a_7e9f23d1_intelligent_charge_target'')
== ''60'' or repeat.index == 3 }}'
mode: single
- id: '1735932118548'
alias: Extend IO Off Peak Every Morning
description: ''
triggers:
- trigger: time
at: 07:00:00
conditions:
- condition: state
entity_id: time.octopus_energy_a_7e9f23d1_intelligent_target_time
state: 07:00:00
actions:
- repeat:
sequence:
- action: time.set_value
metadata: {}
data:
time: '11:00:00'
target:
entity_id: time.octopus_energy_a_7e9f23d1_intelligent_target_time
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: number.set_value
metadata: {}
data:
value: '80'
target:
entity_id: number.octopus_energy_a_7e9f23d1_intelligent_charge_target
enabled: true
until:
- condition: template
value_template: '{{ states(''time.octopus_energy_a_7e9f23d1_intelligent_target_time'')
== ''11:00:00'' and states(''number.octopus_energy_a_7e9f23d1_intelligent_charge_target'')
== ''80'' or repeat.index == 3 }}'
mode: single
- id: '1736267654682'
alias: Sinks - Hot Water - Start immersion heater (off peak day)
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
conditions:
- condition: template
value_template: '{{ states(''sensor.daily_hot_water_offpeak'')|float < states(''input_number.night_immersion_target'')|float
}}'
- condition: time
after: 05:30:00
before: '23:30:00'
actions:
- repeat:
sequence:
- type: turn_on
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: switch.sonoff_1001db22ba
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 15
until:
- condition: template
value_template: '{{ states(''switch.sonoff_1001db22ba'') == ''on'' or repeat.index
== 3 }}'
mode: single
- id: '1737631720598'
alias: Send persistent notification to phone
description: ''
triggers:
- trigger: persistent_notification
update_type:
- added
conditions:
- condition: template
value_template: '{{ trigger.notification.notification_id.startswith(''alert_'')
}}'
actions:
- action: notify.mobile_app_sm_s928b
metadata: {}
data:
title: '{{ trigger.notification.title }}
'
message: '{{ trigger.notification.message }}
'
- action: notify.mobile_app_a063
metadata: {}
data:
title: '{{ trigger.notification.title }}
'
message: '{{ trigger.notification.message }}
'
mode: single
- id: '1737735686586'
alias: Charlie phone wireless charging
description: ''
triggers:
- trigger: state
entity_id:
- sensor.a063_charger_type
from: null
to: wireless
conditions:
- condition: zone
entity_id: device_tracker.a063
zone: zone.home
actions:
- action: switch.turn_on
metadata: {}
data: {}
target:
device_id:
- 5a4ebe168974f06fcbde2aad14b4f3e2
- af1fbddbad0ddd5a494e485ec29ff287
mode: single
- id: '1738506509234'
alias: Cancel hot water overrides
description: ''
triggers:
- type: turned_on
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: 0096e7894c8e7de8402fe3bcbcded89d
domain: switch
trigger: device
conditions: []
actions:
- action: button.press
metadata: {}
data: {}
target:
entity_id: button.wiser_cancel_hot_water_overrides
enabled: false
- action: select.select_option
metadata: {}
data:
option: Manual
target:
entity_id: select.wiser_hot_water_mode
mode: single
- id: '1738506644266'
alias: Turn Off Hot Water
description: ''
triggers:
- type: turned_off
device_id: 0d9861537b4b848a34f2356168196e28
entity_id: 0096e7894c8e7de8402fe3bcbcded89d
domain: switch
trigger: device
conditions: []
actions:
- action: select.select_option
metadata: {}
data:
option: Auto
target:
entity_id: select.wiser_hot_water_mode
- action: button.press
metadata: {}
data: {}
target:
entity_id: button.wiser_boost_hot_water
enabled: false
mode: single
- id: '1739029343810'
alias: Off peak plug
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'off'
to: 'on'
conditions: []
actions:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.wiser_dehumidier_switch
mode: single
- id: '1739029430054'
alias: Off peak plug turn off
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.octopus_energy_a_7e9f23d1_intelligent_dispatching
from: 'on'
to: 'off'
conditions: []
actions:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.wiser_dehumidier_switch
mode: single
- id: '1741689589106'
alias: Mower - Open Gate
description: ''
triggers:
- trigger: time
at: '10:00:00'
conditions:
- condition: time
weekday:
- tue
- fri
actions:
- type: turn_on
device_id: f026eddf710c85a131f11c071f912d81
entity_id: 6bcc6e79f9145622d02e31a5704f1199
domain: switch
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- type: turn_on
device_id: 5a56916572c31eabc9627f8a9d98423a
entity_id: f4ab37bb3910c2da81af1d33f8fe99b7
domain: switch
mode: single
- id: '1741689691316'
alias: Mower - Close gates
description: ''
triggers:
- trigger: time
at: '12:00:00'
conditions:
- condition: time
weekday:
- tue
- fri
actions:
- type: turn_on
device_id: f026eddf710c85a131f11c071f912d81
entity_id: 6bcc6e79f9145622d02e31a5704f1199
domain: switch
mode: single
- id: '1745401782089'
alias: Close Gates When Charging Tesla
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.tesla_wall_connector_vehicle_connected
to: 'on'
from: 'off'
conditions:
- condition: state
entity_id: binary_sensor.midnight_charger
state: 'on'
actions:
- type: turn_on
device_id: f026eddf710c85a131f11c071f912d81
entity_id: 6bcc6e79f9145622d02e31a5704f1199
domain: switch
mode: single