AutomationDataset/PronkMedia/PronkMedia_automations.yaml

565 lines
17 KiB
YAML

- id: button_huiskamer_pressed
alias: Button huiskamer pressed
triggers:
trigger: device
device_id: 9b88e5cced0fd2c39b6e5d08beafe7e8
domain: hue
type: short_release
subtype: 1
actions:
- action: light.turn_off
entity_id:
- light.huiskamer
- light.kerstverlichting
- action: input_boolean.turn_off
target:
entity_id: input_boolean.matrix_display
- action: climate.set_temperature
target:
entity_id: climate.thermostat
data:
temperature: 18
- choose:
conditions:
condition: state
entity_id: media_player.55pus6704_12
state: 'on'
sequence:
action: remote.send_command
data:
entity_id: remote.55pus6704_12
command: PowerOff
- id: doorbell_pressed_detection
alias: Doorbell pressed detection
triggers:
trigger: state
entity_id: binary_sensor.ring_doorbell_ding
to: 'on'
actions:
- parallel:
- sequence:
- variables:
snapshot_id: '{{ range(10000, 99999) | random }}'
snapshot_date: '{{ now().strftime(''%Y-%m-%d_%H-%M-%S'') }}'
snapshot_filename: snapshot_{{ snapshot_date }}_id-{{ snapshot_id }}.jpg
snapshot_path_external: secret path_doorbell_snapshot_external
snapshot_path_internal: secret path_doorbell_snapshot_internal
snapshot_location_external: '{{ snapshot_path_external }}{{ snapshot_filename
}}'
snapshot_location_internal: '{{ snapshot_path_internal }}{{ snapshot_filename
}}'
- action: camera.snapshot
data:
filename: '{{ snapshot_location_internal }}'
target:
entity_id: camera.ring_doorbell
- delay:
seconds: 10
- action: camera.snapshot
data:
filename: '{{ snapshot_location_internal }}'
target:
entity_id: camera.ring_doorbell
- action: input_text.set_value
data:
entity_id: input_text.doorbell_snapshot_location
value: '{{ snapshot_location_external }}'
- delay:
seconds: 5
- action: switch.turn_off
target:
entity_id: switch.ring_doorbell_live_stream
- action: shell_command.remove_old_files
data:
days_to_keep: 30
path: '{{ snapshot_path_internal }}'
- sequence:
- condition: '{{ states("sensor.parkeerplaats_motion_sensor_illuminance") |
float(default=0) < 5 }}'
- action: script.scene_voordeur_motion
- action: input_boolean.turn_on
target:
entity_id: input_boolean.automation_motion_voordeur_triggered
- id: doorbell_unpressed_detection
alias: Doorbell unpressed detection
triggers:
trigger: state
entity_id: binary_sensor.ring_doorbell_ding
to: 'off'
for:
minutes: 5
conditions:
condition: state
entity_id: input_boolean.automation_motion_voordeur_triggered
state: 'on'
actions:
- action: light.turn_off
entity_id: light.voordeur
- action: input_boolean.turn_off
target:
entity_id: input_boolean.automation_motion_voordeur_triggered
- id: hourly_gas_calculation
alias: Hourly gas calculation
triggers:
- trigger: state
entity_id: sensor.gas_meter_gas_consumption
- trigger: time_pattern
minutes: /5
actions:
- choose:
- conditions: "{{\n states(\"sensor.gas_meter_gas_consumption\") == states(\"\
input_text.gas_meter_gas_consumption_previous\")\n and now() - states('input_text.hourly_gas_calculation_last_triggered')\
\ | as_datetime > timedelta(seconds=299)\n}}\n"
sequence:
action: input_number.set_value
target:
entity_id: input_number.hourly_gas
data:
value: 0
- conditions: '{{ states("sensor.gas_meter_gas_consumption") != states("input_text.gas_meter_gas_consumption_previous")
}}'
sequence:
- action: input_number.set_value
target:
entity_id: input_number.hourly_gas
data:
value: '{{ (states("sensor.gas_meter_gas_consumption") | float - states("input_text.gas_meter_gas_consumption_previous")
| float) | multiply(12) | round(3) }}'
- action: input_text.set_value
target:
entity_id: input_text.gas_meter_gas_consumption_previous
data:
value: '{{ states("sensor.gas_meter_gas_consumption") }}'
- action: input_text.set_value
target:
entity_id: input_text.hourly_gas_calculation_last_triggered
data:
value: '{{ state_attr("automation.hourly_gas_calculation", "last_triggered")
}}'
- id: matrix_panel_update
alias: Matrix panel update
mode: restart
triggers:
trigger: state
entity_id:
- input_boolean.matrix_display
- input_number.matrix_brightness
- input_select.matrix_view
- sensor.matrix_temperature_outside
- sensor.matrix_temperature_inside
- sensor.matrix_inverter_outputpower
- sensor.matrix_inverter_daytotal
- sensor.matrix_usage_dayenery
- sensor.matrix_usage_daygas
actions:
choose:
- conditions:
condition: numeric_state
entity_id: input_number.matrix_brightness
below: 1
sequence:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.matrix_display
- action: input_number.set_value
target:
entity_id: input_number.matrix_brightness
data:
value: 100
- conditions:
condition: not
conditions:
- condition: state
entity_id: input_boolean.matrix_display
state: 'off'
for:
minutes: 1
- condition: state
entity_id: device_tracker.matrix_wifi
state: not_home
sequence:
action: rest_command.matrix
data:
display: '{{ states("input_boolean.matrix_display") }}'
brightness: '{{ states("input_number.matrix_brightness") }}'
view: '{{ states("input_select.matrix_view") }}'
temperature_outside: '{{ states("sensor.matrix_temperature_outside") }}'
temperature_inside: '{{ states("sensor.matrix_temperature_inside") }}'
inverter_outputpower: '{{ states("sensor.matrix_inverter_outputpower") }}'
inverter_daytotal: '{{ states("sensor.matrix_inverter_daytotal") }}'
usage_dayenery: '{{ states("sensor.matrix_usage_dayenery") }}'
usage_daygas: '{{ states("sensor.matrix_usage_daygas") }}'
- id: matrix_panel_cycle
alias: Matrix panel cycle views
triggers:
trigger: time_pattern
seconds: /15
conditions:
condition: state
entity_id: input_boolean.matrix_display
state: 'on'
actions:
action: input_select.select_next
target:
entity_id: input_select.matrix_view
- id: matrix_panel_activation
alias: Matrix panel activation
triggers:
trigger: state
entity_id: group.motion_huiskamer
to: 'on'
conditions:
condition: and
conditions:
- condition: state
entity_id: input_boolean.matrix_display
state: 'off'
- condition: state
entity_id: device_tracker.matrix_wifi
state: home
actions:
action: input_boolean.turn_on
target:
entity_id: input_boolean.matrix_display
- id: matrix_panel_deactivation
alias: Matrix panel deactivation
triggers:
trigger: state
entity_id: group.motion_huiskamer
to: 'off'
for:
minutes: 15
conditions:
condition: state
entity_id: input_boolean.matrix_display
state: 'on'
actions:
action: input_boolean.turn_off
target:
entity_id: input_boolean.matrix_display
- id: motion_huiskamer_detected
alias: Motion huiskamer detected
triggers:
trigger: state
entity_id: group.motion_huiskamer
to: 'on'
conditions:
- condition: state
entity_id: light.huiskamer
state: 'off'
- condition: numeric_state
entity_id: sensor.huiskamer_motion_sensor_1_illuminance
below: 1
- condition: numeric_state
entity_id: sensor.huiskamer_motion_sensor_2_illuminance
below: 1
actions:
action: script.scene_huiskamer_motion
- id: motion_huiskamer_undetected
alias: Motion huiskamer undetected
triggers:
trigger: state
entity_id: binary_sensor.presence_huiskamer
to: 'off'
for:
minutes: 1
conditions:
condition: state
entity_id: light.huiskamer
state: 'on'
actions:
action: light.turn_off
entity_id: light.huiskamer
- id: motion_parkeerplaats_detected
alias: Motion parkeerplaats detected
triggers:
trigger: state
entity_id: binary_sensor.parkeerplaats_motion_sensor_motion
to: 'on'
conditions:
condition: and
conditions:
- condition: state
entity_id: light.parkeerplaats
state: 'off'
- condition: numeric_state
entity_id: sensor.parkeerplaats_motion_sensor_illuminance
below: 5
actions:
- action: script.scene_parkeerplaats_motion
- action: input_boolean.turn_on
target:
entity_id: input_boolean.automation_motion_parkeerplaats_triggered
- id: motion_parkeerplaats_undetected
alias: Motion parkeerplaats undetected
triggers:
trigger: state
entity_id: binary_sensor.parkeerplaats_motion_sensor_motion
to: 'off'
for:
minutes: 1
conditions:
condition: state
entity_id: input_boolean.automation_motion_parkeerplaats_triggered
state: 'on'
actions:
- action: light.turn_off
entity_id: light.parkeerplaats
- action: input_boolean.turn_off
target:
entity_id: input_boolean.automation_motion_parkeerplaats_triggered
- id: motion_toilet_detected
alias: Motion toilet detected
triggers:
trigger: state
entity_id: binary_sensor.toilet_motion_sensor_motion
to: 'on'
conditions:
condition: state
entity_id: light.toilet
state: 'off'
actions:
action: script.scene_toilet_motion
- id: motion_toilet_undetected
alias: Motion toilet undetected
triggers:
trigger: state
entity_id: binary_sensor.toilet_motion_sensor_motion
to: 'off'
for:
minutes: 1
conditions:
condition: state
entity_id: light.toilet
state: 'on'
actions:
action: light.turn_off
entity_id: light.toilet
- id: motion_tuin_detected
alias: Motion tuin detected
triggers:
trigger: state
entity_id: group.motion_tuin
to: 'on'
conditions:
condition: and
conditions:
- condition: state
entity_id: light.achterdeur
state: 'off'
- condition: state
entity_id: light.schuur
state: 'off'
- condition: or
conditions:
- condition: numeric_state
entity_id: sensor.tuin_motion_sensor_1_illuminance
below: 5
- condition: numeric_state
entity_id: sensor.tuin_motion_sensor_2_illuminance
below: 5
actions:
- action: script.scene_tuin_motion
- action: input_boolean.turn_on
target:
entity_id: input_boolean.automation_motion_tuin_triggered
- id: motion_tuin_undetected
alias: Motion tuin undetected
triggers:
trigger: state
entity_id: group.motion_tuin
to: 'off'
for:
minutes: 1
conditions:
condition: state
entity_id: input_boolean.automation_motion_tuin_triggered
state: 'on'
actions:
- action: light.turn_off
entity_id:
- light.achterdeur
- light.schuur
- action: input_boolean.turn_off
target:
entity_id: input_boolean.automation_motion_tuin_triggered
- id: remote_huiskamer_pressed
alias: Remote huiskamer pressed
mode: restart
triggers:
trigger: event
event_type: hue_event
conditions: "{{\n trigger.event.data.id == \"afstandsbediening_1_button\"\n and\
\ (\n trigger.event.data.type == \"short_release\"\n or trigger.event.data.type\
\ == \"repeat\"\n )\n}}\n"
actions:
choose:
- conditions: "{{\n trigger.event.data.subtype == 1\n and trigger.event.data.type\
\ == \"repeat\"\n}}\n"
sequence:
action: script.scene_huiskamer_tvkijken
- conditions: '{{ trigger.event.data.type == "short_release" }}'
sequence:
choose:
- conditions: '{{ trigger.event.data.subtype == 1 }}'
sequence:
choose:
- conditions:
condition: state
entity_id: input_text.scene_huiskamer_last_triggered
state: scene_huiskamer_spelen
sequence:
action: script.scene_huiskamer_overdag
- conditions:
condition: state
entity_id: input_text.scene_huiskamer_last_triggered
state: scene_huiskamer_overdag
sequence:
action: script.scene_huiskamer_avond
- conditions:
condition: state
entity_id: input_text.scene_huiskamer_last_triggered
state: scene_huiskamer_avond
sequence:
action: script.scene_huiskamer_eten
- conditions:
condition: state
entity_id: input_text.scene_huiskamer_last_triggered
state: scene_huiskamer_eten
sequence:
action: script.scene_huiskamer_koken
- conditions:
condition: state
entity_id: input_text.scene_huiskamer_last_triggered
state: scene_huiskamer_koken
sequence:
action: script.scene_huiskamer_tvkijken
- conditions:
condition: state
entity_id: input_text.scene_huiskamer_last_triggered
state: scene_huiskamer_tvkijken
sequence:
action: script.scene_huiskamer_spelen
- conditions: '{{ trigger.event.data.subtype == 2 }}'
sequence:
action: script.scene_huiskamer_brighter
- conditions: '{{ trigger.event.data.subtype == 3 }}'
sequence:
action: script.scene_huiskamer_dimmer
- conditions: '{{ trigger.event.data.subtype == 4 }}'
sequence:
action: script.scene_huiskamer_off
- id: remote_kerstboom_pressed
alias: Remote kerstboom pressed
mode: restart
triggers:
trigger: event
event_type: hue_event
conditions: "{{\n trigger.event.data.id == \"afstandsbediening_2_button\"\n and\
\ (\n trigger.event.data.type == \"short_release\"\n or trigger.event.data.type\
\ == \"long_release\"\n )\n}}\n"
variables:
light_entity: "{% if trigger.event.data.type == \"short_release\" %}\n light.twinkly_strings\n\
{% else %}\n light.twinkly_icicle\n{% endif %}\n"
actions:
choose:
- conditions: '{{ trigger.event.data.subtype == 1 }}'
sequence:
action: light.turn_on
data_template:
entity_id: '{{ light_entity }}'
- conditions: '{{ trigger.event.data.subtype == 2 }}'
sequence:
action: light.turn_on
data_template:
entity_id: '{{ light_entity }}'
brightness_step_pct: 20
- conditions: '{{ trigger.event.data.subtype == 3 }}'
sequence:
action: light.turn_on
data_template:
entity_id: '{{ light_entity }}'
brightness_step_pct: -20
- conditions: '{{ trigger.event.data.subtype == 4 }}'
sequence:
action: light.turn_off
data_template:
entity_id: '{{ light_entity }}'
- id: router_mesh_points_activation
alias: Router mesh points activation
triggers:
trigger: state
entity_id: group.all_persons
to: home
actions:
action: switch.turn_on
data:
entity_id:
- switch.wifi_mesh_boven_socket
- switch.wifi_mesh_tuin_socket
- id: router_mesh_points_deactivation
alias: Router mesh points deactivation
triggers:
trigger: state
entity_id: group.all_persons
to: not_home
for:
minutes: 15
actions:
action: switch.turn_off
data:
entity_id:
- switch.wifi_mesh_boven_socket
- switch.wifi_mesh_tuin_socket
- id: vacation_mode
alias: Vacation mode
mode: single
max_exceeded: silent
triggers:
- trigger: state
entity_id: sensor.light_buiten
- trigger: time_pattern
minutes: /5
actions:
choose:
conditions:
condition: and
conditions:
- condition: numeric_state
entity_id: sensor.light_buiten
below: 100
- condition: time
after: 07:00:00
before: '22:30:00'
sequence:
- delay:
seconds: '{{ range(0, 5*60+1) | random }}'
- action: script.scene_huiskamer_tvkijken
default:
- delay:
seconds: '{{ range(0, 5*60+1) | random }}'
- action: light.turn_off
entity_id: light.huiskamer
- id: vacation_mode_activation
alias: Vacation mode activation
mode: single
triggers:
trigger: state
entity_id: group.all_persons
to: not_home
for:
hours: 24
actions:
action: homeassistant.turn_on
entity_id: automation.vacation_mode
- id: vacation_mode_deactivation
alias: Vacation mode deactivation
mode: single
triggers:
trigger: state
entity_id: group.all_persons
to: home
actions:
action: homeassistant.turn_off
entity_id: automation.vacation_mode