AutomationDataset/bacco007/description-ready.json

4406 lines
255 KiB
JSON

[
{
"id": "sonos_favourites_play_102_7_kiis_fm_los_angeles",
"automation": "- alias: '[Sonos Favourites] Play 102.7 KIIS-FM Los Angeles'\n description: Play 102.7 KIIS-FM Los Angeles on Sonos\n id: sonos_favourites_play_102_7_kiis_fm_los_angeles\n trigger:\n - platform: webhook\n webhook_id: sonos_102_7_kiis_fm_los_angeles\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_102_7_kiis_fm_los_angeles\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: 102.7 KIIS-FM Los Angeles",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites 102 7 kiis fm los angeles",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_102_7_kiis_fm_los_angeles",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_1170_sen",
"automation": "- alias: '[Sonos Favourites] Play 1170 SEN'\n description: Play 1170 SEN on Sonos\n id: sonos_favourites_play_1170_sen\n trigger:\n - platform: webhook\n webhook_id: sonos_1170_sen\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_1170_sen\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: 1170 SEN",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites 1170 sen",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_1170_sen",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_93_5_triple_m_dubbo",
"automation": "- alias: '[Sonos Favourites] Play 93.5 Triple M Dubbo'\n description: Play 93.5 Triple M Dubbo on Sonos\n id: sonos_favourites_play_93_5_triple_m_dubbo\n trigger:\n - platform: webhook\n webhook_id: sonos_93_5_triple_m_dubbo\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_93_5_triple_m_dubbo\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: 93.5 Triple M Dubbo",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites 93 5 triple m dubbo",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_93_5_triple_m_dubbo",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_abc_news",
"automation": "- alias: '[Sonos Favourites] Play ABC News'\n description: Play ABC News on Sonos\n id: sonos_favourites_play_abc_news\n trigger:\n - platform: webhook\n webhook_id: sonos_abc_news\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_abc_news\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: ABC News",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites abc news",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_abc_news",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_abc_new_england_north_west",
"automation": "- alias: '[Sonos Favourites] Play ABC New England North West'\n description: Play ABC New England North West on Sonos\n id: sonos_favourites_play_abc_new_england_north_west\n trigger:\n - platform: webhook\n webhook_id: sonos_abc_new_england_north_west\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_abc_new_england_north_west\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: ABC New England North West",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites abc new england north west",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_abc_new_england_north_west",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_abc_radio_national_sydney_nsw",
"automation": "- alias: '[Sonos Favourites] Play ABC Radio National (Sydney, NSW)'\n description: Play ABC Radio National (Sydney, NSW) on Sonos\n id: sonos_favourites_play_abc_radio_national_sydney_nsw\n trigger:\n - platform: webhook\n webhook_id: sonos_abc_radio_national_sydney_nsw\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_abc_radio_national_sydney_nsw\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: ABC Radio National (Sydney, NSW)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites abc radio national sydney nsw",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_abc_radio_national_sydney_nsw",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_abc_radio_sydney",
"automation": "- alias: '[Sonos Favourites] Play ABC Radio Sydney'\n description: Play ABC Radio Sydney on Sonos\n id: sonos_favourites_play_abc_radio_sydney\n trigger:\n - platform: webhook\n webhook_id: sonos_abc_radio_sydney\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_abc_radio_sydney\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: ABC Radio Sydney",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites abc radio sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_abc_radio_sydney",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_abc_sport",
"automation": "- alias: '[Sonos Favourites] Play ABC Sport'\n description: Play ABC Sport on Sonos\n id: sonos_favourites_play_abc_sport\n trigger:\n - platform: webhook\n webhook_id: sonos_abc_sport\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_abc_sport\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: ABC Sport",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites abc sport",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_abc_sport",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_absolute_radio_00s",
"automation": "- alias: '[Sonos Favourites] Play Absolute Radio 00s'\n description: Play Absolute Radio 00s on Sonos\n id: sonos_favourites_play_absolute_radio_00s\n trigger:\n - platform: webhook\n webhook_id: sonos_absolute_radio_00s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_absolute_radio_00s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Absolute Radio 00s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites absolute radio 00s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_absolute_radio_00s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_absolute_radio_10s",
"automation": "- alias: '[Sonos Favourites] Play Absolute Radio 10s'\n description: Play Absolute Radio 10s on Sonos\n id: sonos_favourites_play_absolute_radio_10s\n trigger:\n - platform: webhook\n webhook_id: sonos_absolute_radio_10s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_absolute_radio_10s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Absolute Radio 10s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites absolute radio 10s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_absolute_radio_10s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_absolute_radio_20s",
"automation": "- alias: '[Sonos Favourites] Play Absolute Radio 20s'\n description: Play Absolute Radio 20s on Sonos\n id: sonos_favourites_play_absolute_radio_20s\n trigger:\n - platform: webhook\n webhook_id: sonos_absolute_radio_20s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_absolute_radio_20s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Absolute Radio 20s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites absolute radio 20s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_absolute_radio_20s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_absolute_radio_80s",
"automation": "- alias: '[Sonos Favourites] Play Absolute Radio 80s'\n description: Play Absolute Radio 80s on Sonos\n id: sonos_favourites_play_absolute_radio_80s\n trigger:\n - platform: webhook\n webhook_id: sonos_absolute_radio_80s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_absolute_radio_80s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Absolute Radio 80s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites absolute radio 80s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_absolute_radio_80s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_absolute_radio_90s",
"automation": "- alias: '[Sonos Favourites] Play Absolute Radio 90s'\n description: Play Absolute Radio 90s on Sonos\n id: sonos_favourites_play_absolute_radio_90s\n trigger:\n - platform: webhook\n webhook_id: sonos_absolute_radio_90s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_absolute_radio_90s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Absolute Radio 90s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites absolute radio 90s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_absolute_radio_90s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_absolute_radio_classic_rock",
"automation": "- alias: '[Sonos Favourites] Play Absolute Radio Classic Rock'\n description: Play Absolute Radio Classic Rock on Sonos\n id: sonos_favourites_play_absolute_radio_classic_rock\n trigger:\n - platform: webhook\n webhook_id: sonos_absolute_radio_classic_rock\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_absolute_radio_classic_rock\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Absolute Radio Classic Rock",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites absolute radio classic rock",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_absolute_radio_classic_rock",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_absolute_radio_uk_aac",
"automation": "- alias: '[Sonos Favourites] Play Absolute Radio UK (AAC)'\n description: Play Absolute Radio UK (AAC) on Sonos\n id: sonos_favourites_play_absolute_radio_uk_aac\n trigger:\n - platform: webhook\n webhook_id: sonos_absolute_radio_uk_aac\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_absolute_radio_uk_aac\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Absolute Radio UK (AAC)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites absolute radio uk aac",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_absolute_radio_uk_aac",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "activity_driving",
"automation": "- id: activity_driving\n alias: '[Activity] Set Driving State'\n initial_state: true\n trigger:\n - platform: state\n entity_id: sensor.activity_thomas_current_activity\n to: Automotive\n - platform: state\n entity_id: sensor.activity_thomas_current_activity\n from: Automotive\n action:\n - service: input_boolean.turn_{{ 'on' if is_state('sensor.activity_thomas_current_activity',\n 'Automotive') else 'off' }}\n entity_id: input_boolean.activity_thomas_driving\n mode: single",
"config": [
{
"name": "activity thomas current activity",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.activity_thomas_current_activity",
"device_id": null
}
},
{
"name": "activity thomas driving",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.activity_thomas_driving",
"device_id": null
}
}
]
},
{
"id": "'1653186204936'",
"automation": "- id: '1653186204936'\n alias: '[Adaptive Lighting] - Turn off Sleep Mode at Sunrise'\n description: ''\n trigger:\n - platform: sun\n event: sunrise\n offset: 0\n condition: []\n action:\n - service: switch.turn_off\n data: {}\n target:\n entity_id:\n - switch.adaptive_lighting_sleep_mode_office_adaptive\n - switch.adaptive_lighting_sleep_mode_bedroom_adaptive\n mode: single",
"config": [
{
"name": "office adaptive sleep mode",
"room": "office",
"type": "switch",
"id": {
"entity_id": "switch.adaptive_lighting_sleep_mode_office_adaptive",
"device_id": null
}
},
{
"name": "bedroom adaptive sleep mode",
"room": "bedroom",
"type": "switch",
"id": {
"entity_id": "switch.adaptive_lighting_sleep_mode_bedroom_adaptive",
"device_id": null
}
}
]
},
{
"id": "'[Alarm Clock] Alarm Clock'",
"automation": "- alias: '[Alarm Clock] Alarm Clock'\n description: ''\n trigger:\n - platform: template\n value_template: \"{{ is_state('binary_sensor.alarm_today', 'on') and\\n states('sensor.time')\\\n \\ == state_attr('binary_sensor.alarm_today', 'alarm_time') }}\"\n id: alarm_triggered\n - platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.alarm_length\n id: alarm_timer_finished\n condition: []\n action:\n - variables:\n sonos_device: '{{state_attr(''sensor.alarm_defaults'', ''default_sonos'')}}'\n light_switchedon: '{{state_attr(''sensor.alarm_defaults'', ''default_light'')}}'\n music_selected: '{{state_attr(''sensor.alarm_defaults'', ''default_music'')}}'\n - choose:\n - conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: input_boolean.alarm_debug_testing\n state: 'on'\n - condition: trigger\n id:\n - alarm_triggered\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.alarm_debug_testing\n state: 'on'\n then:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.alarm_debug_testing\n - service: light.turn_on\n data:\n transition: 30\n target:\n entity_id: '{{light_switchedon}}'\n - service: media_player.select_source\n data:\n entity_id: '{{sonos_device}}'\n source: '{{music_selected}}'\n - service: media_player.volume_set\n data:\n volume_level: 0.15\n target:\n entity_id: '{{sonos_device}}'\n - service: timer.start\n data:\n duration: 01:00:00\n target:\n entity_id: timer.alarm_length\n - conditions:\n - condition: trigger\n id: alarm_timer_finished\n sequence:\n - service: media_player.media_stop\n data: {}\n target:\n entity_id: '{{sonos_device}}'\n - service: light.turn_off\n data:\n transition: 30\n target:\n entity_id: '{{light_switchedon}}'\n mode: single",
"config": [
{
"name": "alarm today",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.alarm_today",
"device_id": null
}
},
{
"name": "time",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.time",
"device_id": null
}
},
{
"name": "alarm defaults",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.alarm_defaults",
"device_id": null
}
},
{
"name": "alarm debug testing",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.alarm_debug_testing",
"device_id": null
}
},
{
"name": "alarm length",
"room": null,
"type": "timer",
"id": {
"entity_id": "timer.alarm_length",
"device_id": null
}
}
]
},
{
"id": "'[Alarm Clock] Set Wakeup Music Select'",
"automation": "- alias: '[Alarm Clock] Set Wakeup Music Select'\n description: ''\n trigger:\n - platform: homeassistant\n event: start\n - platform: state\n entity_id:\n - sensor.sonos_favorites\n to: null\n condition: []\n action:\n - variables:\n sonos_favourites: '{{ state_attr(''sensor.sonos_favorites'', ''items'').values()\n | list }}'\n current_favourite: '{{states(''input_select.alarm_music'')}}'\n - service: input_select.set_options\n data:\n options: '{{sonos_favourites}}'\n target:\n entity_id: input_select.alarm_music\n - service: input_select.select_option\n data:\n option: '{{current_favourite}}'\n target:\n entity_id: input_select.alarm_music\n mode: single",
"config": [
{
"name": "sonos favorites",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.sonos_favorites",
"device_id": null
}
},
{
"name": "alarm music",
"room": null,
"type": "input_select",
"id": {
"entity_id": "input_select.alarm_music",
"device_id": null
}
}
]
},
{
"id": "a9b997b8-84ac-4332-bf06-19957c0d4d19",
"automation": "- id: a9b997b8-84ac-4332-bf06-19957c0d4d19\n alias: '[Presence] Arrive Home > Lights On (Night)'\n description: ''\n trigger:\n - platform: zone\n entity_id: person.thomas_baxter\n zone: zone.home\n event: enter\n condition:\n - condition: or\n conditions:\n - condition: sun\n after: sunset\n after_offset: -00:15:00\n - condition: sun\n before: sunrise\n action:\n - service: light.turn_on\n metadata: {}\n data:\n transition: 20\n brightness_pct: 35\n target:\n device_id:\n - 126e91428c97177372f5ef7398eb537e\n - 6623c3d12a6637f37fab2c6e24c41afc\n mode: single",
"config": [
{
"name": "thomas baxter",
"room": null,
"type": "person",
"id": {
"entity_id": "person.thomas_baxter",
"device_id": null
}
},
{
"name": "device 126e91428c97177372f5ef7398eb537e",
"room": null,
"type": "light",
"id": {
"entity_id": null,
"device_id": "126e91428c97177372f5ef7398eb537e"
}
},
{
"name": "device 6623c3d12a6637f37fab2c6e24c41afc",
"room": null,
"type": "light",
"id": {
"entity_id": null,
"device_id": "6623c3d12a6637f37fab2c6e24c41afc"
}
}
]
},
{
"id": "ha_autogroup_bulk",
"automation": "- id: ha_autogroup_bulk\n alias: '[HA] Autogroup - Bulk'\n mode: single\n max_exceeded: silent\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: event\n event_type: call_service\n event_data:\n domain: group\n service: reload\n - platform: time_pattern\n minutes: /15\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: group.set\n data_template:\n object_id: battery_devices\n name: '[Group] Battery Devices'\n icon: mdi:battery\n entities: \"{%-\\n for state in states.sensor\\n if is_state_attr(state.entity_id,\\\n \\ 'device_class', 'battery') and\\n (state.entity_id.endswith(\\\"_battery\\\"\\\n ) or state.entity_id.endswith(\\\"_power\\\"))\\n%} {{ state.entity_id }}{%- if\\\n \\ not loop.last -%}, {%- endif -%} {%- endfor %}\"\n - service: group.set\n data_template:\n object_id: media_players\n name: '[Group] Media Players'\n icon: mdi:media-network\n entities: '{{ states.media_player|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data:\n object_id: lights\n name: '[Group] Lights'\n icon: mdi:lamps\n entities: '{{ states.light|map(attribute=''entity_id'')|list|sort }}\n\n '\n - service: group.set\n data_template:\n object_id: automations\n name: '[Group] Automations'\n icon: mdi:home-automation\n entities: '{{ states.automation|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: remotes\n name: '[Group] Remotes'\n icon: mdi:remote\n entities: '{{ states.remote|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: scripts\n name: '[Group] Scripts'\n icon: mdi:script\n entities: '{{ states.script|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: switches\n name: '[Group] Switches'\n icon: mdi:script\n entities: '{{ states.switch|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: calendars\n name: '[Group] Calendars'\n icon: mdi:calendar\n entities: '{{ states.calendar|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: calendars_sport\n name: '[Group] Calendars (Sport)'\n icon: mdi:calendar\n entities: \"{{ states.calendar\\n |selectattr('entity_id','search','calendar.ical_*')\\n\\\n \\ |rejectattr('entity_id','search','home_assistant*')\\n |map(attribute='entity_id')|list|sort\\\n \\ }}\"\n - service: group.set\n data_template:\n object_id: geo_location\n name: '[Group] Geo Locations'\n icon: mdi:map-marker-alert\n entities: '{{ states.geo_location|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: weather\n name: '[Group] Weather'\n icon: mdi:weather-cloudy-clock\n entities: '{{ states.weather|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: people\n name: '[Group] People'\n icon: mdi:account-group\n entities: '{{ states.person|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data_template:\n object_id: cameras\n name: '[Group] Cameras'\n icon: mdi:cctv\n entities: '{{ states.camera|map(attribute=''entity_id'')|list|sort }}'\n - service: group.set\n data:\n object_id: alert_controls\n name: '[Group] Alert Controls'\n icon: mdi:alert-decagram\n entities: \"{{ states\\n |selectattr('entity_id','search','input_boolean.alerts_*')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: alert_monitors\n name: '[Group] Alert Monitors'\n icon: mdi:alert-decagram\n entities: \"{{ states\\n |selectattr('entity_id','search','binary_sensor.alerts_*')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: alerts\n name: '[Group] Alerts'\n icon: mdi:alert-decagram\n entities: \"{{ states.alert\\n |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: connectivity_monitors\n name: '[Group] Connectivity Monitors'\n icon: mdi:connection\n entities: \"{{ states\\n |selectattr('entity_id','search','binary_sensor.ha_connected_integration_*')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: people\n name: '[Group] People'\n icon: mdi:account-multiple\n entities: '{{ states.person|map(attribute=''entity_id'')|list|sort }}\n\n '\n - service: group.set\n data:\n object_id: waqi\n name: '[Group] WAQI'\n icon: mdi:smog\n entities: \"{{ states\\n |selectattr('entity_id','search','waqi*')\\n |rejectattr('entity_id','search','alert*')\\n\\\n \\ |rejectattr('entity_id','search','group*')\\n |map(attribute='entity_id')|list|sort\\\n \\ }}\\n\"\n - service: group.set\n data:\n object_id: docker_pi4srv_containers\n name: '[Group] Docker Pi4Srv Containers'\n icon: mdi:docker\n entities: \"{{states.sensor\\n |selectattr('entity_id','search','sensor.pi4srv_monitordocker_')\\n\\\n \\ |rejectattr('entity_id','search','_1cpu')\\n |rejectattr('entity_id','search','_containers_')\\n\\\n \\ |rejectattr('entity_id','search','_cpu')\\n |rejectattr('entity_id','search','_images')\\n\\\n \\ |rejectattr('entity_id','search','_memory')\\n |rejectattr('entity_id','search','_version')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_pi4srv_switches\n name: '[Group] Docker Pi4Srv Switches'\n icon: mdi:docker\n entities: \"{{states.switch\\n |selectattr('entity_id','search','pi4srv_monitordocker_')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh1_containers\n name: '[Group] Docker tbsh1 Containers'\n icon: mdi:docker\n entities: \"{{states.sensor\\n |selectattr('entity_id','search','sensor.tbsh1_monitordocker_')\\n\\\n \\ |rejectattr('entity_id','search','_1cpu')\\n |rejectattr('entity_id','search','_containers_')\\n\\\n \\ |rejectattr('entity_id','search','_cpu')\\n |rejectattr('entity_id','search','_images')\\n\\\n \\ |rejectattr('entity_id','search','_memory')\\n |rejectattr('entity_id','search','_version')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh1_switches\n name: '[Group] Docker tbsh1 Switches'\n icon: mdi:docker\n entities: \"{{states.switch\\n |selectattr('entity_id','search','tbsh1_monitordocker_')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh2_containers\n name: '[Group] Docker tbsh2 Containers'\n icon: mdi:docker\n entities: \"{{states.sensor\\n |selectattr('entity_id','search','sensor.tbsh2_monitordocker_')\\n\\\n \\ |rejectattr('entity_id','search','_1cpu')\\n |rejectattr('entity_id','search','_containers_')\\n\\\n \\ |rejectattr('entity_id','search','_cpu')\\n |rejectattr('entity_id','search','_images')\\n\\\n \\ |rejectattr('entity_id','search','_memory')\\n |rejectattr('entity_id','search','_version')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh2_switches\n name: '[Group] Docker tbsh2 Switches'\n icon: mdi:docker\n entities: \"{{states.switch\\n |selectattr('entity_id','search','tbsh2_monitordocker_')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh3_containers\n name: '[Group] Docker tbsh3 Containers'\n icon: mdi:docker\n entities: \"{{states.sensor\\n |selectattr('entity_id','search','sensor.tbsh3_monitordocker_')\\n\\\n \\ |rejectattr('entity_id','search','_1cpu')\\n |rejectattr('entity_id','search','_containers_')\\n\\\n \\ |rejectattr('entity_id','search','_cpu')\\n |rejectattr('entity_id','search','_images')\\n\\\n \\ |rejectattr('entity_id','search','_memory')\\n |rejectattr('entity_id','search','_version')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh3_switches\n name: '[Group] Docker tbsh3 Switches'\n icon: mdi:docker\n entities: \"{{states.switch\\n |selectattr('entity_id','search','tbsh3_monitordocker_')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh5_containers\n name: '[Group] Docker tbsh5 Containers'\n icon: mdi:docker\n entities: \"{{states.sensor\\n |selectattr('entity_id','search','sensor.tbsh5_monitordocker_')\\n\\\n \\ |rejectattr('entity_id','search','_1cpu')\\n |rejectattr('entity_id','search','_containers_')\\n\\\n \\ |rejectattr('entity_id','search','_cpu')\\n |rejectattr('entity_id','search','_images')\\n\\\n \\ |rejectattr('entity_id','search','_memory')\\n |rejectattr('entity_id','search','_version')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: docker_tbsh5_switches\n name: '[Group] Docker tbsh5 Switches'\n icon: mdi:docker\n entities: \"{{states.switch\\n |selectattr('entity_id','search','tbsh5_monitordocker_')\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: updates_homeassistant\n name: '[Updates] Home Assistant'\n icon: mdi:home-assistant\n entities: \"{{expand(integration_entities('Supervisor'))\\n |selectattr('domain',\\\n \\ 'eq', 'update')\\n |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: updates_hacs\n name: '[Updates] HA Community Store'\n icon: mdi:home-assistant\n entities: \"{{expand(integration_entities('hacs'))\\n |selectattr('domain', 'eq',\\\n \\ 'update')\\n |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: updates_docker\n name: '[Updates] Docker'\n icon: mdi:docker\n entities: \"{{states.update\\n |selectattr('entity_id', 'search', 'wud')\\n |map(attribute='entity_id')\\n\\\n \\ |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: updates_unifi\n name: '[Updates] Unifi'\n icon: si:ubiquiti\n entities: \"{{expand(integration_entities('unifi'))\\n |selectattr('domain',\\\n \\ 'eq', 'update')\\n |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: updates_zigbee2mqtt\n name: '[Updates] Zigbee2MQTT'\n icon: mdi:zigbee\n entities: \"{{states.update\\n |selectattr('entity_id', 'search', 'z2m')\\n |map(attribute='entity_id')\\n\\\n \\ |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: updates_other\n name: '[Updates] Other'\n icon: mdi:update\n entities: \"{{states.update\\n |rejectattr('entity_id', 'search', 'wud')\\n |rejectattr('entity_id',\\\n \\ 'search', 'z2m')\\n |rejectattr('entity_id', 'in', expand(integration_entities('hacs'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id', 'in', expand(integration_entities('Supervisor'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id', 'in', expand(integration_entities('unifi'))|map(attribute='entity_id')|list)\\n\\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: qbittorrent\n name: '[Group] qbittorrent'\n icon: mdi:download-box\n entities: \"{{ states\\n |selectattr('entity_id','search','qbittorrent_')\\n \\\n \\ |map(attribute='entity_id')\\n |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: rssfeeds\n name: '[Group] RSS Feeds'\n icon: mdi:rss-box\n entities: \"{{ states\\n |selectattr('entity_id','search','rssfeed_')\\n |map(attribute='entity_id')\\n\\\n \\ |list|sort }}\\n\"\n - service: group.set\n data:\n object_id: addon_switch\n name: '[Group] Add-on Switches'\n icon: mdi:toggle-switch\n entities: \"{{ states\\n |selectattr('entity_id','search','switch.addon_*')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: upcomingsport_withevents\n name: '[Group] Upcoming Sport, With Events'\n icon: mdi:soccer\n entities: \"{{ states|selectattr('entity_id','search','sensor.upcoming_sport_')\\n\\\n \\ |rejectattr('entity_id','search','this_week')\\n |rejectattr('entity_id','search','next_24_hours')\\n\\\n \\ |rejectattr('attributes.remaining_events','eq',0)\\n |map(attribute='entity_id')|list|sort\\\n \\ }}\\n\"\n - service: group.set\n data:\n object_id: upcomingsport_withoutevents\n name: '[Group] Upcoming Sport, Without Events'\n icon: mdi:soccer\n entities: \"{{ states|selectattr('entity_id','search','sensor.upcoming_sport_')\\n\\\n \\ |rejectattr('entity_id','search','this_week')\\n |rejectattr('entity_id','search','next_24_hours')\\n\\\n \\ |selectattr('attributes.remaining_events','eq',0)\\n |map(attribute='entity_id')|list|sort\\\n \\ }}\\n\"\n - service: group.set\n data:\n object_id: upcomingsport_thisweek\n name: '[Group] Upcoming Sport, This Week'\n icon: mdi:soccer\n entities: \"{{ states|selectattr('entity_id','search','sensor.upcoming_sport_')\\n\\\n \\ |rejectattr('entity_id','search','this_week')\\n |rejectattr('entity_id','search','next_24_hours')\\n\\\n \\ |rejectattr('attributes.remaining_events','==',0)\\n |selectattr(\\\"\\\n attributes.nextevent_timeto\\\", 'defined')\\n |selectattr('attributes.nextevent_timeto','<=',7)\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: livetrafficnsw\n name: '[Group] Live Traffic NSW'\n icon: mdi:dump-truck\n entities: \"{{ states|selectattr('entity_id','search','sensor.getdata_livetrafficnsw_')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: automations_sonos_favourites\n name: '[Group] Automations, Sonos Favourites'\n icon: si:sonos\n entities: \"{{ states\\n |selectattr('entity_id','search','automation.sonos_favourites*')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: script_sonos_playlists\n name: '[Group] Scripts, Sonos Playlists'\n icon: si:sonos\n entities: \"{{ states\\n |selectattr('entity_id','search','script.sonos_favourites*')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"\n - service: group.set\n data:\n object_id: hibp_breaches\n name: '[Group] Have I Been Pwned (HIBP) Breach Data'\n icon: mdi:virus-outline\n entities: \"{{ states\\n |selectattr('entity_id','search','sensor.breaches_*')\\n\\\n \\ |map(attribute='entity_id')|list|sort }}\\n\"",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
}
]
},
{
"id": "'1751697921200'",
"automation": "- id: '1751697921200'\n alias: Restart Zigbee2MQTT if lights unavailable\n description: ''\n triggers:\n - trigger: state\n entity_id:\n - light.office_lamp\n - light.bedroom_lamp\n to: unavailable\n for:\n hours: 0\n minutes: 5\n seconds: 0\n conditions: []\n actions:\n - action: hassio.addon_restart\n metadata: {}\n data:\n addon: 45df7312_zigbee2mqtt\n mode: single",
"config": [
{
"name": "office lamp",
"room": "office",
"type": "light",
"id": {
"entity_id": "light.office_lamp",
"device_id": null
}
},
{
"name": "bedroom lamp",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bedroom_lamp",
"device_id": null
}
}
]
},
{
"id": "ha_automations_reloaded",
"automation": "- id: ha_automations_reloaded\n alias: '[HA] Log Automation Reload'\n trigger:\n - platform: event\n event_type: automation_reloaded\n action:\n - service: system_log.write\n data:\n logger: '{{ this.entity_id }}'\n level: critical\n message: '**** Automations have been reloaded. ****'\n - service: browser_mod.notification\n data:\n duration: 30000\n message: '**** Automations have been reloaded. ****'",
"config": []
},
{
"id": "kiosk_turnonoffauto",
"automation": "- id: kiosk_turnonoffauto\n alias: '[Kiosk] Turn On/Off Automatically'\n description: ''\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.kiosk_off\n to: 'off'\n id: kiosk_off\n - platform: state\n entity_id:\n - binary_sensor.kiosk_off\n to: 'on'\n id: kiosk_on\n - platform: state\n entity_id:\n - person.thomas_baxter\n to: not_home\n id: kiosk_off\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - platform: state\n entity_id:\n - person.thomas_baxter\n to: home\n id: kiosk_on\n for:\n hours: 0\n minutes: 5\n seconds: 0\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - kiosk_off\n sequence:\n - service: switch.turn_on\n target:\n entity_id: switch.galaxy_tab_s5e_screensaver\n - conditions:\n - condition: trigger\n id:\n - kiosk_on\n sequence:\n - service: switch.turn_off\n target:\n entity_id: switch.galaxy_tab_s5e_screensaver\n mode: single",
"config": [
{
"name": "thomas baxter",
"room": null,
"type": "person",
"id": {
"entity_id": "person.thomas_baxter",
"device_id": null
}
},
{
"name": "kiosk off",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.kiosk_off",
"device_id": null
}
},
{
"name": "galaxy tab s5e screensaver",
"room": null,
"type": "switch",
"id": {
"entity_id": "switch.galaxy_tab_s5e_screensaver",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_1",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 1'\n description: Play BBC Radio 1 on Sonos\n id: sonos_favourites_play_bbc_radio_1\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_1\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_1\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 1",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 1",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_1",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_1xtra",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 1Xtra'\n description: Play BBC Radio 1Xtra on Sonos\n id: sonos_favourites_play_bbc_radio_1xtra\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_1xtra\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_1xtra\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 1Xtra",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 1",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_1",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 1xtra",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_1xtra",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_1_dance",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 1 Dance'\n description: Play BBC Radio 1 Dance on Sonos\n id: sonos_favourites_play_bbc_radio_1_dance\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_1_dance\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_1_dance\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 1 Dance",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 1",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_1",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 1 dance",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_1_dance",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_1_relax",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 1 Relax'\n description: Play BBC Radio 1 Relax on Sonos\n id: sonos_favourites_play_bbc_radio_1_relax\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_1_relax\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_1_relax\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 1 Relax",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 1",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_1",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 1 relax",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_1_relax",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_2",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 2'\n description: Play BBC Radio 2 on Sonos\n id: sonos_favourites_play_bbc_radio_2\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_2\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_2\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 2",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 2",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_2",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_3",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 3'\n description: Play BBC Radio 3 on Sonos\n id: sonos_favourites_play_bbc_radio_3\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_3\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_3\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 3",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 3",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_3",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_4_extra_comedy",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 4 Extra (Comedy)'\n description: Play BBC Radio 4 Extra (Comedy) on Sonos\n id: sonos_favourites_play_bbc_radio_4_extra_comedy\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_4_extra_comedy\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_4_extra_comedy\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 4 Extra (Comedy)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 4 extra comedy",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_4_extra_comedy",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_4_lw",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 4 LW'\n description: Play BBC Radio 4 LW on Sonos\n id: sonos_favourites_play_bbc_radio_4_lw\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_4_lw\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_4_lw\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 4 LW",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 4 lw",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_4_lw",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_5_live",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 5 live'\n description: Play BBC Radio 5 live on Sonos\n id: sonos_favourites_play_bbc_radio_5_live\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_5_live\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_5_live\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 5 live",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 5 live",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_5_live",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_5_live_sports_extra",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 5 live sports extra'\n description: Play BBC Radio 5 live sports extra on Sonos\n id: sonos_favourites_play_bbc_radio_5_live_sports_extra\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_5_live_sports_extra\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_5_live_sports_extra\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 5 live sports extra",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 5 live",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_5_live",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 5 live sports extra",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_5_live_sports_extra",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_radio_6_music",
"automation": "- alias: '[Sonos Favourites] Play BBC Radio 6 Music'\n description: Play BBC Radio 6 Music on Sonos\n id: sonos_favourites_play_bbc_radio_6_music\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_radio_6_music\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_radio_6_music\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC Radio 6 Music",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc radio 6 music",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_radio_6_music",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_bbc_world_service_news",
"automation": "- alias: '[Sonos Favourites] Play BBC World Service News'\n description: Play BBC World Service News on Sonos\n id: sonos_favourites_play_bbc_world_service_news\n trigger:\n - platform: webhook\n webhook_id: sonos_bbc_world_service_news\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_bbc_world_service_news\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: BBC World Service News",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites bbc world service news",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_bbc_world_service_news",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "'[Home] Bin Day Notification'",
"automation": "- alias: '[Home] Bin Day Notification'\n description: ''\n trigger:\n - platform: time\n at: '17:00:00'\n condition:\n - condition: template\n value_template: '{{ states.sensor | selectattr(''entity_id'',''search'',''binday_'')\n | selectattr(''attributes.days'', ''equalto'', 1) | map(attribute=''attributes.friendly_name'')|\n list | join('', '') | length > 0 }}'\n action:\n - service: notify.alert\n data:\n title: Tomorrow is Bin Day!\n message: 'Don''t forget to put the following bins out: {{ states.sensor | selectattr(''entity_id'',''search'',''binday_'')\n | selectattr(''attributes.days'', ''equalto'', 1) | map(attribute=''attributes.friendly_name'')|\n list | join('', '') }}'\n data:\n push:\n badge: 1\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": []
},
{
"id": "sonos_favourites_play_capital_anthems",
"automation": "- alias: '[Sonos Favourites] Play Capital Anthems'\n description: Play Capital Anthems on Sonos\n id: sonos_favourites_play_capital_anthems\n trigger:\n - platform: webhook\n webhook_id: sonos_capital_anthems\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_capital_anthems\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Capital Anthems",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites capital anthems",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_capital_anthems",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_capital_london",
"automation": "- alias: '[Sonos Favourites] Play Capital London'\n description: Play Capital London on Sonos\n id: sonos_favourites_play_capital_london\n trigger:\n - platform: webhook\n webhook_id: sonos_capital_london\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_capital_london\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Capital London",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites capital london",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_capital_london",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "clear_alert",
"automation": "- id: clear_alert\n alias: '[Notifications] Clear Alert'\n mode: parallel\n max: 25\n trigger:\n - platform: state\n id: mobile\n entity_id:\n - alert.weatherflow_cloud\n - alert.weatherflow_local\n - alert.zigbee_network\n - alert.test_alert\n to:\n - 'off'\n - idle\n action:\n - service: automation.turn_off\n target:\n entity_id: automation.notifications_mobile_notification_cleared\n data:\n stop_actions: false\n - service: notify.alert\n data:\n message: clear_notification\n data:\n tag: '{{ trigger.entity_id.split(''.'')[1] }}'\n continue_on_error: true\n - if: '{{ trigger.id == ''alert'' }}'\n then:\n - service: persistent_notification.dismiss\n data:\n notification_id: '{{ trigger.entity_id.split(''.'')[1] }}'\n continue_on_error: true\n - service: automation.turn_on\n target:\n entity_id: automation.notifications_mobile_notification_cleared",
"config": [
{
"name": "test alert",
"room": null,
"type": "alert",
"id": {
"entity_id": "alert.test_alert",
"device_id": null
}
},
{
"name": "weatherflow cloud",
"room": null,
"type": "alert",
"id": {
"entity_id": "alert.weatherflow_cloud",
"device_id": null
}
},
{
"name": "weatherflow local",
"room": null,
"type": "alert",
"id": {
"entity_id": "alert.weatherflow_local",
"device_id": null
}
},
{
"name": "zigbee network",
"room": null,
"type": "alert",
"id": {
"entity_id": "alert.zigbee_network",
"device_id": null
}
},
{
"name": "notifications mobile notification cleared",
"room": null,
"type": "automation",
"id": {
"entity_id": "automation.notifications_mobile_notification_cleared",
"device_id": null
}
}
]
},
{
"id": "Clear Offline Integration Notification",
"automation": "- alias: Clear Offline Integration Notification\n trigger:\n - platform: state\n entity_id: group.connectivity_monitors\n to: 'on'\n condition:\n - condition: template\n value_template: \"{{ expand('group.connectivity_monitors')\\n | rejectattr('entity_id',\\\n \\ 'in', ['sensor.ha_connected_integration_offline_integrations'])\\n | selectattr('state',\\\n \\ 'eq', 'off')\\n | list\\n | count == 0 }}\\n\"\n action:\n - service: notify.alert\n data:\n message: clear_notification\n data:\n tag: offline_integrations\n - service: input_number.set_value\n data:\n entity_id: input_number.offline_integration_count\n value: 0",
"config": [
{
"name": "offline integration count",
"room": null,
"type": "input_number",
"id": {
"entity_id": "input_number.offline_integration_count",
"device_id": null
}
},
{
"name": "connectivity monitors",
"room": null,
"type": "group",
"id": {
"entity_id": "group.connectivity_monitors",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_cnn_international",
"automation": "- alias: '[Sonos Favourites] Play CNN International'\n description: Play CNN International on Sonos\n id: sonos_favourites_play_cnn_international\n trigger:\n - platform: webhook\n webhook_id: sonos_cnn_international\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_cnn_international\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: CNN International",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites cnn international",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_cnn_international",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "database_repack",
"automation": "- alias: '[HA] Database Repack (Weekly)'\n id: database_repack\n mode: single\n trigger:\n - platform: time\n at: 02:00\n condition:\n - condition: time\n weekday:\n - sun\n - tue\n - thu\n action:\n - service: recorder.purge\n data:\n apply_filter: true\n repack: true",
"config": []
},
{
"id": "ha_db_remove_orphaned_entities",
"automation": "- alias: '[HA DB] Remove Orphaned Entities'\n id: ha_db_remove_orphaned_entities\n mode: single\n trigger:\n - platform: time\n at: 02:30:00\n condition: []\n action:\n - action: script.toggle\n metadata: {}\n data: {}\n target:\n entity_id: script.db_remove_orphaned_entities",
"config": [
{
"name": "db remove orphaned entities",
"room": null,
"type": "script",
"id": {
"entity_id": "script.db_remove_orphaned_entities",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_double_j_sydney",
"automation": "- alias: '[Sonos Favourites] Play Double J Sydney'\n description: Play Double J Sydney on Sonos\n id: sonos_favourites_play_double_j_sydney\n trigger:\n - platform: webhook\n webhook_id: sonos_double_j_sydney\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_double_j_sydney\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Double J Sydney",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites double j sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_double_j_sydney",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_double_j_sydney_nsw",
"automation": "- alias: '[Sonos Favourites] Play Double J (Sydney, NSW)'\n description: Play Double J (Sydney, NSW) on Sonos\n id: sonos_favourites_play_double_j_sydney_nsw\n trigger:\n - platform: webhook\n webhook_id: sonos_double_j_sydney_nsw\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_double_j_sydney_nsw\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Double J (Sydney, NSW)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites double j sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_double_j_sydney",
"device_id": null
}
},
{
"name": "sonos favourites double j sydney nsw",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_double_j_sydney_nsw",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_espn_radio",
"automation": "- alias: '[Sonos Favourites] Play ESPN Radio'\n description: Play ESPN Radio on Sonos\n id: sonos_favourites_play_espn_radio\n trigger:\n - platform: webhook\n webhook_id: sonos_espn_radio\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_espn_radio\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: ESPN Radio",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites espn radio",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_espn_radio",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "fan_set_speed",
"automation": "- id: fan_set_speed\n alias: '[Fan] Set Speed'\n description: '[Fan] Set Speed'\n trigger:\n - platform: state\n entity_id:\n - input_number.office_fan_speed\n action:\n - service: script.fan_set_speed\n data:\n fan: '{{ fan }}'\n speed: '{{ states(trigger.entity_id)| round (0, ''floor'') }}'\n variables:\n fan: '{{ trigger.entity_id | regex_replace(find=''input_number.'', replace='''',\n ignorecase=False) | regex_replace(find=''_speed'', replace='''', ignorecase=False)\n }}'",
"config": [
{
"name": "office fan speed",
"room": "office",
"type": "input_number",
"id": {
"entity_id": "input_number.office_fan_speed",
"device_id": null
}
},
{
"name": "fan set speed",
"room": null,
"type": "script",
"id": {
"entity_id": "script.fan_set_speed",
"device_id": null
}
}
]
},
{
"id": "influx2entity_flighttrack365day",
"automation": "- id: influx2entity_flighttrack365day\n alias: 'InfluxDB to Entity: 365 Day Flight Tracker'\n description: 'InfluxDB to Entity: 365 Day Flight Tracker'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"Flights\\\")\\n |> filter(fn: (r) => r[\\\"\\\n entity_id\\\"] == \\\"flighttracker_flights_24hr\\\")\\n |> filter(fn: (r) => r[\\\"\\\n _field\\\"] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_flighttracker_flights_365day\n unit_of_measurement: Flights\n friendly_name: Flight Tracker - Flights - 365 Day\n icon: mdi:airplane-takeoff\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"m\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"flighttracker_distance_max\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> map(fn: (r) => ({r with _value: r._value / 1000.0}))\\n\\\n \\ |> aggregateWindow(every: 1d, fn: max, createEmpty: true)\\n |> fill(value:\\\n \\ 0.0)\\n |> yield(name: \\\"max\\\")\"\n entity_id: sensor.archive_flighttracker_maxdistance_365day\n unit_of_measurement: km\n friendly_name: Flight Tracker - Max Distance - 365 Day\n icon: mdi:airplane-marker\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"m\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"flighttracker_distance_max\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> map(fn: (r) => ({r with _value: r._value / 1000.0}))\\n\\\n \\ |> aggregateWindow(every: 1d, fn: mean, createEmpty: true)\\n |> fill(value:\\\n \\ 0.0)\\n |> yield(name: \\\"mean\\\")\"\n entity_id: sensor.archive_flighttracker_avgdistance_365day\n unit_of_measurement: km\n friendly_name: Flight Tracker - Avg Distance - 365 Day\n icon: mdi:airplane-marker",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive flighttracker avgdistance 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_flighttracker_avgdistance_365day",
"device_id": null
}
},
{
"name": "archive flighttracker flights 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_flighttracker_flights_365day",
"device_id": null
}
},
{
"name": "archive flighttracker maxdistance 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_flighttracker_maxdistance_365day",
"device_id": null
}
}
]
},
{
"id": "'1698473315369'",
"automation": "- id: '1698473315369'\n alias: '[pixelclock] Flight Tracker Stats'\n description: ''\n trigger:\n - platform: state\n entity_id:\n - sensor.flighttracker_aircraft_total\n condition: []\n action:\n - service: mqtt.publish\n data:\n payload: '{%- set value = states(''sensor.flighttracker_aircraft_total'') -%}\n {%- set nearest_rego = state_attr(''sensor.plane_overhead_detail'',''aircraft_rego'')\n -%} {%- set nearest_type = state_attr(''sensor.plane_overhead_detail'', ''aircraft'')\n -%} {%- set nearest_trip = state_attr(''sensor.plane_overhead_detail'', ''origin_airport_code'')\n + \" > \" +state_attr(''sensor.plane_overhead_detail'', ''destination_airport_code'')\n -%} { \"icon\": 2933, \"pushIcon\": 0, \"repeat\": 1, \"textCase\": 2, \"text\": \"{{value\n }}, {{ nearest_type }}, {{ nearest_rego }}, {{nearest_trip}}\" }\n\n '\n topic: pixelclock/custom/flighttracker\n qos: 0\n retain: false\n mode: single",
"config": [
{
"name": "flighttracker aircraft total",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.flighttracker_aircraft_total",
"device_id": null
}
},
{
"name": "plane overhead detail",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.plane_overhead_detail",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_gaydio_london_top_40_pop_music",
"automation": "- alias: '[Sonos Favourites] Play Gaydio (London) (Top 40 & Pop Music)'\n description: Play Gaydio (London) (Top 40 & Pop Music) on Sonos\n id: sonos_favourites_play_gaydio_london_top_40_pop_music\n trigger:\n - platform: webhook\n webhook_id: sonos_gaydio_london_top_40_pop_music\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_gaydio_london_top_40_pop_music\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Gaydio (London) (Top 40 & Pop Music)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites gaydio london top 40 pop music",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_gaydio_london_top_40_pop_music",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_gaydio_manchester_dance_electronic",
"automation": "- alias: '[Sonos Favourites] Play Gaydio (Manchester) (Dance & Electronic)'\n description: Play Gaydio (Manchester) (Dance & Electronic) on Sonos\n id: sonos_favourites_play_gaydio_manchester_dance_electronic\n trigger:\n - platform: webhook\n webhook_id: sonos_gaydio_manchester_dance_electronic\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_gaydio_manchester_dance_electronic\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Gaydio (Manchester) (Dance & Electronic)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites gaydio manchester dance electronic",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_gaydio_manchester_dance_electronic",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_gb_news_radio_local_news",
"automation": "- alias: '[Sonos Favourites] Play GB News Radio (Local News)'\n description: Play GB News Radio (Local News) on Sonos\n id: sonos_favourites_play_gb_news_radio_local_news\n trigger:\n - platform: webhook\n webhook_id: sonos_gb_news_radio_local_news\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_gb_news_radio_local_news\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: GB News Radio (Local News)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites gb news radio local news",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_gb_news_radio_local_news",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "a7c427e6-ce03-49eb-9a23-c5bbe7625aa4",
"automation": "- alias: Admin - Generate README.md\n id: a7c427e6-ce03-49eb-9a23-c5bbe7625aa4\n initial_state: true\n trigger:\n - platform: time\n at: 05:00:00\n condition: []\n action:\n - service: readme.generate",
"config": []
},
{
"id": "github_push",
"automation": "- id: github_push\n alias: Github - Push config to GitHub (Daily)\n trigger:\n - at: 06:00:00\n platform: time\n action:\n - service: shell_command.push_to_github",
"config": []
},
{
"id": "github_stars",
"automation": "- id: github_stars\n alias: Github - Notify when repo starred\n trigger:\n - platform: state\n entity_id:\n - sensor.bacco007_homeassistantconfig_stars\n condition:\n - condition: template\n value_template: \"{% set ignore = ['unknown', 'unavailable', 'none','0'] %} {{\\\n \\ trigger.from_state.state not in ignore and\\n trigger.to_state.state not in\\\n \\ ignore and\\n trigger.to_state.state != trigger.from_state.state }}\\n\"\n mode: restart\n action:\n - service: persistent_notification.create\n data_template:\n title: Github - Repo Star\n notification_id: github_repostar\n message: '\"{{ trigger.to_state.attributes.friendly_name | regex_replace(find=''bacco007/'',\n replace='''', ignorecase=False) }}: {{ trigger.from_state.state }} => {{ trigger.to_state.state\n }}\"'",
"config": [
{
"name": "bacco007 homeassistantconfig stars",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.bacco007_homeassistantconfig_stars",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_gold_104_3",
"automation": "- alias: '[Sonos Favourites] Play GOLD 104.3'\n description: Play GOLD 104.3 on Sonos\n id: sonos_favourites_play_gold_104_3\n trigger:\n - platform: webhook\n webhook_id: sonos_gold_104_3\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_gold_104_3\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: GOLD 104.3",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites gold 104 3",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_gold_104_3",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "'1705097473383'",
"automation": "- id: '1705097473383'\n alias: '[GTFS] Get New Data and Run Update'\n description: ''\n trigger:\n - platform: time\n at: 02:30:00\n enabled: true\n condition:\n - condition: time\n weekday:\n - wed\n enabled: true\n action:\n - service: pyscript.download_gtfs\n data:\n url: https://api.transport.nsw.gov.au/v1/gtfs/schedule/regionbuses/newenglandnorthwest\n filename: buses_nenw.zip\n - delay:\n hours: 0\n minutes: 0\n seconds: 10\n milliseconds: 0\n - service: pyscript.download_gtfs\n data:\n url: https://api.transport.nsw.gov.au/v1/gtfs/schedule/nswtrains\n filename: nswtrains.zip\n - delay:\n hours: 0\n minutes: 0\n seconds: 10\n milliseconds: 0\n - service: gtfs2.update_gtfs\n metadata: {}\n data:\n extract_from: zip\n url: na\n file: buses_nenw\n clean_feed_info: true\n api_key_location: not_applicable\n api_key_name: x\n check_source_dates: false\n api_key: x\n - service: gtfs2.update_gtfs\n metadata: {}\n data:\n extract_from: zip\n url: na\n file: nswtrains\n clean_feed_info: true\n api_key_location: not_applicable\n api_key_name: x\n check_source_dates: false\n api_key: x\n mode: single",
"config": []
},
{
"id": "ha_count_executed_scripts",
"automation": "- alias: '[HA] Count Executed Scripts'\n id: ha_count_executed_scripts\n mode: parallel\n max: 25\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: script_started\n action:\n - service: counter.increment\n entity_id: counter.scripts_executed_counter",
"config": [
{
"name": "scripts executed counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.scripts_executed_counter",
"device_id": null
}
}
]
},
{
"id": "ha_newdevice",
"automation": "- alias: '[HA] New Device Connected'\n id: ha_newdevice\n trigger:\n - platform: event\n event_type: entity_registry_updated\n event_data:\n action: create\n condition:\n - condition: template\n value_template: '{{trigger.event.data.entity_id.split(''.'')[0] == ''device_tracker''\n }}'\n action:\n - variables:\n entity: '{{trigger.event.data.entity_id}}\n\n '\n - service: persistent_notification.create\n data:\n title: New Device Connected\n message: 'Device: {{state_attr(entity,''friendly_name'')}} Entity: {{entity}}\n Host: {{state_attr(entity,''host_name'')}} Ip: {{state_attr(entity,''ip'')}}\n Mac-address: {{state_attr(entity,''mac'')}} Full data: {{trigger.event.data}}\n\n '\n notification_id: newdevice\n - if:\n - condition: state\n entity_id: input_boolean.alerts_ha\n state: 'on'\n then:\n - service: notify.tbsmarthome\n data_template:\n message: New Device Connected\n target: '#tbsmarthome'\n data:\n blocks:\n - type: section\n text:\n type: mrkdwn\n text: New Device Connected\n - type: section\n text:\n type: mrkdwn\n text: 'Device: {{state_attr(entity,''friendly_name'')}} Entity: {{entity}}\n Host: {{state_attr(entity,''host_name'')}} Ip: {{state_attr(entity,''ip'')}}\n Mac-address: {{state_attr(entity,''mac'')}} Full data: {{trigger.event.data}}\n\n '\n - service: notify.mobile_app_tbiphone15promax\n data:\n message: 'Device: {{state_attr(entity,''friendly_name'')}} Entity: {{entity}}\n Host: {{state_attr(entity,''host_name'')}} Ip: {{state_attr(entity,''ip'')}}\n Mac-address: {{state_attr(entity,''mac'')}} Full data: {{trigger.event.data}}\n\n '\n title: New Device Connected\n data:\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": [
{
"name": "alerts ha",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.alerts_ha",
"device_id": null
}
},
{
"name": "tbsmarthome",
"room": null,
"type": null,
"id": {
"entity_id": "#tbsmarthome",
"device_id": null
}
}
]
},
{
"id": "ha_restart",
"automation": "- alias: '[HA] Restart'\n id: ha_restart\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: mobile_app_notification_action\n event_data:\n action: restart_ha\n action:\n - service: homeassistant.restart",
"config": []
},
{
"id": "ha_shutdown",
"automation": "- alias: '[HA] Shutdown'\n id: ha_shutdown\n trigger:\n - platform: homeassistant\n event: shutdown\n action:\n - service: system_log.write\n data:\n logger: '{{ this.entity_id }}\n\n '\n level: critical\n message: '**** HOME ASSISTANT STOP ****'\n - if:\n - condition: state\n entity_id: input_boolean.alerts_ha\n state: 'on'\n then:\n - service: notify.tbsmarthome\n data_template:\n message: Home Assistant Stopped\n target: '#tbsmarthome'\n data:\n blocks:\n - type: section\n text:\n type: mrkdwn\n text: '*Home Assistant Stopped*'\n - type: section\n text:\n type: mrkdwn\n text: Home Assistant Stopped\n - service: notify.mobile_app_tbiphone15promax\n data:\n message: Home Assistant has Stopped\n title: Home Assistant Stopped\n data:\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": [
{
"name": "alerts ha",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.alerts_ha",
"device_id": null
}
},
{
"name": "tbsmarthome",
"room": null,
"type": null,
"id": {
"entity_id": "#tbsmarthome",
"device_id": null
}
}
]
},
{
"id": "ha_startup",
"automation": "- alias: '[HA] Startup'\n id: ha_startup\n trigger:\n - platform: homeassistant\n event: start\n action:\n - service: system_log.write\n data:\n logger: '{{ this.entity_id }}'\n level: critical\n message: '**** HOME ASSISTANT START ****'\n - service: persistent_notification.create\n data:\n title: Automation Startup\n message: Waiting for startup to complete.\n notification_id: hass_restart\n - service: counter.reset\n entity_id: counter.automation_trigger_counter\n - service: input_boolean.turn_off\n entity_id: input_boolean.ha_startup_pending\n - service: persistent_notification.create\n data:\n title: Home Assistant Started\n message: HA started at {{ now().strftime('%-I:%M %p') }}.\n notification_id: hass_restart\n - if:\n - condition: state\n entity_id: input_boolean.alerts_ha\n state: 'on'\n then:\n - service: notify.tbsmarthome\n data_template:\n message: Home Assistant Started\n target: '#tbsmarthome'\n data:\n blocks:\n - type: section\n text:\n type: mrkdwn\n text: Home Assistant Started\n - type: section\n text:\n type: mrkdwn\n text: HA started at {{ now().strftime('%-I:%M %p') }}.\n - service: notify.mobile_app_tbiphone15promax\n data:\n message: HA started at {{ now().strftime('%-I:%M %p') }}.\n title: Home Assistant Started\n data:\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge\n - service: persistent_notification.dismiss\n data:\n notification_id: hass_restart\n - service: system_log.write\n data:\n logger: '{{ this.entity_id }}'\n level: critical\n message: '**** HOME ASSISTANT STARTUP COMPLETE ****'",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "alerts ha",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.alerts_ha",
"device_id": null
}
},
{
"name": "automation trigger counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.automation_trigger_counter",
"device_id": null
}
},
{
"name": "tbsmarthome",
"room": null,
"type": null,
"id": {
"entity_id": "#tbsmarthome",
"device_id": null
}
}
]
},
{
"id": "ha_count_triggered_automations",
"automation": "- alias: '[HA] Count Triggered Automations'\n id: ha_count_triggered_automations\n mode: parallel\n max: 25\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: automation_triggered\n condition:\n - condition: template\n value_template: '{{ not ''automation.ha_count_triggered_automations'' in (trigger.event.data.entity_id|string)\n }}'\n action:\n - service: counter.increment\n entity_id: counter.automation_trigger_counter",
"config": [
{
"name": "automation trigger counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.automation_trigger_counter",
"device_id": null
}
}
]
},
{
"id": "hibp_notify_new_breach",
"automation": "- alias: '[HIBP] Notify when new breach recorded'\n id: hibp_notify_new_breach\n mode: single\n trigger:\n - platform: state\n entity_id:\n - sensor.hibp_breach_summary\n condition:\n - condition: template\n value_template: '{{ trigger.to_state.state - trigger.from_state.state >= 1 }}'\n action:\n - service: notify.tbsmarthome\n data_template:\n message: New Breach on HIBP\n target: '#tbsmarthome'\n data:\n blocks:\n - type: section\n text:\n type: mrkdwn\n text: '*New Breach on HIBP*'\n - type: section\n text:\n type: mrkdwn\n text: HIBP has added a new breach on one of your email addresses\n - service: notify.mobile_app_tbiphone15promax\n data:\n message: HIBP has added a new breach on one of your email addresses\n title: New Breach on HIBP\n data:\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": [
{
"name": "hibp breach summary",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.hibp_breach_summary",
"device_id": null
}
},
{
"name": "tbsmarthome",
"room": null,
"type": null,
"id": {
"entity_id": "#tbsmarthome",
"device_id": null
}
}
]
},
{
"id": "presence_holiday_mode_auto_disable",
"automation": "- alias: '[Presence] Holiday Mode - Auto Disable'\n id: presence_holiday_mode_auto_disable\n trigger:\n platform: state\n entity_id: group.people\n from: not_home\n to: home\n condition:\n - condition: state\n entity_id: input_boolean.holiday_mode\n state: 'on'\n action:\n - service: input_boolean.turn_off\n entity_id: input_boolean.holiday_mode\n - service: notify.alert\n data:\n message: Holiday Mode Disabled\n title: Holiday Mode Auto Disabled\n data:\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": [
{
"name": "holiday mode",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "people",
"room": null,
"type": "group",
"id": {
"entity_id": "group.people",
"device_id": null
}
}
]
},
{
"id": "presence_holiday_mode_auto_enable",
"automation": "- alias: '[Presence] Holiday Mode - Auto Enable'\n id: presence_holiday_mode_auto_enable\n trigger:\n platform: state\n entity_id: group.people\n from: home\n to: not_home\n for: '24:00:00'\n action:\n - service: input_boolean.turn_on\n entity_id: input_boolean.holiday_mode\n - service: notify.alert\n data:\n message: Holiday Mode Enabled\n title: Holiday Mode Auto Enabled\n data:\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": [
{
"name": "holiday mode",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.holiday_mode",
"device_id": null
}
},
{
"name": "people",
"room": null,
"type": "group",
"id": {
"entity_id": "group.people",
"device_id": null
}
}
]
},
{
"id": "influx2entity_internetstats365day",
"automation": "- id: influx2entity_internetstats365day\n alias: 'InfluxDB to Entity: 365 Day Internet Stats'\n description: 'InfluxDB to Entity: 365 Day Internet Stats'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"Mbit/s\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"speedtest_download\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"value\\\"\\\n )\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every: 1d,\\\n \\ fn: max, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name: \\\"\\\n max\\\")\"\n entity_id: sensor.archive_internet_download_max_365day\n unit_of_measurement: mbit/s\n friendly_name: Internet Download Speed - Max Speed - 365 Day\n icon: mdi:download-network\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"Mbit/s\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"speedtest_download\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"value\\\"\\\n )\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every: 1d,\\\n \\ fn: min, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name: \\\"\\\n min\\\")\"\n entity_id: sensor.archive_internet_download_min_365day\n unit_of_measurement: mbit/s\n friendly_name: Internet Download Speed - Min Speed - 365 Day\n icon: mdi:download-network\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"Mbit/s\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"speedtest_download\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"value\\\"\\\n )\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every: 1d,\\\n \\ fn: mean, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name: \\\"\\\n mean\\\")\"\n entity_id: sensor.archive_internet_download_mean_365day\n unit_of_measurement: mbit/s\n friendly_name: Internet Download Speed - Mean Speed - 365 Day\n icon: mdi:download-network\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"Mbit/s\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"speedtest_upload\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"value\\\"\\\n )\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every: 1d,\\\n \\ fn: max, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name: \\\"\\\n max\\\")\"\n entity_id: sensor.archive_internet_upload_max_365day\n unit_of_measurement: mbit/s\n friendly_name: Internet Upload Speed - Max Speed - 365 Day\n icon: mdi:upload-network\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"Mbit/s\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"speedtest_upload\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"value\\\"\\\n )\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every: 1d,\\\n \\ fn: min, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name: \\\"\\\n min\\\")\"\n entity_id: sensor.archive_internet_upload_min_365day\n unit_of_measurement: mbit/s\n friendly_name: Internet Upload Speed - Min Speed - 365 Day\n icon: mdi:upload-network\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"Mbit/s\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"speedtest_upload\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"value\\\"\\\n )\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every: 1d,\\\n \\ fn: mean, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name: \\\"\\\n mean\\\")\"\n entity_id: sensor.archive_internet_upload_mean_365day\n unit_of_measurement: mbit/s\n friendly_name: Internet Upload Speed - Mean Speed - 365 Day\n icon: mdi:upload-network",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive internet download max 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_internet_download_max_365day",
"device_id": null
}
},
{
"name": "archive internet download mean 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_internet_download_mean_365day",
"device_id": null
}
},
{
"name": "archive internet download min 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_internet_download_min_365day",
"device_id": null
}
},
{
"name": "archive internet upload max 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_internet_upload_max_365day",
"device_id": null
}
},
{
"name": "archive internet upload mean 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_internet_upload_mean_365day",
"device_id": null
}
},
{
"name": "archive internet upload min 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_internet_upload_min_365day",
"device_id": null
}
}
]
},
{
"id": "influx2entity_lastfmplaycount365day",
"automation": "- id: influx2entity_lastfmplaycount365day\n alias: 'InfluxDB to Entity: 365 Day LastFM Playcount'\n description: 'InfluxDB to Entity: 365 Day LastFM Playcount'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name:\\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"entity_id\\\"] == \\\"lastfm_user_playcount\\\")\\n |> filter(fn: (r)\\\n \\ => r[\\\"_field\\\"] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n\\\n \\ |> filter(fn: (r) => r._value != 0.0 )\\n |> aggregateWindow(every: 1d,\\\n \\ fn: last, createEmpty: true)\\n |> fill(usePrevious: true)\\n |> yield(name:\\\n \\ \\\"last\\\")\"\n entity_id: sensor.archive_last_fm_playcount_365day\n unit_of_measurement: Songs\n friendly_name: Last.fm - Playcount - 365 Day\n icon: si:lastfm\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name:\\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"entity_id\\\"] == \\\"lastfm_user_playcount\\\")\\n |> filter(fn: (r)\\\n \\ => r[\\\"_field\\\"] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n\\\n \\ |> filter(fn: (r) => r._value != 0.0 )\\n |> aggregateWindow(every: 1d,\\\n \\ fn: last, createEmpty: true)\\n |> fill(usePrevious: true)\\n |> derivative(unit:\\\n \\ 1d)\\n |> yield(name: \\\"last\\\")\"\n entity_id: sensor.archive_last_fm_dailyplaycount_365day\n unit_of_measurement: Songs\n friendly_name: Last.fm - Daily Playcount - 365 Day\n icon: si:lastfm",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive last fm dailyplaycount 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_last_fm_dailyplaycount_365day",
"device_id": null
}
},
{
"name": "archive last fm playcount 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_last_fm_playcount_365day",
"device_id": null
}
}
]
},
{
"id": "c23a62bc-023c-4235-bf6d-bf768bd81006",
"automation": "- id: c23a62bc-023c-4235-bf6d-bf768bd81006\n alias: '[Presence] Leave Home > Switch Off'\n description: ''\n trigger:\n - platform: zone\n entity_id: person.thomas_baxter\n zone: zone.home\n event: leave\n condition: []\n action:\n - service: light.turn_off\n metadata: {}\n data:\n transition: 20\n target:\n device_id:\n - 126e91428c97177372f5ef7398eb537e\n - 6623c3d12a6637f37fab2c6e24c41afc\n - service: media_player.media_stop\n metadata: {}\n data: {}\n target:\n device_id:\n - 8fbcca75df7f6f0eb5cd1cae9194d2d2\n - 8975bd002481c313a15a4822793e8c2c\n - 74e08bc2098b8b7eacd3efdba5af32f3\n - 68de45dcbb7f4a3ea545c62e767c7c8b\n mode: single",
"config": [
{
"name": "thomas baxter",
"room": null,
"type": "person",
"id": {
"entity_id": "person.thomas_baxter",
"device_id": null
}
},
{
"name": "device 126e91428c97177372f5ef7398eb537e",
"room": null,
"type": "light",
"id": {
"entity_id": null,
"device_id": "126e91428c97177372f5ef7398eb537e"
}
},
{
"name": "device 6623c3d12a6637f37fab2c6e24c41afc",
"room": null,
"type": "light",
"id": {
"entity_id": null,
"device_id": "6623c3d12a6637f37fab2c6e24c41afc"
}
},
{
"name": "device 8fbcca75df7f6f0eb5cd1cae9194d2d2",
"room": null,
"type": "media_player",
"id": {
"entity_id": null,
"device_id": "8fbcca75df7f6f0eb5cd1cae9194d2d2"
}
},
{
"name": "device 8975bd002481c313a15a4822793e8c2c",
"room": null,
"type": "media_player",
"id": {
"entity_id": null,
"device_id": "8975bd002481c313a15a4822793e8c2c"
}
},
{
"name": "device 74e08bc2098b8b7eacd3efdba5af32f3",
"room": null,
"type": "media_player",
"id": {
"entity_id": null,
"device_id": "74e08bc2098b8b7eacd3efdba5af32f3"
}
},
{
"name": "device 68de45dcbb7f4a3ea545c62e767c7c8b",
"room": null,
"type": "media_player",
"id": {
"entity_id": null,
"device_id": "68de45dcbb7f4a3ea545c62e767c7c8b"
}
}
]
},
{
"id": "notification_lightning_warning",
"automation": "- alias: '[Notification] Lightning Warning'\n id: notification_lightning_warning\n mode: single\n trigger:\n - platform: state\n entity_id: sensor.weather_lightning_count\n condition:\n - condition: numeric_state\n entity_id: sensor.weather_lightning_distance\n below: 10\n action:\n - service: notify.alert\n data:\n title: Weather Alert\n message: Lightning within 10km of home!\n data:\n tag: weather-lightning\n subtitle: ⚡️ Lightning within 10km ⚡",
"config": [
{
"name": "weather lightning count",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_lightning_count",
"device_id": null
}
},
{
"name": "weather lightning distance",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_lightning_distance",
"device_id": null
}
}
]
},
{
"id": "logs_counter_reset",
"automation": "- id: logs_counter_reset\n alias: Logs - Counters reset on start\n mode: queued\n max: 100\n max_exceeded: silent\n trigger:\n platform: homeassistant\n event: start\n action:\n - service: counter.reset\n entity_id: counter.logs_warning_counter\n - service: counter.reset\n entity_id: counter.logs_critical_counter\n - service: counter.reset\n entity_id: counter.logs_error_counter",
"config": [
{
"name": "logs warning counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.logs_warning_counter",
"device_id": null
}
},
{
"name": "logs critical counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.logs_critical_counter",
"device_id": null
}
},
{
"name": "logs error counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.logs_error_counter",
"device_id": null
}
}
]
},
{
"id": "ha_logfileincrease_notification",
"automation": "- alias: '[HA] Log File Increase - Notification'\n id: ha_logfileincrease_notification\n trigger:\n platform: numeric_state\n entity_id:\n - sensor.ha_logfile_recent_change\n above: 1\n value_template: '{{state.state | int(0) }}'\n action:\n - service: notify.alert\n data:\n message: 'The Home Assistant Log File recently increased {{ states(\"ha_logfile_recent_change\")\n }} MB. Please check whether something may be wrong\n\n '\n title: 'Home Assistant Log Increased {{ states(\"ha_logfile_recent_change\") }}\n MB\n\n '\n data:\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": [
{
"name": "ha logfile recent change",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.ha_logfile_recent_change",
"device_id": null
}
}
]
},
{
"id": "logger_setdefaultlevel",
"automation": "- id: logger_setdefaultlevel\n alias: Logger - Set Default Level\n trigger:\n - platform: state\n entity_id: input_select.log_level\n action:\n service: logger.set_default_level\n data_template:\n level: '{{ states(''input_select.log_level'') }}'",
"config": [
{
"name": "log level",
"room": null,
"type": "input_select",
"id": {
"entity_id": "input_select.log_level",
"device_id": null
}
}
]
},
{
"id": "ha_log_level_selection",
"automation": "- id: ha_log_level_selection\n alias: '[HA] Log Level Selection'\n variables:\n level: '{{ states(''input_select.log_level'') }}'\n trigger:\n - platform: homeassistant\n event: start\n - platform: state\n entity_id: input_select.log_level\n to: null\n action:\n - service: logger.set_default_level\n data:\n level: '{{ level }}'\n - service: system_log.write\n data:\n logger: '{{ this.entity_id }}'\n level: critical\n message: '***** HASS LOG LEVEL SET TO : {{ level }} *****'",
"config": [
{
"name": "log level",
"room": null,
"type": "input_select",
"id": {
"entity_id": "input_select.log_level",
"device_id": null
}
}
]
},
{
"id": "logs_increment_counter",
"automation": "- alias: '[Logs] Increment Counter'\n id: logs_increment_counter\n trigger:\n - platform: event\n event_type: system_log_event\n event_data:\n level: ERROR\n id: error\n - platform: event\n event_type: system_log_event\n event_data:\n level: WARNING\n id: warning\n - platform: event\n event_type: system_log_event\n event_data:\n level: CRITICAL\n id: critical\n action:\n - choose:\n - conditions:\n - condition: trigger\n id: warning\n sequence:\n - service: counter.increment\n entity_id: counter.logs_warning_counter\n - conditions:\n - condition: trigger\n id: error\n - condition: and\n conditions:\n - condition: template\n value_template: '{{ not ''logs_error_counter_increment'' in (trigger.event.data.message|string)\n }}'\n sequence:\n - service: counter.increment\n entity_id: counter.logs_error_counter\n - conditions:\n - condition: trigger\n id: critical\n sequence:\n - service: counter.increment\n entity_id: counter.logs_critical_counter\n mode: queued\n max: 20\n max_exceeded: silent",
"config": [
{
"name": "logs warning counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.logs_warning_counter",
"device_id": null
}
},
{
"name": "logs critical counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.logs_critical_counter",
"device_id": null
}
},
{
"name": "logs error counter",
"room": null,
"type": "counter",
"id": {
"entity_id": "counter.logs_error_counter",
"device_id": null
}
}
]
},
{
"id": "influx2entity_misc",
"automation": "- id: influx2entity_misc\n alias: 'InfluxDB to Entity: Misc'\n description: 'InfluxDB to Entity: Misc'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"karma\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"reddit_profile_bacco007\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] ==\\\n \\ \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: last, createEmpty: true)\\n |> fill(usePrevious: true)\\n |> yield(name:\\\n \\ \\\"last\\\")\"\n entity_id: sensor.archive_reddit_karma_365day\n unit_of_measurement: Karma\n friendly_name: Reddit - Karma - 365 Day\n icon: mdi:reddit\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: 'import \"timezone\" option location = timezone.location(name: \"Australia/Sydney\")\n from(bucket: \"homeassistant\") |> range(start: -1y) |> filter(fn: (r) => r[\"entity_id\"]\n == \"untappd_total_beers\") |> filter(fn: (r) => r[\"_field\"] == \"value\") |>\n drop(columns: [\"friendly_name\"]) |> aggregateWindow(every: 1d, fn: last, createEmpty:\n true) |> fill(usePrevious: true) |> yield(name: \"last\")'\n entity_id: sensor.archive_untappd_beers_365day\n unit_of_measurement: Beers\n friendly_name: Untappd - Beers - 365 Day\n icon: mdi:beer-outline",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive reddit karma 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_reddit_karma_365day",
"device_id": null
}
},
{
"name": "archive untappd beers 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_untappd_beers_365day",
"device_id": null
}
}
]
},
{
"id": "alert_mobile_cleared",
"automation": "- id: alert_mobile_cleared\n alias: '[Notifications] Mobile Notification Cleared'\n mode: parallel\n trigger:\n - platform: event\n event_type: mobile_app_notification_cleared\n condition:\n - '{{ trigger.event.data.tag is defined }}'\n action:\n - service: automation.turn_off\n target:\n entity_id: automation.notifications_mobile_notification_cleared\n data:\n stop_actions: false\n - service: notify.alert\n data:\n message: clear_notification\n data:\n tag: '{{ trigger.event.data[''tag''] }}'\n continue_on_error: true\n - service: automation.turn_on\n target:\n entity_id: automation.notifications_mobile_notification_cleared",
"config": [
{
"name": "notifications mobile notification cleared",
"room": null,
"type": "automation",
"id": {
"entity_id": "automation.notifications_mobile_notification_cleared",
"device_id": null
}
}
]
},
{
"id": "ha_autogroup_monitored_entities",
"automation": "- id: ha_autogroup_monitored_entities\n alias: '[HA] Autogroup - Monitored Entities'\n description: Update Monitored Entities Groups automatically\n mode: single\n max_exceeded: silent\n triggers:\n - platform: event\n event_type: call_service\n event_data:\n domain: group\n service: reload\n - platform: time_pattern\n minutes: /1\n actions:\n - service: group.set\n data:\n object_id: monitor_unavailable_entities\n name: '[Group] Monitor - Unavailable Entities'\n icon: mdi:check-circle\n entities: \"{%- set ignore_seconds = 60 %} {% set ignore_label = 'ignored' %}\\\n \\ {% set ignored_domains = ['button', 'conversation', 'device_tracker', 'event',\\\n \\ 'group', 'image', 'input_button', 'input_text', 'remote', 'tts', 'scene',\\\n \\ 'stt', 'media_player'] %} {% set ignore_ts = (now().timestamp() - ignore_seconds)|as_datetime\\\n \\ %} {% set disabled_device_entities = state_attr('sensor.disabled_entities',\\\n \\ 'entities')\\n | regex_replace(find='\\\\[|\\\\]|\\\\{|\\\\}|\\\\'entity_id\\\\':',\\\n \\ replace='') %}\\n{% set ignored_devices = label_devices(ignore_label | lower)\\\n \\ %} {% set ignored_device_entities = namespace(value=[]) %} {% for device\\\n \\ in ignored_devices %}\\n {% set ignored_device_entities.value = ignored_device_entities.value\\\n \\ + device_entities(device) %}\\n{% endfor %} {{ states\\n | rejectattr('domain',\\\n \\ 'in', ignored_domains)\\n | rejectattr('entity_id', 'in', disabled_device_entities)\\n\\\n \\ | rejectattr('entity_id', 'in', state_attr('group.ignored_unavailable_entities',\\\n \\ 'entity_id'))\\n | rejectattr('entity_id', 'in', ['group.monitor_unavailable_entities',\\\n \\ 'group.ignored_unavailable_entities'])\\n | rejectattr('entity_id', 'in',\\\n \\ ignored_device_entities.value)\\n | rejectattr('entity_id', 'in', label_entities(ignore_label\\\n \\ | lower))\\n | rejectattr('last_changed', 'ge', ignore_ts)\\n | selectattr('state',\\\n \\ 'in', ['unknown', 'unavailable'])\\n |rejectattr('entity_id','search','rssfeed_')\\n\\\n \\ |rejectattr('entity_id','search','button.')\\n |rejectattr('entity_id','search','select.')\\n\\\n \\ |rejectattr('entity_id','search','_color')\\n |rejectattr('entity_id','search','wunder')\\n\\\n \\ |rejectattr('entity_id','search','gosungrow')\\n |rejectattr('entity_id','search','z2m')\\n\\\n \\ |rejectattr('entity_id','search','zigbee2mqtt')\\n |rejectattr('entity_id','search','local_stop_zone')\\n\\\n \\ |rejectattr('entity_id','search','in_radius_zone')\\n |rejectattr('entity_id','search','sensor.weather_')\\n\\\n \\ |rejectattr('entity_id','search','upcoming_sport')\\n |rejectattr('entity_id','in',expand(integration_entities('browser_mod'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('gdacs'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('github'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('glances'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('hassio'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('openuv'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('utility_meter'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('waqi'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('tautulli'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('here_travel_time'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('tomorrowio'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('pirateweather'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('proxmoxve'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('blitzortung'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('ble_monitor'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('waternsw'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('ical'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('bureau_of_meteorology'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('weatherflow'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('eufy_security'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('browser_mod'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('mobile_app'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('gtfs2'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('google_fit'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('sensibo'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('astroweather'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('satellitetracker'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('gtfs2'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('openweathermap'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('withings'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('hdhomerun'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('flightradar24'))|map(attribute='entity_id')|list)\\n\\\n \\ |rejectattr('entity_id','in',expand(integration_entities('bermuda'))|map(attribute='entity_id')|list)\\n\\\n \\ | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: monitor_available_updates\n name: '[Group] Monitor - Available Updates'\n entities: \"{{ states.update\\n | selectattr('state', 'eq', 'on')\\n | map(attribute='entity_id')\\\n \\ | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: monitor_offline_integrations\n name: '[Group] Monitor - Offline Integrations'\n entities: \"{{ expand('group.connectivity_monitors') | selectattr('state', 'eq',\\\n \\ 'off')\\n | map(attribute='entity_id') | list | sort }}\\n\"",
"config": [
{
"name": "connectivity monitors",
"room": null,
"type": "group",
"id": {
"entity_id": "group.connectivity_monitors",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_msnbc",
"automation": "- alias: '[Sonos Favourites] Play MSNBC'\n description: Play MSNBC on Sonos\n id: sonos_favourites_play_msnbc\n trigger:\n - platform: webhook\n webhook_id: sonos_msnbc\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_msnbc\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: MSNBC",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites msnbc",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_msnbc",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "ha_autogroup_network_devices",
"automation": "- id: ha_autogroup_network_devices\n alias: '[HA] Autogroup - Network Devices'\n mode: single\n max_exceeded: silent\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: event\n event_type: call_service\n event_data:\n domain: group\n service: reload\n - platform: time_pattern\n minutes: /5\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: group.set\n data:\n object_id: wired_devices\n entities: \"{{ states.device_tracker\\n | selectattr('attributes.source_type',\\\n \\ 'defined')\\n | selectattr('attributes.source_type', 'eq', 'router')\\n\\\n \\ | rejectattr('attributes.essid', 'defined')\\n | map(attribute='entity_id')\\\n \\ | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: wireless_devices\n entities: \"{{ states.device_tracker\\n | selectattr('attributes.source_type',\\\n \\ 'defined')\\n | selectattr('attributes.source_type', 'eq', 'router')\\n\\\n \\ | selectattr('attributes.essid', 'defined')\\n | map(attribute='entity_id')\\\n \\ | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: unknown_devices\n entities: \"{{ states.device_tracker\\n | rejectattr('attributes.source_type',\\\n \\ 'in', ['router', 'bluetooth_le'])\\n | rejectattr('attributes.device_type',\\\n \\ 'in',\\n ['bluetooth', 'wired', 'wireless', 'location', 'bluetooth_le'])\\n\\\n \\ | rejectattr('attributes.integration', 'in', ['iCloud3'])\\n | map(attribute='entity_id')\\\n \\ | select('has_value') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: bluetooth_devices\n entities: \"{{ states.device_tracker\\n | selectattr('attributes.device_type',\\\n \\ 'eq', 'bluetooth')\\n | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: bluetooth_le_devices\n entities: \"{{ states.device_tracker\\n | selectattr('attributes.source_type',\\\n \\ 'eq', 'bluetooth_le')\\n | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: icloud3_devices\n entities: \"{{ states.device_tracker\\n | selectattr('attributes.integration',\\\n \\ 'in', ['iCloud3'])\\n | map(attribute='entity_id') | list | sort }}\\n\"",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_nova_90s",
"automation": "- alias: '[Sonos Favourites] Play Nova 90s'\n description: Play Nova 90s on Sonos\n id: sonos_favourites_play_nova_90s\n trigger:\n - platform: webhook\n webhook_id: sonos_nova_90s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_nova_90s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Nova 90s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites nova 90s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_nova_90s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_nova_96_9",
"automation": "- alias: '[Sonos Favourites] Play Nova 96.9'\n description: Play Nova 96.9 on Sonos\n id: sonos_favourites_play_nova_96_9\n trigger:\n - platform: webhook\n webhook_id: sonos_nova_96_9\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_nova_96_9\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Nova 96.9",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites nova 96 9",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_nova_96_9",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_nova_nation",
"automation": "- alias: '[Sonos Favourites] Play Nova Nation'\n description: Play Nova Nation on Sonos\n id: sonos_favourites_play_nova_nation\n trigger:\n - platform: webhook\n webhook_id: sonos_nova_nation\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_nova_nation\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Nova Nation",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites nova nation",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_nova_nation",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_nova_throwbacks",
"automation": "- alias: '[Sonos Favourites] Play Nova Throwbacks'\n description: Play Nova Throwbacks on Sonos\n id: sonos_favourites_play_nova_throwbacks\n trigger:\n - platform: webhook\n webhook_id: sonos_nova_throwbacks\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_nova_throwbacks\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Nova Throwbacks",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites nova throwbacks",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_nova_throwbacks",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "notifications_offline_integrations",
"automation": "- alias: '[Notifications] Offline Integrations'\n id: notifications_offline_integrations\n mode: single\n trigger:\n - platform: time_pattern\n minutes: /1\n condition:\n - condition: template\n value_template: \"{{ expand('group.connectivity_monitors')\\n | rejectattr('entity_id',\\\n \\ 'in', ['binary_sensor.ha_connected_integration_offline_integrations'])\\n \\\n \\ | selectattr('state', 'eq', 'off')\\n | list\\n | count > 0 }}\\n\"\n action:\n - variables:\n current_count: \"{{ expand('group.connectivity_monitors')\\n | rejectattr('entity_id',\\\n \\ 'in', ['binary_sensor.ha_connected_integration_offline_integrations'])\\n\\\n \\ | selectattr('state', 'eq', 'off')\\n | list\\n | count }}\\n\"\n previous_count: '{{ states(''input_number.offline_integration_count'') | int\n }}\n\n '\n - choose:\n - conditions:\n - condition: template\n value_template: '{{ current_count != previous_count }}'\n sequence:\n - service: notify.alert\n data:\n title: Offline Integrations Detected\n message: \"{{ current_count }} Offline Integrations Detected: {{ expand('group.connectivity_monitors')\\n\\\n \\ | rejectattr('entity_id', 'in', ['binary_sensor.ha_connected_integration_offline_integrations'])\\n\\\n \\ | selectattr('state', 'eq', 'off')\\n | map(attribute='entity_id')\\n\\\n \\ | map('replace', 'binary_sensor.ha_connected_integration_', '')\\n\\\n \\ | list\\n | sort\\n | join('\\\\n- ') }}\"\n data:\n tag: offline_integrations\n notification_id: offline_integrations\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge\n group: alerts\n actions:\n - title: Restart HA\n action: notify_action_restart_ha\n destructive: true\n authenticationRequired: true\n - title: Pause Alert\n action: pause_alert_offline_integrations\n - service: input_number.set_value\n data:\n entity_id: input_number.offline_integration_count\n value: '{{ current_count }}'",
"config": [
{
"name": "offline integration count",
"room": null,
"type": "input_number",
"id": {
"entity_id": "input_number.offline_integration_count",
"device_id": null
}
},
{
"name": "connectivity monitors",
"room": null,
"type": "group",
"id": {
"entity_id": "group.connectivity_monitors",
"device_id": null
}
}
]
},
{
"id": "003780ee-c3a1-475a-b54f-8f2ef3a5c2dcß",
"automation": "- alias: '[OpenUV] Update During Day'\n id: 003780ee-c3a1-475a-b54f-8f2ef3a5c2dcß\n trigger:\n - platform: time_pattern\n minutes: /20\n condition:\n - condition: state\n entity_id: binary_sensor.connected_wan\n state: 'on'\n - condition: sun\n after: sunrise\n - condition: sun\n before: sunset\n action:\n service: homeassistant.update_entity\n target:\n entity_id:\n - sensor.current_uv_index",
"config": [
{
"name": "connected wan",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.connected_wan",
"device_id": null
}
},
{
"name": "current uv index",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.current_uv_index",
"device_id": null
}
}
]
},
{
"id": "pause_alert",
"automation": "- id: pause_alert\n alias: '[Notifications] Pause Alert'\n mode: parallel\n variables:\n alert: '{{ trigger.event.data[''action''][12:] }}'\n trigger:\n - platform: event\n event_type: mobile_app_notification_action\n condition: '{{ trigger.event.data[''action''][:11] == ''pause_alert'' }}'\n action:\n - service: automation.turn_off\n target:\n entity_id: automation.notifications_clear_alert\n data:\n stop_actions: false\n - service: alert.turn_off\n target:\n entity_id: alert.{{ alert }}\n continue_on_error: true\n - service: automation.turn_on\n target:\n entity_id: automation.notifications_clear_alert",
"config": [
{
"name": "notifications clear alert",
"room": null,
"type": "automation",
"id": {
"entity_id": "automation.notifications_clear_alert",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_playlists",
"automation": "- alias: '[Sonos Favourites] Play Playlists'\n description: Play Playlists on Sonos\n id: sonos_favourites_play_playlists\n trigger:\n - platform: webhook\n webhook_id: sonos_playlists\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_playlists\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Playlists",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites playlists",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_playlists",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "pyscript_getdata_untappd",
"automation": "- id: pyscript_getdata_untappd\n alias: '[PyScript] GetData: Untappd'\n description: '[PyScript] GetData: Untappd'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /3\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.getdata_untappd_project52",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
}
]
},
{
"id": "pyscript_getdata_essentialenergy",
"automation": "- id: pyscript_getdata_essentialenergy\n alias: 'PyScript, GetData: Essential Energy Outages'\n description: 'PyScript, GetData: Essential Energy Outages'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n minutes: /15\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.getdata_essentialenergyoutages\n data:\n entity_id: sensor.essential_energy_outages_current\n dataseturl: https://www.essentialenergy.com.au/Assets/kmz/current.kml\n friendly_name: '[Essential Energy] Outages, Current'\n icon: mdi:alert-circle\n - service: pyscript.getdata_essentialenergyoutages\n data:\n entity_id: sensor.essential_energy_outages_future\n dataseturl: https://www.essentialenergy.com.au/Assets/kmz/future.kml\n friendly_name: '[Essential Energy] Outages, Future'\n icon: mdi:alert-box\n - service: pyscript.getdata_essentialenergyoutages\n data:\n entity_id: sensor.essential_energy_outages_cancelled\n dataseturl: https://www.essentialenergy.com.au/Assets/kmz/cancelled.kml\n friendly_name: '[Essential Energy] Outages, Cancelled'\n icon: mdi:alert-circle-check",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "essential energy outages cancelled",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.essential_energy_outages_cancelled",
"device_id": null
}
},
{
"name": "essential energy outages current",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.essential_energy_outages_current",
"device_id": null
}
},
{
"name": "essential energy outages future",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.essential_energy_outages_future",
"device_id": null
}
}
]
},
{
"id": "pyscript_getdata_hazardwatch",
"automation": "- id: pyscript_getdata_hazardwatch\n alias: 'PyScript, GetData: Hazard Watch'\n description: 'PyScript, GetData: Hazard Watch'\n trigger:\n - platform: homeassistant\n event: start\n - platform: time_pattern\n hours: /1\n condition: []\n mode: single\n action:\n - service: pyscript.getdata_hazardwatch",
"config": []
},
{
"id": "pyscript_getdata_livetraffic",
"automation": "- id: pyscript_getdata_livetraffic\n alias: 'PyScript, GetData: Live Traffic'\n description: 'PyScript, GetData: Live Traffic'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n minutes: /30\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.getdata_livetrafficnsw\n data:\n entity_id: sensor.getdata_livetrafficnsw_majorevents\n dataseturl: https://www.livetraffic.com/traffic/hazards/majorevent.json\n friendly_name: Live Traffic NSW - Major Events\n icon: mdi:party-popper\n - service: pyscript.getdata_livetrafficnsw\n data:\n entity_id: sensor.getdata_livetrafficnsw_incidentslga\n dataseturl: https://www.livetraffic.com/traffic/hazards/regional/lga-incidents.json\n friendly_name: Live Traffic NSW - Incidents (LGA)\n icon: mdi:road-variant\n - service: pyscript.getdata_livetrafficnsw\n data:\n entity_id: sensor.getdata_livetrafficnsw_roadwork\n dataseturl: https://www.livetraffic.com/traffic/hazards/roadwork.json\n friendly_name: Live Traffic NSW - Roadwork\n icon: mdi:dump-truck\n - service: pyscript.getdata_livetrafficnsw\n data:\n entity_id: sensor.getdata_livetrafficnsw_incidents\n dataseturl: https://www.livetraffic.com/traffic/hazards/incident.json\n friendly_name: Live Traffic NSW - Incidents\n icon: mdi:road-variant\n - service: pyscript.getdata_livetrafficnsw\n data:\n entity_id: sensor.getdata_livetrafficnsw_flood\n dataseturl: https://www.livetraffic.com/traffic/hazards/flood.json\n friendly_name: Live Traffic NSW - Flood\n icon: mdi:home-flood\n - service: pyscript.getdata_livetrafficnsw\n data:\n entity_id: sensor.getdata_livetrafficnsw_alpine\n dataseturl: https://www.livetraffic.com/traffic/hazards/alpine.json\n friendly_name: Live Traffic NSW - Alpine\n icon: mdi:snowflake-alert\n - service: pyscript.getdata_livetrafficnsw\n data:\n entity_id: sensor.getdata_livetrafficnsw_fire\n dataseturl: https://www.livetraffic.com/traffic/hazards/fire.json\n friendly_name: Live Traffic NSW - Fire\n icon: mdi:fire-alert",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "getdata livetrafficnsw alpine",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.getdata_livetrafficnsw_alpine",
"device_id": null
}
},
{
"name": "getdata livetrafficnsw fire",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.getdata_livetrafficnsw_fire",
"device_id": null
}
},
{
"name": "getdata livetrafficnsw flood",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.getdata_livetrafficnsw_flood",
"device_id": null
}
},
{
"name": "getdata livetrafficnsw incidents",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.getdata_livetrafficnsw_incidents",
"device_id": null
}
},
{
"name": "getdata livetrafficnsw incidentslga",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.getdata_livetrafficnsw_incidentslga",
"device_id": null
}
},
{
"name": "getdata livetrafficnsw majorevents",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.getdata_livetrafficnsw_majorevents",
"device_id": null
}
},
{
"name": "getdata livetrafficnsw roadwork",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.getdata_livetrafficnsw_roadwork",
"device_id": null
}
}
]
},
{
"id": "pyscript_getdata_yourspotify",
"automation": "- id: pyscript_getdata_yourspotify\n alias: 'PyScript, GetData: Your Spotify'\n description: 'PyScript, GetData: Your Spotify'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n minutes: /5\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.getdata_yourspotify\n data: {}",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
}
]
},
{
"id": "Python Script - Update ha_overview",
"automation": "- alias: Python Script - Update ha_overview\n trigger:\n - event: start\n platform: homeassistant\n - platform: time_pattern\n minutes: /30\n action:\n - service: python_script.ha_overview",
"config": []
},
{
"id": "sonos_favourites_play_radio_hauraki_99_0_rock_music",
"automation": "- alias: '[Sonos Favourites] Play Radio Hauraki 99.0 (Rock Music)'\n description: Play Radio Hauraki 99.0 (Rock Music) on Sonos\n id: sonos_favourites_play_radio_hauraki_99_0_rock_music\n trigger:\n - platform: webhook\n webhook_id: sonos_radio_hauraki_99_0_rock_music\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_radio_hauraki_99_0_rock_music\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Radio Hauraki 99.0 (Rock Music)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites radio hauraki 99 0 rock music",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_hauraki_99_0_rock_music",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_radio_x",
"automation": "- alias: '[Sonos Favourites] Play Radio X'\n description: Play Radio X on Sonos\n id: sonos_favourites_play_radio_x\n trigger:\n - platform: webhook\n webhook_id: sonos_radio_x\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_radio_x\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Radio X",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites radio x",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_radio_x_00s",
"automation": "- alias: '[Sonos Favourites] Play Radio X 00s'\n description: Play Radio X 00s on Sonos\n id: sonos_favourites_play_radio_x_00s\n trigger:\n - platform: webhook\n webhook_id: sonos_radio_x_00s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_radio_x_00s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Radio X 00s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites radio x",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x",
"device_id": null
}
},
{
"name": "sonos favourites radio x 00s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x_00s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_radio_x_90s",
"automation": "- alias: '[Sonos Favourites] Play Radio X 90s'\n description: Play Radio X 90s on Sonos\n id: sonos_favourites_play_radio_x_90s\n trigger:\n - platform: webhook\n webhook_id: sonos_radio_x_90s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_radio_x_90s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Radio X 90s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites radio x",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x",
"device_id": null
}
},
{
"name": "sonos favourites radio x 90s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x_90s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_radio_x_chilled",
"automation": "- alias: '[Sonos Favourites] Play Radio X Chilled'\n description: Play Radio X Chilled on Sonos\n id: sonos_favourites_play_radio_x_chilled\n trigger:\n - platform: webhook\n webhook_id: sonos_radio_x_chilled\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_radio_x_chilled\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Radio X Chilled",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites radio x",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x",
"device_id": null
}
},
{
"name": "sonos favourites radio x chilled",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x_chilled",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_radio_x_classic_rock",
"automation": "- alias: '[Sonos Favourites] Play Radio X Classic Rock'\n description: Play Radio X Classic Rock on Sonos\n id: sonos_favourites_play_radio_x_classic_rock\n trigger:\n - platform: webhook\n webhook_id: sonos_radio_x_classic_rock\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_radio_x_classic_rock\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Radio X Classic Rock",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites radio x",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x",
"device_id": null
}
},
{
"name": "sonos favourites radio x classic rock",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x_classic_rock",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_radio_x_classic_rock_classic_rock",
"automation": "- alias: '[Sonos Favourites] Play Radio X Classic Rock (Classic Rock)'\n description: Play Radio X Classic Rock (Classic Rock) on Sonos\n id: sonos_favourites_play_radio_x_classic_rock_classic_rock\n trigger:\n - platform: webhook\n webhook_id: sonos_radio_x_classic_rock_classic_rock\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_radio_x_classic_rock_classic_rock\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Radio X Classic Rock (Classic Rock)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites radio x",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x",
"device_id": null
}
},
{
"name": "sonos favourites radio x classic rock",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x_classic_rock",
"device_id": null
}
},
{
"name": "sonos favourites radio x classic rock classic rock",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_radio_x_classic_rock_classic_rock",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "notify_action_restart_ha",
"automation": "- id: notify_action_restart_ha\n alias: '[Notifications Action] Start HA'\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: mobile_app_notification_action\n event_data:\n action: notify_action_restart_ha\n action:\n - service: homeassistant.restart",
"config": []
},
{
"id": "notify_action_start_sungather",
"automation": "- id: notify_action_start_sungather\n alias: '[Notifications Action] Start Sungather'\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: mobile_app_notification_action\n event_data:\n action: notify_action_start_sungather\n action:\n - service: hassio.addon_start\n data:\n addon: 7b536ee6_sungather",
"config": []
},
{
"id": "notify_action_restart_zigbee2mqtt",
"automation": "- id: notify_action_restart_zigbee2mqtt\n alias: '[Notifications Action] Restart Zigbee2MQTT'\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: mobile_app_notification_action\n event_data:\n action: notify_action_restart_zigbee2mqtt\n action:\n - service: hassio.addon_restart\n data:\n addon: 45df7312_zigbee2mqtt_edge",
"config": []
},
{
"id": "'Admin: Run Chores'",
"automation": "- alias: 'Admin: Run Chores'\n description: Run shell and Python scripts in utils folder.\n trigger:\n platform: time_pattern\n hours: /3\n action:\n service: shell_command.run_chores",
"config": []
},
{
"id": "669e9cda-a9ba-484d-a715-53864fc0d61c",
"automation": "- alias: Admin - Run Watchman (Daily)\n id: 669e9cda-a9ba-484d-a715-53864fc0d61c\n initial_state: true\n trigger:\n - platform: time_pattern\n hours: '3'\n condition: []\n action:\n - service: watchman.report\n data:\n create_file: true\n send_notification: false\n parse_config: true",
"config": []
},
{
"id": "presence_night_mode",
"automation": "- alias: '[Presence] Set Night Mode'\n id: presence_night_mode\n mode: single\n trigger:\n - platform: state\n entity_id:\n - sun.sun\n to: below_horizon\n id: sun_down\n - platform: state\n entity_id:\n - sun.sun\n to: above_horizon\n id: sun_up\n condition: []\n action:\n - choose:\n - conditions:\n - condition: trigger\n id:\n - sun_up\n sequence:\n - service: input_boolean.turn_off\n data: {}\n target:\n entity_id: input_boolean.night_mode\n - conditions:\n - condition: trigger\n id:\n - sun_down\n sequence:\n - service: input_boolean.turn_on\n data: {}\n target:\n entity_id: input_boolean.night_mode",
"config": [
{
"name": "night mode",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.night_mode",
"device_id": null
}
},
{
"name": "sun",
"room": null,
"type": "sun",
"id": {
"entity_id": "sun.sun",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_sky_news_radio",
"automation": "- alias: '[Sonos Favourites] Play Sky News Radio'\n description: Play Sky News Radio on Sonos\n id: sonos_favourites_play_sky_news_radio\n trigger:\n - platform: webhook\n webhook_id: sonos_sky_news_radio\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_sky_news_radio\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Sky News Radio",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites sky news radio",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_sky_news_radio",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_sky_sports_radio",
"automation": "- alias: '[Sonos Favourites] Play Sky Sports Radio'\n description: Play Sky Sports Radio on Sonos\n id: sonos_favourites_play_sky_sports_radio\n trigger:\n - platform: webhook\n webhook_id: sonos_sky_sports_radio\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_sky_sports_radio\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Sky Sports Radio",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites sky sports radio",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_sky_sports_radio",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "influx2entity_solar365dayyield",
"automation": "- id: influx2entity_solar365dayyield\n alias: 'InfluxDB to Entity: 365 Day Solar Yield'\n description: 'InfluxDB to Entity: 365 Day Solar Yield'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"kWh\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"sungrowsolar_daily_power_yields\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> fill(usePrevious: true)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_solar_yield_365day\n unit_of_measurement: kWh\n friendly_name: Solar - 365 Day - Yield\n icon: mdi:solar-power\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name:\\n \\\n \\ \\\"Australia/Sydney\\\") from(bucket: \\\"homeassistant\\\")\\n |> range(start:\\\n \\ -1y)\\n |> filter(fn: (r) => r._field == \\\"value\\\")\\n |> filter(fn: (r)\\\n \\ => r.entity_id == \\\"sungrowsolar_daily_power_yields\\\")\\n |> drop(columns:\\\n \\ [\\\"friendly_name\\\"])\\n |> aggregateWindow(every: 1d, fn: max, createEmpty:\\\n \\ true)\\n |> movingAverage(n: 7)\\n |> fill(usePrevious: true)\\n |> keep(columns:\\\n \\ [\\\"_time\\\", \\\"_value\\\"])\\n |> sort(columns: [\\\"_time\\\"])\"\n entity_id: sensor.archive_solar_yield_365day_avg\n unit_of_measurement: kWh\n friendly_name: Solar - 365 Day - Yield - Avg\n icon: mdi:solar-power",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive solar yield 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_solar_yield_365day",
"device_id": null
}
},
{
"name": "archive solar yield 365day avg",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_solar_yield_365day_avg",
"device_id": null
}
}
]
},
{
"id": "solcast_update",
"automation": "- alias: '[Solcast] Update During Day'\n id: solcast_update\n trigger:\n - platform: time_pattern\n hours: /2\n condition:\n - condition: state\n entity_id: binary_sensor.connected_wan\n state: 'on'\n - condition: sun\n before: sunset\n after: sunrise\n action:\n - delay:\n seconds: '{{ range(30, 360)|random|int }}'\n - service: solcast_solar.update_forecasts\n data: {}\n mode: single",
"config": [
{
"name": "connected wan",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.connected_wan",
"device_id": null
}
}
]
},
{
"id": "notify_action_restart_gdbackup",
"automation": "- id: notify_action_restart_gdbackup\n alias: '[Notifications Action] Start Google Drive Backup'\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: mobile_app_notification_action\n event_data:\n action: notify_action_restart_gdbackup\n action:\n - service: hassio.addon_start\n data:\n addon: cebe7a76_hassio_google_drive_backup",
"config": []
},
{
"id": "notify_action_start_weatherflow2mqtt",
"automation": "- id: notify_action_start_weatherflow2mqtt\n alias: '[Notifications Action] Start Weatherflow2MQTT'\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: mobile_app_notification_action\n event_data:\n action: notify_action_start_weatherflow2mqtt\n action:\n - service: hassio.addon_start\n data:\n addon: 67f4b1af_weatherflow2mqtt",
"config": []
},
{
"id": "'[Home] Sunset Notification'",
"automation": "- alias: '[Home] Sunset Notification'\n description: ''\n mode: single\n trigger:\n - platform: sun\n event: sunset\n offset: -00:05:00\n action:\n - service: notify.alert\n data:\n title: The Sun has gone down and the moon has come up\n message: Sunset in 5 minutes!\n data:\n push:\n badge: 1\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge",
"config": []
},
{
"id": "'1712972875484'",
"automation": "- id: '1712972875484'\n alias: '[Webhooks] Notifications from Synology (TheCube2)'\n description: ''\n trigger:\n - platform: webhook\n webhook_id: synology_notify\n allowed_methods:\n - POST\n - PUT\n local_only: true\n condition: []\n action:\n - service: notify.alert\n data:\n title: Synology Notification\n message: '{{trigger.json.text}}'\n data:\n tag: synology_notify\n notification_id: synology_notify\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge\n group: alerts\n actions:\n - action: URI\n title: OPEN WWW\n uri: http://192.168.1.100:5000\n - action: URI\n title: OPEN APP\n uri: app://com.synology.DSfinder",
"config": []
},
{
"id": "sonos_favourites_play_talksport",
"automation": "- alias: '[Sonos Favourites] Play talkSPORT'\n description: Play talkSPORT on Sonos\n id: sonos_favourites_play_talksport\n trigger:\n - platform: webhook\n webhook_id: sonos_talksport\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_talksport\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: talkSPORT",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites talksport",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_talksport",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_talksport_2_sports_talk_news",
"automation": "- alias: '[Sonos Favourites] Play talkSPORT 2 (Sports Talk & News)'\n description: Play talkSPORT 2 (Sports Talk & News) on Sonos\n id: sonos_favourites_play_talksport_2_sports_talk_news\n trigger:\n - platform: webhook\n webhook_id: sonos_talksport_2_sports_talk_news\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_talksport_2_sports_talk_news\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: talkSPORT 2 (Sports Talk & News)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites talksport",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_talksport",
"device_id": null
}
},
{
"name": "sonos favourites talksport 2 sports talk news",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_talksport_2_sports_talk_news",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_tamworth_s_88_9fm",
"automation": "- alias: '[Sonos Favourites] Play Tamworth''s 88.9FM'\n description: Play Tamworth's 88.9FM on Sonos\n id: sonos_favourites_play_tamworth_s_88_9fm\n trigger:\n - platform: webhook\n webhook_id: sonos_tamworth_s_88_9fm\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_tamworth_s_88_9fm\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Tamworth's 88.9FM",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites tamworth s 88 9fm",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_tamworth_s_88_9fm",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "ha_templates_reloaded",
"automation": "- id: ha_templates_reloaded\n alias: '[HA] Log Template Reload'\n trigger:\n - platform: event\n event_type: event_template_reloaded\n action:\n - service: system_log.write\n data:\n logger: '{{ this.entity_id }}'\n level: critical\n message: '**** Templates have been reloaded. ****'\n - service: browser_mod.notification\n data:\n duration: 30000\n message: '**** Templates have been reloaded. ****'\n - delay: 1\n - service: browser_mod.refresh",
"config": []
},
{
"id": "notifications_todaysbirthdays",
"automation": "- alias: '[Notifications] Today''s Birthdays'\n id: notifications_todaysbirthdays\n mode: single\n trigger:\n - platform: time\n at: 07:00\n variables:\n ann_list: '{{ expand(integration_entities(''anniversaries'')) | selectattr(''state'',\n ''eq'', ''0'') | list }}'\n condition:\n - alias: Check if list of Anniversaries with state 0 has any items in it\n condition: template\n value_template: '{{ ann_list | count > 0 }}'\n action:\n - action: notify.alert\n data:\n title: This Week's Birthdays\n message: \"{%- for l in ann_list %}\\n {{state_attr(l.entity_id, 'friendly_name')}}\\n\\\n {%- endfor %}\\n\"\n data:\n tag: today_birthday\n notification_id: today_birthday\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge\n group: alerts",
"config": []
},
{
"id": "sonos_favourites_play_triplem_2000s",
"automation": "- alias: '[Sonos Favourites] Play TripleM 2000s'\n description: Play TripleM 2000s on Sonos\n id: sonos_favourites_play_triplem_2000s\n trigger:\n - platform: webhook\n webhook_id: sonos_triplem_2000s\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triplem_2000s\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: TripleM 2000s",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triplem 2000s",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triplem_2000s",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triplem_greatest_hits_digital",
"automation": "- alias: '[Sonos Favourites] Play TripleM Greatest Hits Digital'\n description: Play TripleM Greatest Hits Digital on Sonos\n id: sonos_favourites_play_triplem_greatest_hits_digital\n trigger:\n - platform: webhook\n webhook_id: sonos_triplem_greatest_hits_digital\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triplem_greatest_hits_digital\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: TripleM Greatest Hits Digital",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triplem greatest hits digital",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triplem_greatest_hits_digital",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triplem_soft_rock_digital",
"automation": "- alias: '[Sonos Favourites] Play TripleM Soft Rock Digital'\n description: Play TripleM Soft Rock Digital on Sonos\n id: sonos_favourites_play_triplem_soft_rock_digital\n trigger:\n - platform: webhook\n webhook_id: sonos_triplem_soft_rock_digital\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triplem_soft_rock_digital\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: TripleM Soft Rock Digital",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triplem soft rock digital",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triplem_soft_rock_digital",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_j_hottest",
"automation": "- alias: '[Sonos Favourites] Play Triple J Hottest'\n description: Play Triple J Hottest on Sonos\n id: sonos_favourites_play_triple_j_hottest\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_j_hottest\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_j_hottest\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Triple J Hottest",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple j hottest",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_j_hottest",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_j_new_south_wales",
"automation": "- alias: '[Sonos Favourites] Play triple j (New South Wales)'\n description: Play triple j (New South Wales) on Sonos\n id: sonos_favourites_play_triple_j_new_south_wales\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_j_new_south_wales\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_j_new_south_wales\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: triple j (New South Wales)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple j new south wales",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_j_new_south_wales",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_m_104_9_sydney",
"automation": "- alias: '[Sonos Favourites] Play Triple M 104.9 Sydney'\n description: Play Triple M 104.9 Sydney on Sonos\n id: sonos_favourites_play_triple_m_104_9_sydney\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_m_104_9_sydney\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_m_104_9_sydney\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Triple M 104.9 Sydney",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple m 104 9 sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_m_104_9_sydney",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_m_105_1_melbourne",
"automation": "- alias: '[Sonos Favourites] Play Triple M 105.1 Melbourne'\n description: Play Triple M 105.1 Melbourne on Sonos\n id: sonos_favourites_play_triple_m_105_1_melbourne\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_m_105_1_melbourne\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_m_105_1_melbourne\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Triple M 105.1 Melbourne",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple m 105 1 melbourne",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_m_105_1_melbourne",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_m_80s_sydney",
"automation": "- alias: '[Sonos Favourites] Play Triple M 80s (Sydney)'\n description: Play Triple M 80s (Sydney) on Sonos\n id: sonos_favourites_play_triple_m_80s_sydney\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_m_80s_sydney\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_m_80s_sydney\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Triple M 80s (Sydney)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple m 80s sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_m_80s_sydney",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_m_90s_sydney",
"automation": "- alias: '[Sonos Favourites] Play Triple M 90s (Sydney)'\n description: Play Triple M 90s (Sydney) on Sonos\n id: sonos_favourites_play_triple_m_90s_sydney\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_m_90s_sydney\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_m_90s_sydney\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Triple M 90s (Sydney)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple m 90s sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_m_90s_sydney",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_m_classic_rock_digital_sydney",
"automation": "- alias: '[Sonos Favourites] Play Triple M Classic Rock Digital (Sydney)'\n description: Play Triple M Classic Rock Digital (Sydney) on Sonos\n id: sonos_favourites_play_triple_m_classic_rock_digital_sydney\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_m_classic_rock_digital_sydney\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_m_classic_rock_digital_sydney\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Triple M Classic Rock Digital (Sydney)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple m classic rock digital sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_m_classic_rock_digital_sydney",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_triple_m_hard_n_heavy_sydney",
"automation": "- alias: '[Sonos Favourites] Play Triple M Hard n Heavy (Sydney)'\n description: Play Triple M Hard n Heavy (Sydney) on Sonos\n id: sonos_favourites_play_triple_m_hard_n_heavy_sydney\n trigger:\n - platform: webhook\n webhook_id: sonos_triple_m_hard_n_heavy_sydney\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_triple_m_hard_n_heavy_sydney\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Triple M Hard n Heavy (Sydney)",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites triple m hard n heavy sydney",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_triple_m_hard_n_heavy_sydney",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "ha_autogroup_tvguide",
"automation": "- id: ha_autogroup_tvguide\n alias: '[HA] Autogroup - TV Guide'\n mode: single\n max_exceeded: silent\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: event\n event_type: call_service\n event_data:\n domain: group\n service: reload\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: group.set\n data:\n object_id: tvguide_fta\n entities: \"{{ states\\n | selectattr('attributes.category', 'defined')\\n \\\n \\ | selectattr('attributes.category', 'eq', 'tvguide')\\n | selectattr('attributes.channel_group',\\\n \\ 'eq', 'FTA')\\n | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: tvguide_foxtel_news\n entities: \"{{ states\\n | selectattr('attributes.category', 'defined')\\n \\\n \\ | selectattr('attributes.category', 'eq', 'tvguide')\\n | selectattr('attributes.channel_group',\\\n \\ 'eq', 'Foxtel News')\\n | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: tvguide_foxtel_sport\n entities: \"{{ states\\n | selectattr('attributes.category', 'defined')\\n \\\n \\ | selectattr('attributes.category', 'eq', 'tvguide')\\n | selectattr('attributes.channel_group',\\\n \\ 'eq', 'Foxtel Sport')\\n | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: tvguide_optus_sport\n entities: \"{% set l1 = states\\n |selectattr('entity_id','search','sensor.tvguide_optussport*')\\n\\\n \\ |map(attribute='entity_id')|list|sort %}\\n{% set l2 = states\\n | selectattr('attributes.category',\\\n \\ 'defined')\\n | selectattr('attributes.category', 'eq', 'tvguide')\\n \\\n \\ | selectattr('attributes.channel_group', 'eq', 'Optus')\\n | map(attribute='entity_id')\\\n \\ | list | sort %}\\n{{ l1 + l2 | sort }}\\n\"\n - service: group.set\n data:\n object_id: tvguide_uk\n entities: \"{{ states\\n | selectattr('attributes.category', 'defined')\\n \\\n \\ | selectattr('attributes.category', 'eq', 'tvguide')\\n | selectattr('attributes.channel_group',\\\n \\ 'eq', 'UK')\\n | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: tvguide_uk_sport\n entities: \"{% set l1 = states\\n | selectattr('attributes.category', 'defined')\\n\\\n \\ | selectattr('attributes.category', 'eq', 'tvguide')\\n | selectattr('attributes.channel_group',\\\n \\ 'eq', 'UK')\\n |selectattr('entity_id','search','sensor.tvguide_eurosport*')\\n\\\n \\ | map(attribute='entity_id') | list | sort %}\\n{% set l2 = states\\n \\\n \\ | selectattr('attributes.category', 'defined')\\n | selectattr('attributes.category',\\\n \\ 'eq', 'tvguide')\\n | selectattr('attributes.channel_group', 'eq', 'UK')\\n\\\n \\ |selectattr('entity_id','search','sensor.tvguide_sky_sports*')\\n |\\\n \\ map(attribute='entity_id') | list | sort %}\\n{% set l3 = states\\n | selectattr('attributes.category',\\\n \\ 'defined')\\n | selectattr('attributes.category', 'eq', 'tvguide')\\n \\\n \\ | selectattr('attributes.channel_group', 'eq', 'UK')\\n |selectattr('entity_id','search','sensor.tvguide_tnt*')\\n\\\n \\ | map(attribute='entity_id') | list | sort %}\\n{{ l1 + l2 + l3 | sort\\\n \\ }}\\n\"\n - service: group.set\n data:\n object_id: tvguide_uk_radio\n entities: \"{{ states\\n | selectattr('attributes.category', 'defined')\\n \\\n \\ | selectattr('attributes.category', 'eq', 'tvguide')\\n | selectattr('attributes.channel_group',\\\n \\ 'eq', 'UKRadio')\\n | map(attribute='entity_id') | list | sort }}\\n\"\n - service: group.set\n data:\n object_id: tvguide_us\n entities: \"{{ states\\n | selectattr('attributes.category', 'defined')\\n \\\n \\ | selectattr('attributes.category', 'eq', 'tvguide')\\n | selectattr('attributes.channel_group',\\\n \\ 'eq', 'US')\\n | map(attribute='entity_id') | list | sort }}\\n\"",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
}
]
},
{
"id": "unavailable_entities_notification",
"automation": "- id: unavailable_entities_notification\n alias: '[Notifications] Unavailable Entities'\n description: Create persistent notification if there are unavailable entities, dismiss\n if none.\n mode: restart\n trigger:\n - platform: state\n entity_id: sensor.unavailable_entities\n to: null\n condition:\n - condition: template\n value_template: \"{{ is_number(trigger.from_state.state)\\n and is_number(trigger.to_state.state)\\\n \\ }}\\n\"\n action:\n - choose:\n conditions:\n - condition: numeric_state\n entity_id: sensor.unavailable_entities\n below: 1\n sequence:\n - service: persistent_notification.dismiss\n data:\n notification_id: unavailable_entities\n default:\n - service: persistent_notification.create\n data:\n title: Unavailable Entities\n message: \"- {{ expand(state_attr('sensor.unavailable_entities','entity_id'))\\n\\\n \\ |map(attribute='entity_id')|join('\\\\n- ') }}\\n\"\n notification_id: unavailable_entities",
"config": [
{
"name": "unavailable entities",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.unavailable_entities",
"device_id": null
}
}
]
},
{
"id": "notifications_updates_available",
"automation": "- alias: '[Notifications] Updates Available'\n id: notifications_updates_available\n mode: single\n trigger:\n - platform: time_pattern\n hours: /3\n - platform: state\n entity_id:\n - update.home_assistant_core_update\n to: 'on'\n - platform: state\n entity_id:\n - update.home_assistant_operating_system_update\n to: 'on'\n - platform: state\n entity_id:\n - update.hacs_update\n to: 'on'\n condition:\n - condition: time\n after: 06:00:00\n before: '20:00:00'\n action:\n - service: notify.alert\n data:\n title: Updates Available\n message: \"{%- for upd in states.update %} {%- set ignore = ['unknown', 'unavailable',\\\n \\ 'none', ''] %} {%- if upd.state == 'on' and\\n state_attr(upd.entity_id,\\\n \\ 'latest_version') is defined and\\n state_attr(upd.entity_id, 'installed_version')\\\n \\ is defined and\\n state_attr(upd.entity_id, 'latest_version') is not\\\n \\ in ignore %}\\n{%- if is_state_attr(upd.entity_id, 'display_icon', 'mdi:docker')\\\n \\ %} {%- set name = state_attr(upd.entity_id, 'display_name') + \\\" (\\\" + state_attr(upd.entity_id,\\\n \\ 'watcher') + \\\")\\\" %} {%- else %} {%- set name = iif(state_attr(upd.entity_id,\\\n \\ 'title') == \\\"null\\\", state_attr(upd.entity_id, 'title'), state_attr(upd.entity_id,\\\n \\ 'friendly_name')) %} {%- endif %} - {{name}}: {{state_attr(upd.entity_id,\\\n \\ 'installed_version')}} -> {{state_attr(upd.entity_id, 'latest_version')}}\\\n \\ {% endif %} {%- endfor %}\"\n data:\n tag: updates_available\n notification_id: updates_available\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge\n group: alerts\n actions:\n - title: Pause Alert\n action: pause_alert_updates_available\n - service: persistent_notification.create\n data:\n notification_id: update-alert\n title: Updates Available\n message: \"{%- for upd in states.update %} {%- set ignore = ['unknown', 'unavailable',\\\n \\ 'none', ''] %} {%- if upd.state == 'on' and\\n state_attr(upd.entity_id,\\\n \\ 'latest_version') is defined and\\n state_attr(upd.entity_id, 'installed_version')\\\n \\ is defined and\\n state_attr(upd.entity_id, 'latest_version') is not\\\n \\ in ignore %}\\n{%- if is_state_attr(upd.entity_id, 'display_icon', 'mdi:docker')\\\n \\ %} {%- set name = state_attr(upd.entity_id, 'display_name') + \\\" (\\\" + state_attr(upd.entity_id,\\\n \\ 'watcher') + \\\")\\\" %} {%- else %} {%- set name = iif(state_attr(upd.entity_id,\\\n \\ 'title') == \\\"null\\\", state_attr(upd.entity_id, 'title'), state_attr(upd.entity_id,\\\n \\ 'friendly_name')) %} {%- endif %} - {{name}}: {{state_attr(upd.entity_id,\\\n \\ 'installed_version')}} -> {{state_attr(upd.entity_id, 'latest_version')}}\\\n \\ {% endif %} {%- endfor %}\"",
"config": [
{
"name": "hacs update",
"room": null,
"type": "update",
"id": {
"entity_id": "update.hacs_update",
"device_id": null
}
},
{
"name": "home assistant core update",
"room": null,
"type": "update",
"id": {
"entity_id": "update.home_assistant_core_update",
"device_id": null
}
},
{
"name": "home assistant operating system update",
"room": null,
"type": "update",
"id": {
"entity_id": "update.home_assistant_operating_system_update",
"device_id": null
}
}
]
},
{
"id": "'1696920090820'",
"automation": "- id: '1696920090820'\n alias: '[Admin] Update BOM Average when Unavailable'\n description: ''\n trigger:\n - platform: state\n entity_id:\n - sensor.bom_average\n to: unavailable\n for:\n hours: 0\n minutes: 2\n seconds: 0\n condition: []\n action:\n - service: multiscrape.trigger_bom_average\n data: {}\n mode: single",
"config": [
{
"name": "bom average",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.bom_average",
"device_id": null
}
}
]
},
{
"id": "'1702689288792'",
"automation": "- id: '1702689288792'\n alias: '[pixelclock] Update Firmware'\n description: ''\n trigger:\n - platform: state\n entity_id:\n - sensor.blueforcer_awtrix_light_latest_release\n attribute: tag\n condition: []\n action:\n - delay:\n hours: 0\n minutes: 2\n seconds: 0\n milliseconds: 0\n - service: mqtt.publish\n data:\n topic: pixelclock/doupdate\n - service: notify.alert\n data:\n title: pixelclock Updated\n message: pixelclock updated with latest firmware\n data:\n tag: pixelclock_updated\n notification_id: pixelclock_updated\n push:\n badge: 1\n sound: none\n interruption-level: time-sensitive\n presentation_options:\n - alert\n - badge\n group: alerts\n actions:\n - title: Pause Alert\n action: pause_alert_pixelclock_updated\n - service: persistent_notification.create\n data:\n notification_id: pixelclock_updated\n title: pixelclock Update\n message: pixelclock updated with latest firmware\n mode: single",
"config": [
{
"name": "blueforcer awtrix light latest release",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.blueforcer_awtrix_light_latest_release",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_virgin_radio_anthems_uk",
"automation": "- alias: '[Sonos Favourites] Play Virgin Radio Anthems UK'\n description: Play Virgin Radio Anthems UK on Sonos\n id: sonos_favourites_play_virgin_radio_anthems_uk\n trigger:\n - platform: webhook\n webhook_id: sonos_virgin_radio_anthems_uk\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_virgin_radio_anthems_uk\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Virgin Radio Anthems UK",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites virgin radio anthems uk",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_virgin_radio_anthems_uk",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_virgin_radio_britpop_uk",
"automation": "- alias: '[Sonos Favourites] Play Virgin Radio Britpop UK'\n description: Play Virgin Radio Britpop UK on Sonos\n id: sonos_favourites_play_virgin_radio_britpop_uk\n trigger:\n - platform: webhook\n webhook_id: sonos_virgin_radio_britpop_uk\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_virgin_radio_britpop_uk\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Virgin Radio Britpop UK",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites virgin radio britpop uk",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_virgin_radio_britpop_uk",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_virgin_radio_chilled_uk",
"automation": "- alias: '[Sonos Favourites] Play Virgin Radio Chilled UK'\n description: Play Virgin Radio Chilled UK on Sonos\n id: sonos_favourites_play_virgin_radio_chilled_uk\n trigger:\n - platform: webhook\n webhook_id: sonos_virgin_radio_chilled_uk\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_virgin_radio_chilled_uk\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Virgin Radio Chilled UK",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites virgin radio chilled uk",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_virgin_radio_chilled_uk",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_virgin_radio_groove_uk",
"automation": "- alias: '[Sonos Favourites] Play Virgin Radio Groove UK'\n description: Play Virgin Radio Groove UK on Sonos\n id: sonos_favourites_play_virgin_radio_groove_uk\n trigger:\n - platform: webhook\n webhook_id: sonos_virgin_radio_groove_uk\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_virgin_radio_groove_uk\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Virgin Radio Groove UK",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites virgin radio groove uk",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_virgin_radio_groove_uk",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "sonos_favourites_play_virgin_radio_uk",
"automation": "- alias: '[Sonos Favourites] Play Virgin Radio UK'\n description: Play Virgin Radio UK on Sonos\n id: sonos_favourites_play_virgin_radio_uk\n trigger:\n - platform: webhook\n webhook_id: sonos_virgin_radio_uk\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: script.toggle\n target:\n entity_id: script.sonos_favourites_virgin_radio_uk\n - service: input_text.set_value\n target:\n entity_id: input_text.sonos_playlist_playing\n data:\n value: Virgin Radio UK",
"config": [
{
"name": "sonos playlist playing",
"room": null,
"type": "input_text",
"id": {
"entity_id": "input_text.sonos_playlist_playing",
"device_id": null
}
},
{
"name": "sonos favourites virgin radio uk",
"room": null,
"type": "script",
"id": {
"entity_id": "script.sonos_favourites_virgin_radio_uk",
"device_id": null
}
},
{
"name": "toggle",
"room": null,
"type": "script",
"id": {
"entity_id": "script.toggle",
"device_id": null
}
}
]
},
{
"id": "'1710400217767'",
"automation": "- id: '1710400217767'\n alias: '[Addon Watchguard] Sungather'\n description: ''\n trigger:\n - platform: homeassistant\n event: start\n - platform: time_pattern\n minutes: /15\n condition:\n - condition: and\n conditions:\n - condition: state\n entity_id: sensor.sun_state_day\n state: Day\n - condition: or\n conditions:\n - condition: state\n entity_id: sensor.sungrow_sg5kd_daily_generation\n state: unavailable\n for:\n hours: 0\n minutes: 5\n seconds: 0\n - condition: template\n value_template: '{{ (as_timestamp(now())-as_timestamp(states.sensor[''sungrow_sg5kd_daily_generation''].last_updated))/60\n > 240 }}'\n action:\n - action: hassio.addon_restart\n data:\n addon: 7b536ee6_sungather\n - action: notify.alert\n data:\n title: Sungather Restarted\n message: Solar data hasn't been updated in 5 minutes, Sungather has been restarted\n data:\n tag: watchguard_sungather\n notification_id: watchguard_sungather\n push:\n badge: 1\n sound: none",
"config": [
{
"name": "sun state day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.sun_state_day",
"device_id": null
}
},
{
"name": "sungrow sg5kd daily generation",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.sungrow_sg5kd_daily_generation",
"device_id": null
}
}
]
},
{
"id": "'[Addon Watchguard] Zigbee2MQTT'",
"automation": "- alias: '[Addon Watchguard] Zigbee2MQTT'\n description: ''\n mode: single\n triggers:\n - minutes: /5\n trigger: time_pattern\n conditions:\n - condition: or\n conditions:\n - condition: state\n entity_id: binary_sensor.zigbee2mqtt_bridge_connection_state\n state: 'off'\n - condition: state\n entity_id: binary_sensor.zigbee2mqtt_bridge_connection_state\n state: unavailable\n actions:\n - data:\n addon: 45df7312_zigbee2mqtt\n action: hassio.addon_restart\n - action: notify.alert\n data:\n title: Zigbee2MQTT Restarted\n message: Zigbee2MQTT connectivity has stopped, addon has been restarted\n data:\n tag: watchguard_z2m\n notification_id: watchguard_z2m\n push:\n badge: 1\n sound: none",
"config": [
{
"name": "zigbee2mqtt bridge connection state",
"room": null,
"type": "binary_sensor",
"id": {
"entity_id": "binary_sensor.zigbee2mqtt_bridge_connection_state",
"device_id": null
}
}
]
},
{
"id": "watchman_notifyunavailable",
"automation": "- alias: '[Notifications] Notify new unavailable entities, Watchman'\n id: watchman_notifyunavailable\n description: ''\n trigger:\n - platform: state\n entity_id:\n - sensor.watchman_missing_entities\n condition:\n - condition: template\n value_template: '{{ trigger.from_state.state | int < trigger.to_state.state |\n int }}'\n action:\n - service: watchman.report\n data: {}\n - delay:\n hours: 0\n minutes: 0\n seconds: 30\n milliseconds: 0\n - condition: template\n value_template: '{{ trigger.from_state.state | int < states(''sensor.watchman_missing_entities'')\n | int }}'\n - service: persistent_notification.create\n data_template:\n title: Unavailable Entities\n message: There are new unavailable entities\n notification_id: unavail_entities\n mode: single",
"config": [
{
"name": "watchman missing entities",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.watchman_missing_entities",
"device_id": null
}
}
]
},
{
"id": "influx2entity_365daychaffeydam",
"automation": "- id: influx2entity_365daychaffeydam\n alias: 'InfluxDB to Entity: 365 Day Chaffey Dam'\n description: 'InfluxDB to Entity: 365 Day Chaffey Dam'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"%\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"waternsw_chaffey_dam_storage\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> fill(usePrevious: true)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_waternsw_chaffeydam_30day\n unit_of_measurement: '%'\n friendly_name: Chaffey Dam - 365 Day - Percent\n icon: mdi:water\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"%\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"waternsw_keepit_dam_storage\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> fill(usePrevious: true)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_waternsw_keepitdam_30day\n unit_of_measurement: '%'\n friendly_name: Keepit Dam - 365 Day - Percent\n icon: mdi:water\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"%\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"waternsw_split_rock_dam_storage\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> fill(usePrevious: true)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_waternsw_splitrockdam_30day\n unit_of_measurement: '%'\n friendly_name: Split Rock Dam - 365 Day - Percent\n icon: mdi:water",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive waternsw chaffeydam 30day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_waternsw_chaffeydam_30day",
"device_id": null
}
},
{
"name": "archive waternsw keepitdam 30day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_waternsw_keepitdam_30day",
"device_id": null
}
},
{
"name": "archive waternsw splitrockdam 30day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_waternsw_splitrockdam_30day",
"device_id": null
}
}
]
},
{
"id": "influx2entity_yearlybomstats",
"automation": "- id: influx2entity_yearlybomstats\n alias: 'InfluxDB to Entity: Yearly BOM Stats'\n description: 'InfluxDB to Entity: Yearly BOM Stats'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tamworth_airport_temp\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"\\\n value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d9h, fn: max, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_bomtemp_max_365day\n unit_of_measurement: °C\n friendly_name: BOM - 365 Day - Max Temp\n icon: mdi:thermometer\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tamworth_airport_temp\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"\\\n value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d9h, fn: min, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"min\\\")\"\n entity_id: sensor.archive_bomtemp_min_365day\n unit_of_measurement: °C\n friendly_name: BOM - 365 Day - Min Temp\n icon: mdi:thermometer\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tamworth_airport_temp\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"\\\n value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: spread, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield()\"\n entity_id: sensor.archive_bomtemp_range_365day\n unit_of_measurement: °C\n friendly_name: BOM - 365 Day - Temp Range\n icon: mdi:thermometer\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"mm\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tamworth_airport_rain_since_9am\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d9h, fn: max, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_bomrain_365day\n unit_of_measurement: mm\n friendly_name: BOM - Year - Rain\n icon: mdi:water\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"mm\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tamworth_airport_rain_since_9am\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d9h, fn: max, createEmpty: true)\\n |> cumulativeSum()\\n |> fill(value:\\\n \\ 0.0)\\n |> yield(name: \\\"max\\\")\"\n entity_id: sensor.archive_bomrain_365day_cume\n unit_of_measurement: mm\n friendly_name: BOM - Year - Rain Cume\n icon: mdi:water",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive bomrain 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_bomrain_365day",
"device_id": null
}
},
{
"name": "archive bomrain 365day cume",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_bomrain_365day_cume",
"device_id": null
}
},
{
"name": "archive bomtemp max 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_bomtemp_max_365day",
"device_id": null
}
},
{
"name": "archive bomtemp min 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_bomtemp_min_365day",
"device_id": null
}
},
{
"name": "archive bomtemp range 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_bomtemp_range_365day",
"device_id": null
}
}
]
},
{
"id": "influx2entity_yearlyhomestats",
"automation": "- id: influx2entity_yearlyhomestats\n alias: 'InfluxDB to Entity: Yearly Home Weather Stats'\n description: 'InfluxDB to Entity: Yearly Home Weather Stats'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tempest_st_00056115_temperature\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: min, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"min\\\")\"\n entity_id: sensor.archive_homeoutsidetemp_min_365day\n unit_of_measurement: °C\n friendly_name: Home - 365 Day - Min Temp\n icon: mdi:thermometer\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tempest_st_00056115_temperature\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_homeoutsidetemp_max_365day\n unit_of_measurement: °C\n friendly_name: Home - 365 Day - Max Temp\n icon: mdi:thermometer\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tempest_st_00056115_temperature\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: spread, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield()\"\n entity_id: sensor.archive_homeoutsidetemp_range_365day\n unit_of_measurement: °C\n friendly_name: Home - 365 Day - Temp Range\n icon: mdi:thermometer\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"mm\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tempest_st_00056115_rain_today\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n entity_id: sensor.archive_homerain_365day\n unit_of_measurement: mm\n friendly_name: Home - Year - Rain\n icon: mdi:water\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"mm\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"tempest_st_00056115_rain_today\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: true)\\n |> cumulativeSum()\\n |> fill(value:\\\n \\ 0.0)\\n |> yield(name: \\\"max\\\")\"\n entity_id: sensor.archive_homerain_365day_cume\n unit_of_measurement: mm\n friendly_name: Home - Year - Rain Cume\n icon: mdi:water",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "archive homeoutsidetemp max 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_homeoutsidetemp_max_365day",
"device_id": null
}
},
{
"name": "archive homeoutsidetemp min 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_homeoutsidetemp_min_365day",
"device_id": null
}
},
{
"name": "archive homeoutsidetemp range 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_homeoutsidetemp_range_365day",
"device_id": null
}
},
{
"name": "archive homerain 365day",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_homerain_365day",
"device_id": null
}
},
{
"name": "archive homerain 365day cume",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.archive_homerain_365day_cume",
"device_id": null
}
}
]
},
{
"id": "influx2entity_weatherarchive",
"automation": "- id: influx2entity_weatherarchive\n alias: '[InfluxDB to Entity] Weather Archive'\n description: '[InfluxDB to Entity] Weather Archive'\n mode: restart\n max_exceeded: warning\n trigger:\n - platform: homeassistant\n id: startup\n event: start\n - platform: state\n entity_id: input_boolean.ha_startup_pending\n to: 'off'\n - platform: time_pattern\n hours: /1\n action:\n - if: '{{ trigger.id == ''startup'' }}'\n then:\n - delay: 240\n - service: pyscript.influxdb2_query_to_entity\n data:\n entity_id: sensor.weather_archive_temperature_maximum_daily\n unit_of_measurement: °C\n icon: mdi:thermometer\n friendly_name: '[Weather] Daily Maximum Temperature (Last Month)'\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1mo)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"weather_temperature\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"\\\n value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: max, createEmpty: false)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"max\\\")\"\n - service: pyscript.influxdb2_query_to_entity\n data:\n entity_id: sensor.weather_archive_temperature_minimum_daily\n unit_of_measurement: °C\n icon: mdi:thermometer\n friendly_name: '[Weather] Daily Minimum Temperature (Last Month)'\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1mo)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"weather_temperature\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"\\\n value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> aggregateWindow(every:\\\n \\ 1d, fn: min, createEmpty: false)\\n |> fill(value: 0.0)\\n |> yield(name:\\\n \\ \\\"min\\\")\"\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"mm\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"weather_precipitation_today\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"\\\n ] == \\\"value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> window(every:\\\n \\ 1d)\\n |> last()\\n |> group()\\n |> window(every: 1d)\\n |> sum()\\n |>\\\n \\ group()\\n |> duplicate(column: \\\"_start\\\", as: \\\"_time\\\")\\n |> yield(name:\\\n \\ \\\"sum\\\")\"\n entity_id: sensor.weather_archive_precipitation_daily\n unit_of_measurement: mm\n friendly_name: '[Weather] Daily Precipitation (Last Year)'\n icon: mdi:water\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: 'import \"timezone\" option location = timezone.location(name: \"Australia/Sydney\")\n from(bucket: \"homeassistant\") |> range(start: -1y) |> filter(fn: (r) => r[\"_measurement\"]\n == \"mm\") |> filter(fn: (r) => r[\"entity_id\"] == \"weather_precipitation_today\")\n |> filter(fn: (r) => r[\"_field\"] == \"value\") |> drop(columns: [\"friendly_name\"])\n |> window(every: 1d) |> last() |> group() |> window(every: 1w) |> sum() |>\n group() |> duplicate(column: \"_start\", as: \"_time\") |> yield(name: \"sum\")'\n entity_id: sensor.weather_archive_precipitation_weekly\n unit_of_measurement: mm\n friendly_name: '[Weather] Weekly Precipitation (Last Year)'\n icon: mdi:water\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: 'import \"timezone\" option location = timezone.location(name: \"Australia/Sydney\")\n from(bucket: \"homeassistant\") |> range(start: -1y) |> filter(fn: (r) => r[\"_measurement\"]\n == \"mm\") |> filter(fn: (r) => r[\"entity_id\"] == \"weather_precipitation_today\")\n |> filter(fn: (r) => r[\"_field\"] == \"value\") |> drop(columns: [\"friendly_name\"])\n |> window(every: 1d) |> last() |> group() |> window(every: 1mo) |> sum() |>\n group() |> duplicate(column: \"_start\", as: \"_time\") |> yield(name: \"sum\")'\n entity_id: sensor.weather_archive_precipitation_monthly\n unit_of_measurement: mm\n friendly_name: '[Weather] Monthly Precipitation (Last Year)'\n icon: mdi:water\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: 'import \"timezone\" option location = timezone.location(name: \"Australia/Sydney\")\n from(bucket: \"homeassistant\") |> range(start: -1y) |> filter(fn: (r) => r[\"_measurement\"]\n == \"°C\") |> filter(fn: (r) => r[\"entity_id\"] == \"weather_temperature\") |>\n filter(fn: (r) => r[\"_field\"] == \"value\") |> drop(columns: [\"friendly_name\"])\n |> window(every: 1d) |> max() |> group() |> window(every: 1mo) |> max() |>\n group() |> duplicate(column: \"_start\", as: \"_time\") |> yield(name: \"sum\")'\n entity_id: sensor.weather_archive_temperature_maximum_monthly\n unit_of_measurement: °C\n icon: mdi:thermometer\n friendly_name: '[Weather] Monthly Maximum Temperature (Last Year)'\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"weather_temperature\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"\\\n value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> filter(fn: (r) =>\\\n \\ r._value != 0.00)\\n |> aggregateWindow(every: 1d, fn: max, createEmpty:\\\n \\ false)\\n |> aggregateWindow(every: 1w, fn: max, createEmpty: false)\\n \\\n \\ |> yield()\"\n entity_id: sensor.weather_archive_temperature_maximum_weekly\n unit_of_measurement: °C\n icon: mdi:thermometer\n friendly_name: '[Weather] Weekly Maximum Temperature (Last Year)'\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: 'import \"timezone\" option location = timezone.location(name: \"Australia/Sydney\")\n from(bucket: \"homeassistant\") |> range(start: -1y) |> filter(fn: (r) => r[\"_measurement\"]\n == \"°C\") |> filter(fn: (r) => r[\"entity_id\"] == \"weather_temperature\") |>\n filter(fn: (r) => r[\"_field\"] == \"value\") |> drop(columns: [\"friendly_name\"])\n |> window(every: 1d) |> min() |> group() |> window(every: 1mo) |> min() |>\n group() |> duplicate(column: \"_start\", as: \"_time\") |> yield(name: \"sum\")'\n entity_id: sensor.weather_archive_temperature_minimum_monthly\n unit_of_measurement: °C\n icon: mdi:thermometer\n friendly_name: '[Weather] Monthly Minimum Temperature (Last Year)'\n - service: pyscript.influxdb2_query_to_entity\n data:\n query: \"import \\\"timezone\\\" option location = timezone.location(name: \\\"Australia/Sydney\\\"\\\n ) from(bucket: \\\"homeassistant\\\")\\n |> range(start: -1y)\\n |> filter(fn:\\\n \\ (r) => r[\\\"_measurement\\\"] == \\\"°C\\\")\\n |> filter(fn: (r) => r[\\\"entity_id\\\"\\\n ] == \\\"weather_temperature\\\")\\n |> filter(fn: (r) => r[\\\"_field\\\"] == \\\"\\\n value\\\")\\n |> drop(columns: [\\\"friendly_name\\\"])\\n |> filter(fn: (r) =>\\\n \\ r._value != 0.00)\\n |> aggregateWindow(every: 1d, fn: min, createEmpty:\\\n \\ false)\\n |> aggregateWindow(every: 1w, fn: min, createEmpty: false)\\n \\\n \\ |> yield()\"\n entity_id: sensor.weather_archive_temperature_minimum_weekly\n unit_of_measurement: °C\n icon: mdi:thermometer\n friendly_name: '[Weather] Weekly Minimum Temperature (Last Year)'",
"config": [
{
"name": "ha startup pending",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.ha_startup_pending",
"device_id": null
}
},
{
"name": "weather archive precipitation daily",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_precipitation_daily",
"device_id": null
}
},
{
"name": "weather archive precipitation monthly",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_precipitation_monthly",
"device_id": null
}
},
{
"name": "weather archive precipitation weekly",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_precipitation_weekly",
"device_id": null
}
},
{
"name": "weather archive temperature maximum daily",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_temperature_maximum_daily",
"device_id": null
}
},
{
"name": "weather archive temperature maximum monthly",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_temperature_maximum_monthly",
"device_id": null
}
},
{
"name": "weather archive temperature maximum weekly",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_temperature_maximum_weekly",
"device_id": null
}
},
{
"name": "weather archive temperature minimum daily",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_temperature_minimum_daily",
"device_id": null
}
},
{
"name": "weather archive temperature minimum monthly",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_temperature_minimum_monthly",
"device_id": null
}
},
{
"name": "weather archive temperature minimum weekly",
"room": null,
"type": "sensor",
"id": {
"entity_id": "sensor.weather_archive_temperature_minimum_weekly",
"device_id": null
}
}
]
},
{
"id": "Webhook - Office Lamp & Sonos Off",
"automation": "- alias: Webhook - Office Lamp & Sonos Off\n description: ''\n initial_state: true\n trigger:\n - platform: webhook\n webhook_id: office_lampsonos_off\n allowed_methods:\n - POST\n - PUT\n local_only: true\n - platform: event\n event_type: ios.action_fired\n event_data:\n actionName: LightsSonosActionOver\n action:\n - entity_id: light.office_lamp\n service: light.turn_off\n data: {}\n - data: {}\n entity_id: media_player.office_sonos\n service: media_player.media_stop",
"config": [
{
"name": "office lamp",
"room": "office",
"type": "light",
"id": {
"entity_id": "light.office_lamp",
"device_id": null
}
},
{
"name": "office sonos",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.office_sonos",
"device_id": null
}
}
]
},
{
"id": "Webhook - Office Lamp Toggle",
"automation": "- alias: Webhook - Office Lamp Toggle\n description: ''\n initial_state: true\n trigger:\n - platform: webhook\n webhook_id: office_lamp_toggle\n allowed_methods:\n - POST\n - PUT\n local_only: true\n - platform: event\n event_type: ios.action_fired\n event_data:\n actionName: OfficeLightsOn\n action:\n - entity_id: light.office_lamp\n service: light.toggle\n data: {}",
"config": [
{
"name": "office lamp",
"room": "office",
"type": "light",
"id": {
"entity_id": "light.office_lamp",
"device_id": null
}
}
]
},
{
"id": "Webhook - Set Media Volume",
"automation": "- alias: Webhook - Set Media Volume\n description: ''\n initial_state: true\n trigger:\n platform: webhook\n webhook_id: set_media_volume\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: media_player.volume_set\n data:\n entity_id: '{{ trigger.json.entities }}'\n volume_level: '{{ trigger.json.parameter }}'",
"config": []
},
{
"id": "Webhook - Office Sonos Play Source Trigger from Stream Deck",
"automation": "- alias: Webhook - Office Sonos Play Source Trigger from Stream Deck\n description: ''\n initial_state: true\n trigger:\n platform: webhook\n webhook_id: sonos_play_source\n allowed_methods:\n - POST\n - PUT\n local_only: true\n action:\n - service: media_player.select_source\n entity_id: media_player.office_sonos\n data:\n source: '{{ trigger.json.parameter }}'",
"config": [
{
"name": "office sonos",
"room": "office",
"type": "media_player",
"id": {
"entity_id": "media_player.office_sonos",
"device_id": null
}
}
]
},
{
"id": "z2m_disable_join_timer",
"automation": "- alias: '[Zigbee2MQTT] Disable Z2M Join (By Timer)'\n id: z2m_disable_join_timer\n trigger:\n - platform: event\n event_type: timer.z2m_permit_join\n event_data:\n entity_id: timer.z2m_permit_join\n action:\n - service: mqtt.publish\n data:\n topic: zigbee2mqtt/bridge/config/permit_join\n payload: 'false'\n - service: input_boolean.turn_off\n data:\n entity_id: input_boolean.z2m_permit_join",
"config": [
{
"name": "z2m permit join",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.z2m_permit_join",
"device_id": null
}
},
{
"name": "z2m permit join timer",
"room": null,
"type": "timer",
"id": {
"entity_id": "timer.z2m_permit_join",
"device_id": null
}
}
]
},
{
"id": "z2m_enable_join",
"automation": "- alias: '[Zigbee2MQTT] Enable Z2M Join'\n id: z2m_enable_join\n trigger:\n platform: state\n entity_id: input_boolean.z2m_permit_join\n to: 'on'\n action:\n - service: mqtt.publish\n data:\n topic: zigbee2mqtt/bridge/config/permit_join\n payload: 'true'\n - service: timer.start\n data:\n entity_id: timer.z2m_permit_join",
"config": [
{
"name": "z2m permit join",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.z2m_permit_join",
"device_id": null
}
},
{
"name": "z2m permit join timer",
"room": null,
"type": "timer",
"id": {
"entity_id": "timer.z2m_permit_join",
"device_id": null
}
}
]
},
{
"id": "z2m_restart_no_lights",
"automation": "- alias: '[Zigbee2MQTT] Restart if lights unavailable'\n id: z2m_restart_no_lights\n triggers:\n - trigger: state\n entity_id:\n - light.office_lamp\n - light.bedroom_lamp\n to: unavailable\n for:\n hours: 0\n minutes: 5\n seconds: 0\n conditions: []\n actions:\n - action: hassio.addon_restart\n metadata: {}\n data:\n addon: 45df7312_zigbee2mqtt\n - action: notify.alert\n data:\n title: Zigbee2MQTT Restarted\n message: Zigbee2MQTT connectivity has stopped, addon has been restarted\n data:\n tag: watchguard_z2m\n notification_id: watchguard_z2m\n push:\n badge: 1\n sound: none\n mode: single",
"config": [
{
"name": "office lamp",
"room": "office",
"type": "light",
"id": {
"entity_id": "light.office_lamp",
"device_id": null
}
},
{
"name": "bedroom lamp",
"room": "bedroom",
"type": "light",
"id": {
"entity_id": "light.bedroom_lamp",
"device_id": null
}
}
]
},
{
"id": "z2m_disable_join",
"automation": "- alias: '[Zigbee2MQTT] Disable Z2M Join'\n id: z2m_disable_join\n trigger:\n platform: state\n entity_id: input_boolean.z2m_permit_join\n to: 'off'\n action:\n - service: mqtt.publish\n data:\n topic: zigbee2mqtt/bridge/config/permit_join\n payload: 'false'\n - service: timer.cancel\n data:\n entity_id: timer.z2m_permit_join",
"config": [
{
"name": "z2m permit join",
"room": null,
"type": "input_boolean",
"id": {
"entity_id": "input_boolean.z2m_permit_join",
"device_id": null
}
},
{
"name": "z2m permit join timer",
"room": null,
"type": "timer",
"id": {
"entity_id": "timer.z2m_permit_join",
"device_id": null
}
}
]
}
]