Added animation to home-assistant mushroom cards
This commit is contained in:
parent
f16556dfc0
commit
0cba9eed85
@ -28,10 +28,7 @@ conditions:
|
||||
- condition: template
|
||||
value_template: "{{ before_zones | length == 0 }}"
|
||||
enabled: true
|
||||
# - condition: template
|
||||
# value_template: "{{ trigger.payload_json[\"after\"][\"entered_zones\"]|length > 0 }}"
|
||||
# enabled: true
|
||||
- alias: Object is in Backyard
|
||||
- alias: Object is in Back Yard
|
||||
condition: template
|
||||
value_template: "{{ [\"backyard_z1\"] | select(\"in\", after_zones) | list | length > 0 }}"
|
||||
enabled: true
|
||||
@ -40,10 +37,26 @@ 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: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_boolean.backyard_motion_detected
|
||||
alias: Set Backyard motion detected
|
||||
- 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: >-
|
||||
@ -59,7 +72,7 @@ actions:
|
||||
importance: max
|
||||
priority: critical
|
||||
image: /api/frigate/notifications/{{ id }}/snapshot.jpg
|
||||
video: ""
|
||||
video: null
|
||||
base_url: https://home-assistant.sthome.org
|
||||
when: "{{ detect_time }}"
|
||||
camera: "{{ camera }}"
|
||||
@ -72,11 +85,16 @@ actions:
|
||||
trigger: mqtt
|
||||
continue_on_timeout: false
|
||||
timeout: "00:02:00"
|
||||
alias: 2 min timeout
|
||||
- condition: template
|
||||
value_template: "{{ wait.trigger.payload_json['type'] == 'end' }}"
|
||||
alias: Wait for end event
|
||||
- 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: >
|
||||
@ -102,9 +120,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
|
||||
default: []
|
||||
mode: parallel
|
||||
max: 10
|
||||
|
||||
@ -30,21 +30,35 @@ conditions:
|
||||
enabled: true
|
||||
- alias: Object is in Street or Front Yard
|
||||
condition: template
|
||||
value_template: "{{ [\"driveway_z1\", \"Driveway_Paving\"] | select(\"in\", after_zones) | list | length > 0 }}"
|
||||
enabled: true
|
||||
- alias: Object is not a Car
|
||||
condition: template
|
||||
value_template: "{{ trigger.payload_json[\"after\"][\"label\"] != 'car' }}"
|
||||
value_template: >-
|
||||
{{ ["driveway_z1", "Driveway_Paving"] | select("in", after_zones) | list |
|
||||
length > 0 }}
|
||||
enabled: true
|
||||
actions:
|
||||
- choose:
|
||||
- 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: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_boolean.driveway_motion_detected
|
||||
alias: Set Driveway motion detected
|
||||
- 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: >-
|
||||
@ -60,7 +74,7 @@ actions:
|
||||
importance: max
|
||||
priority: critical
|
||||
image: /api/frigate/notifications/{{ id }}/snapshot.jpg
|
||||
video: ""
|
||||
video: null
|
||||
base_url: https://home-assistant.sthome.org
|
||||
when: "{{ detect_time }}"
|
||||
camera: "{{ camera }}"
|
||||
@ -73,11 +87,16 @@ actions:
|
||||
trigger: mqtt
|
||||
continue_on_timeout: false
|
||||
timeout: "00:02:00"
|
||||
alias: 2 min timeout
|
||||
- condition: template
|
||||
value_template: "{{ wait.trigger.payload_json['type'] == 'end' }}"
|
||||
alias: Wait for end event
|
||||
- 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: >
|
||||
@ -103,9 +122,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
|
||||
default: []
|
||||
mode: parallel
|
||||
max: 10
|
||||
|
||||
@ -28,10 +28,7 @@ conditions:
|
||||
- condition: template
|
||||
value_template: "{{ before_zones | length == 0 }}"
|
||||
enabled: true
|
||||
# - condition: template
|
||||
# value_template: "{{ trigger.payload_json[\"after\"][\"entered_zones\"]|length > 0 }}"
|
||||
# enabled: true
|
||||
- alias: Object is on the East side of house
|
||||
- alias: Object is on east side
|
||||
condition: template
|
||||
value_template: "{{ [\"eastwall_z1\"] | select(\"in\", after_zones) | list | length > 0 }}"
|
||||
enabled: true
|
||||
@ -40,10 +37,25 @@ 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: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_boolean.eastwall_motion_detected
|
||||
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: >-
|
||||
@ -59,7 +71,7 @@ actions:
|
||||
importance: max
|
||||
priority: critical
|
||||
image: /api/frigate/notifications/{{ id }}/snapshot.jpg
|
||||
video: ""
|
||||
video: null
|
||||
base_url: https://home-assistant.sthome.org
|
||||
when: "{{ detect_time }}"
|
||||
camera: "{{ camera }}"
|
||||
@ -72,11 +84,15 @@ actions:
|
||||
trigger: mqtt
|
||||
continue_on_timeout: false
|
||||
timeout: "00:02:00"
|
||||
alias: 2 min timeout
|
||||
- condition: template
|
||||
value_template: "{{ wait.trigger.payload_json['type'] == 'end' }}"
|
||||
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: >
|
||||
@ -102,6 +118,12 @@ 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\" }}"
|
||||
|
||||
@ -49,6 +49,12 @@ actions:
|
||||
value_template: "{{ trigger.payload_json[\"after\"][\"stationary\"] != 'true' }}"
|
||||
alias: Object is moving
|
||||
sequence:
|
||||
- action: input_boolean.turn_on
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_boolean.patio_motion_detected
|
||||
alias: Set Patio motion detected
|
||||
- action: script.person_detect_actions
|
||||
data:
|
||||
send_to_nova_4k: "false"
|
||||
@ -110,6 +116,12 @@ 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\" }}"
|
||||
|
||||
@ -28,7 +28,7 @@ conditions:
|
||||
- condition: template
|
||||
value_template: "{{ before_zones | length == 0 }}"
|
||||
enabled: true
|
||||
- alias: Object is on West side
|
||||
- alias: Object is on west side
|
||||
condition: template
|
||||
value_template: "{{ [\"westwall_z1\"] | select(\"in\", after_zones) | list | length > 0 }}"
|
||||
enabled: true
|
||||
@ -37,10 +37,25 @@ 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: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_boolean.westwall_motion_detected
|
||||
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: >-
|
||||
@ -56,7 +71,7 @@ actions:
|
||||
importance: max
|
||||
priority: critical
|
||||
image: /api/frigate/notifications/{{ id }}/snapshot.jpg
|
||||
video: ""
|
||||
video: null
|
||||
base_url: https://home-assistant.sthome.org
|
||||
when: "{{ detect_time }}"
|
||||
camera: "{{ camera }}"
|
||||
@ -69,11 +84,15 @@ actions:
|
||||
trigger: mqtt
|
||||
continue_on_timeout: false
|
||||
timeout: "00:02:00"
|
||||
alias: 2 min timeout
|
||||
- condition: template
|
||||
value_template: "{{ wait.trigger.payload_json['type'] == 'end' }}"
|
||||
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: >
|
||||
@ -99,6 +118,12 @@ 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\" }}"
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||
default_config:
|
||||
frontend:
|
||||
extra_module_url:
|
||||
- /local/card-mod.js
|
||||
# Text to speech
|
||||
tts:
|
||||
- platform: google_translate
|
||||
@ -98,7 +101,29 @@ template:
|
||||
{%- else -%}
|
||||
mdi:lock-off
|
||||
{%- endif -%}
|
||||
|
||||
- unique_id: motion_detected_gui
|
||||
name: Motion Detected
|
||||
state: >
|
||||
{{ 'on' if is_state('input_boolean.backyard_motion_detected', 'on') or is_state('input_boolean.westwall_motion_detected', 'on') or is_state('input_boolean.eastwall_motion_detected', 'on') or is_state('input_boolean.patio_motion_detected', 'on') or is_state('input_boolean.driveway_motion_detected', 'on') else 'off' }}
|
||||
icon: >
|
||||
{% if this.state == 'on' %}
|
||||
mdi:motion-sensor
|
||||
{% elif this.state == 'off'%}
|
||||
mdi:motion-sensor-off
|
||||
{% else %}
|
||||
mdi:motion-sensor-off
|
||||
{% endif %}
|
||||
- unique_id: motion_detect_enabled
|
||||
name: Motion Detect Enabled
|
||||
state: "{{ states('input_boolean.person_detect') }}"
|
||||
icon: >
|
||||
{% if this.state == 'on' %}
|
||||
mdi:motion-sensor
|
||||
{% elif this.state == 'off' %}
|
||||
mdi:motion-sensor-off
|
||||
{% else %}
|
||||
mdi:motion-sensor-off
|
||||
{% endif %}
|
||||
#notify:
|
||||
# - platform: androidtv
|
||||
# name: Android TV
|
||||
|
||||
635
home-assistant/custom-buttoncard examples.yaml
Normal file
635
home-assistant/custom-buttoncard examples.yaml
Normal file
@ -0,0 +1,635 @@
|
||||
# https://www.youtube.com/watch?v=5Pi21pqfbxA
|
||||
cards:
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- text: Physical Switches / Lights
|
||||
type: custom:text-divider-row
|
||||
- square: false
|
||||
columns: 4
|
||||
type: grid
|
||||
cards:
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(252,255,158)
|
||||
color_type: icon
|
||||
entity: switch.kitchen_sink_light
|
||||
icon: mdi:ceiling-light
|
||||
name: Kitchen Sink
|
||||
tap_action:
|
||||
action: toggle
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(252,0,158)
|
||||
color_type: card
|
||||
entity: switch.family_room_lamp
|
||||
icon: mdi:lamp
|
||||
name: Family Room
|
||||
tap_action:
|
||||
action: toggle
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(252,255,158)
|
||||
color_type: card
|
||||
entity: switch.driveway_lights
|
||||
icon: mdi:coach-lamp
|
||||
name: Driveway
|
||||
tap_action:
|
||||
action: toggle
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(252,255,158)
|
||||
color_type: card
|
||||
entity: switch.master_bedroom_lamp
|
||||
icon: mdi:lamp
|
||||
name: Master BR
|
||||
tap_action:
|
||||
action: toggle
|
||||
type: custom:button-card
|
||||
- text: Template (virtual) Switches
|
||||
type: custom:text-divider-row
|
||||
- type: grid
|
||||
square: false
|
||||
columns: 4
|
||||
cards:
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(0,255,0)
|
||||
color_type: card
|
||||
entity: light.basement
|
||||
show_name: false
|
||||
show_state: true
|
||||
state:
|
||||
- color: rgb(200,0,0)
|
||||
icon: mdi:lightbulb-off
|
||||
value: 'off'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color_type: card
|
||||
entity: switch.sw_basement_100
|
||||
icon: mdi:circle-slice-8
|
||||
name: 100%
|
||||
state:
|
||||
- color: rgb(0,128,0)
|
||||
value: 'on'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color_type: card
|
||||
entity: switch.sw_basement_75
|
||||
icon: mdi:circle-slice-6
|
||||
name: 75%
|
||||
state:
|
||||
- color: rgb(0,75,0)
|
||||
value: 'on'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color_type: card
|
||||
entity: switch.sw_basement_50
|
||||
icon: mdi:circle-slice-4
|
||||
name: 50%
|
||||
state:
|
||||
- color: rgb(0,50,0)
|
||||
value: 'on'
|
||||
type: custom:button-card
|
||||
- text: Binary Sensors
|
||||
type: custom:text-divider-row
|
||||
- square: false
|
||||
columns: 4
|
||||
type: grid
|
||||
cards:
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(0,255,0)
|
||||
color_type: icon
|
||||
entity: binary_sensor.garage_laundry_door
|
||||
name: Laundry Door
|
||||
show_name: true
|
||||
show_state: false
|
||||
state:
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:door
|
||||
value: 'off'
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:door-open
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: 'on'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(0,255,0)
|
||||
color_type: icon
|
||||
entity: binary_sensor.garage_service_door
|
||||
name: Service Door
|
||||
show_name: true
|
||||
show_state: false
|
||||
state:
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:door
|
||||
value: 'off'
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:door-open
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: 'on'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color: rgb(0,255,0)
|
||||
color_type: icon
|
||||
entity: cover.garage_door
|
||||
name: Garage Door
|
||||
show_name: false
|
||||
show_state: true
|
||||
state:
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:garage
|
||||
value: closed
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:garage-open
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: open
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color-type: card
|
||||
entity: binary_sensor.mailbox_zb
|
||||
name: Door Status
|
||||
show_state: true
|
||||
state:
|
||||
- color: rgb(128,128,128)
|
||||
icon: mdi:mailbox-outline
|
||||
value: 'off'
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:mailbox-open-up-outline
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: 'on'
|
||||
type: custom:button-card
|
||||
- text: Input Booleans
|
||||
type: custom:text-divider-row
|
||||
- aspect_ratio: 5/1
|
||||
color_type: card
|
||||
entity: input_boolean.voice_notifications
|
||||
name: Voice Notifications - ON
|
||||
icon: mdi:account-voice
|
||||
state:
|
||||
- color: rgb(0,0,255)
|
||||
value: 'on'
|
||||
- color: rgb(50,50,50)
|
||||
icon: mdi:account-voice-off
|
||||
name: Voice Notifications - OFF
|
||||
value: 'off'
|
||||
type: custom:button-card
|
||||
- square: false
|
||||
columns: 4
|
||||
type: grid
|
||||
cards:
|
||||
- aspect_ratio: 1.3/1
|
||||
color: rgb(3, 157, 252)
|
||||
color_type: card
|
||||
entity: input_boolean.notify_washer
|
||||
icon: mdi:account-voice
|
||||
name: Washer
|
||||
state:
|
||||
- color: rgb(70,70,70)
|
||||
icon: mdi:account-voice-off
|
||||
value: 'off'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.3/1
|
||||
color: rgb(3, 157, 252)
|
||||
color_type: card
|
||||
entity: input_boolean.notify_dryer
|
||||
icon: mdi:account-voice
|
||||
name: Dryer
|
||||
state:
|
||||
- color: rgb(70,70,70)
|
||||
icon: mdi:account-voice-off
|
||||
value: 'off'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.3/1
|
||||
color: rgb(3, 157, 252)
|
||||
color_type: card
|
||||
entity: input_boolean.notify_ender3
|
||||
icon: mdi:account-voice
|
||||
name: Printer
|
||||
state:
|
||||
- color: rgb(70,70,70)
|
||||
icon: mdi:account-voice-off
|
||||
value: 'off'
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.3/1
|
||||
color: rgb(3, 157, 252)
|
||||
color_type: card
|
||||
entity: input_boolean.notify_mail
|
||||
icon: mdi:account-voice
|
||||
name: Mail
|
||||
state:
|
||||
- color: rgb(70,70,70)
|
||||
icon: mdi:account-voice-off
|
||||
value: 'off'
|
||||
type: custom:button-card
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- text: Numeric Entities / Sensors
|
||||
type: custom:text-divider-row
|
||||
- square: false
|
||||
columns: 4
|
||||
type: grid
|
||||
cards:
|
||||
- aspect_ratio: 1.2/1
|
||||
entity: sensor.mailbox_zb_battery
|
||||
name: Mailbox
|
||||
show_state: true
|
||||
state:
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery
|
||||
operator: '>='
|
||||
value: 95
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-90
|
||||
operator: '>='
|
||||
value: 85
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 75
|
||||
icon: mdi:battery-80
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 65
|
||||
icon: mdi:battery-70
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 55
|
||||
icon: mdi:battery-60
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-50
|
||||
operator: '>='
|
||||
value: 45
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-40
|
||||
operator: '>='
|
||||
value: 31
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-30
|
||||
operator: '>='
|
||||
value: 25
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-20
|
||||
operator: '>='
|
||||
value: 16
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:battery-10
|
||||
operator: <
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: 16
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
entity: sensor.garage_laundry_door_battery
|
||||
name: Laundry Door
|
||||
show_state: true
|
||||
state:
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery
|
||||
operator: '>='
|
||||
value: 95
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-90
|
||||
operator: '>='
|
||||
value: 85
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 75
|
||||
icon: mdi:battery-80
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 65
|
||||
icon: mdi:battery-70
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 55
|
||||
icon: mdi:battery-60
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-50
|
||||
operator: '>='
|
||||
value: 45
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-40
|
||||
operator: '>='
|
||||
value: 31
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-30
|
||||
operator: '>='
|
||||
value: 25
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-20
|
||||
operator: '>='
|
||||
value: 16
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:battery-10
|
||||
operator: <
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: 16
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
entity: sensor.garage_service_door_battery
|
||||
name: Service Door
|
||||
show_state: true
|
||||
state:
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery
|
||||
operator: '>='
|
||||
value: 95
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-90
|
||||
operator: '>='
|
||||
value: 85
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 75
|
||||
icon: mdi:battery-80
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 65
|
||||
icon: mdi:battery-70
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 55
|
||||
icon: mdi:battery-60
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-50
|
||||
operator: '>='
|
||||
value: 45
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-40
|
||||
operator: '>='
|
||||
value: 31
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-30
|
||||
operator: '>='
|
||||
value: 25
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-20
|
||||
operator: '>='
|
||||
value: 16
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:battery-10
|
||||
operator: <
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: 16
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
entity: sensor.galaxys10_battery_level
|
||||
name: Galaxy S10
|
||||
show_state: true
|
||||
state:
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery
|
||||
operator: '>='
|
||||
value: 95
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-90
|
||||
operator: '>='
|
||||
value: 85
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 75
|
||||
icon: mdi:battery-80
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 65
|
||||
icon: mdi:battery-70
|
||||
- color: rgb(0,255,0)
|
||||
operator: '>='
|
||||
value: 55
|
||||
icon: mdi:battery-60
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-50
|
||||
operator: '>='
|
||||
value: 45
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:battery-40
|
||||
operator: '>='
|
||||
value: 31
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-30
|
||||
operator: '>='
|
||||
value: 25
|
||||
- color: rgb(255,255,0)
|
||||
icon: mdi:battery-20
|
||||
operator: '>='
|
||||
value: 16
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:battery-10
|
||||
operator: <
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: 16
|
||||
type: custom:button-card
|
||||
- text: Navigation
|
||||
type: custom:text-divider-row
|
||||
- type: grid
|
||||
square: false
|
||||
columns: 4
|
||||
cards:
|
||||
- aspect_ratio: 1.2/1
|
||||
color_type: icon
|
||||
icon: mdi:theater
|
||||
name: Entertain.
|
||||
tap_action:
|
||||
action: navigate
|
||||
navigation_path: /lovelace-tablet/home-theater
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color_type: icon
|
||||
icon: mdi:lightbulb
|
||||
name: All Lights
|
||||
tap_action:
|
||||
action: navigate
|
||||
navigation_path: /lovelace/all_lights
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color_type: icon
|
||||
icon: mdi:cast-audio
|
||||
name: Media
|
||||
tap_action:
|
||||
action: navigate
|
||||
navigation_path: /lovelace-tablet/media-players
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.2/1
|
||||
color_type: icon
|
||||
icon: mdi:video
|
||||
name: Security
|
||||
tap_action:
|
||||
action: navigate
|
||||
navigation_path: /lovelace-tablet/security
|
||||
type: custom:button-card
|
||||
- text: Scripts / Automations / Services
|
||||
type: custom:text-divider-row
|
||||
- square: false
|
||||
columns: 4
|
||||
type: grid
|
||||
cards:
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/espn.png
|
||||
name: ESPN
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.espn
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/golf.jpg
|
||||
name: Golf
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.golf
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/nfl.jpg
|
||||
name: NFL
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.nfl
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/nhl.jpg
|
||||
name: NHL
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.nhl
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/usa.png
|
||||
name: USA
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.usa
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/history.jpg
|
||||
name: History
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.history
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/paramount.png
|
||||
name: Paramount
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.paramount
|
||||
type: custom:button-card
|
||||
- aspect_ratio: 1.7/1
|
||||
entity_picture: /local/ifc.png
|
||||
name: IFC
|
||||
show_entity_picture: true
|
||||
show_name: true
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.ifc
|
||||
type: custom:button-card
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- text: Animation and Styles
|
||||
type: custom:text-divider-row
|
||||
- square: false
|
||||
columns: 4
|
||||
type: grid
|
||||
cards:
|
||||
- type: custom:button-card
|
||||
entity: sensor.thermostat_current_mode
|
||||
aspect_ratio: 1.3/1
|
||||
color_type: icon
|
||||
name: HVAC - Idle
|
||||
show_state: false
|
||||
show_name: true
|
||||
icon: mdi:fan
|
||||
color: rgb(128,128,128)
|
||||
state:
|
||||
- value: heating
|
||||
name: HVAC - Heating
|
||||
styles:
|
||||
icon:
|
||||
- animation: rotating 2s linear infinite
|
||||
- color: rgb(255,0,0)
|
||||
name:
|
||||
- color: rgb(255,0,0)
|
||||
- value: cooling
|
||||
name: HVAC - Cooling
|
||||
styles:
|
||||
icon:
|
||||
- animation: rotating 2s linear infinite
|
||||
- color: rgb(0,217,255)
|
||||
name:
|
||||
- color: rgb(0,217,255)
|
||||
- value: 'off'
|
||||
name: HVAC - OFF
|
||||
styles:
|
||||
icon:
|
||||
- color: rgb(255,255,0)
|
||||
name:
|
||||
- color: rgb(255,255,0)
|
||||
- type: custom:button-card
|
||||
aspect_ratio: 1.2/1
|
||||
color: rgb(0,255,0)
|
||||
color_type: icon
|
||||
entity: cover.garage_door
|
||||
name: Garage Door
|
||||
show_name: true
|
||||
show_state: false
|
||||
state:
|
||||
- color: rgb(255,0,0)
|
||||
icon: mdi:garage
|
||||
value: open
|
||||
- color: rgb(0,255,0)
|
||||
icon: mdi:garage-open
|
||||
styles:
|
||||
icon:
|
||||
- animation: blink 2s ease infinite
|
||||
value: closed
|
||||
- type: custom:button-card
|
||||
name: Change Background
|
||||
aspect_ratio: 2/1
|
||||
extra_styles: |
|
||||
@keyframes bgswap1 {
|
||||
0% {
|
||||
background-image: url("/local/scarlett_home.jpg");
|
||||
}
|
||||
25% {
|
||||
background-image: url("/local/scarlett_away.jpg");
|
||||
}
|
||||
50% {
|
||||
background-image: url("/local/mks_away.jpg");
|
||||
}
|
||||
75% {
|
||||
background-image: url("/local/mks_home.jpg");
|
||||
}
|
||||
100% {
|
||||
background-image: url("/local/scarlett_home.jpg");
|
||||
}
|
||||
}
|
||||
styles:
|
||||
card:
|
||||
- animation: bgswap1 10s linear infinite
|
||||
- background-size: cover
|
||||
name:
|
||||
- color: white
|
||||
@ -6,7 +6,7 @@
|
||||
"items": [
|
||||
{
|
||||
"id": "enable_person_detect_alarm",
|
||||
"name": "Enable Person Detect Alarm",
|
||||
"name": "Person Detect",
|
||||
"icon": "mdi:run"
|
||||
},
|
||||
{
|
||||
@ -23,6 +23,31 @@
|
||||
"id": "notify_nokia_c20",
|
||||
"name": "Notify Nokia C20",
|
||||
"icon": "mdi:cellphone-text"
|
||||
},
|
||||
{
|
||||
"id": "driveway_motion_detected",
|
||||
"name": "Driveway Motion Detected",
|
||||
"icon": "mdi:motion-sensor"
|
||||
},
|
||||
{
|
||||
"id": "westwall_motion_detected",
|
||||
"name": "Westwall Motion Detected",
|
||||
"icon": "mdi:motion-sensor"
|
||||
},
|
||||
{
|
||||
"id": "backyard_motion_detected",
|
||||
"name": "Backyard Motion Detected",
|
||||
"icon": "mdi:motion-sensor"
|
||||
},
|
||||
{
|
||||
"id": "eastwall_motion_detected",
|
||||
"name": "Eastwall Motion Detected",
|
||||
"icon": "mdi:motion-sensor"
|
||||
},
|
||||
{
|
||||
"id": "patio_motion_detected",
|
||||
"name": "Patio Motion Detected",
|
||||
"icon": "mdi:motion-sensor"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user