Files
hassos_config/scripts.yaml
2026-03-26 12:10:21 +01:00

1008 lines
29 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
radio_keuken_slamfm:
alias: Radio keuken - SlamFM
sequence:
- choose:
- conditions:
- condition: state
entity_id: input_select.speakers
state: keuken
sequence:
- service: media_player.play_media
target:
entity_id: media_player.keuken
data:
media_content_id: media-source://radio_browser/962e7e22-0601-11e8-ae97-52543be04c81
media_content_type: audio/mpeg
metadata:
title: SLAM!
thumbnail: https://www.slam.nl/images/favicons/slam.png
media_class: music
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://radio_browser
- media_content_type: music
media_content_id: media-source://radio_browser/language
- media_content_type: music
media_content_id: media-source://radio_browser/language/nl
- conditions:
- condition: state
entity_id: input_select.speakers
state: Woonkamer
sequence:
- service: media_player.play_media
target:
entity_id: media_player.bose_woonkamer
data:
media_content_id: media-source://radio_browser/962e7e22-0601-11e8-ae97-52543be04c81
media_content_type: audio/mpeg
metadata:
title: SLAM!
thumbnail: https://www.slam.nl/images/favicons/slam.png
media_class: music
children_media_class:
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://radio_browser
- media_content_type: music
media_content_id: media-source://radio_browser/language
- media_content_type: music
media_content_id: media-source://radio_browser/language/nl
mode: single
icon: mdi:radio
esphome_update_all:
alias: 'esphome: update all'
sequence:
- repeat:
for_each: '{{ states.update | selectattr(''state'', ''eq'', ''on'') | map(attribute=''entity_id'')
| select(''in'', integration_entities(''esphome'')) | list }}'
sequence:
oven_preheat:
alias: Oven preheat
sequence:
- action: home_connect_alt.start_program
data:
options:
- key: Cooking.Oven.Option.FastPreHeat
value: true
- key: Cooking.Oven.Option.SetpointTemperature
value: 180
program_key: Cooking.Oven.Program.HeatingMode.HotAir
device_id: aa87a4451bf9784598ccae0c92c88af9
description: ''
icon: mdi:stove
keuken_vaatwasser_start:
alias: Keuken - vaatwasser start
sequence:
- action: home_connect_alt.start_program
data:
validate: true
device_id: a720e5e66228fe59f8d8737ba89ff424
program_key: Dishcare.Dishwasher.Program.Auto2
options:
- key: Dishcare.Dishwasher.Option.VarioSpeedPlus
value: true
description: ''
icon: mdi:dishwasher
generate_watchman_report:
alias: generate_watchman_report
sequence:
- action: watchman.report
data:
create_file: false
send_notification: true
parse_config: true
description: ''
icon: mdi:alert
roborockrevo_alles:
alias: Beneden stofzuigen
sequence:
- action: vacuum.send_command
data:
command: app_segment_clean
params:
- segments:
- 16
- 17
- 18
repeat: 1
target:
device_id: 1578219cf752dbc603226d5d56848eb6
description: ''
icon: mdi:robot-vacuum
roborockrevo_woonkamer:
alias: Woonkamer stofzuigen
sequence:
- action: vacuum.send_command
data:
command: app_segment_clean
params:
- segments:
- 17
repeat: 1
target:
device_id: 1578219cf752dbc603226d5d56848eb6
description: ''
icon: mdi:robot-vacuum
kiosk_zolder_bl_off:
sequence:
- action: ssh_command.exec_command
data:
host: 192.168.2.118
command: echo 0 | sudo tee /sys/class/backlight/*/brightness
user: homeassistant
pass: hass
alias: kiosk-zolder BL-off
description: ''
icon: mdi:projector-screen-off-outline
fields: {}
kiosk_zolder_bl_on:
sequence:
- action: ssh_command.exec_command
data:
host: 192.168.2.118
command: echo 100 | sudo tee /sys/class/backlight/*/brightness
user: homeassistant
pass: hass
alias: kiosk-zolder BL-on
description: ''
icon: mdi:projector-screen-off-outline
fields: {}
vacuum_clean_room:
alias: vacuum_clean_room
sequence:
- alias: Get room id using input select
variables:
target_rooms: "{% set rooms = [] %} {% if states('input_boolean.floorplan_hal_vacuum')
== 'on' %}\n {% set rooms = rooms + [17] %}\n{% endif %} {% if states('input_boolean.floorplan_keuken_vacuum')
== 'on' %}\n {% set rooms = rooms + [16] %}\n{% endif %} {% if states('input_boolean.floorplan_woonkamer_vacuum')
== 'on' %}\n {% set rooms = rooms + [18] %}\n{% endif %} {{rooms}}"
- condition: template
value_template: '{{ target_rooms | length > 0 }}'
- action: vacuum.send_command
data:
command: app_segment_clean
params:
- segments: '{{ target_rooms }}'
repeat: 1
target:
entity_id: vacuum.roborock_qrevo_s
- if:
- condition: state
entity_id: input_boolean.dweilen_vacuum
state: 'on'
then:
- action: select.select_option
metadata: {}
data:
option: standard
target:
entity_id: select.roborock_qrevo_s_dweilmodus
else:
- action: select.select_option
metadata: {}
data:
option: 'off'
target:
entity_id: select.roborock_qrevo_s_intensiteit_van_dweilen
description: ''
new_script:
sequence:
- action: script.woonkamer_alles_uit
metadata: {}
data: {}
- action: script.kerst_uit
metadata: {}
data: {}
enabled: false
- alias: check of de deur op slot moet
if:
- condition: time
after: '22:00:00'
then:
- action: lock.lock
metadata: {}
data: {}
target:
device_id: ead52fdd2817e1e0d5c981e717e3bf63
else:
- action: script.keuken_alles_uit
metadata: {}
data: {}
- action: script.alles_uit_boven
metadata: {}
data: {}
alias: Vertrekken
description: ''
icon: mdi:exit-run
fan_vertical_angle_calibrate:
sequence:
- action: number.set_value
metadata: {}
data:
value: '-30'
target:
entity_id: number.air_circulator_vertical_angle
- delay:
hours: 0
minutes: 0
seconds: 20
milliseconds: 0
- action: number.set_value
metadata: {}
data:
value: '90'
target:
entity_id: number.air_circulator_vertical_angle
- delay:
hours: 0
minutes: 0
seconds: 20
milliseconds: 0
- action: number.set_value
metadata: {}
data:
value: '0'
target:
entity_id: number.air_circulator_vertical_angle
alias: Fan vertical angle calibrate
description: ''
fan_move_vertical_up:
sequence:
- action: number.set_value
metadata: {}
data:
value: '{% set newangle = states(''number.air_circulator_vertical_angle'') |
float +5 %} {{ newangle }}'
target:
entity_id: number.air_circulator_vertical_angle
alias: fan move vertical up
description: ''
fan_move_vertical_up_duplicate:
sequence:
- action: number.set_value
metadata: {}
data:
value: '{% set newangle = states(''number.air_circulator_vertical_angle'') |
float -5 %} {{ newangle }}'
target:
entity_id: number.air_circulator_vertical_angle
alias: fan move vertical down
description: ''
ai_weerbericht:
use_blueprint:
path: TheFes/3_voice_weather_forecast_full_llm.yaml
input:
weather_entity: weather.forecast_home
alias: 'AI weerbericht '
description: Fetches the weather forecast for either a part of a day, or one or
more full days. In case the weather for the weekend is requested, this means Saturday
and Sunday
toggle_boiler:
sequence:
- choose:
- conditions:
- condition: state
entity_id: water_heater.smart_boiler_77cb
attribute: operation_mode
state: 'off'
sequence:
- action: water_heater.set_operation_mode
metadata: {}
data:
operation_mode: electric
target:
device_id: 0db7dd89cc13b1dee2490abad9450ca3
- conditions:
- condition: state
entity_id: water_heater.smart_boiler_77cb
attribute: operation_mode
state:
- electric
sequence:
- action: water_heater.set_operation_mode
metadata: {}
data:
operation_mode: eco
target:
device_id: 0db7dd89cc13b1dee2490abad9450ca3
- conditions:
- condition: state
entity_id: water_heater.smart_boiler_77cb
attribute: operation_mode
state:
- eco
sequence:
- action: water_heater.set_operation_mode
metadata: {}
data:
operation_mode: high_demand
target:
device_id: 0db7dd89cc13b1dee2490abad9450ca3
- conditions:
- condition: state
entity_id: water_heater.smart_boiler_77cb
attribute: operation_mode
state:
- high_demand
sequence:
- action: water_heater.set_operation_mode
metadata: {}
data:
operation_mode: 'off'
target:
device_id: 0db7dd89cc13b1dee2490abad9450ca3
alias: Toggle Boiler
description: ''
icon: mdi:water-boiler-auto
voicebal_standby:
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id:
- light.esphome_web_0bac48
- light.esphome_web_0bac48_screen
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.esphome_web_0bac48_speaker_enable
alias: VoiceBal Standby
description: ''
icon: mdi:account-tie-voice-off
speakers_woonkamer_standby:
sequence:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.unnamed_room_statuslampje
- action: media_player.media_stop
metadata: {}
data: {}
target:
device_id: 14f616b27d81af0d45c8847732876ec6
alias: Speakers Woonkamer standby
description: ''
icon: mdi:exit-run
container_increment:
sequence:
- action: counter.increment
metadata: {}
data: {}
target:
entity_id: counter.container_lichting
- condition: numeric_state
entity_id: counter.container_lichting
above: 16
- action: notify.mobile_app_iphone_van_willem
metadata: {}
data:
title: Container
message: max container lichtingen deze maand
alias: Container increment
description: ''
voicebal_idle:
sequence:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id:
- light.esphome_web_0bac48
- light.esphome_web_0bac48_screen
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.esphome_web_0bac48_speaker_enable
alias: VoiceBal Idle
description: ''
icon: mdi:account-tie-voice-outline
speakers_woonkamer_idle:
sequence:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.unnamed_room_statuslampje
alias: Speakers Woonkamer Idle
description: ''
icon: mdi:open-in-app
verwarming_eco_2:
sequence:
- action: climate.set_temperature
metadata: {}
data:
temperature: '{{ states(''input_number.verwarming_eco'') | float }}'
hvac_mode: heat
target:
entity_id:
- climate.thermostaat_keuken
- climate.verwarming_woonkamer_blu
- climate.thermostaat_hal
- climate.thermostaat_kantoor
- climate.thermostaat_slaapkamer
enabled: true
alias: Verwarming Eco
description: ''
boiler_uit:
sequence:
- action: water_heater.set_operation_mode
metadata: {}
data:
operation_mode: 'off'
target:
device_id: 0db7dd89cc13b1dee2490abad9450ca3
alias: Boiler uit
description: ''
boiler_eco:
sequence:
- action: water_heater.set_operation_mode
metadata: {}
data:
operation_mode: eco
target:
device_id: 0db7dd89cc13b1dee2490abad9450ca3
alias: Boiler Eco
description: ''
boiler_on:
sequence:
- action: water_heater.set_operation_mode
metadata: {}
data:
operation_mode: electric
target:
device_id: 0db7dd89cc13b1dee2490abad9450ca3
alias: Boiler On
description: ''
display_off:
sequence:
- action: rest_command.shelly_kiosk_off
alias: Shelly display woonkamer display off
description: ''
shelly_display_woonkamer_display_on:
sequence:
- action: rest_command.shelly_kiosk_on
data: {}
alias: Shelly display woonkamer display on
description: ''
icon: mdi:television
kerst_uit:
sequence:
- action: light.turn_off
metadata: {}
target:
device_id: 037801154855b910afeed88815f4e594
data: {}
alias: Kerst uit
description: ''
icon: mdi:pine-tree
kerst_aan:
sequence:
- action: select.select_option
metadata: {}
target:
entity_id: select.kerstboom_voorinstelling
data:
option: Candle Multi
alias: Kerst aan
description: ''
icon: mdi:pine-tree
kerst_toggle:
sequence:
- if:
- condition: light.is_on
target:
entity_id: light.kerstboom
options:
behavior: any
then:
- action: script.kerst_uit
metadata: {}
data: {}
else:
- action: script.kerst_aan
metadata: {}
data: {}
alias: kerst toggle
description: ''
icon: mdi:pine-tree-box
verwerk_iphone_wekkers:
fields:
wekkers:
description: Lijst met wekkers van iPhone
alias: verwerk iphone wekkers
description: ''
sequence:
- variables:
vandaag_nl: '{% set dagen = [''maandag'', ''dinsdag'', ''woensdag'', ''donderdag'',
''vrijdag'', ''zaterdag'', ''zondag''] %} {{ dagen[now().weekday()] }}
'
morgen_nl: '{% set dagen = [''maandag'', ''dinsdag'', ''woensdag'', ''donderdag'',
''vrijdag'', ''zaterdag'', ''zondag''] %} {% set m_idx = now().weekday() +
1 %} {{ dagen[0 if m_idx == 7 else m_idx] }}
'
datum_vandaag: '{{ now().strftime(''%Y-%m-%d'') }}'
datum_morgen: '{{ (now() + timedelta(days=1)).strftime(''%Y-%m-%d'') }}'
- variables:
gekozen_wekker: "{% set lijst = namespace(items=[]) %} {% set wekker_data =
wekkers if wekkers is iterable and wekkers is not string else [wekkers] %}
{% for w in wekker_data %}\n {% set dagen = w.dagen | lower %}\n {% if dagen
== \"\" or vandaag_nl in dagen or morgen_nl in dagen %}\n {% set t = w.tijd
if w.tijd.count(':') == 2 else w.tijd + ':00' %}\n {% set lijst.items =
lijst.items + [t] %}\n {% endif %}\n{% endfor %} {{ lijst.items | sort |
first | default(none) }}\n"
- target:
entity_id: input_datetime.iphone_next_alarm
data:
datetime: "{% if gekozen_wekker is not none %}\n {% if today_at(gekozen_wekker)
< now() %}\n {{ datum_morgen }} {{ gekozen_wekker }}\n {% else %}\n {{
datum_vandaag }} {{ gekozen_wekker }}\n {% endif %}\n{% else %}\n {{ datum_vandaag
}} 00:00:00\n{% endif %}\n"
action: input_datetime.set_datetime
- data:
level: info
logger: custom_iphone_alarm
message: 'Debug: Vandaag={{ vandaag_nl }}, Morgen={{ morgen_nl }}, Gekozen={{
gekozen_wekker | default(''Geen'') }}'
action: system_log.write
thermostaat_woonkamer_toggle:
alias: Thermostaat woonkamer toggle
mode: single
sequence:
- target:
entity_id: climate.verwarming_woonkamer_blu
data:
temperature: "{% set t = state_attr('climate.verwarming_woonkamer_blu', 'temperature')
| float(17) %} {% if t <= 15 %}\n 17\n{% elif t <= 18 %}\n 19\n{% else %}\n
\ 15\n{% endif %}\n"
action: climate.set_temperature
description: ''
script_woonkamer_verwarming:
alias: Thermostaat woonkamer toggle
mode: single
sequence:
- target:
entity_id: climate.verwarming_woonkamer_blu
data:
temperature: "{% set t = state_attr('climate.verwarming_woonkamer_blu', 'temperature')
| float(18) %} {% if t <= 15 %}\n 18\n{% elif t <= 18 %}\n 20\n{% else %}\n
\ 15\n{% endif %}\n"
action: climate.set_temperature
description: ''
oven_power_toggle:
alias: Oven Power toggle
description: Toggle oven powerstate via BSH select
mode: single
sequence:
- choose:
- conditions:
- condition: state
entity_id: select.385040390125001454_001_bsh_common_setting_powerstate
state: BSH.Common.EnumType.PowerState.Standby
sequence:
- target:
entity_id: select.385040390125001454_001_bsh_common_setting_powerstate
data:
option: BSH.Common.EnumType.PowerState.On
action: select.select_option
default:
- target:
entity_id: select.385040390125001454_001_bsh_common_setting_powerstate
data:
option: BSH.Common.EnumType.PowerState.Standby
action: select.select_option
keuken_climate_toggle_preset:
alias: Keuken Climate Toggle preset
description: Toggle climate preset between away, eco and comfort
mode: single
sequence:
- choose:
- conditions:
- condition: template
value_template: '{{ current == ''away'' }}'
sequence:
- data:
preset_mode: eco
action: climate.set_preset_mode
target:
entity_id: climate.thermostaat_keuken
- conditions:
- condition: template
value_template: '{{ current == ''eco'' }}'
sequence:
- target:
entity_id: climate.thermostaat_keuken
data:
preset_mode: comfort
action: climate.set_preset_mode
default:
- data:
preset_mode: away
action: climate.set_preset_mode
target:
entity_id: climate.thermostaat_keuken
keuken_alles_uit:
sequence:
- action: switch.turn_off
metadata: {}
target:
entity_id: switch.boiler_2
data: {}
alias: Boiler uit
- action: climate.set_temperature
metadata: {}
target:
entity_id: climate.thermostaat_keuken
data:
temperature: '{{ states(''input_number.verwarming_eco'') | float }}'
hvac_mode: heat
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.lamp_keuken_kleur
- light.lamp_keuken_main
- light.lamp_toilet
data: {}
- action: switch.turn_off
metadata: {}
target:
entity_id: switch.display_keuken_scherm
data: {}
alias: Alles uit - Keuken
description: ''
icon: mdi:countertop-outline
slaapkamer_alles_uit:
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.lamp_slaapkamer_2
- light.lamp_bed_links_dim
- light.lanp_bed_rechts_dim
data: {}
- action: climate.set_temperature
metadata: {}
target:
entity_id: climate.thermostaat_slaapkamer
data:
temperature: '{{ states(''input_number.verwarming_eco'') | float }}'
hvac_mode: heat
alias: Alles uit - Slaapkamer
description: ''
icon: mdi:bed-double-outline
woonkamer_alles_uit:
sequence:
- alias: Lampen Woonkamer uit
action: light.turn_off
metadata: {}
data: {}
target:
entity_id:
- light.lamp_kast
- light.ikea_of_sweden_tradfri_bulb_e27_ww_clear_250lm
- light.ikea_of_sweden_stoftmoln_ceiling_wall_lamp_ww37
- light.lamp_tafel
- light.lamp_tafel_sfeer
- light.zout_lamp
- action: light.turn_off
metadata: {}
target:
entity_id: light.ledstok
data: {}
- action: climate.set_temperature
metadata: {}
target:
entity_id: climate.verwarming_woonkamer_blu
data:
temperature: '{{ states(''input_number.verwarming_eco'') | float }}'
hvac_mode: heat
- action: fan.turn_off
metadata: {}
data: {}
target:
device_id: 65efdd1635426f4f499786410bc83b34
- action: media_player.media_stop
metadata: {}
target:
area_id: woonkamer
data: {}
- action: script.voicebal_standby
metadata: {}
data: {}
enabled: false
- action: script.speakers_woonkamer_standby
metadata: {}
data: {}
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- action: script.display_off
metadata: {}
data: {}
- action: switch.turn_off
metadata: {}
target:
entity_id:
- switch.stopcontact_woonkamer_output_2_tv
- switch.stopcontact_woonkamer_output_0
data: {}
alias: Alles uit - Woonkamer
description: ''
icon: mdi:sofa-outline
alles_uit_kantoor:
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id: light.lamp_kantoor_2
data: {}
- action: climate.set_temperature
metadata: {}
target:
entity_id:
- climate.thermostaat_kantoor
data:
temperature: '{{ states(''input_number.verwarming_eco'') | float }}'
hvac_mode: heat
alias: Alles uit - Kantoor
description: ''
alles_uit_boven:
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.lamp_badkamer
- light.overloop_switch_0
data: {}
- action: script.alles_uit_kantoor
metadata: {}
data: {}
- action: script.slaapkamer_alles_uit
metadata: {}
data: {}
- action: script.alles_uit_slaapkamer_kids
metadata: {}
data: {}
- action: script.boiler_uit
metadata: {}
data: {}
alias: Alles uit - Boven
description: ''
alles_uit_beneden:
sequence:
- action: script.keuken_alles_uit
metadata: {}
data: {}
- action: script.woonkamer_alles_uit
metadata: {}
data: {}
alias: Alles uit - Beneden
description: ''
alles_uit:
sequence:
- action: script.alles_uit_beneden
metadata: {}
data: {}
- action: script.alles_uit_boven
metadata: {}
data: {}
alias: Alles uit
description: ''
meshcore_snr:
alias: Meshcore - SNR
description: Create SNR of each (last) contact
fields:
contact:
selector:
text:
name: contact
required: true
sequence:
- action: mqtt.publish
data:
topic: homeassistant/sensor/mc-{{contact}}/snr/config
retain: true
payload: "{\n \"name\": \"Meshcore SNR {{ contact }}\",\n \"unique_id\": \"meshcore_snr_{{
contact }}\",\n \"state_topic\": \"meshcore/snr/{{ contact }}\",\n \"state_class\":
\"measurement\",\n \"unit_of_measurement\": \"dB\",\n \"value_template\":
{% raw %}\"{{ value_json.snr }}\"{% endraw %},\n \"icon\": \"mdi:signal\",\n
\ \"json_attributes_topic\" : \"meshcore/snr/{{ contact }}\"\n}"
qos: '0'
mode: single
meshcore_contact_management:
alias: Meshcore - Contact Management
description: Mostly used for BULK removal of contacts
sequence:
- choose:
- conditions:
- condition: template
value_template: '{{ option == ''favorite'' }}'
sequence:
- variables:
pubkey_prefix: '{{- state_attr(''select.meshcore_added_contact'',''pubkey_prefix'')
-}}'
- repeat:
for_each: '{{ states.binary_sensor | selectattr(''attributes.lastmod'',
''defined'') | selectattr(''attributes.pubkey_prefix'', ''contains'',
pubkey_prefix) | map(attribute=''object_id'') | list }}'
sequence:
- variables:
entity_id: binary_sensor.{{ repeat.item }}
favorite: '{{ state_attr(entity_id,''flags'')}}'
toggle: "{% if favorite == 0 %}\n 1\n{% else %}\n 0\n{% endif %}"
- action: meshcore.execute_command
data:
command: change_contact_flags {{ pubkey_prefix }} {{ toggle }}
- conditions:
- condition: template
value_template: '{{ option == ''old_node_contacts'' }}'
sequence:
- variables:
days_old: "{% if days < 7 %}\n 7\n{% else %}\n {{ days }}\n{% endif %}"
- repeat:
for_each: "{%- set time = now() | as_timestamp | int -%} \n{%- set time
= time - days_old*24*60*60 -%} \n{{- states.binary_sensor \n| selectattr('attributes.lastmod',
'defined') \n| selectattr('state', 'eq', 'stale') \n| selectattr('attributes.lastmod',
'lt', time ) \n| map(attribute='object_id') | list }}"
sequence:
- variables:
public_key: '{{ repeat.item[-20:-8] }}'
- action: meshcore.execute_command
data:
command: remove_contact {{ public_key }}
enabled: false
- conditions:
- condition: template
value_template: '{{ option == ''companions'' }}'
sequence:
- variables:
days_old: "{% if days < 7 %}\n 7\n{% else %}\n {{ days }}\n{% endif %}"
- repeat:
for_each: "{%- set time = now() | as_timestamp | int -%} \n{%- set time
= time - days_old*24*60*60 -%} \n{{- states.binary_sensor | \nselectattr('attributes.lastmod',
'defined') | \nselectattr('state', 'eq', 'discovered') |\nselectattr('attributes.lastmod',
'lt', time ) |\nselectattr('attributes.type', 'eq', 1 ) |\nmap(attribute='object_id')
| list -}}"
sequence:
- variables:
public_key: '{{ repeat.item[-20:-8] }}'
- action: meshcore.remove_discovered_contact
data:
pubkey_prefix: '{{ public_key }}'
enabled: false
- conditions:
- condition: template
value_template: '{{ option == ''repeaters'' }}'
sequence:
- variables:
days_old: "{% if days < 3 %}\n 3\n{% else %}\n {{ days }}\n{% endif %}"
- repeat:
for_each: "{%- set time = now() | as_timestamp | int -%}\n{%- set time =
time - days_old*24*60*60 -%}\n{{- states.binary_sensor \n| selectattr('attributes.lastmod',
'defined') \n| selectattr('state', 'eq', 'discovered') \n| selectattr('attributes.type',
'ne', 1 )\n| selectattr('attributes.lastmod', 'lt', time ) \n| map(attribute='object_id')
| list }}"
sequence:
- variables:
public_key: '{{ repeat.item[-20:-8] }}'
- action: meshcore.remove_discovered_contact
data:
pubkey_prefix: '{{ public_key }}'
enabled: false
- conditions:
- condition: template
value_template: '{{ option == ''added'' }}'
sequence:
- repeat:
for_each: "{{- states.binary_sensor \n| selectattr('attributes.lastmod','defined')
\n| selectattr('state', 'ne', 'discovered') \n| selectattr('attributes.added_to_node',
'eq', true ) \n| map(attribute='object_id') | list -}}"
sequence:
- variables:
public_key: '{{ repeat.item[-20:-8] }}'
- action: meshcore.remove_discovered_contact
data:
pubkey_prefix: '{{ public_key }}'
- action: script.meshcore_contact_management
metadata: {}
data:
option: reload
enabled: false
default:
- stop: Created by WJ4IoT v1.02 Reduced bulk action to core actions.
enabled: false
fields:
option:
selector:
text:
name: option
description: input files which defines the sequence
required: true
days:
selector:
number:
min: 0.5
max: 100
name: days
description: Number of days the contact must be old
required: false
film_kijken:
sequence:
- action: cover.close_cover
metadata: {}
target:
entity_id: cover.shelly_projector_scherm
data: {}
- action: button.press
metadata: {}
data: {}
target:
entity_id: button.ir_blaster_woonkamer_power
- action: light.turn_on
metadata: {}
target:
entity_id: light.lamp_bed_links_dim
data:
brightness_pct: 34
- action: light.turn_off
metadata: {}
data: {}
target:
device_id: a421097cef9b325efb84ae7009ff87be
alias: Film kijken
description: ''
slapen_slaapkamer_willem:
sequence:
- if:
- condition: device
device_id: ed986b7daa26aca29c5636403fecec82
domain: cover
entity_id: cf5f60186168615423f7c8c4ca976ecd
type: is_closed
then:
- action: cover.open_cover
metadata: {}
target:
entity_id: cover.shelly_projector_scherm
data: {}
- action: light.turn_off
metadata: {}
target:
area_id: slaapkamer_ilse_en_willem
data:
transition: 8
alias: 'Slapen - slaapkamer willem '
description: ''
alles_uit_slaapkamer_kids:
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id:
- light.lamp_kantoor
- light.slaaptrainer_luuk_slaaptrainer_luuk_leds
- action: climate.set_temperature
metadata: {}
data:
temperature: '{{ states(''input_number.verwarming_eco'') | float }}'
hvac_mode: heat
target:
entity_id: climate.smart_radiator_thermostat_x
alias: Alles uit - Slaapkamer kids
description: ''
icon: mdi:bed-outline