Added Carlton

This commit is contained in:
Chris Stuurman 2025-05-07 12:10:27 +02:00
parent cde7f2fc04
commit 4021b1962e
13 changed files with 457 additions and 471 deletions

View File

@ -41,13 +41,6 @@ actions:
- conditions:
- condition: trigger
id: frigate-event
- condition: or
conditions:
- condition: template
value_template: "{{ trigger.payload_json[\"before\"][\"stationary\"] != 'true' }}"
- condition: template
value_template: "{{ trigger.payload_json[\"after\"][\"stationary\"] != 'true' }}"
alias: Object is moving
sequence:
- action: input_boolean.turn_on
metadata: {}
@ -58,10 +51,6 @@ actions:
- action: script.person_detect_actions
alias: Trigger alarm and send critical priority event to devices
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >-
{{ label }} was detected on {{ camera | replace("_", " ") |
@ -96,10 +85,6 @@ actions:
- action: script.person_detect_actions
alias: Send high priority notification to devices
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >
{% if (wait.trigger.payload_json["after"]["sub_label"] !=
@ -124,16 +109,16 @@ actions:
base_url: https://home-assistant.sthome.org
when: "{{ detect_time }}"
camera: "{{ camera }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.backyard_motion_detected
alias: Reset Backyard motion detected
until:
- condition: template
value_template: "{{ wait.trigger.payload_json[\"type\"] == \"end\" }}"
alias: End event is detected
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.backyard_motion_detected
alias: Reset Backyard motion detected
default: []
mode: parallel
max: 10

View File

@ -48,13 +48,6 @@ actions:
- conditions:
- condition: trigger
id: frigate-event
- condition: or
conditions:
- condition: template
value_template: "{{ trigger.payload_json[\"before\"][\"stationary\"] != 'true' }}"
- condition: template
value_template: "{{ trigger.payload_json[\"after\"][\"stationary\"] != 'true' }}"
alias: Object is moving
sequence:
- action: input_boolean.turn_on
metadata: {}
@ -65,10 +58,6 @@ actions:
- action: script.person_detect_actions
alias: Trigger alarm and send critical priority event to devices
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >-
{{ label }} was detected on {{ camera | replace("_", " ") |
@ -103,10 +92,6 @@ actions:
- action: script.person_detect_actions
alias: Send high priority notification to devices
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >
{% if (wait.trigger.payload_json["after"]["sub_label"] !=
@ -131,16 +116,16 @@ actions:
base_url: https://home-assistant.sthome.org
when: "{{ detect_time }}"
camera: "{{ camera }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.driveway_motion_detected
alias: Reset Driveway motion detected
until:
- condition: template
value_template: "{{ wait.trigger.payload_json[\"type\"] == \"end\" }}"
alias: End event is detected
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.driveway_motion_detected
alias: Reset Driveway motion detected
default: []
mode: parallel
max: 10

View File

@ -41,13 +41,6 @@ actions:
- conditions:
- condition: trigger
id: frigate-event
- condition: or
conditions:
- condition: template
value_template: "{{ trigger.payload_json[\"before\"][\"stationary\"] != 'true' }}"
- condition: template
value_template: "{{ trigger.payload_json[\"after\"][\"stationary\"] != 'true' }}"
alias: Object is moving
sequence:
- action: input_boolean.turn_on
metadata: {}
@ -57,10 +50,6 @@ actions:
alias: Set Eastwall motion detected
- action: script.person_detect_actions
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >-
{{ label }} was detected on {{ camera | replace("_", " ") |
@ -94,10 +83,6 @@ actions:
alias: Wait for end event
- action: script.person_detect_actions
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >
{% if (wait.trigger.payload_json["after"]["sub_label"] !=
@ -122,15 +107,15 @@ actions:
base_url: https://home-assistant.sthome.org
when: "{{ detect_time }}"
camera: "{{ camera }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.eastwall_motion_detected
alias: Reset Eastwall motion detected
until:
- condition: template
value_template: "{{ wait.trigger.payload_json[\"type\"] == \"end\" }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.eastwall_motion_detected
alias: Reset Eastwall motion detected
default: []
mode: parallel
max: 10

View File

@ -45,13 +45,6 @@ actions:
- conditions:
- condition: trigger
id: frigate-event
- condition: or
conditions:
- condition: template
value_template: "{{ trigger.payload_json[\"before\"][\"stationary\"] != 'true' }}"
- condition: template
value_template: "{{ trigger.payload_json[\"after\"][\"stationary\"] != 'true' }}"
alias: Object is moving
sequence:
- action: input_boolean.turn_on
metadata: {}
@ -61,7 +54,6 @@ actions:
alias: Set Patio motion detected
- action: script.person_detect_actions
data:
send_to_nova_4k: "false"
id: "{{ id }}"
title: >-
{{ label }} was detected on {{ camera | replace("_", " ") |
@ -95,7 +87,6 @@ actions:
alias: Wait for end event
- action: script.person_detect_actions
data:
send_to_nova_4k: "false"
id: "{{ id }}"
title: >
{% if (wait.trigger.payload_json["after"]["sub_label"] !=
@ -120,15 +111,15 @@ actions:
base_url: https://home-assistant.sthome.org
when: "{{ detect_time }}"
camera: "{{ camera }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.patio_motion_detected
alias: Reset Patio motion detected
until:
- condition: template
value_template: "{{ wait.trigger.payload_json[\"type\"] == \"end\" }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.patio_motion_detected
alias: Reset Patio motion detected
default: []
mode: parallel
max: 10

View File

@ -41,13 +41,6 @@ actions:
- conditions:
- condition: trigger
id: frigate-event
- condition: or
conditions:
- condition: template
value_template: "{{ trigger.payload_json[\"before\"][\"stationary\"] != 'true' }}"
- condition: template
value_template: "{{ trigger.payload_json[\"after\"][\"stationary\"] != 'true' }}"
alias: Object is moving
sequence:
- action: input_boolean.turn_on
metadata: {}
@ -57,10 +50,6 @@ actions:
alias: Set Westwall motion detected
- action: script.person_detect_actions
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >-
{{ label }} was detected on {{ camera | replace("_", " ") |
@ -94,10 +83,6 @@ actions:
alias: Wait for end event
- action: script.person_detect_actions
data:
send_to_sm_n986b: "true"
send_to_sm_x115: "true"
send_to_nokia_c20: "true"
send_to_nova_4k: "false"
id: "{{ id }}"
title: >
{% if (wait.trigger.payload_json["after"]["sub_label"] !=
@ -122,15 +107,15 @@ actions:
base_url: https://home-assistant.sthome.org
when: "{{ detect_time }}"
camera: "{{ camera }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.westwall_motion_detected
alias: Reset Westwall motion detected
until:
- condition: template
value_template: "{{ wait.trigger.payload_json[\"type\"] == \"end\" }}"
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.westwall_motion_detected
alias: Reset Westwall motion detected
default: []
mode: parallel
max: 10

View File

@ -66,7 +66,6 @@ sequence:
data: {}
- action: script.send_dynamic_notification_to_devices
data:
send_to_nova_4k: "{{ send_to_nova_4k }}"
id: "{{ id }}"
title: "{{ title }}"
message: "{{ message }}"
@ -81,11 +80,6 @@ sequence:
when: "{{ when }}"
enabled: true
fields:
send_to_nova_4k:
selector:
boolean: null
name: send_to_nova_4k
required: false
id:
selector:
text: null

View File

@ -3,6 +3,12 @@ sequence:
- variables:
image_url: "{{ base_url~image }}"
video_url: "{{ base_url~video }}"
send_to_sm_n986b: "{{ states('input_boolean.notify_sm_n986b') == 'on' }}"
send_to_nokia_c20: "{{ states('input_boolean.notify_nokia_c20') == 'on' }}"
send_to_sm_x115: "{{ states('input_boolean.notify_sm_x115') == 'on' }}"
send_to_sm_a032f: "{{ states('input_boolean.notify_sm_a032f') == 'on' }}"
send_to_sm_a245f: "{{ states('input_boolean.notify_sm_a245f') == 'on' }}"
send_to_nova_4k: false
- parallel:
- if:
- condition: template
@ -130,30 +136,94 @@ sequence:
entity_id: counter.sm_x115_notification_counter
data: {}
alias: Increment SM_X115 notification counter
- if:
- condition: template
value_template: "{{ send_to_sm_a032f | default(True) }}"
alias: Send to SM_A032F?
then:
- parallel:
- data:
message: "{{ message }}"
title: "{{ title }}"
data:
sticky: "true"
color: "#2DF56D"
channel: "{{ channel }}"
vibrationPattern: 100, 1000, 100, 1000, 100
priority: "{{ priority }}"
ledColor: red
importance: "{{ importance }}"
clickAction: "{{ image_url }}"
tag: "{{ notifTag }}"
group: "{{ group }}"
image: >-
{% if (importance == "default" and video != null) -%} {{
null }} {%- else -%} {{ image_url }} {%- endif %}
video: >-
{% if (importance == "default" and video != null) -%} {{
video_url }} {%- else -%} {{ null }} {%- endif %}
notification_icon: "{{ notifIcon }}"
when: "{{ when }}"
actions:
- action: URI
title: Open Image
uri: "{{ image_url }}"
- action: URI
title: Open Clip
uri: "{{ video_url }}"
action: notify.mobile_app_sm_a032f
alias: "Notify: Send message to SM_A032F"
- action: counter.increment
target:
entity_id: counter.sm_a032f_notification_counter
data: {}
alias: Increment SM_A032F notification counter
- if:
- condition: template
value_template: "{{ send_to_sm_a245f | default(True) }}"
alias: Send to SM_A245F?
then:
- parallel:
- data:
message: "{{ message }}"
title: "{{ title }}"
data:
sticky: "true"
color: "#2DF56D"
channel: "{{ channel }}"
vibrationPattern: 100, 1000, 100, 1000, 100
priority: "{{ priority }}"
ledColor: red
importance: "{{ importance }}"
clickAction: "{{ image_url }}"
tag: "{{ notifTag }}"
group: "{{ group }}"
image: >-
{% if (importance == "default" and video != null) -%} {{
null }} {%- else -%} {{ image_url }} {%- endif %}
video: >-
{% if (importance == "default" and video != null) -%} {{
video_url }} {%- else -%} {{ null }} {%- endif %}
notification_icon: "{{ notifIcon }}"
when: "{{ when }}"
actions:
- action: URI
title: Open Image
uri: "{{ image_url }}"
- action: URI
title: Open Clip
uri: "{{ video_url }}"
action: notify.mobile_app_sm_a245f
alias: "Notify: Send message to SM_A245F"
- action: counter.increment
target:
entity_id: counter.sm_a245f_notification_counter
data: {}
alias: Increment SM_A245F notification counter
mode: parallel
icon: mdi:bell-ring-outline
max: 10
fields:
send_to_sm_n986b:
selector:
boolean: null
name: send_to_sm_n986b
required: false
send_to_nokia_c20:
selector:
boolean: null
name: send_to_nokia_c20
required: false
send_to_sm_x115:
selector:
boolean: null
name: send_to_sm_x115
required: false
send_to_nova_4k:
selector:
boolean: null
name: send_to_nova_4k
required: false
id:
selector:
text: null

View File

@ -1,89 +1,108 @@
{
"version": 1,
"minor_version": 1,
"key": "counter",
"data": {
"items": [
{
"id": "driveway_person_alarm_counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "east_wall_person_alarm_counter",
"name": "East wall Person Alarm Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "backyard_person_alarm_counter",
"name": "Backyard Person Alarm Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "west_wall_person_alarm_counter",
"name": "West wall Person Alarm Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "patio_person_alarm_counter",
"name": "Patio Person Alarm Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "car_counter",
"name": "Car Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "sm_n986b_notification_counter",
"name": "SM_N986B: Notification Counter",
"minimum": 0,
"restore": true,
"maximum": null,
"initial": 0,
"step": 1
},
{
"id": "sm_x115_notification_counter",
"name": "SM_X115 Notification Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "nokia_c20_notification_counter",
"name": "Nokia C20 Notification Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
}
]
}
}
"version": 1,
"minor_version": 1,
"key": "counter",
"data": {
"items": [
{
"id": "driveway_person_alarm_counter",
"minimum": null,
"maximum": null,
"name": "Driveway Person Alarm Counter",
"initial": 0,
"step": 1,
"restore": true
},
{
"id": "east_wall_person_alarm_counter",
"name": "East wall Person Alarm Counter",
"minimum": null,
"maximum": null,
"initial": 0,
"step": 1,
"restore": true
},
{
"id": "backyard_person_alarm_counter",
"name": "Backyard Person Alarm Counter",
"minimum": null,
"maximum": null,
"initial": 0,
"step": 1,
"restore": true
},
{
"id": "west_wall_person_alarm_counter",
"name": "West wall Person Alarm Counter",
"minimum": null,
"maximum": null,
"initial": 0,
"step": 1,
"restore": true
},
{
"id": "patio_person_alarm_counter",
"name": "Patio Person Alarm Counter",
"minimum": null,
"maximum": null,
"initial": 0,
"step": 1,
"restore": true
},
{
"id": "car_counter",
"name": "Car Counter",
"minimum": null,
"maximum": null,
"restore": true,
"step": 1,
"initial": 0
},
{
"id": "sm_n986b_notification_counter",
"name": "SM_N986B: Notification Counter",
"minimum": 0,
"restore": true,
"maximum": null,
"initial": 0,
"step": 1
},
{
"id": "sm_x115_notification_counter",
"name": "SM_X115 Notification Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "nokia_c20_notification_counter",
"name": "Nokia C20 Notification Counter",
"initial": 0,
"minimum": null,
"restore": true,
"maximum": null,
"step": 1
},
{
"id": "sm_a032f_notification_counter",
"name": "SM-A032F Notification Counter",
"step": 1,
"maximum": null,
"restore": true,
"minimum": null,
"initial": 0
},
{
"id": "sm_a245f_notification_counter",
"name": "SM-A245F Notification Counter",
"step": 1,
"maximum": null,
"restore": true,
"minimum": null,
"initial": 0
}
]
}
}

View File

@ -53,6 +53,11 @@
"id": "notify_sm_a032f",
"name": "Notify SM-A032F",
"icon": "mdi:cellphone-text"
},
{
"id": "notify_sm_a245f",
"name": "Notify SM-A245F",
"icon": "mdi:cellphone-text"
}
]
}

View File

@ -78,7 +78,10 @@
"chips": [
{
"type": "entity",
"entity": "sun.sun"
"entity": "sun.sun",
"tap_action": {
"action": "more-info"
}
},
{
"type": "template",
@ -92,7 +95,10 @@
},
{
"type": "entity",
"entity": "sensor.moon_phase"
"entity": "sensor.moon_phase",
"tap_action": {
"action": "more-info"
}
}
]
},
@ -107,11 +113,18 @@
{
"type": "custom:mushroom-person-card",
"entity": "person.chris",
"name": "Chris"
"name": "Chris",
"tap_action": {
"action": "more-info"
}
},
{
"type": "custom:mushroom-person-card",
"entity": "device_tracker.nokia_c20"
"entity": "person.zelna",
"name": "Zelna",
"tap_action": {
"action": "more-info"
}
}
]
},
@ -202,27 +215,59 @@
},
{
"type": "custom:mushroom-template-card",
"primary": "S20 ultra",
"secondary": "{{ states['sensor.sm_n986b_battery_level'].state }}%",
"entity": "sensor.sm_n986b_battery_level",
"icon_color": "{% set state=states['sensor.sm_n986b_battery_level'].state %}\n{% if state|int < 15 %}\n red\n{% elif (state|int > 15 and state|int < 25) %}\n #b22222\n{% elif (state|int > 25 and state|int < 55) %}\n orange\n{% else %}\n green\n{% endif %}",
"icon": "{{ state_attr(\"sensor.sm_n986b_battery_level\", \"icon\") }}"
"icon": "{{ state_attr(\"sensor.sm_n986b_battery_level\", \"icon\") }}",
"tap_action": {
"action": "more-info"
},
"entity": "sensor.sm_n986b_battery_level",
"primary": "Chris (S20)",
"badge_icon": ""
},
{
"type": "custom:mushroom-template-card",
"primary": "Nokia C20",
"primary": "Zelna (C20)",
"secondary": "{{ states['sensor.nokia_c20_battery_level'].state }}%",
"entity": "sensor.nokia_c20_battery_level",
"icon_color": "{% set state=states['sensor.nokia_c20_battery_level'].state %}\n{% if state|int < 15 %}\n red\n{% elif (state|int > 15 and state|int < 25) %}\n #b22222\n{% elif (state|int > 25 and state|int < 55) %}\n orange\n{% else %}\n green\n{% endif %}",
"icon": "{{ state_attr(\"sensor.nokia_c20_battery_level\", \"icon\") }}"
"icon": "{{ state_attr(\"sensor.nokia_c20_battery_level\", \"icon\") }}",
"tap_action": {
"action": "more-info"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "A9 tablet",
"primary": "Zelna (A9)",
"secondary": "{{ states['sensor.sm_x115_battery_level'].state }}%",
"entity": "sensor.sm_x115_battery_level",
"icon_color": "{% set state=states['sensor.sm_x115_battery_level'].state %}\n{% if state|int < 15 %}\n red\n{% elif (state|int > 15 and state|int < 25) %}\n #b22222\n{% elif (state|int > 25 and state|int < 55) %}\n orange\n{% else %}\n green\n{% endif %}",
"icon": "{{ state_attr(\"sensor.sm_x115_battery_level\", \"icon\") }}"
"icon": "{{ state_attr(\"sensor.sm_x115_battery_level\", \"icon\") }}",
"tap_action": {
"action": "more-info"
}
},
{
"type": "custom:mushroom-template-card",
"primary": "Roderique (A03 Core)",
"secondary": "{{ states['sensor.sm_a032f_battery_level'].state }}%",
"icon_color": "{% set state=states['sensor.sm_a032f_battery_level'].state %}\n{% if state|int < 15 %}\n red\n{% elif (state|int > 15 and state|int < 25) %}\n #b22222\n{% elif (state|int > 25 and state|int < 55) %}\n orange\n{% else %}\n green\n{% endif %}",
"icon": "{{ state_attr('sensor.sm_a032f_battery_level', 'icon') }}",
"tap_action": {
"action": "more-info"
},
"entity": "sensor.sm_a032f_battery_level"
},
{
"type": "custom:mushroom-template-card",
"secondary": "{{ states['sensor.sm_a245f_battery_level'].state }}%",
"icon_color": "{% set state=states['sensor.sm_a245f_battery_level'].state %}\n{% if state|int < 15 %}\n red\n{% elif (state|int > 15 and state|int < 25) %}\n #b22222\n{% elif (state|int > 25 and state|int < 55) %}\n orange\n{% else %}\n green\n{% endif %}",
"icon": "{{ state_attr('sensor.sm_a245f_battery_level', 'icon') }}",
"tap_action": {
"action": "more-info"
},
"entity": "sensor.sm_a245f_battery_level",
"primary": "Carlton (A24)"
}
]
},
@ -586,7 +631,7 @@
"entity": "input_boolean.notify_sm_n986b",
"secondary": "{{ states[\"input_boolean.notify_sm_n986b\"].state }}",
"icon": "{% if is_state('input_boolean.notify_sm_n986b', 'on') %}\n {{ state_attr(\"input_boolean.notify_sm_n986b\", \"icon\") }}\n{% else %}\n mdi:cellphone-off\n{% endif %}",
"primary": "{{ states['input_boolean.notify_sm_n986b'].name }}",
"primary": "Notify Chris (S20)",
"icon_color": "{% if is_state('input_boolean.notify_sm_n986b', 'on') %}\n green\n{% else %}\n #4682B4\n{% endif %}"
},
{
@ -594,7 +639,7 @@
"entity": "input_boolean.notify_nokia_c20",
"secondary": "{{ states['input_boolean.notify_nokia_c20'].state }}",
"icon": "{% if is_state('input_boolean.notify_nokia_c20', 'on') %}\n {{ state_attr(\"input_boolean.notify_nokia_c20\", \"icon\") }}\n{% else %}\n mdi:cellphone-off\n{% endif %}",
"primary": "{{ states['input_boolean.notify_nokia_c20'].name }}",
"primary": "Notify Zelna (C20)",
"icon_color": "{% if is_state('input_boolean.notify_nokia_c20', 'on') %}\n green\n{% else %}\n #4682B4\n{% endif %}"
},
{
@ -602,19 +647,30 @@
"entity": "input_boolean.notify_sm_x115",
"secondary": "{{ states['input_boolean.notify_sm_x115'].state }}",
"icon": "{% if is_state('input_boolean.notify_sm_x115', 'on') %}\n {{ state_attr(\"input_boolean.notify_sm_x115\", \"icon\") }}\n{% else %}\n mdi:cellphone-off\n{% endif %}",
"primary": "{{ states['input_boolean.notify_sm_x115'].name }}",
"primary": "Notify Zelna (A9)",
"icon_color": "{% if is_state('input_boolean.notify_sm_x115', 'on') %}\n green\n{% else %}\n #4682B4\n{% endif %}"
},
{
"type": "custom:mushroom-template-card",
"secondary": "{{ states['input_boolean.notify_sm_a032f'].state }}",
"icon": "{% if is_state('input_boolean.notify_sm_a032f', 'on') %}\n {{ state_attr(\"input_boolean.notify_sm_a032f\", \"icon\") }}\n{% else %}\n mdi:cellphone-off\n{% endif %}",
"primary": "{{ states['input_boolean.notify_sm_a032f'].name }}",
"primary": "Notify Roderique (A03C)",
"icon_color": "{% if is_state('input_boolean.notify_sm_a032f', 'on') %}\n green\n{% else %}\n #4682B4\n{% endif %}",
"tap_action": {
"action": "toggle"
},
"entity": "input_boolean.notify_sm_a032f"
},
{
"type": "custom:mushroom-template-card",
"secondary": "{{ states['input_boolean.notify_sm_a245f'].state }}",
"icon": "{% if is_state('input_boolean.notify_sm_a245f', 'on') %}\n {{ state_attr(\"input_boolean.notify_sm_a245f\", \"icon\") }}\n{% else %}\n mdi:cellphone-off\n{% endif %}",
"icon_color": "{% if is_state('input_boolean.notify_sm_a245f', 'on') %}\n green\n{% else %}\n #4682B4\n{% endif %}",
"tap_action": {
"action": "toggle"
},
"entity": "input_boolean.notify_sm_a245f",
"primary": "Notify Carlton (A24)"
}
],
"column_span": 1
@ -772,7 +828,7 @@
"type": "picture-entity",
"entity": "camera.driveway",
"grid_options": {
"columns": 12,
"columns": "full",
"rows": "auto"
},
"tap_action": {

View File

@ -0,0 +1,45 @@
{
"version": 2,
"minor_version": 1,
"key": "person",
"data": {
"items": [
{
"id": "chris",
"name": "Chris",
"user_id": "416b6392be024ba79a85434e52c46d48",
"device_trackers": [
"device_tracker.sm_n986b"
]
},
{
"id": "zelna",
"name": "Zelna",
"device_trackers": [
"device_tracker.sm_x115",
"device_tracker.nokia_c20"
],
"user_id": "9af1ac3ff2c842e297d7736fa65de9be",
"picture": null
},
{
"id": "roderique",
"name": "Roderique",
"device_trackers": [
"device_tracker.sm_a032f"
],
"user_id": "e02cb4eeeb924910aeec04210b5445d9",
"picture": null
},
{
"id": "carlton",
"name": "Carlton",
"device_trackers": [
"device_tracker.sm_a245f"
],
"user_id": "f3fe4028e42444b7aec1c0e7652d8ac8",
"picture": null
}
]
}
}

View File

@ -1,242 +0,0 @@
alias: Send Dynamic Notification To All Devices
sequence:
- variables:
image_url: "{{ base_url~image }}"
video_url: "{{ base_url~video }}"
send_to_sm_n986b: "{{ states('input_boolean.notify_sm_n986b') == 'on' }}"
send_to_nokia_c20: "{{ states('input_boolean.notify_nokia_c20') == 'on' }}"
send_to_sm_x115: "{{ states('input_boolean.notify_sm_x115') == 'on' }}"
send_to_sm_a032f: "{{ states('input_boolean.notify_sm_a032f') == 'on' }}"
- parallel:
- if:
- condition: template
value_template: "{{ send_to_sm_n986b | default(True) }}"
alias: Send to SM_N986B?
then:
- parallel:
- data:
message: "{{ message }}"
title: "{{ title }}"
data:
sticky: "true"
color: "#2DF56D"
channel: "{{ channel }}"
vibrationPattern: 100, 1000, 100, 1000, 100
priority: "{{ priority }}"
ledColor: red
importance: "{{ importance }}"
clickAction: "{{ image_url }}"
tag: "{{ notifTag }}"
group: "{{ group }}"
image: >-
{% if (importance == "default" and video != null) -%} {{
null }} {%- else -%} {{ image_url }} {%- endif %}
video: >-
{% if (importance == "default" and video != null) -%} {{
video_url }} {%- else -%} {{ null }} {%- endif %}
notification_icon: "{{ notifIcon }}"
when: "{{ when }}"
actions:
- action: URI
title: Open Image
uri: "{{ image_url }}"
- action: URI
title: Open Clip
uri: "{{ video_url }}"
action: notify.mobile_app_sm_n986b
alias: "Notify: Send message to SM_N986B"
- action: counter.increment
target:
entity_id: counter.sm_n986b_notification_counter
data: {}
alias: Increment SM_N986B notification counter
- if:
- condition: template
value_template: "{{ send_to_nokia_c20 | default(True) }}"
alias: Send to Nokia_C20?
then:
- parallel:
- data:
message: "{{ message }}"
title: "{{ title }}"
data:
sticky: "true"
color: "#2DF56D"
channel: "{{ channel }}"
vibrationPattern: 100, 1000, 100, 1000, 100
priority: "{{ priority }}"
ledColor: red
importance: "{{ importance }}"
clickAction: "{{ image_url }}"
tag: "{{ notifTag }}"
group: "{{ group }}"
image: >-
{% if (importance == "default" and video != null) -%} {{
null }} {%- else -%} {{ image_url }} {%- endif %}
video: >-
{% if (importance == "default" and video != null) -%} {{
video_url }} {%- else -%} {{ null }} {%- endif %}
notification_icon: "{{ notifIcon }}"
when: "{{ when }}"
actions:
- action: URI
title: Open Image
uri: "{{ image_url }}"
- action: URI
title: Open Clip
uri: "{{ video_url }}"
action: notify.mobile_app_nokia_c20
alias: "Notify: Send message to Nokia_C20"
- action: counter.increment
target:
entity_id: counter.nokia_c20_notification_counter
data: {}
alias: Increment NOKIA_C20 notification counter
- if:
- condition: template
value_template: "{{ send_to_sm_x115 | default(True) }}"
alias: Send to SM_X115?
then:
- parallel:
- data:
message: "{{ message }}"
title: "{{ title }}"
data:
sticky: "true"
color: "#2DF56D"
channel: "{{ channel }}"
vibrationPattern: 100, 1000, 100, 1000, 100
priority: "{{ priority }}"
ledColor: red
importance: "{{ importance }}"
clickAction: "{{ image_url }}"
tag: "{{ notifTag }}"
group: "{{ group }}"
image: >-
{% if (importance == "default" and video != null) -%} {{
null }} {%- else -%} {{ image_url }} {%- endif %}
video: >-
{% if (importance == "default" and video != null) -%} {{
video_url }} {%- else -%} {{ null }} {%- endif %}
notification_icon: "{{ notifIcon }}"
when: "{{ when }}"
actions:
- action: URI
title: Open Image
uri: "{{ image_url }}"
- action: URI
title: Open Clip
uri: "{{ video_url }}"
action: notify.mobile_app_sm_x115
alias: "Notify: Send message to SM_X115"
- action: counter.increment
target:
entity_id: counter.sm_x115_notification_counter
data: {}
alias: Increment SM_X115 notification counter
- if:
- condition: template
value_template: "{{ send_to_sm_a032f | default(True) }}"
alias: Send to SM_A032F?
then:
- parallel:
- data:
message: "{{ message }}"
title: "{{ title }}"
data:
sticky: "true"
color: "#2DF56D"
channel: "{{ channel }}"
vibrationPattern: 100, 1000, 100, 1000, 100
priority: "{{ priority }}"
ledColor: red
importance: "{{ importance }}"
clickAction: "{{ image_url }}"
tag: "{{ notifTag }}"
group: "{{ group }}"
image: >-
{% if (importance == "default" and video != null) -%} {{
null }} {%- else -%} {{ image_url }} {%- endif %}
video: >-
{% if (importance == "default" and video != null) -%} {{
video_url }} {%- else -%} {{ null }} {%- endif %}
notification_icon: "{{ notifIcon }}"
when: "{{ when }}"
actions:
- action: URI
title: Open Image
uri: "{{ image_url }}"
- action: URI
title: Open Clip
uri: "{{ video_url }}"
action: notify.mobile_app_sm_a032f
alias: "Notify: Send message to SM_A032F"
- action: counter.increment
target:
entity_id: counter.sm_a032f_notification_counter
data: {}
alias: Increment SM_A032F notification counter
mode: parallel
icon: mdi:bell-ring-outline
max: 10
fields:
send_to_nova_4k:
selector:
boolean: null
name: send_to_nova_4k
required: false
id:
selector:
text: null
name: id
required: true
title:
selector:
text: null
name: title
required: true
message:
selector:
text: null
name: message
required: true
notiftag:
selector:
text: null
name: notifTag
required: true
notificon:
selector:
text: null
name: notifIcon
required: true
group:
selector:
text: null
name: group
required: true
importance:
selector:
text: null
name: importance
required: true
base_url:
selector:
text: null
name: base_url
required: true
image:
selector:
text: null
name: image
required: true
video:
selector:
text: null
name: video
required: true
when:
selector:
text: null
name: when
required: true

108
home-assistant/zone.json Normal file
View File

@ -0,0 +1,108 @@
{
"version": 1,
"minor_version": 1,
"key": "zone",
"data": {
"items": [
{
"id": "lorna",
"latitude": -33.969165,
"longitude": 18.652848,
"name": "Lorna",
"icon": "mdi:map-marker",
"passive": false,
"radius": 60.0
},
{
"id": "leon",
"latitude": -33.966557,
"longitude": 18.637627,
"name": "Leon",
"icon": "mdi:map-marker",
"passive": false,
"radius": 50.0
},
{
"id": "ouma",
"latitude": -33.962976,
"longitude": 18.641263,
"name": "Ouma",
"icon": "mdi:map-marker",
"passive": false,
"radius": 30.0
},
{
"id": "nicolai",
"latitude": -33.95014,
"longitude": 18.674106,
"name": "Nicolai",
"icon": "mdi:map-marker",
"passive": false,
"radius": 30.0
},
{
"id": "denver",
"latitude": -33.93901,
"longitude": 18.596129,
"name": "Denver",
"icon": "mdi:map-marker",
"passive": false,
"radius": 30.0
},
{
"id": "laingsburg",
"latitude": -33.196121,
"longitude": 20.856461,
"name": "Laingsburg",
"icon": "mdi:map-marker",
"passive": false,
"radius": 3000.0
},
{
"id": "worcester",
"latitude": -33.630304917910166,
"longitude": 19.426736609828502,
"name": "Worcester",
"icon": "mdi:map-marker",
"passive": false,
"radius": 7000.0
},
{
"id": "beaufort_west",
"latitude": -32.35402,
"longitude": 22.583343,
"name": "Beaufort West",
"icon": "mdi:map-marker",
"passive": false,
"radius": 4000.0
},
{
"id": "colesberg",
"latitude": -30.709722,
"longitude": 25.105093,
"name": "Colesberg",
"icon": "mdi:map-marker",
"passive": false,
"radius": 5000.0
},
{
"id": "bloemfontein",
"latitude": -29.09043,
"longitude": 26.171226,
"name": "Bloemfontein",
"icon": "mdi:map-marker",
"passive": false,
"radius": 10000.0
},
{
"id": "kevin_s_place",
"latitude": -34.083776,
"longitude": 24.911153,
"name": "Kevin's Place",
"icon": "mdi:map-marker",
"passive": false,
"radius": 100.0
}
]
}
}