diff --git a/home-assistant/FRIGATE- Person Detect Logic - Backyard Camera.yml b/home-assistant/FRIGATE- Person Detect Logic - Backyard Camera.yml index 5f53d5a..a661b03 100644 --- a/home-assistant/FRIGATE- Person Detect Logic - Backyard Camera.yml +++ b/home-assistant/FRIGATE- Person Detect Logic - Backyard Camera.yml @@ -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 diff --git a/home-assistant/FRIGATE- Person Detect Logic - Driveway Camera.yml b/home-assistant/FRIGATE- Person Detect Logic - Driveway Camera.yml index 286ce36..76344fa 100644 --- a/home-assistant/FRIGATE- Person Detect Logic - Driveway Camera.yml +++ b/home-assistant/FRIGATE- Person Detect Logic - Driveway Camera.yml @@ -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 diff --git a/home-assistant/FRIGATE- Person Detect Logic - Eastwall Camera.yml b/home-assistant/FRIGATE- Person Detect Logic - Eastwall Camera.yml index be7c298..de2afe4 100644 --- a/home-assistant/FRIGATE- Person Detect Logic - Eastwall Camera.yml +++ b/home-assistant/FRIGATE- Person Detect Logic - Eastwall Camera.yml @@ -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 diff --git a/home-assistant/FRIGATE- Person Detect Logic - Patio Camera.yml b/home-assistant/FRIGATE- Person Detect Logic - Patio Camera.yml index f86c831..303063f 100644 --- a/home-assistant/FRIGATE- Person Detect Logic - Patio Camera.yml +++ b/home-assistant/FRIGATE- Person Detect Logic - Patio Camera.yml @@ -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 diff --git a/home-assistant/FRIGATE- Person Detect Logic - Westwall Camera.yml b/home-assistant/FRIGATE- Person Detect Logic - Westwall Camera.yml index a4c2816..71997a7 100644 --- a/home-assistant/FRIGATE- Person Detect Logic - Westwall Camera.yml +++ b/home-assistant/FRIGATE- Person Detect Logic - Westwall Camera.yml @@ -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 diff --git a/home-assistant/Person detect Actions.yml b/home-assistant/Person detect Actions.yml index 44fffbd..d981a46 100644 --- a/home-assistant/Person detect Actions.yml +++ b/home-assistant/Person detect Actions.yml @@ -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 diff --git a/home-assistant/Send Dynamic Notification To All Devices.yml b/home-assistant/Send Dynamic Notification To All Devices.yml index 381cae3..36e5466 100644 --- a/home-assistant/Send Dynamic Notification To All Devices.yml +++ b/home-assistant/Send Dynamic Notification To All Devices.yml @@ -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 diff --git a/home-assistant/counter.json b/home-assistant/counter.json index 048b023..2ac2e61 100644 --- a/home-assistant/counter.json +++ b/home-assistant/counter.json @@ -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 - } - ] - } - } \ No newline at end of file + "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 + } + ] + } +} \ No newline at end of file diff --git a/home-assistant/input_boolean.json b/home-assistant/input_boolean.json index e8de827..3c5e7bd 100644 --- a/home-assistant/input_boolean.json +++ b/home-assistant/input_boolean.json @@ -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" } ] } diff --git a/home-assistant/lovelace.dashboard_sthome.yml b/home-assistant/lovelace.dashboard_sthome.yml index 924ef9e..990389d 100644 --- a/home-assistant/lovelace.dashboard_sthome.yml +++ b/home-assistant/lovelace.dashboard_sthome.yml @@ -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": { diff --git a/home-assistant/person.json b/home-assistant/person.json new file mode 100644 index 0000000..7207f9c --- /dev/null +++ b/home-assistant/person.json @@ -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 + } + ] + } + } \ No newline at end of file diff --git a/home-assistant/send_dynamic_notification_to_all_devices (no comments).yml b/home-assistant/send_dynamic_notification_to_all_devices (no comments).yml deleted file mode 100644 index 7c594cc..0000000 --- a/home-assistant/send_dynamic_notification_to_all_devices (no comments).yml +++ /dev/null @@ -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 diff --git a/home-assistant/zone.json b/home-assistant/zone.json new file mode 100644 index 0000000..1b7a4aa --- /dev/null +++ b/home-assistant/zone.json @@ -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 + } + ] + } + } \ No newline at end of file