Compare commits
1 Commits
develop
...
cf852dc3d9
Author | SHA1 | Date | |
---|---|---|---|
cf852dc3d9 |
105
.github/workflow/build.yaml
vendored
105
.github/workflow/build.yaml
vendored
@ -6,69 +6,60 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
# - name: Install Custom Components (Hass.IO)
|
|
||||||
# run: |
|
|
||||||
# sudo mkdir -p ./custom_components
|
|
||||||
# pwd
|
|
||||||
# cd /tmp
|
|
||||||
# git clone https://github.com/custom-components/sensor.unifigateway.git unifigateway
|
|
||||||
# sudo cp -r ./unifigateway/custom_components/unifigateway /home/runner/work/home-assistant-conf/home-assistant-conf/custom_components/unifigateway
|
|
||||||
# git clone https://github.com/rgruebel/ha_zigbee2mqtt_networkmap.git zigbee2mqtt_networkmap
|
|
||||||
# sudo cp -r ./zigbee2mqtt_networkmap/custom_components/zigbee2mqtt_networkmap /home/runner/work/home-assistant-conf/home-assistant-conf/custom_components/zigbee2mqtt_networkmap
|
|
||||||
# git clone https://github.com/custom-components/hacs.git hacs_temp
|
|
||||||
# cd hacs_temp
|
|
||||||
# git checkout $(git describe --tags --always $(git rev-list --tags --max-count=1000) | grep -e "[0-9]\+\.[0-9]\+\.[0-9]\+$" | head -n 1)
|
|
||||||
# cd ../
|
|
||||||
# sudo cp -r hacs_temp/custom_components/hacs hacs
|
|
||||||
# rm -R hacs_temp
|
|
||||||
# sudo cp -r ./hacs /home/runner/work/home-assistant-conf/home-assistant-conf/custom_components
|
|
||||||
|
|
||||||
- name: Install system libs and dependencies
|
- name: Install Custom Components (Hass.IO)
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -qq update
|
pwd
|
||||||
sudo apt-get -y -qq install libudev-dev ffmpeg
|
ls -la
|
||||||
sudo apt-get -y -qq install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev
|
|
||||||
sudo apt-get install nodejs
|
|
||||||
|
|
||||||
- name: Install Prettier
|
# git checkout $(git describe --tags --always $(git rev-list --tags --max-count=1000) | grep -e "[0-9]\+\.[0-9]\+\.[0-9]\+$" | head -n 1)
|
||||||
run: |
|
|
||||||
sudo npm install --global prettier
|
|
||||||
|
|
||||||
- name: Set up Python 3.8
|
# - name: Install system libs and dependencies
|
||||||
uses: actions/setup-python@v1
|
# run: |
|
||||||
with:
|
# sudo apt-get -qq update
|
||||||
python-version: 3.8
|
# sudo apt-get -y -qq install libudev-dev ffmpeg
|
||||||
|
# sudo apt-get -y -qq install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev
|
||||||
|
# sudo apt-get install nodejs
|
||||||
|
|
||||||
- name: Install Python packages (Lint)
|
# - name: Install Prettier
|
||||||
run: |
|
# run: |
|
||||||
python -m pip install --upgrade pip
|
# sudo npm install --global prettier
|
||||||
pip install black flake8 pylint yamllint
|
|
||||||
|
|
||||||
- name: YAML Lint
|
# - name: Set up Python 3.13
|
||||||
run: |
|
# uses: actions/setup-python@v5
|
||||||
yamllint ./
|
# with:
|
||||||
|
# python-version: 3.13
|
||||||
|
|
||||||
# - name: Prettier Check Up
|
# - name: Install Python packages (Lint)
|
||||||
# run: |
|
# run: |
|
||||||
# prettier --check --no-bracket-spacing '**/*.{yaml,json}'
|
# python -m pip install --upgrade pip
|
||||||
|
# pip install black flake8 pylint yamllint
|
||||||
|
|
||||||
- name: Install Python packages (Hass.IO)
|
# - name: YAML Lint
|
||||||
run: |
|
# run: |
|
||||||
pip install yq jq
|
# yamllint ./
|
||||||
pip install homeassistant
|
|
||||||
|
|
||||||
- name: Check HassIO configuration
|
# # - name: Prettier Check Up
|
||||||
run: |
|
# # run: |
|
||||||
sudo mkdir -p /config/snapshots
|
# # prettier --check --no-bracket-spacing '**/*.{yaml,json}'
|
||||||
hass --version
|
|
||||||
mv secrets.yaml.sample secrets.yaml
|
|
||||||
hass -c . --script check_config | tee check.output
|
|
||||||
! less check.output | grep -q "Failed config"
|
|
||||||
|
|
||||||
- name: Send a telegram message with job status
|
# - name: Install Python packages (Hass.IO)
|
||||||
if: always()
|
# run: |
|
||||||
uses: appleboy/telegram-action@master
|
# pip install yq jq
|
||||||
with:
|
# pip install homeassistant
|
||||||
to: ${{ secrets.TELEGRAM_TO }}
|
|
||||||
token: ${{ secrets.TELEGRAM_TOKEN }}
|
# - name: Check HassIO configuration
|
||||||
args: The last job from repo ({{repo}}) finished with ${{job.status}}.
|
# run: |
|
||||||
|
# sudo mkdir -p /config/snapshots
|
||||||
|
# hass --version
|
||||||
|
# mv secrets.yaml.sample secrets.yaml
|
||||||
|
# hass -c . --script check_config | tee check.output
|
||||||
|
# ! less check.output | grep -q "Failed config"
|
||||||
|
|
||||||
|
# # - name: Send a telegram message with job status
|
||||||
|
# # if: always()
|
||||||
|
# # uses: appleboy/telegram-action@master
|
||||||
|
# # with:
|
||||||
|
# # to: ${{ secrets.TELEGRAM_TO }}
|
||||||
|
# # token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||||
|
# # args: The last job from repo ({{repo}}) finished with ${{job.status}}.
|
||||||
|
106
.github/workflows/build.yaml
vendored
106
.github/workflows/build.yaml
vendored
@ -1,106 +0,0 @@
|
|||||||
---
|
|
||||||
name: Savin's Home Assistant
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [develop]
|
|
||||||
paths-ignore:
|
|
||||||
- 'README.md'
|
|
||||||
# - '.github/**'
|
|
||||||
pull_request:
|
|
||||||
branches: [develop]
|
|
||||||
paths-ignore:
|
|
||||||
- 'README.md'
|
|
||||||
# - '.github/**'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install Custom Components (Hass.IO)
|
|
||||||
run: |
|
|
||||||
pwd
|
|
||||||
ls -la
|
|
||||||
sudo mkdir -p ./custom_components
|
|
||||||
pwd
|
|
||||||
cd /tmp
|
|
||||||
git clone https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor.git
|
|
||||||
sudo cp -r ./Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor/custom_components/xiaomi_cloud_map_extractor /workspace/alex/hassio-configuration/custom_components/xiaomi_cloud_map_extractor
|
|
||||||
# git checkout $(git describe --tags --always $(git rev-list --tags --max-count=1000) | grep -e "[0-9]\+\.[0-9]\+\.[0-9]\+$" | head -n 1)
|
|
||||||
|
|
||||||
- name: Install system libs and dependencies
|
|
||||||
run: |
|
|
||||||
sudo echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" > /etc/apt/sources.list.d/libjpeg-turbo.list
|
|
||||||
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor > /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg
|
|
||||||
sudo apt-get -qq update
|
|
||||||
sudo apt-get -y -qq install libjpeg-turbo-official ffmpeg
|
|
||||||
# sudo apt-get -y -qq install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev
|
|
||||||
# sudo apt-get install nodejs
|
|
||||||
|
|
||||||
# - name: Install Prettier
|
|
||||||
# run: |
|
|
||||||
# sudo npm install --global prettier
|
|
||||||
|
|
||||||
- name: Set up Python 3.13
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: 3.13
|
|
||||||
|
|
||||||
- name: Install Python packages (Lint)
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install black flake8 pylint yamllint
|
|
||||||
|
|
||||||
# - name: YAML Lint
|
|
||||||
# run: |
|
|
||||||
# yamllint ./
|
|
||||||
|
|
||||||
# # - name: Prettier Check Up
|
|
||||||
# # run: |
|
|
||||||
# # prettier --check --no-bracket-spacing '**/*.{yaml,json}'
|
|
||||||
|
|
||||||
- name: Install Python packages (Hass.IO)
|
|
||||||
run: |
|
|
||||||
pip install yq jq
|
|
||||||
pip install colorlog
|
|
||||||
pip install homeassistant
|
|
||||||
echo "Installing crypto, requered by Component: xiaomi_cloud_map_extractor\n"
|
|
||||||
pip install pycryptodome requests python-miio pybase64 pillow
|
|
||||||
echo "Installing numpy, requered by Component: mobile_app, stream and camera\n"
|
|
||||||
pip install numpy
|
|
||||||
echo "Installing hassil, requered by Component: mobile_app\n"
|
|
||||||
pip install hassil
|
|
||||||
echo "Installing mutagen, requered by Component: mobile_app\n"
|
|
||||||
pip install mutagen
|
|
||||||
echo "Installing home_assistant_intents, requered by Component: mobile_app\n"
|
|
||||||
pip install home_assistant_intents
|
|
||||||
echo "Installing RestrictedPython, requered by Component: python_script\n"
|
|
||||||
pip install RestrictedPython
|
|
||||||
echo "Installing twilio, requered by Component: twilio\n"
|
|
||||||
pip install twilio
|
|
||||||
echo "Installing python-telegram-bot, requered by Component: telegram_bot\n"
|
|
||||||
pip install python-telegram-bot
|
|
||||||
echo "Installing pyeiscp, requered by Component: onkyo\n"
|
|
||||||
pip install pyeiscp
|
|
||||||
echo "Installing async_upnp_client, requered by Component: ssdp\n"
|
|
||||||
pip install async_upnp_client
|
|
||||||
|
|
||||||
- name: Check HassIO configuration
|
|
||||||
run: |
|
|
||||||
sudo mkdir -p /config/www
|
|
||||||
hass --version
|
|
||||||
mv secrets.sample.yaml secrets.yaml
|
|
||||||
ls -la
|
|
||||||
hass -c . --script check_config | tee check.output
|
|
||||||
|
|
||||||
# ! less check.output | grep -q "Failed config"
|
|
||||||
|
|
||||||
# # - name: Send a telegram message with job status
|
|
||||||
# # if: always()
|
|
||||||
# # uses: appleboy/telegram-action@master
|
|
||||||
# # with:
|
|
||||||
# # to: ${{ secrets.TELEGRAM_TO }}
|
|
||||||
# # token: ${{ secrets.TELEGRAM_TOKEN }}
|
|
||||||
# # args: The last job from repo ({{repo}}) finished with ${{job.status}}.
|
|
@ -1,11 +1,3 @@
|
|||||||
####################################################################################################
|
|
||||||
### ALARM CONTROL PANEL ######################################################## DEVICES ###
|
|
||||||
####################################################################################################
|
|
||||||
alarm_control_panel: !include configuration/alarm_control_panel/main.yaml
|
|
||||||
|
|
||||||
####################################################################################################
|
|
||||||
### AUTOMATION #################################################################################
|
|
||||||
####################################################################################################
|
|
||||||
automation: !include_dir_merge_list configuration/automation
|
automation: !include_dir_merge_list configuration/automation
|
||||||
|
|
||||||
# Loads default set of integrations. Do not remove.
|
# Loads default set of integrations. Do not remove.
|
||||||
@ -17,8 +9,6 @@ ios:
|
|||||||
# Load frontend themes from the themes folder
|
# Load frontend themes from the themes folder
|
||||||
frontend:
|
frontend:
|
||||||
themes: !include_dir_merge_named themes
|
themes: !include_dir_merge_named themes
|
||||||
extra_module_url:
|
|
||||||
- /local/community/bubble-card/bubble-pop-up-fix.js
|
|
||||||
|
|
||||||
script: !include scripts.yaml
|
script: !include scripts.yaml
|
||||||
|
|
||||||
@ -27,11 +17,6 @@ script: !include scripts.yaml
|
|||||||
####################################################################################################
|
####################################################################################################
|
||||||
camera: !include_dir_merge_list configuration/camera
|
camera: !include_dir_merge_list configuration/camera
|
||||||
|
|
||||||
####################################################################################################
|
|
||||||
### COUNTER #################################################################### DEVICES ###
|
|
||||||
####################################################################################################
|
|
||||||
counter: !include_dir_merge_named configuration/counter
|
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
### FANS ####################################################################### DEVICES ###
|
### FANS ####################################################################### DEVICES ###
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
@ -44,8 +29,8 @@ homeassistant:
|
|||||||
elevation: !secret system_elevation
|
elevation: !secret system_elevation
|
||||||
unit_system: metric
|
unit_system: metric
|
||||||
time_zone: !secret system_timezone
|
time_zone: !secret system_timezone
|
||||||
external_url: !secret systemc_url_internal
|
external_url: https://house.savin.nyc
|
||||||
internal_url: !secret systemc_url_external
|
internal_url: https://house.savin.nyc
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
### AUTHENTICATION PROVIDERS ####################################################### AAA ###
|
### AUTHENTICATION PROVIDERS ####################################################### AAA ###
|
||||||
@ -78,7 +63,6 @@ homeassistant:
|
|||||||
allowlist_external_dirs:
|
allowlist_external_dirs:
|
||||||
# - '/config/snapshots'
|
# - '/config/snapshots'
|
||||||
- '/config/www'
|
- '/config/www'
|
||||||
- '/config/www/bubble'
|
|
||||||
customize: !include_dir_merge_named configuration/customize
|
customize: !include_dir_merge_named configuration/customize
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
@ -143,7 +127,7 @@ lovelace:
|
|||||||
### CUSTOM MODULES ######################################################### RESOURCES ###
|
### CUSTOM MODULES ######################################################### RESOURCES ###
|
||||||
##################################################################################################
|
##################################################################################################
|
||||||
resources:
|
resources:
|
||||||
- url: /local/community/ha-sankey-chart/ha-sankey-chart.js
|
- url: /local/community/webrtc/webrtc-camera.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/layout-card/layout-card.js
|
- url: /local/community/layout-card/layout-card.js
|
||||||
type: module
|
type: module
|
||||||
@ -155,38 +139,38 @@ lovelace:
|
|||||||
type: module
|
type: module
|
||||||
- url: /local/community/sidebar-card/sidebar-card.js
|
- url: /local/community/sidebar-card/sidebar-card.js
|
||||||
type: module
|
type: module
|
||||||
# - url: /local/community/flipdown-timer-card/flipdown-timer-card.js
|
- url: /local/community/flipdown-timer-card/flipdown-timer-card.js
|
||||||
# type: module
|
type: module
|
||||||
- url: /local/community/mini-media-player-card/mini-media-player-bundle.js
|
- url: /local/community/mini-media-player-card/mini-media-player-bundle.js
|
||||||
type: module
|
type: module
|
||||||
# - url: /local/community/fold-entity-row/fold-entity-row.js
|
- url: /local/community/fold-entity-row/fold-entity-row.js
|
||||||
# type: module
|
type: module
|
||||||
- url: /local/community/button-card/button-card.js
|
- url: /local/community/button-card/button-card.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/simple-thermostat-card/simple-thermostat.js
|
- url: /local/community/simple-thermostat-card/simple-thermostat.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/mushroom-card/mushroom.js
|
- url: /local/community/mushroom-card/mushroom.js
|
||||||
type: module
|
type: module
|
||||||
# - url: /local/community/auto-entities/auto-entities.js
|
- url: /local/community/auto-entities/auto-entities.js
|
||||||
# type: module
|
type: module
|
||||||
- url: /local/community/stack-in-card/stack-in-card.js
|
- url: /local/community/stack-in-card/stack-in-card.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/paper-buttons-row-card/paper-buttons-row.js
|
- url: /local/community/paper-buttons-row-card/paper-buttons-row.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/card-mod/card-mod.js
|
- url: /local/community/card-mod/card-mod.js
|
||||||
type: module
|
type: module
|
||||||
# - url: /local/community/collapsable-cards/collapsable-cards.js
|
- url: /local/community/collapsable-cards/collapsable-cards.js
|
||||||
# type: module
|
type: module
|
||||||
# - url: /local/community/swipe-navigation/swipe-navigation.js
|
- url: /local/community/swipe-navigation/swipe-navigation.js
|
||||||
# type: module
|
type: module
|
||||||
# - url: /local/community/local-conditional-card/local-conditional-card.js
|
- url: /local/community/local-conditional-card/local-conditional-card.js
|
||||||
# type: module
|
type: module
|
||||||
- url: /local/community/bubble-card/bubble-card.js
|
- url: /local/community/bubble-card/bubble-card.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/plotly-graph-card/plotly-graph-card.js
|
- url: /local/community/plotly-graph-card/plotly-graph-card.js
|
||||||
type: module
|
type: module
|
||||||
# - url: /local/community/better-thermostat-ui-card/better-thermostat-ui-card.js
|
- url: /local/community/better-thermostat-ui-card/better-thermostat-ui-card.js
|
||||||
# type: module
|
type: module
|
||||||
- url: /local/community/config-template-card/config-template-card.js
|
- url: /local/community/config-template-card/config-template-card.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/battery-state-card/battery-state-card.js
|
- url: /local/community/battery-state-card/battery-state-card.js
|
||||||
@ -195,8 +179,6 @@ lovelace:
|
|||||||
type: module
|
type: module
|
||||||
- url: /local/community/sonos-card/custom-sonos-card.js
|
- url: /local/community/sonos-card/custom-sonos-card.js
|
||||||
type: module
|
type: module
|
||||||
- url: /local/community/custom-brand-icons/custom-brand-icons.js
|
|
||||||
type: js
|
|
||||||
# - url: /local/community/hass-bha-icons/hass-bha-icons.js
|
# - url: /local/community/hass-bha-icons/hass-bha-icons.js
|
||||||
# type: js
|
# type: js
|
||||||
# - url: /local/community//.js
|
# - url: /local/community//.js
|
||||||
@ -205,7 +187,7 @@ lovelace:
|
|||||||
####################################################################################################
|
####################################################################################################
|
||||||
### MEDIA PLAYER ############################################################### DEVICES ###
|
### MEDIA PLAYER ############################################################### DEVICES ###
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
# media_player: !include_dir_merge_list configuration/media_player
|
media_player: !include_dir_merge_list configuration/media_player
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
### NOTIFY ##################################################################### SERVICE ###
|
### NOTIFY ##################################################################### SERVICE ###
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
- platform: manual
|
|
||||||
name: Home Alarm
|
|
||||||
unique_id: "KqptwXAX75pU4bbvmonDS23NMNbnd3B3dxil6oADMdFXkGv3TWEUrZKv2cbFDMbb"
|
|
||||||
|
|
||||||
code: "12345"
|
|
||||||
code_arm_required: true
|
|
||||||
|
|
||||||
arming_time: 30
|
|
||||||
delay_time: 20
|
|
||||||
trigger_time: 4
|
|
||||||
|
|
||||||
arming_states:
|
|
||||||
- armed_home
|
|
||||||
- armed_night
|
|
||||||
- armed_away
|
|
||||||
- armed_vacation
|
|
||||||
|
|
||||||
disarmed:
|
|
||||||
trigger_time: 0
|
|
||||||
armed_home:
|
|
||||||
arming_time: 0
|
|
||||||
delay_time: 0
|
|
||||||
armed_night:
|
|
||||||
trigger_time: 5
|
|
||||||
armed_away:
|
|
||||||
trigger_time: 5
|
|
||||||
armed_vacation:
|
|
||||||
trigger_time: 5
|
|
@ -24,16 +24,10 @@
|
|||||||
{% if area_id(trigger.entity_id) in label_areas('bathroom') -%}
|
{% if area_id(trigger.entity_id) in label_areas('bathroom') -%}
|
||||||
{{ area_entities(area_name(trigger.entity_id)) | select('match', 'fan') | list | first }}
|
{{ area_entities(area_name(trigger.entity_id)) | select('match', 'fan') | list | first }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- service: telegram_bot.send_message
|
# - fan.bathroom_master
|
||||||
data:
|
- service: notify.telegram_alex
|
||||||
target: "-1002338954143"
|
data_template:
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: app_humidity_suppression
|
|
||||||
title: "[Home Assistant] Humidity Suppression"
|
|
||||||
message: 'Humidity suppression has started in {{ area_name(trigger.entity_id) }} ({{ area_id(trigger.entity_id) }})'
|
message: 'Humidity suppression has started in {{ area_name(trigger.entity_id) }} ({{ area_id(trigger.entity_id) }})'
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data_template:
|
|
||||||
# message: 'Humidity suppression has started in {{ area_name(trigger.entity_id) }} ({{ area_id(trigger.entity_id) }})'
|
|
||||||
|
|
||||||
- id: app_humidity_suppression_off
|
- id: app_humidity_suppression_off
|
||||||
alias: '[App] Humidity Suppression OFF'
|
alias: '[App] Humidity Suppression OFF'
|
||||||
@ -54,13 +48,7 @@
|
|||||||
{% if area_id(trigger.entity_id) in label_areas('bathroom') -%}
|
{% if area_id(trigger.entity_id) in label_areas('bathroom') -%}
|
||||||
{{ area_entities(area_name(trigger.entity_id)) | select('match', 'fan') | list | first }}
|
{{ area_entities(area_name(trigger.entity_id)) | select('match', 'fan') | list | first }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- service: telegram_bot.send_message
|
# - fan.bathroom_master
|
||||||
data:
|
- service: notify.telegram_alex
|
||||||
target: "-1002338954143"
|
data_template:
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: app_humidity_suppression
|
|
||||||
title: "[Home Assistant] Humidity Suppression"
|
|
||||||
message: 'Humidity suppression has done in {{ area_name(trigger.entity_id) }} ({{ area_id(trigger.entity_id) }})'
|
message: 'Humidity suppression has done in {{ area_name(trigger.entity_id) }} ({{ area_id(trigger.entity_id) }})'
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data_template:
|
|
||||||
# message: 'Humidity suppression has done in {{ area_name(trigger.entity_id) }} ({{ area_id(trigger.entity_id) }})'
|
|
||||||
|
@ -30,16 +30,9 @@
|
|||||||
- media_player.onju_voice_04_onju_voice_04
|
- media_player.onju_voice_04_onju_voice_04
|
||||||
- media_player.onju_voice_05_onju_voice_05
|
- media_player.onju_voice_05_onju_voice_05
|
||||||
volume_level: 0.25
|
volume_level: 0.25
|
||||||
- service: telegram_bot.send_message
|
- service: notify.telegram_alex
|
||||||
data:
|
data_template:
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Night Mode"
|
|
||||||
message: 'Voice Assistant Night mode is started'
|
message: 'Voice Assistant Night mode is started'
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data_template:
|
|
||||||
# message: 'Voice Assistant Night mode is started'
|
|
||||||
|
|
||||||
- id: app_va_night_mode_off
|
- id: app_va_night_mode_off
|
||||||
alias: '[App] Voice Assistants Night Mode OFF'
|
alias: '[App] Voice Assistants Night Mode OFF'
|
||||||
@ -64,13 +57,6 @@
|
|||||||
- media_player.onju_voice_04_onju_voice_04
|
- media_player.onju_voice_04_onju_voice_04
|
||||||
- media_player.onju_voice_05_onju_voice_05
|
- media_player.onju_voice_05_onju_voice_05
|
||||||
volume_level: 1
|
volume_level: 1
|
||||||
- service: telegram_bot.send_message
|
- service: notify.telegram_alex
|
||||||
data:
|
data_template:
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Night Mode"
|
|
||||||
message: 'Voice Assistant Night mode is finished'
|
message: 'Voice Assistant Night mode is finished'
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data_template:
|
|
||||||
# message: 'Voice Assistant Night mode is finished'
|
|
||||||
|
@ -7,17 +7,9 @@
|
|||||||
entity_id: binary_sensor.smoke_detector_01
|
entity_id: binary_sensor.smoke_detector_01
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.send_message
|
- service: notify.telegram_alex
|
||||||
data:
|
data_template:
|
||||||
target: "-1002338954143"
|
message: "Smoke Detected"
|
||||||
message_thread_id: 3
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Night Mode"
|
|
||||||
message: 'Smoke/Fire is detected'
|
|
||||||
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data_template:
|
|
||||||
# message: "Smoke Detected"
|
|
||||||
|
|
||||||
- id: co_detected
|
- id: co_detected
|
||||||
alias: '[App] CO Detected'
|
alias: '[App] CO Detected'
|
||||||
@ -27,13 +19,6 @@
|
|||||||
entity_id: binary_sensor.carbon_monoxide_detector_01
|
entity_id: binary_sensor.carbon_monoxide_detector_01
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.send_message
|
- service: notify.telegram_alex
|
||||||
data:
|
data_template:
|
||||||
target: "-1002338954143"
|
message: "CO Detected"
|
||||||
message_thread_id: 3
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Night Mode"
|
|
||||||
message: 'Carbon monoxide is detected'
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data_template:
|
|
||||||
# message: "CO Detected"
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
- id: global_webhook_gitea
|
|
||||||
alias: '[Global] Webhook Gitea New Version'
|
|
||||||
initial_state: 'true'
|
|
||||||
trigger:
|
|
||||||
- platform: state
|
|
||||||
entity_id: update.home_assistant_core_update
|
|
||||||
to: 'on'
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_message
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 3
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] New Version"
|
|
||||||
message: "New HA version ({{ state_attr('update.home_assistant_core_update', 'latest_version') }}) has been release"
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data:
|
|
||||||
# message: "New HA version ({{ state_attr('update.home_assistant_core_update', 'latest_version') }}) has been release"
|
|
@ -17,16 +17,9 @@
|
|||||||
- service: lock.lock
|
- service: lock.lock
|
||||||
data:
|
data:
|
||||||
entity_id: lock.lock_01
|
entity_id: lock.lock_01
|
||||||
- service: telegram_bot.send_message
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 3
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Security"
|
|
||||||
message: 'Lock is being locked by automation'
|
|
||||||
# - service: persistent_notification.create
|
# - service: persistent_notification.create
|
||||||
# data:
|
# data:
|
||||||
# message: "Lock is being locked by automation"
|
# message: "Lock is being locked by automation"
|
||||||
# - service: notify.telegram_alex
|
- service: notify.telegram_alex
|
||||||
# data:
|
data:
|
||||||
# message: "Lock is being locked by automation"
|
message: "Lock is being locked by automation"
|
@ -1,15 +1,4 @@
|
|||||||
---
|
---
|
||||||
# source_list: Windows 11, PlayStation 4 Pro, Nvidia Shield TV, Unifi Protect, TV/Nothing, Sonos, ChromeCast/Network, Bluetooth
|
|
||||||
# friendly_name: VSX-LX505
|
|
||||||
# supported_features: 69516
|
|
||||||
# video_out: yes,out
|
|
||||||
# video_information:
|
|
||||||
# video_input_port: No Video
|
|
||||||
# input_resolution: Unknown
|
|
||||||
#input_color_depth: 24bit
|
|
||||||
# output_resolution: Unknown
|
|
||||||
# output_color_depth: 24bit
|
|
||||||
|
|
||||||
- alias: "[Media] Projector mode"
|
- alias: "[Media] Projector mode"
|
||||||
id: media_switching_to_projector_mode
|
id: media_switching_to_projector_mode
|
||||||
initial_state: "true"
|
initial_state: "true"
|
||||||
@ -33,19 +22,24 @@
|
|||||||
- service: media_player.onkyo_select_hdmi_output
|
- service: media_player.onkyo_select_hdmi_output
|
||||||
data:
|
data:
|
||||||
entity_id: media_player.onkyo_receiver
|
entity_id: media_player.onkyo_receiver
|
||||||
hdmi_output: out-sub # out | out-sub | sub/both
|
hdmi_output: out-sub
|
||||||
- delay: "00:00:01"
|
- delay: "00:00:01"
|
||||||
- service: button.press
|
- service: button.press
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- button.esp8266_hdmi_cec_01_turn_active_source
|
- button.esp8266_hdmi_cec_01_turn_active_source
|
||||||
- service: telegram_bot.send_message
|
# - button.esp8266_hdmi_cec_01_turn_everything_off
|
||||||
|
# - service: remote.send_command
|
||||||
|
# target:
|
||||||
|
# entity_id: remote.broadlink_rm4_mini
|
||||||
|
# data:
|
||||||
|
# device: projector_lg_hu810pw
|
||||||
|
# command:
|
||||||
|
# - "Power Off"
|
||||||
|
# - "b64:JgBYAAABII8TERMSEjcTERMRExISEhISEjYTNxISEjYTNhI2EjcTNhISEhITERM1ExITEhISExETNhI2EjcTERM2EjYTNhI3EgAFAAABIUgSAAwTAAEhRxMADQU="
|
||||||
|
- service: notify.telegram_alex
|
||||||
data:
|
data:
|
||||||
target: "-1002338954143"
|
message: "Switching to media system to the Projector mode"
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Media System"
|
|
||||||
message: 'Switching to media system to the Projector mode'
|
|
||||||
|
|
||||||
- alias: "[Media] TV mode"
|
- alias: "[Media] TV mode"
|
||||||
id: media_switching_to_tv_mode
|
id: media_switching_to_tv_mode
|
||||||
@ -55,10 +49,6 @@
|
|||||||
entity_id: select.living_room_harmony_hub_activities
|
entity_id: select.living_room_harmony_hub_activities
|
||||||
to: "ShTV+AVR+TV"
|
to: "ShTV+AVR+TV"
|
||||||
action:
|
action:
|
||||||
# - service: button.press
|
|
||||||
# target:
|
|
||||||
# entity_id:
|
|
||||||
# - button.esp8266_hdmi_cec_01_turn_everything_off
|
|
||||||
- choose:
|
- choose:
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: state
|
- condition: state
|
||||||
@ -81,18 +71,9 @@
|
|||||||
data:
|
data:
|
||||||
entity_id: media_player.onkyo_receiver
|
entity_id: media_player.onkyo_receiver
|
||||||
hdmi_output: out
|
hdmi_output: out
|
||||||
- delay: "00:00:01"
|
- service: notify.telegram_alex
|
||||||
- service: button.press
|
|
||||||
target:
|
|
||||||
entity_id:
|
|
||||||
- button.esp8266_hdmi_cec_02_turn_active_source
|
|
||||||
- service: telegram_bot.send_message
|
|
||||||
data:
|
data:
|
||||||
target: "-1002338954143"
|
message: "Switching to media system to the TV mode"
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Media System"
|
|
||||||
message: 'Switching to media system to the TV mode'
|
|
||||||
|
|
||||||
- alias: "[Media] Off mode"
|
- alias: "[Media] Off mode"
|
||||||
id: media_switching_off
|
id: media_switching_off
|
||||||
@ -105,18 +86,6 @@
|
|||||||
- service: cover.close_cover
|
- service: cover.close_cover
|
||||||
data:
|
data:
|
||||||
entity_id: cover.motor_01
|
entity_id: cover.motor_01
|
||||||
- service: button.press
|
- service: notify.telegram_alex
|
||||||
target:
|
|
||||||
entity_id:
|
|
||||||
- button.esp8266_hdmi_cec_01_turn_everything_off
|
|
||||||
- service: button.press
|
|
||||||
target:
|
|
||||||
entity_id:
|
|
||||||
- button.esp8266_hdmi_cec_02_turn_everything_off
|
|
||||||
- service: telegram_bot.send_message
|
|
||||||
data:
|
data:
|
||||||
target: "-1002338954143"
|
message: "Switching off media system"
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Media System"
|
|
||||||
message: 'Switching OFF media system'
|
|
||||||
|
@ -1,93 +1,5 @@
|
|||||||
---
|
---
|
||||||
- alias: '[Frigate] Person detected by Doorbell camera'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['camera'] == 'doorbell' }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "Person detected by Doorbell camera"
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person detected by Doorbell camera (Face)'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'face' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['camera'] == 'doorbell' }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "Person (Face) detected by Doorbell camera"
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
- alias: '[Frigate] License plate detected by Doorbell camera'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'license_plate' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['camera'] == 'doorbell' }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "License plate detected by Doorbell camera"
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
#- alias: '[Frigate] Car detected by Doorbell camera'
|
|
||||||
# trigger:
|
|
||||||
# platform: mqtt
|
|
||||||
# topic: frigate/events
|
|
||||||
# condition:
|
|
||||||
# condition: and
|
|
||||||
# conditions:
|
|
||||||
# - condition: template
|
|
||||||
# value_template: "{{ trigger.payload_json['after']['label'] == 'car' }}"
|
|
||||||
# - condition: template
|
|
||||||
# value_template: "{{ trigger.payload_json['after']['camera'] == 'doorbell' }}"
|
|
||||||
# action:
|
|
||||||
# - service: telegram_bot.send_photo
|
|
||||||
# data:
|
|
||||||
# target: "-1002338954143"
|
|
||||||
# message_thread_id: 2
|
|
||||||
# message_tag: frigate
|
|
||||||
# caption: "Car detected by Doorbell camera"
|
|
||||||
# url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person enters Driveway Zone'
|
- alias: '[Frigate] Person enters Driveway Zone'
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
trigger:
|
||||||
platform: mqtt
|
platform: mqtt
|
||||||
topic: frigate/events
|
topic: frigate/events
|
||||||
@ -97,19 +9,17 @@
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ 'zone-frontyard-driveway-1' in trigger.payload_json['after']['entered_zones'] }}"
|
value_template: "{{ 'zone_driveway' in trigger.payload_json['after']['entered_zones'] }}"
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.send_photo
|
- service: notify.telegram_alex
|
||||||
data:
|
data:
|
||||||
target: "-1002338954143"
|
message: "A {{trigger.payload_json['after']['label']}} has entered the yard."
|
||||||
message_thread_id: 2
|
data:
|
||||||
message_tag: frigate
|
photo:
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has entered the driveway."
|
- url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
# caption: "{{trigger.payload_json['after']['id']}}"
|
||||||
|
|
||||||
- alias: '[Frigate] Person leaves Driveway Zone'
|
- alias: '[Frigate] Person leaves Driveway Zone'
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
trigger:
|
||||||
platform: mqtt
|
platform: mqtt
|
||||||
topic: frigate/events
|
topic: frigate/events
|
||||||
@ -119,21 +29,19 @@
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ 'zone-frontyard-driveway-1' in trigger.payload_json['before']['current_zones'] }}"
|
value_template: "{{ 'zone_driveway' in trigger.payload_json['before']['current_zones'] }}"
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ not 'zone-frontyard-driveway-1' in trigger.payload_json['after']['current_zones'] }}"
|
value_template: "{{ not 'zone_driveway' in trigger.payload_json['after']['current_zones'] }}"
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.send_photo
|
- service: notify.telegram_alex
|
||||||
data:
|
data:
|
||||||
target: "-1002338954143"
|
message: "A {{trigger.payload_json['after']['label']}} has left the yard."
|
||||||
message_thread_id: 2
|
data:
|
||||||
message_tag: frigate
|
photo:
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has left the yard."
|
- url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
# caption: "{{trigger.payload_json['after']['id']}}"
|
||||||
|
|
||||||
- alias: '[Frigate] Person enters Frontyard Property Zone'
|
- alias: '[Frigate] Person detected by Doorbell camera'
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
trigger:
|
||||||
platform: mqtt
|
platform: mqtt
|
||||||
topic: frigate/events
|
topic: frigate/events
|
||||||
@ -143,179 +51,12 @@
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ 'zone-frontyard-property-1' in trigger.payload_json['after']['entered_zones'] }}"
|
value_template: "{{ trigger.payload_json['after']['camera'] == 'doorbell' }}"
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.send_photo
|
- service: notify.telegram_alex
|
||||||
data:
|
data_template:
|
||||||
target: "-1002338954143"
|
message: 'Person detected by Doorbell camera'
|
||||||
message_thread_id: 2
|
data:
|
||||||
message_tag: frigate
|
photo:
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has entered the frontyard."
|
- url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
# caption: "{{trigger.payload_json['after']['id']}}"
|
||||||
|
|
||||||
- alias: '[Frigate] Person leaves Frontyard Property Zone'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ 'zone-frontyard-property-1' in trigger.payload_json['before']['current_zones'] }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ not 'zone-frontyard-property-1' in trigger.payload_json['after']['current_zones'] }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has left the frontyard."
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person enters Side 1 Property Zone'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ 'zone-side1-property-1' in trigger.payload_json['after']['entered_zones'] }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has entered the side 1."
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person leaves Side 1 Property Zone'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ 'zone-side1-property-1' in trigger.payload_json['before']['current_zones'] }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ not 'zone-side1-property-1' in trigger.payload_json['after']['current_zones'] }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has left the side 1."
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person enters Side 2 Property Zone'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ 'zone-side2-property-1' in trigger.payload_json['after']['entered_zones'] }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has entered the side 2."
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person leaves Side 2 Property Zone'
|
|
||||||
mode: parallel
|
|
||||||
max: 10
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ 'zone-side2-property-1' in trigger.payload_json['before']['current_zones'] }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ not 'zone-side2-property-1' in trigger.payload_json['after']['current_zones'] }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has left the side 2."
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
#- alias: '[Frigate] Car enters Driveway Zone'
|
|
||||||
# trigger:
|
|
||||||
# platform: mqtt
|
|
||||||
# topic: frigate/events
|
|
||||||
# condition:
|
|
||||||
# condition: and
|
|
||||||
# conditions:
|
|
||||||
# - condition: template
|
|
||||||
# value_template: "{{ trigger.payload_json['after']['label'] == 'car' }}"
|
|
||||||
# - condition: template
|
|
||||||
# value_template: "{{ 'zone-frontyard-driveway-1' in trigger.payload_json['after']['entered_zones'] }}"
|
|
||||||
# action:
|
|
||||||
# - service: telegram_bot.send_photo
|
|
||||||
# data:
|
|
||||||
# target: "-1002338954143"
|
|
||||||
# message_thread_id: 2
|
|
||||||
# message_tag: frigate
|
|
||||||
# caption: "A {{trigger.payload_json['after']['label']}} has entered the driveway."
|
|
||||||
# url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
#- alias: '[Frigate] Car leaves Driveway Zone'
|
|
||||||
# trigger:
|
|
||||||
# platform: mqtt
|
|
||||||
# topic: frigate/events
|
|
||||||
# condition:
|
|
||||||
# condition: and
|
|
||||||
# conditions:
|
|
||||||
# - condition: template
|
|
||||||
# value_template: "{{ trigger.payload_json['after']['label'] == 'car' }}"
|
|
||||||
# - condition: template
|
|
||||||
# value_template: "{{ 'zone-frontyard-driveway-1' in trigger.payload_json['before']['current_zones'] }}"
|
|
||||||
# - condition: template
|
|
||||||
# value_template: "{{ not 'zone-frontyard-driveway-1' in trigger.payload_json['after']['current_zones'] }}"
|
|
||||||
# action:
|
|
||||||
# - service: telegram_bot.send_photo
|
|
||||||
# data:
|
|
||||||
# target: "-1002338954143"
|
|
||||||
# message_thread_id: 2
|
|
||||||
# message_tag: frigate
|
|
||||||
# caption: "A {{trigger.payload_json['after']['label']}} has left the yard."
|
|
||||||
# url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data:
|
|
||||||
# message: "A {{trigger.payload_json['after']['label']}} has entered the yard."
|
|
||||||
# data:
|
|
||||||
# photo:
|
|
||||||
# - url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
# # caption: "{{trigger.payload_json['after']['id']}}"
|
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
---
|
|
||||||
- alias: '[Frigate] Person enters Driveway Zone'
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ 'zone_driveway' in trigger.payload_json['after']['entered_zones'] }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has entered the driveway."
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data:
|
|
||||||
# message: "A {{trigger.payload_json['after']['label']}} has entered the yard."
|
|
||||||
# data:
|
|
||||||
# photo:
|
|
||||||
# - url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
# # caption: "{{trigger.payload_json['after']['id']}}"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person leaves Driveway Zone'
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ 'zone_driveway' in trigger.payload_json['before']['current_zones'] }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ not 'zone_driveway' in trigger.payload_json['after']['current_zones'] }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "A {{trigger.payload_json['after']['label']}} has left the yard."
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data:
|
|
||||||
# message: "A {{trigger.payload_json['after']['label']}} has left the driveway."
|
|
||||||
# data:
|
|
||||||
# photo:
|
|
||||||
# - url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
# # caption: "{{trigger.payload_json['after']['id']}}"
|
|
||||||
|
|
||||||
- alias: '[Frigate] Person detected by Doorbell camera'
|
|
||||||
trigger:
|
|
||||||
platform: mqtt
|
|
||||||
topic: frigate/events
|
|
||||||
condition:
|
|
||||||
condition: and
|
|
||||||
conditions:
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.payload_json['after']['camera'] == 'doorbell' }}"
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_photo
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 2
|
|
||||||
message_tag: frigate
|
|
||||||
caption: "Person detected by Doorbell camera"
|
|
||||||
url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data_template:
|
|
||||||
# message: 'Person detected by Doorbell camera'
|
|
||||||
# data:
|
|
||||||
# photo:
|
|
||||||
# - url: "https://objects.savin.nyc/api/events/{{trigger.payload_json['after']['id']}}/thumbnail.jpg"
|
|
||||||
# # caption: "{{trigger.payload_json['after']['id']}}"
|
|
@ -1,45 +0,0 @@
|
|||||||
---
|
|
||||||
- id: notification_washer_changed_status
|
|
||||||
alias: '[Notification] Washer changed status'
|
|
||||||
initial_state: 'true'
|
|
||||||
trigger:
|
|
||||||
platform: state
|
|
||||||
entity_id: sensor.washtower_washer_current_status
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_message
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: kitchen_appliances
|
|
||||||
title: "[Home Assistant] Laundry is finished"
|
|
||||||
message: 'Washer changes status to {{ trigger.to_state.state }}'
|
|
||||||
|
|
||||||
- id: notification_dryer_changed_status
|
|
||||||
alias: '[Notification] Dryer changed status'
|
|
||||||
initial_state: 'true'
|
|
||||||
trigger:
|
|
||||||
platform: state
|
|
||||||
entity_id: sensor.washtower_dryer_current_status
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_message
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: kitchen_appliances
|
|
||||||
title: "[Home Assistant] Dryer changed status"
|
|
||||||
message: 'Dryer changes status to {{ trigger.to_state.state }}'
|
|
||||||
|
|
||||||
- id: notification_dishwasher_changed_status
|
|
||||||
alias: '[Notification] Dishwasher changed status'
|
|
||||||
initial_state: 'true'
|
|
||||||
trigger:
|
|
||||||
platform: state
|
|
||||||
entity_id: sensor.dishwasher_current_status
|
|
||||||
action:
|
|
||||||
- service: telegram_bot.send_message
|
|
||||||
data:
|
|
||||||
target: "-1002338954143"
|
|
||||||
message_thread_id: 4
|
|
||||||
message_tag: kitchen_appliances
|
|
||||||
title: "[Home Assistant] Dishwasher changed status"
|
|
||||||
message: 'Dishwasher changes status to {{ trigger.to_state.state }}'
|
|
@ -14,17 +14,9 @@
|
|||||||
- condition: template
|
- condition: template
|
||||||
value_template: "{{ states('sensor.lock_01_alarm_type') | int == 0 }}"
|
value_template: "{{ states('sensor.lock_01_alarm_type') | int == 0 }}"
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.send_message
|
- service: notify.telegram_alex
|
||||||
data:
|
data:
|
||||||
target: "-1002338954143"
|
message: "Someone entered the wrong code"
|
||||||
message_thread_id: 3
|
|
||||||
message_tag: night_mode_finished
|
|
||||||
title: "[Home Assistant] Security"
|
|
||||||
message: 'Someone entered the wrong code'
|
|
||||||
|
|
||||||
# - service: notify.telegram_alex
|
|
||||||
# data:
|
|
||||||
# message: "Someone entered the wrong code"
|
|
||||||
# - service: notify.mobile_app_alex_google_pixel_7_pro
|
# - service: notify.mobile_app_alex_google_pixel_7_pro
|
||||||
# data:
|
# data:
|
||||||
# message: Someone entered the wrong code
|
# message: Someone entered the wrong code
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
bedroom_master_cat_counter:
|
|
||||||
name: "Master Bedroom (Cat Counter)"
|
|
||||||
icon: mdi:cat
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
bedroom_maxim_cat_counter:
|
|
||||||
name: "Maxim Bedroom (Cta Counter)"
|
|
||||||
icon: mdi:cat
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
bedroom_olivia_cat_counter:
|
|
||||||
name: "Olivia Bedroom (Cat Counter)"
|
|
||||||
icon: mdi:cat
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
garage_cat_counter:
|
|
||||||
name: "Garage (Cat Counter)"
|
|
||||||
icon: mdi:cat
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
kitchen_cat_counter:
|
|
||||||
name: "Kitchen (Cat Counter)"
|
|
||||||
icon: mdi:cat
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
living_room_cat_counter:
|
|
||||||
name: "Living Room (Cat Counter)"
|
|
||||||
icon: mdi:cat
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
stairwell_cat_counter:
|
|
||||||
name: "Stairwell (Cat Counter)"
|
|
||||||
icon: mdi:cat
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
bedroom_master_people_counter:
|
|
||||||
name: "Master Bedroom (People Counter)"
|
|
||||||
icon: mdi:account-multiple
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
bedroom_maxim_people_counter:
|
|
||||||
name: "Maxim Bedroom (People Counter)"
|
|
||||||
icon: mdi:account-multiple
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
bedroom_olivia_people_counter:
|
|
||||||
name: "Olivia Bedroom (People Counter)"
|
|
||||||
icon: mdi:account-multiple
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
garage_people_counter:
|
|
||||||
name: "Garage (People Counter)"
|
|
||||||
icon: mdi:account-multiple
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
kitchen_people_counter:
|
|
||||||
name: "Kitchen (People Counter)"
|
|
||||||
icon: mdi:account-multiple
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
living_room_people_counter:
|
|
||||||
name: "Living Room (People Counter)"
|
|
||||||
icon: mdi:account-multiple
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,5 +0,0 @@
|
|||||||
stairwell_people_counter:
|
|
||||||
name: "Stairwell (People Counter)"
|
|
||||||
icon: mdi:account-multiple
|
|
||||||
initial: 0
|
|
||||||
step: 1
|
|
@ -1,22 +0,0 @@
|
|||||||
# ---
|
|
||||||
# - platform: onkyo
|
|
||||||
# # name: "Pioneer VSX-LX505"
|
|
||||||
# host: 10.10.12.100
|
|
||||||
# sources:
|
|
||||||
# "dvd": "Nvidia Shield TV"
|
|
||||||
# "game": "PlayStation 4 Pro"
|
|
||||||
# "cbl": "Windows 11"
|
|
||||||
# "strm-box": "Unifi Protect"
|
|
||||||
# "tv": "TV/Nothing"
|
|
||||||
# "net": "ChromeCast/Network"
|
|
||||||
# "bluetooth": "Bluetooth"
|
|
||||||
# "cd": "Sonos"
|
|
||||||
|
|
||||||
# #action: media_player.onkyo_select_hdmi_output
|
|
||||||
# #data:
|
|
||||||
# # entity_id: media_player.onkyo_receiver
|
|
||||||
# # hdmi_output: out-sub
|
|
||||||
|
|
||||||
# # out - Main
|
|
||||||
# # sub - M+S
|
|
||||||
# # out-sub - Sub
|
|
22
configuration/media_player/pioneer.yaml
Normal file
22
configuration/media_player/pioneer.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
- platform: onkyo
|
||||||
|
# name: "Pioneer VSX-LX505"
|
||||||
|
host: 10.10.12.100
|
||||||
|
sources:
|
||||||
|
"dvd": "Nvidia Shield TV"
|
||||||
|
"game": "PlayStation 4 Pro"
|
||||||
|
"cbl": "Windows 11"
|
||||||
|
"strm-box": "Unifi Protect"
|
||||||
|
"tv": "TV/Nothing"
|
||||||
|
"net": "ChromeCast/Network"
|
||||||
|
"bluetooth": "Bluetooth"
|
||||||
|
"cd": "Sonos"
|
||||||
|
|
||||||
|
#action: media_player.onkyo_select_hdmi_output
|
||||||
|
#data:
|
||||||
|
# entity_id: media_player.onkyo_receiver
|
||||||
|
# hdmi_output: out-sub
|
||||||
|
|
||||||
|
# out - Main
|
||||||
|
# sub - M+S
|
||||||
|
# out-sub - Sub
|
@ -28,242 +28,57 @@ sensor:
|
|||||||
state_topic: "zigbee02/bridge/state"
|
state_topic: "zigbee02/bridge/state"
|
||||||
icon: mdi:router-wireless
|
icon: mdi:router-wireless
|
||||||
|
|
||||||
# {"model":"Acurite-Atlas","id":409,"channel":"A","sequence_num":0,"battery_ok":1,"message_type":37,"wind_avg_km_h":0,"temperature_C":2.77778,"humidity":45,"strike_count":14,"strike_distance":0,"exception":0,"raw_msg":"c199650006822d03c037","protocol":"Acurite 592TXR Temp/Humidity, 592TX Temp, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas","rssi":-77,"duration":152997}
|
# - name: ''
|
||||||
# {"model":"Acurite-Atlas","id":409,"channel":"A","sequence_num":0,"battery_ok":1,"message_type":38,"wind_avg_km_h":4.82803,"wind_dir_deg":280,"rain_mm":60.706,"strike_count":14,"strike_distance":0,"exception":0,"raw_msg":"c199668148e16f03c09c80","protocol":"Acurite 592TXR Temp/Humidity, 592TX Temp, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas","rssi":-77,"duration":155997}
|
# unique_id:
|
||||||
# {"model":"Acurite-Atlas","id":409,"channel":"A","sequence_num":0,"battery_ok":1,"message_type":39,"wind_avg_km_h":0,"uv":1,"lux":12710,"strike_count":14,"strike_distance":0,"exception":0,"raw_msg":"c199e70081097703c005","protocol":"Acurite 592TXR Temp/Humidity, 592TX Temp, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas","rssi":-79,"duration":151996}
|
# device:
|
||||||
|
# state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
||||||
|
# json_attributes_topic
|
||||||
|
# suggested_display_precision: 1
|
||||||
|
# unit_of_measurement: "°C"
|
||||||
|
# value_template: "{{ value_json.temperature }}"
|
||||||
|
# availability:
|
||||||
|
# - topic: "home/sensor1/status"
|
||||||
|
# payload_available: "online"
|
||||||
|
# payload_not_available: "offline"
|
||||||
|
#
|
||||||
|
#{"model":"Acurite-Atlas","id":409,"channel":"A","sequence_num":0,"battery_ok":1,"message_type":39,"wind_avg_km_h":0,"uv":1,"lux":12710,"strike_count":14,"strike_distance":0,"exception":0,"raw_msg":"c199e70081097703c005","protocol":"Acurite 592TXR Temp/Humidity, 592TX Temp, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas","rssi":-79,"duration":151996}
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","dev_cla":"signal_strength","unit_of_meas":"dB","name":"RSSI","uniq_id":"Acurite-Atlas-A-409-rssi","val_tpl":"{{ value_json.rssi | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
# - name: "Outdoor Temp"
|
||||||
- name: 'RSSI'
|
# state_topic: "rtl433/ESP32-RTL-433-01/RTL_433toMQTT/Acurite-Atlas/A/409"
|
||||||
unique_id: 'Acurite-Atlas-409-A-Strike-RSSI'
|
# unit_of_measurement: '°C'
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
# value_template: >
|
||||||
value_template: "{{ value_json.rssi | is_defined }}"
|
# {% if value_json is defined and value_json.message_type == 37 %}
|
||||||
unit_of_measurement: "dB"
|
# {{ value_json.temperature_C }}
|
||||||
device_class: "signal_strength"
|
# {% else %}
|
||||||
device:
|
# {{ states('sensor.outdoor_temp') }}
|
||||||
via_device: RTL_433_ESP_OOK
|
# {% endif %}
|
||||||
model: Acurite-Atlas
|
#
|
||||||
identifiers:
|
# - name: "Outdoor Humidity"
|
||||||
- Acurite-Atlas-A-409
|
# state_topic: "rtl433/ESP32-RTL-433-01/RTL_433toMQTT/Acurite-Atlas/A/409"
|
||||||
connections:
|
# unit_of_measurement: '%'
|
||||||
- - mac
|
# value_template: >
|
||||||
- Acurite-Atlas-A-409
|
# {% if value_json is defined and value_json.message_type == 37 %}
|
||||||
name: Acurite-Atlas-A-409
|
# {{ value_json.humidity }}
|
||||||
availability:
|
# {% else %}
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
# {{ states('sensor.outdoor_humidity') }}
|
||||||
payload_available: "online"
|
# {% endif %}
|
||||||
payload_not_available: "offline"
|
#
|
||||||
|
# - name: "Outdoor UV"
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","dev_cla":"temperature","unit_of_meas":"°C","name":"Temperature","uniq_id":"Acurite-Atlas-A-409-temperature_C","val_tpl":"{{ value_json.temperature_C | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
# state_topic: "rtl433/ESP32-RTL-433-01/RTL_433toMQTT/Acurite-Atlas/A/409"
|
||||||
- name: 'Temperature'
|
# unit_of_measurement: 'UV'
|
||||||
unique_id: 'Acurite-Atlas-409-A-Strike-Temperature'
|
# value_template: >
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
# {% if value_json is defined and value_json.message_type == 39 %}
|
||||||
value_template: "{{ value_json.temperature_C | is_defined }}"
|
# {{ value_json.uv }}
|
||||||
unit_of_measurement: "°C"
|
# {% else %}
|
||||||
device_class: "temperature"
|
# {{ states('sensor.outdoor_uv') }}
|
||||||
device:
|
# {% endif %}
|
||||||
via_device: RTL_433_ESP_OOK
|
#
|
||||||
model: Acurite-Atlas
|
# - name: "Outdoor LUX"
|
||||||
identifiers:
|
# state_topic: "rtl433/ESP32-RTL-433-01/RTL_433toMQTT/Acurite-Atlas/A/409"
|
||||||
- Acurite-Atlas-A-409
|
# unit_of_measurement: 'lx'
|
||||||
connections:
|
# value_template: >
|
||||||
- - mac
|
# {% if value_json is defined and value_json.message_type == 39 %}
|
||||||
- Acurite-Atlas-A-409
|
# {{ value_json.lux }}
|
||||||
name: Acurite-Atlas-A-409
|
# {% else %}
|
||||||
availability:
|
# {{ states('sensor.outdoor_lux') }}
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
# {% endif %}
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","dev_cla":"humidity","unit_of_meas":"%","name":"Humidity","uniq_id":"Acurite-Atlas-A-409-humidity","val_tpl":"{{ value_json.humidity | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'Humidity'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-Strike-Humidity'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.humidity | is_defined }}"
|
|
||||||
unit_of_measurement: "%"
|
|
||||||
state_class: "measurement"
|
|
||||||
device_class: "precipitation"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","dev_cla":"wind_speed","unit_of_meas":"km/h","name":"Wind average","uniq_id":"Acurite-Atlas-A-409-wind_avg_km_h","val_tpl":"{{ value_json.wind_avg_km_h | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'Wind Speed (Average)'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-Wind-Speed'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.wind_avg_km_h | is_defined }}"
|
|
||||||
state_class: "measurement"
|
|
||||||
unit_of_measurement: "km/h"
|
|
||||||
device_class: "wind_speed"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","unit_of_meas":"°","name":"Wind direction","uniq_id":"Acurite-Atlas-A-409-wind_dir_deg","val_tpl":"{{ value_json.wind_dir_deg | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'Wind Direction'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-Wind-Direction'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.wind_dir_deg | is_defined }}"
|
|
||||||
state_class: measurement
|
|
||||||
unit_of_measurement: "°"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","dev_cla":"precipitation","unit_of_meas":"mm","name":"Rain","uniq_id":"Acurite-Atlas-A-409-rain_mm","val_tpl":"{{ value_json.rain_mm | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'Rain'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-Rain-MM'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.rain_mm | is_defined }}"
|
|
||||||
state_class: "measurement"
|
|
||||||
unit_of_measurement: "mm"
|
|
||||||
device_class: "precipitation"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","name":"UV","uniq_id":"Acurite-Atlas-A-409-uv","val_tpl":"{{ value_json.uv | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'UV'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-UV'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.uv | is_defined }}"
|
|
||||||
state_class: "measurement"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","dev_cla":"illuminance","unit_of_meas":"lx","name":"Illuminance","uniq_id":"Acurite-Atlas-A-409-lux","val_tpl":"{{ value_json.lux | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'Illuminance'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-LUX'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
json_attributes_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.lux | is_defined }}"
|
|
||||||
state_class: "measurement"
|
|
||||||
unit_of_measurement: "lx"
|
|
||||||
device_class: "illuminance"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","name":"Strike count","uniq_id":"Acurite-Atlas-A-409-strike_count","val_tpl":"{{ value_json.strike_count | is_defined }}","pl_on":"1","pl_off":"0","stat_cla":"total_increasing","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'Strike Count'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-Strike-Count'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
json_attributes_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.strike_count | is_defined }}"
|
|
||||||
state_class: "total_increasing"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
# {"stat_t":"+/+/RTL_433toMQTT/Acurite-Atlas/A/409","dev_cla":"distance","name":"Strike distance","uniq_id":"Acurite-Atlas-A-409-strike_distance","val_tpl":"{{ value_json.strike_distance | is_defined }}","stat_cla":"measurement","device":{"ids":["Acurite-Atlas-A-409"],"cns":[["mac","Acurite-Atlas-A-409"]],"mdl":"Acurite-Atlas","name":"Acurite-Atlas-A-409","via_device":"RTL_433_ESP_OOK"}}
|
|
||||||
- name: 'Strike Distance'
|
|
||||||
unique_id: 'Acurite-Atlas-409-A-Strike-Distance'
|
|
||||||
state_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
json_attributes_topic: 'rtl433-01/RTL_433_ESP_OOK/RTL_433toMQTT/Acurite-Atlas/A/409'
|
|
||||||
value_template: "{{ value_json.strike_distance | is_defined }}"
|
|
||||||
state_class: "measurement"
|
|
||||||
device_class: "distance"
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
|
||||||
- name: Battery
|
|
||||||
unique_id: Acurite-Atlas-A-409-battery_ok
|
|
||||||
state_topic: "+/+/RTL_433toMQTT/Acurite-Atlas/A/409"
|
|
||||||
payload_off: '1'
|
|
||||||
payload_on: '0'
|
|
||||||
value_template: '{{ value_json.battery_ok | is_defined }}'
|
|
||||||
device_class: battery
|
|
||||||
device:
|
|
||||||
via_device: RTL_433_ESP_OOK
|
|
||||||
model: Acurite-Atlas
|
|
||||||
identifiers:
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
connections:
|
|
||||||
- - mac
|
|
||||||
- Acurite-Atlas-A-409
|
|
||||||
name: Acurite-Atlas-A-409
|
|
||||||
availability:
|
|
||||||
- topic: "rtl433-01/RTL_433_ESP_OOK/LWT"
|
|
||||||
payload_available: "online"
|
|
||||||
payload_not_available: "offline"
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
### RECORDER ###################################################################################
|
### RECORDER ###################################################################################
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
---
|
---
|
||||||
db_url: !secret database_url
|
db_url: postgresql://hassio:qP4fwHvq69QnZqj4@10.10.12.11:5432/hassio?client_encoding=utf8
|
||||||
purge_keep_days: 10
|
purge_keep_days: 10
|
||||||
auto_purge: true
|
auto_purge: true
|
||||||
auto_repack: true
|
auto_repack: true
|
||||||
|
@ -29,11 +29,11 @@
|
|||||||
state: off
|
state: off
|
||||||
light.bedroom_master_ceiling_01:
|
light.bedroom_master_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
# color_temp_kelvin: 255
|
# color_temp: 255
|
||||||
# brightness: 255
|
# brightness: 255
|
||||||
light.bedroom_master_ceiling_02:
|
light.bedroom_master_ceiling_02:
|
||||||
state: on
|
state: on
|
||||||
# color_temp_kelvin: 255
|
# color_temp: 255
|
||||||
# brightness: 255
|
# brightness: 255
|
||||||
|
|
||||||
- name: 'Bedroom Master (Floor Only)'
|
- name: 'Bedroom Master (Floor Only)'
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
entities:
|
entities:
|
||||||
light.bedroom_max_table_01:
|
light.bedroom_max_table_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.bedroom_max_ceiling_01:
|
light.bedroom_max_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 255
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
|
|
||||||
- name: 'Bedroom Max (Ceiling Only)'
|
- name: 'Bedroom Max (Ceiling Only)'
|
||||||
@ -23,14 +23,14 @@
|
|||||||
state: off
|
state: off
|
||||||
light.bedroom_max_ceiling_01:
|
light.bedroom_max_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
|
|
||||||
- name: 'Bedroom Max (Table Only)'
|
- name: 'Bedroom Max (Table Only)'
|
||||||
entities:
|
entities:
|
||||||
light.bedroom_max_table_01:
|
light.bedroom_max_table_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.bedroom_max_ceiling_01:
|
light.bedroom_max_ceiling_01:
|
||||||
state: off
|
state: off
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
entities:
|
entities:
|
||||||
light.bedroom_olivia_floor_01:
|
light.bedroom_olivia_floor_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 280
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.bedroom_olivia_ceiling_01:
|
light.bedroom_olivia_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
|
|
||||||
- name: "Bedroom Olivia (Ceiling Only)"
|
- name: "Bedroom Olivia (Ceiling Only)"
|
||||||
@ -23,14 +23,14 @@
|
|||||||
state: off
|
state: off
|
||||||
light.bedroom_olivia_ceiling_01:
|
light.bedroom_olivia_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
|
|
||||||
- name: "Bedroom Olivia (Floor Only)"
|
- name: "Bedroom Olivia (Floor Only)"
|
||||||
entities:
|
entities:
|
||||||
light.bedroom_olivia_floor_01:
|
light.bedroom_olivia_floor_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.bedroom_olivia_ceiling_01:
|
light.bedroom_olivia_ceiling_01:
|
||||||
state: off
|
state: off
|
||||||
|
@ -16,19 +16,19 @@
|
|||||||
entities:
|
entities:
|
||||||
light.kitchen_led_01:
|
light.kitchen_led_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 280
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.kitchen_sink_01:
|
light.kitchen_sink_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.kitchen_ceiling_01:
|
light.kitchen_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.kitchen_ceiling_02:
|
light.kitchen_ceiling_02:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
# light.kitchen_decorating_01:
|
# light.kitchen_decorating_01:
|
||||||
# state: on
|
# state: on
|
||||||
@ -37,15 +37,15 @@
|
|||||||
entities:
|
entities:
|
||||||
light.kitchen_led_01:
|
light.kitchen_led_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 280
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.kitchen_sink_01:
|
light.kitchen_sink_01:
|
||||||
state: on
|
state: on
|
||||||
brightness: 255
|
brightness: 255
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
light.kitchen_ceiling_01:
|
light.kitchen_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.kitchen_ceiling_02:
|
light.kitchen_ceiling_02:
|
||||||
state: off
|
state: off
|
||||||
@ -62,7 +62,7 @@
|
|||||||
state: off
|
state: off
|
||||||
light.kitchen_ceiling_02:
|
light.kitchen_ceiling_02:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 255
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
# light.kitchen_decorating_01:
|
# light.kitchen_decorating_01:
|
||||||
# state: on
|
# state: on
|
||||||
@ -75,11 +75,11 @@
|
|||||||
state: off
|
state: off
|
||||||
light.kitchen_ceiling_01:
|
light.kitchen_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.kitchen_ceiling_02:
|
light.kitchen_ceiling_02:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
# light.kitchen_decorating_01:
|
# light.kitchen_decorating_01:
|
||||||
# state: off
|
# state: off
|
||||||
@ -94,7 +94,7 @@
|
|||||||
# state: off
|
# state: off
|
||||||
# light.kitchen_ceiling_02:
|
# light.kitchen_ceiling_02:
|
||||||
# state: on
|
# state: on
|
||||||
# color_temp_kelvin: 255
|
# color_temp: 255
|
||||||
# brightness: 255
|
# brightness: 255
|
||||||
# light.kitchen_decorating_01:
|
# light.kitchen_decorating_01:
|
||||||
# state: off
|
# state: off
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
entities:
|
entities:
|
||||||
light.living_room_floor_lamp_01:
|
light.living_room_floor_lamp_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.living_room_ceiling_01:
|
light.living_room_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
@ -84,7 +84,7 @@
|
|||||||
entities:
|
entities:
|
||||||
light.living_room_floor_lamp_01:
|
light.living_room_floor_lamp_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.living_room_ceiling_01:
|
light.living_room_ceiling_01:
|
||||||
state: off
|
state: off
|
||||||
@ -99,7 +99,7 @@
|
|||||||
entities:
|
entities:
|
||||||
light.living_room_floor_lamp_01:
|
light.living_room_floor_lamp_01:
|
||||||
state: on
|
state: on
|
||||||
color_temp_kelvin: 3500
|
color_temp: 255
|
||||||
brightness: 255
|
brightness: 255
|
||||||
light.living_room_ceiling_01:
|
light.living_room_ceiling_01:
|
||||||
state: on
|
state: on
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
state: off
|
state: off
|
||||||
light.frontyard_decoration_01:
|
light.frontyard_decoration_01:
|
||||||
state: off
|
state: off
|
||||||
# color_temp_kelvin: 255
|
# color_temp: 255
|
||||||
# brightness: 255
|
# brightness: 255
|
||||||
|
|
||||||
- name: 'Porch (Garage Only)'
|
- name: 'Porch (Garage Only)'
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
- !secret services_notification_telegram_chat_id_02
|
- !secret services_notification_telegram_chat_id_02
|
||||||
- !secret services_notification_telegram_chat_id_03
|
- !secret services_notification_telegram_chat_id_03
|
||||||
- !secret services_notification_telegram_chat_id_04
|
- !secret services_notification_telegram_chat_id_04
|
||||||
- !secret services_notification_telegram_chat_id_05
|
|
||||||
trusted_networks:
|
trusted_networks:
|
||||||
- 149.154.160.0/20
|
- 149.154.160.0/20
|
||||||
- 91.108.4.0/22
|
- 91.108.4.0/22
|
||||||
|
@ -1,764 +0,0 @@
|
|||||||
---
|
|
||||||
#name: Home
|
|
||||||
#icon: mdi:home
|
|
||||||
|
|
||||||
title: Security
|
|
||||||
icon: mdi:shield-home
|
|
||||||
#panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: mdi:faucet-variant
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_kitchen_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_kitchen_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:sofa
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_living_room_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:bed-king
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_bedroom_master_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:bed
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_maxim_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_bedroom_maxim_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:bed
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_olivia_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_bedroom_olivia_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:stairs
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_stairwell_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_stairwell_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_garage_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_garage_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
entity: alarm_control_panel.home_alarm
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Security
|
|
||||||
icon: mdi:shield-check
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
sub_button:
|
|
||||||
- name: Doors
|
|
||||||
icon: mdi:door-open
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-open-doors'
|
|
||||||
- name: Windows
|
|
||||||
icon: mdi:window-open
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-open-windows'
|
|
||||||
- name: Lights
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-on-lights'
|
|
||||||
- name: Garage Cover
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
entity: cover.garage_gate
|
|
||||||
tap_action:
|
|
||||||
confirmation:
|
|
||||||
text: open/Close a Garage Cover?
|
|
||||||
action: call-service
|
|
||||||
service: cover.toggle
|
|
||||||
target:
|
|
||||||
entity_id: cover.garage_gate
|
|
||||||
- name: Lock
|
|
||||||
icon: mdi:lock-smart
|
|
||||||
entity: lock.lock_01
|
|
||||||
tap_action:
|
|
||||||
confirmation:
|
|
||||||
text: Lock/Unlock a Lock?
|
|
||||||
action: call-service
|
|
||||||
service: lock.lock
|
|
||||||
target:
|
|
||||||
entity_id: lock.lock_01
|
|
||||||
modules:
|
|
||||||
- badges
|
|
||||||
badges:
|
|
||||||
main_icon:
|
|
||||||
badge_1:
|
|
||||||
icon: mdi:alert-circle-outline
|
|
||||||
sub_button:
|
|
||||||
sub_button_index: 1
|
|
||||||
badge_1:
|
|
||||||
icon: mdi:alert-circle-outline
|
|
||||||
color: red
|
|
||||||
condition:
|
|
||||||
- condition: numeric_state
|
|
||||||
entity_id: sensor.number_doors_open
|
|
||||||
above: 0
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-5 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- image: /local/profile_savin_alex.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.alexander_savin
|
|
||||||
- image: /local/profile_savin_tanya.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.tatiana_savin
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- image: /local/profile_savin_maxim.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.maxim_savin
|
|
||||||
- image: /local/profile_savin_olivia.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.olivia_savin
|
|
||||||
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
name: Alexander Savin
|
|
||||||
entity: person.alexander_savin
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
modules:
|
|
||||||
- progress_border
|
|
||||||
progress_border:
|
|
||||||
entity: sensor.alex_s_google_pixel_8_pro_battery_level
|
|
||||||
color: purple
|
|
||||||
backcolor: deep-purple
|
|
||||||
styles: |
|
|
||||||
.bubble-entity-picture {
|
|
||||||
display: flex !important;
|
|
||||||
background-image: url("/local/profile_savin_alex.jpg") !important;
|
|
||||||
background-size: 300%;
|
|
||||||
}
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
name: Tatiana Savin
|
|
||||||
entity: person.tatiana_savin
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
modules:
|
|
||||||
- progress_border
|
|
||||||
progress_border:
|
|
||||||
entity: sensor.tanya_s_google_pixel_8_pro_battery_level
|
|
||||||
color: purple
|
|
||||||
backcolor: deep-purple
|
|
||||||
styles: |
|
|
||||||
.bubble-entity-picture {
|
|
||||||
display: flex !important;
|
|
||||||
background-image: url("/local/profile_savin_tanya.jpg") !important;
|
|
||||||
background-size: 300%;
|
|
||||||
}
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
name: Maxim Savin
|
|
||||||
entity: person.maxim_savin
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
styles: |
|
|
||||||
.bubble-entity-picture {
|
|
||||||
display: flex !important;
|
|
||||||
background-image: url("/local/profile_savin_maxim.jpg") !important;
|
|
||||||
background-size: 300%;
|
|
||||||
}
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
name: Olivia Savin
|
|
||||||
entity: person.olivia_savin
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
styles: |
|
|
||||||
.bubble-entity-picture {
|
|
||||||
display: flex !important;
|
|
||||||
background-image: url("/local/profile_savin_olivia.jpg") !important;
|
|
||||||
background-size: 300%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- type: map
|
|
||||||
aspect_ratio: 100%
|
|
||||||
entities:
|
|
||||||
- entity: person.alexander_savin
|
|
||||||
- entity: person.tatiana_savin
|
|
||||||
- entity: person.maxim_savin
|
|
||||||
- entity: person.olivia_savin
|
|
||||||
- entity: device_tracker.subaru_outback_txt
|
|
||||||
- zone.home
|
|
||||||
- zone.npfd
|
|
||||||
- zone.work_kiswe
|
|
||||||
- zone.ymca_berkley_heights
|
|
||||||
- zone.nphs_school
|
|
||||||
- zone.awr_school
|
|
||||||
# - type: map
|
|
||||||
# aspect_ratio: 100%
|
|
||||||
# entities:
|
|
||||||
# - entity: person.maxim
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:mushroom-lock-card'
|
|
||||||
name: Main Lock
|
|
||||||
entity: lock.lock_01
|
|
||||||
fill_container: true
|
|
||||||
layout: horizontal
|
|
||||||
# show_name: false
|
|
||||||
# icon: mdi:lock
|
|
||||||
# size: 50px
|
|
||||||
# state:
|
|
||||||
# - value: "locked"
|
|
||||||
# color: rgb(79, 114, 154)
|
|
||||||
# icon: mdi:lock-smart
|
|
||||||
# - value: "unlocked"
|
|
||||||
# color: red
|
|
||||||
# icon: mdi:lock-smart
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
# - type: custom:mushroom-climate-card
|
|
||||||
# entity: climate.living_room
|
|
||||||
# name: Thermostat
|
|
||||||
# show_temperature_control: true
|
|
||||||
# hvac_modes:
|
|
||||||
# - heat
|
|
||||||
# - cool
|
|
||||||
# - off
|
|
||||||
# layout: vertical
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: climate
|
|
||||||
entity: climate.living_room
|
|
||||||
sub_button:
|
|
||||||
- name: HVAC modes menu
|
|
||||||
select_attribute: hvac_modes
|
|
||||||
show_arrow: false
|
|
||||||
state_background: false
|
|
||||||
|
|
||||||
# - type: horizontal-stack
|
|
||||||
# cards:
|
|
||||||
# - type: 'custom:simple-thermostat'
|
|
||||||
# entity: climate.living_room
|
|
||||||
# step_size: 1
|
|
||||||
# header: false
|
|
||||||
# control:
|
|
||||||
# hvac:
|
|
||||||
# 'off':
|
|
||||||
# name: 'Off'
|
|
||||||
# cool:
|
|
||||||
# name: A/C
|
|
||||||
# heat:
|
|
||||||
# name: Heat
|
|
||||||
# heat_cool: false
|
|
||||||
# sensors:
|
|
||||||
# - entity: sensor.power_house_6_1d
|
|
||||||
# name: Blower Energy
|
|
||||||
# - entity: sensor.power_house_8_1d
|
|
||||||
# name: AC Energy
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
name: Vacuum
|
|
||||||
entity: vacuum.roborock_s5_max
|
|
||||||
icon: mdi:robot-vacuum
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-vacuum-cleaner-kitchen'
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Return to dock
|
|
||||||
icon: mdi:home
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.return_to_base
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
- name: Pause
|
|
||||||
icon: mdi:pause
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.pause
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
- name: Start
|
|
||||||
icon: mdi:play
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.start
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
styles: |
|
|
||||||
.bubble-button-card-container {
|
|
||||||
/* Change the background color when the vacuum get an error (optional), more details in the styles template section */
|
|
||||||
background: ${state === 'error' ? 'rgb(200, 80, 40)' : ''} !important;
|
|
||||||
}
|
|
||||||
/* Change the first sub-button battery icon based on the battery_icon attribute, more details in the styles template section */
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['vacuum.roborock_s5_max'].attributes.battery_icon)}
|
|
||||||
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: weather-forecast
|
|
||||||
entity: weather.my_weather_station
|
|
||||||
secondary_info_attribute: humidity
|
|
||||||
show_current: true
|
|
||||||
show_forecast: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/frontyard/person/best.jpg
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/side1/person/best.jpg
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/doorbell/person/best.jpg
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/entrance/person/best.jpg
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/side2/person/best.jpg
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/backyard/person/best.jpg
|
|
||||||
# - type: custom:auto-entities
|
|
||||||
# card:
|
|
||||||
# type: entities
|
|
||||||
# filter:
|
|
||||||
# template: "{{states.light | map(attribute='entity_id') | list}}"
|
|
||||||
|
|
||||||
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-open-windows'
|
|
||||||
name: Windows
|
|
||||||
icon: 'mdi:window-open'
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Kitchen
|
|
||||||
icon: mdi:countertop
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Kitchen Window
|
|
||||||
entity: binary_sensor.window_kitchen_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Living Room
|
|
||||||
icon: mdi:sofa
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Front (Left)
|
|
||||||
entity: binary_sensor.window_living_room_front_left_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- name: Front (Center)
|
|
||||||
entity: binary_sensor.window_living_room_front_center_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- name: Front (Right)
|
|
||||||
entity: binary_sensor.window_living_room_front_right_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- name: Side
|
|
||||||
entity: binary_sensor.window_living_room_side_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_living_room_front_left_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_living_room_front_center_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_living_room_front_right_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_living_room_side_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_living_room_front_left_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
${subButtonIcon[1].setAttribute("icon", hass.states['binary_sensor.window_living_room_front_center_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
${subButtonIcon[2].setAttribute("icon", hass.states['binary_sensor.window_living_room_front_right_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
${subButtonIcon[3].setAttribute("icon", hass.states['binary_sensor.window_living_room_side_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Master Bedroom
|
|
||||||
icon: mdi:bed-king
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Front (Left)
|
|
||||||
entity: binary_sensor.window_bedroom_master_left_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- name: Front (Center)
|
|
||||||
entity: binary_sensor.window_bedroom_master_center_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- name: Front (Right)
|
|
||||||
entity: binary_sensor.window_bedroom_master_right_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_bedroom_master_left_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_bedroom_master_center_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_bedroom_master_right_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bedroom_master_left_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
${subButtonIcon[1].setAttribute("icon", hass.states['binary_sensor.window_bedroom_master_center_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
${subButtonIcon[2].setAttribute("icon", hass.states['binary_sensor.window_bedroom_master_right_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Maxim Bedroom
|
|
||||||
icon: mdi:bed
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Window
|
|
||||||
entity: binary_sensor.window_bedroom_max_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_bedroom_max_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bedroom_max_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Olivia Bedroom
|
|
||||||
icon: mdi:bed
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Window
|
|
||||||
entity: binary_sensor.window_bedroom_olivia_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_bedroom_olivia_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bedroom_olivia_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Master Bathroom
|
|
||||||
icon: mdi:shower
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Window
|
|
||||||
entity: binary_sensor.window_bathroom_master_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_bathroom_master_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bathroom_master_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Bedroom Bathroom
|
|
||||||
icon: mdi:shower
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Window
|
|
||||||
entity: binary_sensor.window_bathroom_bedroom_01_contact
|
|
||||||
icon: mdi:window-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_bathroom_bedroom_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bathroom_bedroom_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
||||||
|
|
||||||
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-open-doors'
|
|
||||||
name: Doors
|
|
||||||
icon: 'mdi:door-open'
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Kitchen
|
|
||||||
icon: mdi:countertop
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Kitchen Door
|
|
||||||
entity: binary_sensor.door_kitchen_01
|
|
||||||
icon: mdi:door-sliding
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.door_kitchen_01'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.door_kitchen_01'].state === 'on' ? 'mdi:door-sliding-open' : 'mdi:door-sliding')}
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Living Room
|
|
||||||
icon: mdi:sofa
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Entrance Door
|
|
||||||
entity: binary_sensor.door_entrance_01
|
|
||||||
icon: mdi:door-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.door_entrance_01'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.door_entrance_01'].state === 'on' ? 'mdi:door-open' : 'mdi:door-closed')}
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Garage
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
show_state: false
|
|
||||||
sub_button:
|
|
||||||
- name: Garage Gate
|
|
||||||
entity: binary_sensor.door_kitchen_01_contact
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- name: Garage Door
|
|
||||||
entity: binary_sensor.door_garage_01_contact
|
|
||||||
icon: mdi:door-closed
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'mdi:garage-open-variant' : 'mdi:garage-variant')}
|
|
||||||
${subButtonIcon[1].setAttribute("icon", hass.states['binary_sensor.door_garage_01_contact'].state === 'on' ? 'mdi:door-open' : 'mdi:door-closed')}
|
|
||||||
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-on-lights'
|
|
||||||
name: Doors
|
|
||||||
icon: 'mdi:door-open'
|
|
||||||
- type: custom:auto-entities
|
|
||||||
card:
|
|
||||||
type: grid
|
|
||||||
columns: 1
|
|
||||||
square: false
|
|
||||||
card_param: cards
|
|
||||||
filter:
|
|
||||||
include:
|
|
||||||
- domain: light
|
|
||||||
state: 'on'
|
|
||||||
options:
|
|
||||||
type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
show_attribute: false
|
|
||||||
show_last_changed: true
|
|
||||||
show_state: true
|
|
||||||
exclude: []
|
|
||||||
show_empty: true
|
|
||||||
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-vacuum-cleaner-kitchen'
|
|
||||||
name: Vacuum Cleaner
|
|
||||||
icon: 'mdi:door-open'
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:xiaomi-vacuum-map-card
|
|
||||||
entity: vacuum.roborock_s5_max
|
|
||||||
map_source:
|
|
||||||
camera: camera.xiaomi_cloud_map_extractor
|
|
||||||
calibration_source:
|
|
||||||
camera: true
|
|
||||||
debug: false
|
|
||||||
map_modes:
|
|
||||||
- template: vacuum_clean_zone
|
|
||||||
- template: vacuum_goto
|
|
||||||
- template: vacuum_clean_zone_predefined
|
|
||||||
predefined_selections:
|
|
||||||
- zones: [[26600,21200,23600,27000]] # Kitchen
|
|
||||||
- zones: [[32700,26000,26600,20700]] # Living Room
|
|
||||||
map_locked: true
|
|
File diff suppressed because it is too large
Load Diff
@ -1,340 +0,0 @@
|
|||||||
---
|
|
||||||
#name: Home
|
|
||||||
#icon: mdi:home
|
|
||||||
|
|
||||||
title: Security
|
|
||||||
icon: mdi:shield-home
|
|
||||||
#panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: mdi:faucet-variant
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_kitchen_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_kitchen_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:sofa
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_living_room_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:bed-king
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_bedroom_master_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:bed
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_maxim_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_bedroom_maxim_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:bed
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_olivia_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_bedroom_olivia_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:stairs
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_stairwell_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_stairwell_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_garage_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
entity: binary_sensor.presence_garage_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Security
|
|
||||||
icon: mdi:shield-check
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
sub_button:
|
|
||||||
- name: Doors
|
|
||||||
icon: mdi:door-open
|
|
||||||
shiw_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-open-doors'
|
|
||||||
- name: Windows
|
|
||||||
icon: mdi:window-open
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-open-windows'
|
|
||||||
- name: Lights
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-on-lights'
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-template-card
|
|
||||||
icon: mdi:door-open
|
|
||||||
icon_color: blue
|
|
||||||
badge_icon: "{% if states('sensor.number_doors_open') | int > 0 -%}{{ 'mdi:numeric-' + states('sensor.number_doors_open') + '-circle' }}{%- endif %}"
|
|
||||||
badge_color: red
|
|
||||||
fill_container: false
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; background: none; }"
|
|
||||||
tap_action:
|
|
||||||
action: fire-dom-event
|
|
||||||
browser_mod:
|
|
||||||
service: browser_mod.popup
|
|
||||||
data:
|
|
||||||
title: HTML content
|
|
||||||
content:
|
|
||||||
type: glance
|
|
||||||
entities:
|
|
||||||
- binary_sensor.door_entrance_01
|
|
||||||
- binary_sensor.door_kitchen_01
|
|
||||||
- binary_sensor.door_garage_01_contact
|
|
||||||
- type: custom:mushroom-template-card
|
|
||||||
icon: mdi:window-open
|
|
||||||
icon_color: blue
|
|
||||||
badge_icon: "{% if states('sensor.number_windows_open') | int > 0 -%}{{ 'mdi:numeric-' + states('sensor.number_windows_open') + '-circle' }}{%- endif %}"
|
|
||||||
badge_color: red
|
|
||||||
fill_container: false
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; background: none; }"
|
|
||||||
- type: custom:mushroom-template-card
|
|
||||||
icon: mdi:lightbulb
|
|
||||||
icon_color: blue
|
|
||||||
badge_icon: "{% if states('sensor.number_light_on') | int > 0 -%}{{ 'mdi:numeric-' + states('sensor.number_light_on') + '-circle' }}{%- endif %}"
|
|
||||||
badge_color: red
|
|
||||||
fill_container: false
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; background: none; }"
|
|
||||||
tap_action:
|
|
||||||
action: fire-dom-event
|
|
||||||
browser_mod:
|
|
||||||
service: browser_mod.popup
|
|
||||||
data:
|
|
||||||
title: HTML content
|
|
||||||
content:
|
|
||||||
type: glance
|
|
||||||
entities:
|
|
||||||
- light.aisle_ceiling_01
|
|
||||||
- light.aisle_ceiling_02
|
|
||||||
- light.attic_bulb_01
|
|
||||||
- light.backyard_01
|
|
||||||
- light.bathroom_bedroom_wall_01
|
|
||||||
- light.bathroom_living_room_01
|
|
||||||
- light.bathroom_master_wall_01
|
|
||||||
- light.bedroom_master_ceiling_01
|
|
||||||
- light.bedroom_master_ceiling_02
|
|
||||||
- light.bedroom_master_floor_lamp_01
|
|
||||||
- light.bedroom_master_floor_lamp_02
|
|
||||||
- light.bedroom_max_ceiling_01
|
|
||||||
- light.bedroom_max_table_01
|
|
||||||
- light.bedroom_olivia_ceiling_01
|
|
||||||
- light.bedroom_olivia_floor_01
|
|
||||||
- light.christmas_tree
|
|
||||||
- light.frontyard_decoration_01
|
|
||||||
- light.garage_ceiling_01
|
|
||||||
- light.garage_gate_01
|
|
||||||
- light.kitchen_decorating_01
|
|
||||||
- light.kitchen_led_01
|
|
||||||
- light.kitchen_sink_01
|
|
||||||
- light.light_bed_bedroom_master_01
|
|
||||||
- light.light_bed_max_01
|
|
||||||
- light.light_kitchen_ceiling_01
|
|
||||||
- light.light_kitchen_ceiling_02
|
|
||||||
- light.living_room_ceiling_01
|
|
||||||
- light.living_room_ceiling_02
|
|
||||||
- light.living_room_ceiling_03
|
|
||||||
- light.living_room_ceiling_04
|
|
||||||
- light.living_room_floor_lamp_01
|
|
||||||
- light.living_room_strip_01
|
|
||||||
- light.living_room_tiles_01
|
|
||||||
- light.porch_01
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
content: "Open Windows ({{ states('sensor.number_windows_open') | int }}) Doors ({{ states('sensor.number_doors_open') | int }}) Light ({{ states('sensor.number_light_on') | int }})"
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- image: /local/profile_savin_alex.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.alexander_savin
|
|
||||||
- image: /local/profile_savin_tanya.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.tatiana_savin
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- image: /local/profile_savin_maxim.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.maxim_savin
|
|
||||||
- image: /local/profile_savin_olivia.jpg
|
|
||||||
type: picture-entity
|
|
||||||
show_name: false
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
entity: person.olivia_savin
|
|
||||||
- type: map
|
|
||||||
aspect_ratio: 100%
|
|
||||||
entities:
|
|
||||||
- entity: person.alexander_savin
|
|
||||||
- entity: person.tatiana_savin
|
|
||||||
- entity: person.maxim_savin
|
|
||||||
- entity: person.olivia_savin
|
|
||||||
- entity: device_tracker.subaru_outback_txt
|
|
||||||
- zone.home
|
|
||||||
- zone.npfd
|
|
||||||
- zone.work_kiswe
|
|
||||||
- zone.ymca_berkley_heights
|
|
||||||
- zone.nphs_school
|
|
||||||
- zone.awr_school
|
|
||||||
# - type: map
|
|
||||||
# aspect_ratio: 100%
|
|
||||||
# entities:
|
|
||||||
# - entity: person.maxim
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:mushroom-lock-card'
|
|
||||||
name: Main Lock
|
|
||||||
entity: lock.lock_01
|
|
||||||
fill_container: true
|
|
||||||
layout: horizontal
|
|
||||||
# show_name: false
|
|
||||||
# icon: mdi:lock
|
|
||||||
# size: 50px
|
|
||||||
# state:
|
|
||||||
# - value: "locked"
|
|
||||||
# color: rgb(79, 114, 154)
|
|
||||||
# icon: mdi:lock-smart
|
|
||||||
# - value: "unlocked"
|
|
||||||
# color: red
|
|
||||||
# icon: mdi:lock-smart
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
# - type: custom:mushroom-climate-card
|
|
||||||
# entity: climate.living_room
|
|
||||||
# name: Thermostat
|
|
||||||
# show_temperature_control: true
|
|
||||||
# hvac_modes:
|
|
||||||
# - heat
|
|
||||||
# - cool
|
|
||||||
# - off
|
|
||||||
# layout: vertical
|
|
||||||
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:simple-thermostat'
|
|
||||||
entity: climate.living_room
|
|
||||||
step_size: 1
|
|
||||||
header: false
|
|
||||||
control:
|
|
||||||
hvac:
|
|
||||||
'off':
|
|
||||||
name: 'Off'
|
|
||||||
cool:
|
|
||||||
name: A/C
|
|
||||||
heat:
|
|
||||||
name: Heat
|
|
||||||
heat_cool: false
|
|
||||||
sensors:
|
|
||||||
- entity: sensor.power_house_6_1d
|
|
||||||
name: Blower Energy
|
|
||||||
- entity: sensor.power_house_8_1d
|
|
||||||
name: AC Energy
|
|
||||||
# - type: alarm-panel
|
|
||||||
# entity: alarm_control_panel.alarm
|
|
||||||
# title: Alarm Panel
|
|
||||||
# hide_keypad: false
|
|
||||||
# style: '--alarm-color-disarmed: var(--label-badge-blue);'
|
|
||||||
# states:
|
|
||||||
# - arm_home
|
|
||||||
# - arm_away
|
|
||||||
# - type: thermostat
|
|
||||||
# entity: climate.living_room
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:xiaomi-vacuum-map-card
|
|
||||||
entity: vacuum.roborock_s5_max
|
|
||||||
map_source:
|
|
||||||
camera: camera.xiaomi_cloud_map_extractor
|
|
||||||
calibration_source:
|
|
||||||
camera: true
|
|
||||||
debug: false
|
|
||||||
map_modes:
|
|
||||||
- template: vacuum_clean_zone
|
|
||||||
- template: vacuum_goto
|
|
||||||
- template: vacuum_clean_zone_predefined
|
|
||||||
predefined_selections:
|
|
||||||
- zones: [[26600,21200,23600,27000]] # Kitchen
|
|
||||||
- zones: [[32700,26000,26600,20700]] # Living Room
|
|
||||||
map_locked: true
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: weather-forecast
|
|
||||||
entity: weather.my_weather_station
|
|
||||||
secondary_info_attribute: humidity
|
|
||||||
show_current: true
|
|
||||||
show_forecast: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/frontyard/person/best.jpg
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/side1/person/best.jpg
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/doorbell/person/best.jpg
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/entrance/person/best.jpg
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/side2/person/best.jpg
|
|
||||||
- type: picture
|
|
||||||
image: https://objects.savin.nyc/api/backyard/person/best.jpg
|
|
||||||
# - type: custom:auto-entities
|
|
||||||
# card:
|
|
||||||
# type: entities
|
|
||||||
# filter:
|
|
||||||
# template: "{{states.light | map(attribute='entity_id') | list}}"
|
|
@ -7,15 +7,12 @@ visible:
|
|||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
||||||
cards:
|
cards:
|
||||||
- type: custom:layout-card
|
- type: custom:layout-card
|
||||||
layout_type: custom:vertical-layout
|
layout: vertical
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: custom:mushroom-chips-card
|
- type: custom:mushroom-chips-card
|
||||||
chips:
|
chips:
|
||||||
|
|
||||||
- type: template
|
- type: template
|
||||||
icon: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
icon: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
icon_color: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
||||||
@ -36,178 +33,187 @@ cards:
|
|||||||
entity: binary_sensor.door_kitchen_01
|
entity: binary_sensor.door_kitchen_01
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
|
- type: custom:stack-in-card
|
||||||
###################################################################################################
|
cards:
|
||||||
### KITCHEN CLIMATE ###########################################################################
|
- type: grid
|
||||||
###################################################################################################
|
columns: 2
|
||||||
- type: custom:bubble-card
|
square: false
|
||||||
card_type: separator
|
cards:
|
||||||
icon: mdi:countertop-outline
|
- type: custom:mushroom-entity-card
|
||||||
sub_button:
|
entity: input_boolean.kitchen_light_state
|
||||||
- name: Temp
|
name: Kitchen
|
||||||
icon: mdi:thermometer-lines
|
icon: mdi:lightbulb-group
|
||||||
entity: sensor.climate_kitchen_01_temperature
|
tap_action:
|
||||||
show_name: false
|
action: toggle
|
||||||
show_icon: true
|
card_mod:
|
||||||
show_state: true
|
style: "ha-card { border: none; }"
|
||||||
show_background: false
|
- type: custom:paper-buttons-row
|
||||||
show_attribute: false
|
preset: mushroom
|
||||||
- name: Humidity
|
styles:
|
||||||
icon: mdi:water-percent
|
justify-content: flex-end
|
||||||
entity: sensor.climate_kitchen_01_humidity
|
base_config:
|
||||||
show_name: false
|
styles:
|
||||||
show_icon: true
|
button:
|
||||||
show_state: true
|
margin-top: 12px
|
||||||
show_background: false
|
margin-right: 12px
|
||||||
show_attribute: false
|
buttons:
|
||||||
- name: Light Level
|
- layout: icon
|
||||||
icon: mdi:weather-sunny
|
icon: mdi:lightbulb-group
|
||||||
entity: sensor.presence_kitchen_light_level_2
|
tap_action:
|
||||||
show_name: false
|
action: call-service
|
||||||
show_icon: true
|
service: input_select.select_option
|
||||||
show_state: true
|
service_data:
|
||||||
show_background: false
|
entity_id: input_select.kitchen_scenes
|
||||||
show_attribute: false
|
option: "All"
|
||||||
- name: PM2.5
|
styles:
|
||||||
icon: mdi:blur
|
button:
|
||||||
entity: sensor.climate_kitchen_02_pm25
|
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
show_name: false
|
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
show_icon: true
|
- layout: icon
|
||||||
show_state: true
|
icon: mdi:countertop-outline
|
||||||
show_background: false
|
tap_action:
|
||||||
show_attribute: false
|
action: call-service
|
||||||
styles: |
|
service: input_select.select_option
|
||||||
.bubble-feedback-container {
|
service_data:
|
||||||
margin: 0px;
|
entity_id: input_select.kitchen_scenes
|
||||||
}
|
option: "Work Zone Only"
|
||||||
|
styles:
|
||||||
- type: vertical-stack
|
button:
|
||||||
cards:
|
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Work Zone Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
- type: 'custom:bubble-card'
|
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Work Zone Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
card_type: button
|
- layout: icon
|
||||||
button_type: switch
|
icon: mdi:food-turkey
|
||||||
name: Occupancy
|
tap_action:
|
||||||
entity: input_boolean.occupancy_kitchen
|
action: call-service
|
||||||
icon: 'mdi:account-multiple'
|
service: input_select.select_option
|
||||||
show_state: false
|
service_data:
|
||||||
show_background: false
|
entity_id: input_select.kitchen_scenes
|
||||||
tap_action:
|
option: "Dinning Zone Only"
|
||||||
action: toggle
|
styles:
|
||||||
button_action:
|
button:
|
||||||
tap_action:
|
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Dinning Zone Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
action: more-info
|
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Dinning Zone Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
sub_button:
|
- layout: icon
|
||||||
- entity: sensor.kitchen_person_count
|
icon: mdi:ceiling-light-multiple
|
||||||
icon: 'mdi:account-group'
|
tap_action:
|
||||||
show_state: false
|
action: call-service
|
||||||
show_background: true
|
service: input_select.select_option
|
||||||
- entity: sensor.kitchen_cat_count
|
service_data:
|
||||||
icon: 'mdi:cat'
|
entity_id: input_select.kitchen_scenes
|
||||||
show_state: false
|
option: "Ceiling Only"
|
||||||
show_background: true
|
styles:
|
||||||
- icon: 'mdi:brightness-auto'
|
button:
|
||||||
entity: input_boolean.manually_operated_light_kitchen
|
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
show_state: false
|
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
show_background: true
|
- layout: icon
|
||||||
tap_action:
|
icon: mdi:globe-light-outline
|
||||||
action: toggle
|
tap_action:
|
||||||
styles: >
|
action: call-service
|
||||||
.bubble-button-background {
|
service: light.toggle
|
||||||
opacity: 1 !important;
|
service_data:
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
entity_id: light.kitchen_decorating_01
|
||||||
}
|
styles:
|
||||||
.bubble-sub-button-1 {
|
button:
|
||||||
background-color: white !important;
|
color: "{% if is_state('light.kitchen_decorating_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
}
|
background-color: "{% if is_state('light.kitchen_decorating_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
.bubble-sub-button-1 > ha-icon {
|
- type: horizontal-stack
|
||||||
color: ${ hass.states['sensor.kitchen_person_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
cards:
|
||||||
}
|
- type: custom:mini-graph-card
|
||||||
.bubble-sub-button-2 {
|
# name: Temperature
|
||||||
background-color: white !important;
|
line_color: orange
|
||||||
}
|
font_size: 60
|
||||||
.bubble-sub-button-2 > ha-icon {
|
font_size_header: 12
|
||||||
color: ${ hass.states['sensor.kitchen_cat_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
entities:
|
||||||
}
|
- entity: sensor.climate_kitchen_01_temperature
|
||||||
.bubble-sub-button-3 {
|
# name: Temperature
|
||||||
background-color: white !important;
|
hours_to_show: 24
|
||||||
}
|
points_per_hour: 4
|
||||||
${subButtonIcon[2].setAttribute("icon", hass.states['input_boolean.manually_operated_light_kitchen'].state === 'on' ? 'mdi:hand-front-right' : 'mdi:brightness-auto')}
|
align_icon: state
|
||||||
modules:
|
align_state: left
|
||||||
|
show:
|
||||||
###################################################################################################
|
name: false
|
||||||
### KITCHEN LIGHTS ############################################################################
|
icon: false
|
||||||
###################################################################################################
|
# card_mod:
|
||||||
- type: custom:bubble-card
|
# style: |
|
||||||
card_type: button
|
# ha-card {
|
||||||
button_type: switch
|
# background: url("/local/outback.jpg");
|
||||||
name: Light
|
# background-size: 100% 400px;
|
||||||
entity: input_boolean.kitchen_light_state
|
# }
|
||||||
icon: mdi:lightbulb-group
|
- type: custom:mini-graph-card
|
||||||
show_state: true
|
name: Humidity
|
||||||
show_background: false
|
line_color: blue
|
||||||
tap_action:
|
font_size: 75
|
||||||
action: toggle
|
font_size_header: 12
|
||||||
button_action:
|
entities:
|
||||||
tap_action:
|
- entity: sensor.climate_kitchen_01_humidity
|
||||||
action: navigate
|
name: Humidity
|
||||||
navigation_path: '#popup-kitchen-light'
|
hours_to_show: 24
|
||||||
sub_button:
|
points_per_hour: 4
|
||||||
- icon: mdi:lightbulb-group
|
align_icon: state
|
||||||
entity: scene.kitchen_all
|
align_state: left
|
||||||
show_state: false
|
show:
|
||||||
show_background: true
|
name: false
|
||||||
tap_action:
|
- type: custom:mini-graph-card
|
||||||
action: call-service
|
name: Illuminance
|
||||||
service: input_select.select_option
|
line_color: red
|
||||||
service_data:
|
font_size: 75
|
||||||
entity_id: input_select.kitchen_scenes
|
font_size_header: 12
|
||||||
option: "All"
|
entities:
|
||||||
- icon: mdi:countertop-outline
|
- entity: sensor.presence_kitchen_light_level_2
|
||||||
entity: scene.kitchen_work_zone_only
|
name: Illuminance
|
||||||
show_state: false
|
hours_to_show: 24
|
||||||
show_background: true
|
points_per_hour: 4
|
||||||
tap_action:
|
align_icon: state
|
||||||
action: call-service
|
align_state: left
|
||||||
service: input_select.select_option
|
show:
|
||||||
service_data:
|
name: false
|
||||||
entity_id: input_select.kitchen_scenes
|
- type: custom:mini-graph-card
|
||||||
option: "Work Zone Only"
|
name: Ppm25
|
||||||
- icon: mdi:food-turkey
|
line_color: green
|
||||||
entity: scene.kitchen_dinning_zone_only
|
font_size: 75
|
||||||
show_state: false
|
font_size_header: 12
|
||||||
show_background: true
|
entities:
|
||||||
tap_action:
|
- entity: sensor.climate_kitchen_02_pm25
|
||||||
action: call-service
|
name: Ppm25
|
||||||
service: input_select.select_option
|
hours_to_show: 24
|
||||||
service_data:
|
points_per_hour: 4
|
||||||
entity_id: input_select.kitchen_scenes
|
align_icon: state
|
||||||
option: "Dinning Zone Only"
|
align_state: left
|
||||||
- icon: mdi:ceiling-light-multiple
|
show:
|
||||||
entity: scene.kitchen_ceiling_only
|
name: false
|
||||||
show_state: false
|
- type: horizontal-stack
|
||||||
show_background: true
|
cards:
|
||||||
tap_action:
|
- type: custom:mushroom-light-card
|
||||||
action: call-service
|
entity: light.kitchen_sink_01
|
||||||
service: input_select.select_option
|
name: 'Kitchen Sink #01'
|
||||||
service_data:
|
icon: mdi:ceiling-light
|
||||||
entity_id: input_select.kitchen_scenes
|
show_brightness_control: true
|
||||||
option: "Ceiling Only"
|
collapsible_controls: true
|
||||||
styles: |
|
use_light_color: true
|
||||||
.bubble-sub-button-1 > ha-icon {
|
- type: custom:mushroom-light-card
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'All' ? 'rgb(255, 152, 0)' : ''} !important;
|
entity: light.kitchen_led_01
|
||||||
}
|
name: 'Kitchen LED #01'
|
||||||
.bubble-sub-button-2 > ha-icon {
|
icon: mdi:led-strip-variant
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Work Zone Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
show_brightness_control: true
|
||||||
}
|
collapsible_controls: true
|
||||||
.bubble-sub-button-3 > ha-icon {
|
use_light_color: true
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Dinning Zone Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
- type: horizontal-stack
|
||||||
}
|
cards:
|
||||||
.bubble-sub-button-4 > ha-icon {
|
- type: custom:mushroom-light-card
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Ceiling Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
entity: light.kitchen_ceiling_01
|
||||||
}
|
name: 'Kitchen Ceiling #1'
|
||||||
|
icon: mdi:dome-light
|
||||||
|
show_brightness_control: true
|
||||||
|
collapsible_controls: true
|
||||||
|
use_light_color: true
|
||||||
|
- type: custom:mushroom-light-card
|
||||||
|
entity: light.kitchen_ceiling_02
|
||||||
|
name: 'Kitchen Ceiling #2'
|
||||||
|
icon: mdi:dome-light
|
||||||
|
show_brightness_control: true
|
||||||
|
collapsible_controls: true
|
||||||
|
use_light_color: true
|
||||||
- type: custom:layout-break
|
- type: custom:layout-break
|
||||||
|
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:webrtc-camera'
|
- type: 'custom:webrtc-camera'
|
||||||
@ -215,120 +221,38 @@ cards:
|
|||||||
title: 'Kitchen'
|
title: 'Kitchen'
|
||||||
muted: true
|
muted: true
|
||||||
mode: webrtc,mse
|
mode: webrtc,mse
|
||||||
|
|
||||||
- type: custom:layout-break
|
- type: custom:layout-break
|
||||||
|
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
|
# - type: entities
|
||||||
###################################################################################################
|
# title: Lights
|
||||||
### KITCHEN MAX ########################################################### BUBBLE CARD ###
|
# show_header_toggle: false
|
||||||
###################################################################################################
|
# entities:
|
||||||
- type: custom:bubble-card
|
# - entity: timer.app_lighting_kitchen
|
||||||
card_type: media-player
|
# - type: custom:flipdown-timer-card
|
||||||
entity: media_player.kitchen_max
|
# entity: timer.app_lighting_kitchen
|
||||||
grid_options:
|
# show_hour: false
|
||||||
rows: 2
|
# show_title: false
|
||||||
columns: 12
|
# show_header: false
|
||||||
scrolling_effect: false
|
# duration: "00:01:00"
|
||||||
show_icon: true
|
# styles:
|
||||||
show_state: false
|
# rotor:
|
||||||
show_attribute: false
|
# width: 60px
|
||||||
hide:
|
# height: 80px
|
||||||
play_pause_button: false
|
# button:
|
||||||
power_button: true
|
# width: 60px
|
||||||
next_button: false
|
# location: bottom
|
||||||
previous_button: false
|
- type: horizontal-stack
|
||||||
volume_button: false
|
|
||||||
card_layout: large
|
|
||||||
cover_background: true
|
|
||||||
sub_button: []
|
|
||||||
name: "Kitchen Max"
|
|
||||||
force_icon: false
|
|
||||||
show_name: true
|
|
||||||
show_last_changed: false
|
|
||||||
double_tap_action:
|
|
||||||
action: none
|
|
||||||
hold_action:
|
|
||||||
action: none
|
|
||||||
styles: |
|
|
||||||
ha-card div.bubble-media-player-container {
|
|
||||||
height: 119px !important;
|
|
||||||
}
|
|
||||||
ha-card div.bubble-cover-background {
|
|
||||||
filter: blur(3px);
|
|
||||||
opacity: 0.4;
|
|
||||||
}
|
|
||||||
ha-card div.bubble-media-player {
|
|
||||||
bottom: 30px;
|
|
||||||
}
|
|
||||||
ha-card div.bubble-media-info-container {
|
|
||||||
display: inline;
|
|
||||||
position: absolute;
|
|
||||||
top: 95px;
|
|
||||||
left: 16px
|
|
||||||
}
|
|
||||||
ha-card div.bubble-name-container {
|
|
||||||
display: inline !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
ha-icon.bubble-play-pause-button {
|
|
||||||
position: absolute;
|
|
||||||
bottom: -22px;
|
|
||||||
right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
###################################################################################################
|
|
||||||
### KITCHEN LIGHTS ############################################################## POPUP ###
|
|
||||||
###################################################################################################
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
cards:
|
||||||
- type: custom:bubble-card
|
- type: button
|
||||||
card_type: pop-up
|
name: Occupancy
|
||||||
hash: '#popup-kitchen-light'
|
entity: input_boolean.occupancy_kitchen
|
||||||
name: Kitchen
|
- type: button
|
||||||
icon: mdi:fridge
|
name: Operating Mode
|
||||||
- type: custom:bubble-card
|
entity: input_boolean.manually_operated_light_kitchen
|
||||||
card_type: button
|
- type: button
|
||||||
button_type: slider
|
name: Occupants
|
||||||
name: Sink
|
entity: input_number.occupants_kitchen
|
||||||
entity: light.kitchen_sink_01
|
- type: custom:mini-media-player
|
||||||
show_state: true
|
entity: media_player.kitchen_max
|
||||||
tap_action:
|
artwork: cover
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: LED
|
|
||||||
entity: light.kitchen_led_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #1'
|
|
||||||
entity: light.kitchen_ceiling_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #2'
|
|
||||||
entity: light.kitchen_ceiling_02
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
|
@ -1,258 +0,0 @@
|
|||||||
---
|
|
||||||
title: Kitchen
|
|
||||||
icon: mdi:countertop
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout: vertical
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
badge_icon: mdi:numeric-1-circle
|
|
||||||
badge_color: green
|
|
||||||
entity: binary_sensor.presence_kitchen_sensor_2
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_kitchen_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_kitchen_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_kitchen_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_kitchen_01', 'on') -%}mdi:door-sliding-open{%- else -%}mdi:door-sliding{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_kitchen_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_kitchen_01
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:stack-in-card
|
|
||||||
cards:
|
|
||||||
- type: grid
|
|
||||||
columns: 2
|
|
||||||
square: false
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-entity-card
|
|
||||||
entity: input_boolean.kitchen_light_state
|
|
||||||
name: Kitchen
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; }"
|
|
||||||
- type: custom:paper-buttons-row
|
|
||||||
preset: mushroom
|
|
||||||
styles:
|
|
||||||
justify-content: flex-end
|
|
||||||
base_config:
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
margin-top: 12px
|
|
||||||
margin-right: 12px
|
|
||||||
buttons:
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "All"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:countertop-outline
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Work Zone Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Work Zone Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Work Zone Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:food-turkey
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Dinning Zone Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Dinning Zone Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Dinning Zone Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Ceiling Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:globe-light-outline
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: light.toggle
|
|
||||||
service_data:
|
|
||||||
entity_id: light.kitchen_decorating_01
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('light.kitchen_decorating_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('light.kitchen_decorating_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Temperature
|
|
||||||
line_color: orange
|
|
||||||
font_size: 60
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_kitchen_01_temperature
|
|
||||||
# name: Temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
icon: false
|
|
||||||
# card_mod:
|
|
||||||
# style: |
|
|
||||||
# ha-card {
|
|
||||||
# background: url("/local/outback.jpg");
|
|
||||||
# background-size: 100% 400px;
|
|
||||||
# }
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
name: Humidity
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_kitchen_01_humidity
|
|
||||||
name: Humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
name: Illuminance
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.presence_kitchen_light_level_2
|
|
||||||
name: Illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
name: Ppm25
|
|
||||||
line_color: green
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_kitchen_02_pm25
|
|
||||||
name: Ppm25
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.kitchen_sink_01
|
|
||||||
name: 'Kitchen Sink #01'
|
|
||||||
icon: mdi:ceiling-light
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.kitchen_led_01
|
|
||||||
name: 'Kitchen LED #01'
|
|
||||||
icon: mdi:led-strip-variant
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.kitchen_ceiling_01
|
|
||||||
name: 'Kitchen Ceiling #1'
|
|
||||||
icon: mdi:dome-light
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.kitchen_ceiling_02
|
|
||||||
name: 'Kitchen Ceiling #2'
|
|
||||||
icon: mdi:dome-light
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:webrtc-camera'
|
|
||||||
url: 'rtsp://10.10.11.110:8554/kitchen'
|
|
||||||
title: 'Kitchen'
|
|
||||||
muted: true
|
|
||||||
mode: webrtc,mse
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
# - type: entities
|
|
||||||
# title: Lights
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - entity: timer.app_lighting_kitchen
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_kitchen
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_kitchen
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_kitchen
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_kitchen
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.kitchen_max
|
|
||||||
artwork: cover
|
|
@ -1,528 +1,397 @@
|
|||||||
---
|
---
|
||||||
title: Living Room
|
title: Living Room
|
||||||
icon: 'mdi:sofa'
|
icon: mdi:sofa
|
||||||
panel: true
|
panel: true
|
||||||
visible:
|
visible:
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec
|
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a
|
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:layout-card'
|
- type: custom:layout-card
|
||||||
layout_type: 'custom:vertical-layout'
|
layout: vertical
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
chips:
|
chips:
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
||||||
{% if is_state('binary_sensor.presence_living_room_sensor_1',
|
icon_color: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
||||||
'on') -%}mdi:account-multiple{%- else
|
badge_icon: mdi:numeric-1-circle
|
||||||
-%}mdi:account-off-outline{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if is_state('binary_sensor.presence_living_room_sensor_1',
|
|
||||||
'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}
|
|
||||||
badge_icon: 'mdi:numeric-1-circle'
|
|
||||||
badge_color: green
|
badge_color: green
|
||||||
entity: binary_sensor.presence_living_room_sensor_1
|
entity: binary_sensor.presence_living_room_sensor_1
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_living_room_front_left_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_living_room_front_left_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_living_room_front_left_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_living_room_front_left_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_living_room_front_left_01_contact
|
entity: binary_sensor.window_living_room_front_left_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_living_room_front_center_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_living_room_front_center_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_living_room_front_center_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_living_room_front_center_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_living_room_front_center_01_contact
|
entity: binary_sensor.window_living_room_front_center_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_living_room_front_right_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_living_room_front_right_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_living_room_front_right_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_living_room_front_right_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_living_room_front_right_01_contact
|
entity: binary_sensor.window_living_room_front_right_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_living_room_side_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_living_room_side_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_living_room_side_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_living_room_side_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_living_room_side_01_contact
|
entity: binary_sensor.window_living_room_side_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.smoke_living_room_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
|
||||||
{% if is_state('binary_sensor.smoke_living_room_01_smoke',
|
icon_color: "{% if is_state('binary_sensor.smoke_living_room_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
|
||||||
'on') -%}mdi:smoke-detector-variant-alert{%- else
|
|
||||||
-%}mdi:smoke-detector-variant{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if is_state('binary_sensor.smoke_living_room_01_smoke',
|
|
||||||
'on') -%}#D40909{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.smoke_living_room_01_smoke
|
entity: binary_sensor.smoke_living_room_01_smoke
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: 'custom:bubble-card'
|
- type: custom:stack-in-card
|
||||||
card_type: separator
|
cards:
|
||||||
icon: 'mdi:sofa'
|
- type: grid
|
||||||
sub_button:
|
columns: 2
|
||||||
- name: Temp
|
square: false
|
||||||
icon: 'mdi:thermometer-lines'
|
cards:
|
||||||
entity: sensor.climate_living_room_01_temperature
|
- type: custom:mushroom-entity-card
|
||||||
show_name: false
|
entity: input_boolean.living_room_light_state
|
||||||
show_icon: true
|
name: Living Room
|
||||||
show_state: true
|
icon: mdi:lightbulb-group
|
||||||
show_background: false
|
tap_action:
|
||||||
show_attribute: false
|
action: toggle
|
||||||
- name: Humidity
|
card_mod:
|
||||||
icon: 'mdi:water-percent'
|
style: "ha-card { border: none; }"
|
||||||
entity: sensor.climate_living_room_01_humidity
|
- type: custom:paper-buttons-row
|
||||||
show_name: false
|
preset: mushroom
|
||||||
show_icon: true
|
styles:
|
||||||
show_state: true
|
justify-content: flex-end
|
||||||
show_background: false
|
base_config:
|
||||||
show_attribute: false
|
styles:
|
||||||
- name: Light Level
|
button:
|
||||||
icon: 'mdi:weather-sunny'
|
margin-top: 12px
|
||||||
entity: sensor.presence_living_room_light_level
|
margin-right: 12px
|
||||||
show_name: false
|
buttons:
|
||||||
show_icon: true
|
- layout: icon
|
||||||
show_state: true
|
icon: mdi:lightbulb-group
|
||||||
show_background: false
|
tap_action:
|
||||||
show_attribute: false
|
action: call-service
|
||||||
styles: |
|
service: input_select.select_option
|
||||||
.bubble-feedback-container {
|
service_data:
|
||||||
margin: 0px;
|
entity_id: input_select.living_room_scenes
|
||||||
}
|
option: "All"
|
||||||
|
styles:
|
||||||
|
button:
|
||||||
|
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
|
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
|
- layout: icon
|
||||||
|
icon: mdi:ceiling-light-multiple
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: input_select.select_option
|
||||||
|
service_data:
|
||||||
|
entity_id: input_select.living_room_scenes
|
||||||
|
option: "Ceiling Only"
|
||||||
|
styles:
|
||||||
|
button:
|
||||||
|
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
|
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
|
- layout: icon
|
||||||
|
icon: mdi:floor-lamp-torchiere
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: input_select.select_option
|
||||||
|
service_data:
|
||||||
|
entity_id: input_select.living_room_scenes
|
||||||
|
option: "Floor Only"
|
||||||
|
styles:
|
||||||
|
button:
|
||||||
|
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
|
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Floor Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:bubble-card'
|
- type: horizontal-stack
|
||||||
card_type: button
|
cards:
|
||||||
button_type: switch
|
- type: custom:mini-graph-card
|
||||||
name: Occupancy
|
# name: Temperature
|
||||||
entity: input_boolean.occupancy_living_room
|
line_color: orange
|
||||||
icon: 'mdi:account-multiple'
|
font_size: 75
|
||||||
show_state: false
|
font_size_header: 12
|
||||||
show_background: false
|
entities:
|
||||||
tap_action:
|
- entity: sensor.climate_living_room_01_temperature
|
||||||
action: toggle
|
# name: Temperature
|
||||||
button_action:
|
hours_to_show: 24
|
||||||
tap_action:
|
points_per_hour: 4
|
||||||
action: more-info
|
align_icon: state
|
||||||
sub_button:
|
align_state: left
|
||||||
- entity: sensor.living_room_01_person_count
|
show:
|
||||||
icon: 'mdi:account-group'
|
name: false
|
||||||
show_state: false
|
- type: custom:mini-graph-card
|
||||||
show_background: true
|
# name: Humidity
|
||||||
- entity: sensor.living_room_01_cat_count
|
line_color: blue
|
||||||
icon: 'mdi:cat'
|
font_size: 75
|
||||||
show_state: false
|
font_size_header: 12
|
||||||
show_background: true
|
entities:
|
||||||
- icon: 'mdi:brightness-auto'
|
- entity: sensor.climate_living_room_01_humidity
|
||||||
entity: input_boolean.manually_operated_light_living_room
|
# name: Humidity
|
||||||
show_state: false
|
hours_to_show: 24
|
||||||
show_background: true
|
points_per_hour: 4
|
||||||
tap_action:
|
align_icon: state
|
||||||
action: toggle
|
align_state: left
|
||||||
styles: >
|
show:
|
||||||
.bubble-button-background {
|
name: false
|
||||||
opacity: 1 !important;
|
- type: custom:mini-graph-card
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
# name: Illuminance
|
||||||
}
|
line_color: red
|
||||||
.bubble-sub-button-1 {
|
font_size: 75
|
||||||
background-color: white !important;
|
font_size_header: 12
|
||||||
}
|
entities:
|
||||||
.bubble-sub-button-1 > ha-icon {
|
- entity: sensor.presence_living_room_light_level
|
||||||
color: ${ hass.states['sensor.living_room_01_person_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
# name: Illuminance
|
||||||
}
|
hours_to_show: 24
|
||||||
.bubble-sub-button-2 {
|
points_per_hour: 4
|
||||||
background-color: white !important;
|
align_icon: state
|
||||||
}
|
align_state: left
|
||||||
.bubble-sub-button-2 > ha-icon {
|
show:
|
||||||
color: ${ hass.states['sensor.living_room_01_cat_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
name: false
|
||||||
}
|
- type: horizontal-stack
|
||||||
.bubble-sub-button-3 {
|
cards:
|
||||||
background-color: white !important;
|
- type: custom:mushroom-light-card
|
||||||
}
|
entity: light.living_room_ceiling_all
|
||||||
${subButtonIcon[2].setAttribute("icon", hass.states['input_boolean.manually_operated_light_living_room'].state === 'on' ? 'mdi:hand-front-right' : 'mdi:brightness-auto')}
|
name: All Ceiling Lings
|
||||||
- type: 'custom:bubble-card'
|
icon: mdi:ceiling-light-multiple
|
||||||
card_type: button
|
show_brightness_control: true
|
||||||
button_type: switch
|
collapsible_controls: true
|
||||||
name: Light
|
use_light_color: true
|
||||||
entity: input_boolean.living_room_light_state
|
- type: custom:mushroom-light-card
|
||||||
icon: 'mdi:lightbulb-group'
|
entity: light.living_room_floor_lamp_01
|
||||||
show_state: true
|
name: Floor Lamp
|
||||||
show_background: false
|
icon: mdi:floor-lamp-torchiere-outline
|
||||||
tap_action:
|
show_brightness_control: true
|
||||||
action: toggle
|
collapsible_controls: true
|
||||||
button_action:
|
use_light_color: true
|
||||||
tap_action:
|
- type: horizontal-stack
|
||||||
action: navigate
|
cards:
|
||||||
navigation_path: '#popup-living-room-light'
|
- type: custom:mushroom-light-card
|
||||||
sub_button:
|
entity: light.living_room_ceiling_group_1
|
||||||
- icon: 'mdi:lightbulb-group'
|
name: 'Ceiling 1 (Couch)'
|
||||||
entity: scene.living_room_all
|
icon: mdi:ceiling-light-multiple
|
||||||
show_state: false
|
show_brightness_control: true
|
||||||
show_background: true
|
collapsible_controls: true
|
||||||
tap_action:
|
use_light_color: true
|
||||||
action: call-service
|
- type: custom:mushroom-light-card
|
||||||
service: input_select.select_option
|
entity: light.living_room_ceiling_group_2
|
||||||
service_data:
|
name: 'Ceiling 2 (TV)'
|
||||||
entity_id: input_select.living_room_scenes
|
icon: mdi:ceiling-light-multiple
|
||||||
option: All
|
show_brightness_control: true
|
||||||
- icon: 'mdi:ceiling-light-multiple'
|
collapsible_controls: true
|
||||||
entity: scene.living_room_ceiling_only
|
use_light_color: true
|
||||||
show_state: false
|
- type: horizontal-stack
|
||||||
show_background: true
|
cards:
|
||||||
tap_action:
|
- type: custom:mushroom-light-card
|
||||||
action: call-service
|
entity: light.living_room_tiles_01
|
||||||
service: input_select.select_option
|
name: 'Tile'
|
||||||
service_data:
|
icon: mdi:star-box-multiple
|
||||||
entity_id: input_select.living_room_scenes
|
show_brightness_control: true
|
||||||
option: Ceiling Only
|
collapsible_controls: true
|
||||||
- icon: 'mdi:ceiling-light-multiple'
|
use_light_color: true
|
||||||
entity: scene.living_room_ceiling_group_1_only
|
- type: custom:mushroom-light-card
|
||||||
show_state: false
|
entity: light.living_room_strip_01
|
||||||
show_background: true
|
name: 'LED Strip'
|
||||||
tap_action:
|
icon: mdi:led-strip-variant
|
||||||
action: call-service
|
show_brightness_control: true
|
||||||
service: input_select.select_option
|
collapsible_controls: true
|
||||||
service_data:
|
use_light_color: true
|
||||||
entity_id: input_select.living_room_scenes
|
- type: horizontal-stack
|
||||||
option: Ceiling Group 1 Only
|
cards:
|
||||||
- icon: 'mdi:ceiling-light-multiple'
|
- type: custom:mushroom-light-card
|
||||||
entity: scene.living_room_ceiling_group_2_only
|
entity: light.christmas_tree
|
||||||
show_state: false
|
name: 'Christmas Tree'
|
||||||
show_background: true
|
icon: mdi:string-lights
|
||||||
tap_action:
|
show_brightness_control: false
|
||||||
action: call-service
|
collapsible_controls: false
|
||||||
service: input_select.select_option
|
use_light_color: false
|
||||||
service_data:
|
- type: custom:layout-break
|
||||||
entity_id: input_select.living_room_scenes
|
- type: vertical-stack
|
||||||
option: Ceiling Group 2 Only
|
|
||||||
- icon: 'mdi:floor-lamp-torchiere-outline'
|
|
||||||
entity: scene.living_room_floor_only
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.living_room_scenes
|
|
||||||
option: Floor Only
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.living_room_scenes'].state === 'All' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.living_room_scenes'].state === 'Ceiling Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.living_room_scenes'].state === 'Ceiling Group 1 Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.living_room_scenes'].state === 'Ceiling Group 2 Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-5 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.living_room_scenes'].state === 'Floor Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: 'custom:layout-break'
|
|
||||||
- type: 'vertical-stack'
|
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:webrtc-camera'
|
- type: 'custom:webrtc-camera'
|
||||||
url: 'rtsp://10.10.11.110:8554/living-room-01'
|
url: 'rtsp://10.10.11.110:8554/living-room-01'
|
||||||
title: Living Room 1
|
title: 'Living Room 1'
|
||||||
muted: true
|
muted: true
|
||||||
mode: 'webrtc,mse'
|
mode: webrtc,mse
|
||||||
- type: 'custom:webrtc-camera'
|
- type: 'custom:webrtc-camera'
|
||||||
url: 'rtsp://10.10.11.110:8554/living-room-02'
|
url: 'rtsp://10.10.11.110:8554/living-room-02'
|
||||||
title: Living Room 2
|
title: 'Living Room 2'
|
||||||
muted: true
|
muted: true
|
||||||
mode: 'webrtc,mse'
|
mode: webrtc,mse
|
||||||
|
- type: custom:layout-break
|
||||||
- type: 'custom:layout-break'
|
- type: vertical-stack
|
||||||
- type: 'vertical-stack'
|
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mini-media-player'
|
# - type: entities
|
||||||
|
# title: Lights
|
||||||
|
# show_header_toggle: false
|
||||||
|
# entities:
|
||||||
|
# - entity: timer.app_lighting_kitchen
|
||||||
|
# - type: custom:flipdown-timer-card
|
||||||
|
# entity: timer.app_lighting_kitchen
|
||||||
|
# show_hour: false
|
||||||
|
# show_title: false
|
||||||
|
# show_header: false
|
||||||
|
# duration: "00:01:00"
|
||||||
|
# styles:
|
||||||
|
# rotor:
|
||||||
|
# width: 60px
|
||||||
|
# height: 80px
|
||||||
|
# button:
|
||||||
|
# width: 60px
|
||||||
|
# location: bottom
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: button
|
||||||
|
name: Occupancy
|
||||||
|
entity: input_boolean.occupancy_living_room
|
||||||
|
- type: custom:button-card
|
||||||
|
name: Operating Mode
|
||||||
|
entity: input_boolean.manually_operated_light_living_room
|
||||||
|
state:
|
||||||
|
- value: 'on'
|
||||||
|
icon: mdi:hand-front-right
|
||||||
|
color: orange
|
||||||
|
- value: 'off'
|
||||||
|
icon: mdi:brightness-auto
|
||||||
|
- type: button
|
||||||
|
name: Occupants
|
||||||
|
entity: input_number.occupants_living_room
|
||||||
|
- type: custom:mini-media-player
|
||||||
|
entity: media_player.pioneer_vsx_lx505_f5bae6
|
||||||
|
artwork: cover
|
||||||
|
# - type: custom:mini-media-player
|
||||||
|
# entity: media_player.living_room_pair
|
||||||
|
# artwork: cover
|
||||||
|
- type: custom:mini-media-player
|
||||||
entity: media_player.living_room_speaker
|
entity: media_player.living_room_speaker
|
||||||
artwork: cover
|
artwork: cover
|
||||||
- type: 'custom:bubble-card'
|
# - type: custom:mini-media-player
|
||||||
card_type: button
|
# entity: media_player.living_room_max_1
|
||||||
entity: remote.living_room_harmony_hub
|
# artwork: cover
|
||||||
tap_action:
|
# - type: custom:mini-media-player
|
||||||
action: toggle
|
# entity: media_player.living_room_max_2
|
||||||
button_action:
|
# artwork: cover
|
||||||
tap_action:
|
- type: custom:mini-media-player
|
||||||
action: more-info
|
entity: media_player.living_room_1
|
||||||
sub_button:
|
artwork: cover
|
||||||
- entity: select.living_room_harmony_hub_activities
|
- type: custom:mini-media-player
|
||||||
name: TV
|
entity: media_player.nvidia_shield_tv_living_room
|
||||||
icon: 'mdi:television'
|
artwork: cover
|
||||||
show_background: true
|
- type: media-control
|
||||||
show_state: false
|
entity: media_player.onkyo_receiver
|
||||||
tap_action:
|
|
||||||
action: select.select_option
|
|
||||||
data:
|
|
||||||
option: ShTV+AVR+TV
|
|
||||||
- entity: select.living_room_harmony_hub_activities
|
|
||||||
name: Projector
|
|
||||||
icon: 'mdi:projector'
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: select.select_option
|
|
||||||
data:
|
|
||||||
option: ShTV+AVR+Prj
|
|
||||||
styles: >
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
/* .bubble-button-card-container { background-color: ${state === 'on' ? 'rgb(255, 150, 0)' : ''} !important; opacity: 1 !important; } */
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['remote.living_room_harmony_hub'].attributes.current_activity === 'ShTV+AVR+TV' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['remote.living_room_harmony_hub'].attributes.current_activity === 'ShTV+AVR+Prj' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
- type: conditional
|
- type: conditional
|
||||||
conditions:
|
conditions:
|
||||||
- entity: remote.living_room_harmony_hub
|
- condition: state
|
||||||
state: 'on'
|
entity: media_player.onkyo_receiver
|
||||||
|
state: "on"
|
||||||
card:
|
card:
|
||||||
type: 'custom:bubble-card'
|
type: horizontal-stack
|
||||||
card_type: button
|
cards:
|
||||||
button_type: switch
|
- name: Nvidia ShieldTV
|
||||||
card_layout: normal
|
entity: script.receiver_switch_to_shield_tv
|
||||||
name: Pioneer VSX-LX505
|
type: button
|
||||||
entity: media_player.onkyo_receiver
|
icon: mdi:youtube-tv
|
||||||
icon: 'mdi:audio-video'
|
tap_action:
|
||||||
show_state: true
|
action: toggle
|
||||||
show_background: false
|
hold_action:
|
||||||
show_attribute: true
|
action: more-info
|
||||||
attribute: source
|
show_name: false
|
||||||
button_action:
|
show_icon: true
|
||||||
tap_action: null
|
color: "{% if state_attr('media_player.onkyo_receiver', 'source') == 'Nvidia Shield TV' -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
action: toggle
|
color_type: icon
|
||||||
sub_button:
|
- name: PS4
|
||||||
- entity: script.receiver_switch_to_shield_tv
|
entity: script.receiver_switch_to_playstation
|
||||||
icon: 'mdi:television-classic'
|
type: button
|
||||||
show_background: true
|
icon: mdi:sony-playstation
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
hold_action:
|
||||||
|
action: more-info
|
||||||
|
show_name: false
|
||||||
|
show_icon: true
|
||||||
|
- name: Win11
|
||||||
|
entity: script.receiver_switch_to_windows
|
||||||
|
type: button
|
||||||
|
icon: mdi:microsoft-windows
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
show_name: false
|
||||||
|
show_icon: true
|
||||||
show_state: false
|
show_state: false
|
||||||
|
- name: Cameras
|
||||||
|
entity: script.receiver_switch_to_security
|
||||||
|
type: button
|
||||||
|
icon: mdi:camera-wireless
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- entity: script.receiver_switch_to_playstation
|
hold_action:
|
||||||
icon: 'mdi:controller'
|
action: more-info
|
||||||
show_background: true
|
show_name: false
|
||||||
show_state: false
|
show_icon: true
|
||||||
|
- type: conditional
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity: media_player.onkyo_receiver
|
||||||
|
state: "on"
|
||||||
|
- condition: state
|
||||||
|
entity: switch.onkyo_source_nvidia_shield_tv
|
||||||
|
state: "on"
|
||||||
|
card:
|
||||||
|
type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- name: youtube
|
||||||
|
entity: switch.android_tv_youtube
|
||||||
|
type: button
|
||||||
|
icon: mdi:youtube
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- entity: script.receiver_switch_to_security
|
hold_action:
|
||||||
icon: 'mdi:camera-metering-matrix'
|
action: more-info
|
||||||
show_background: true
|
show_name: false
|
||||||
show_state: false
|
show_icon: true
|
||||||
|
- name: Netflix
|
||||||
|
entity: switch.android_tv_netflix
|
||||||
|
type: button
|
||||||
|
icon: mdi:netflix
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- entity: script.receiver_switch_to_windows
|
hold_action:
|
||||||
icon: 'mdi:laptop'
|
action: more-info
|
||||||
show_background: true
|
show_name: false
|
||||||
show_state: false
|
show_icon: true
|
||||||
tap_action:
|
- name: Plex
|
||||||
action: toggle
|
entity: switch.android_tv_plex
|
||||||
styles: |
|
type: button
|
||||||
.bubble-button-background {
|
icon: mdi:plex
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
display: ${hass.states['media_player.onkyo_receiver'].state === 'off' ? 'none' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'Nvidia Shield TV' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
display: ${hass.states['media_player.onkyo_receiver'].state === 'off' ? 'none' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'PlayStation 4 Pro' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
display: ${hass.states['media_player.onkyo_receiver'].state === 'off' ? 'none' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'Unifi Protect' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 {
|
|
||||||
display: ${hass.states['media_player.onkyo_receiver'].state === 'off' ? 'none' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'Windows 11' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
entity: media_player.nvidia_shield_tv_living_room_2
|
|
||||||
sub_button:
|
|
||||||
- entity: switch.android_tv_youtube
|
|
||||||
icon: 'mdi:youtube'
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: switch.android_tv_netflix
|
|
||||||
icon: 'mdi:netflix'
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: switch.android_tv_plex
|
|
||||||
icon: 'mdi:plex'
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
display: ${hass.states['media_player.nvidia_shield_tv_living_room_2'].state === 'off' ? 'none' : ''} !important;
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.nvidia_shield_tv_living_room_2'].attributes.app_id === 'com.google.android.youtube.tv' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
display: ${hass.states['media_player.nvidia_shield_tv_living_room_2'].state === 'off' ? 'none' : ''} !important;
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.nvidia_shield_tv_living_room_2'].attributes.app_id === 'com.netflix.ninja' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
display: ${hass.states['media_player.nvidia_shield_tv_living_room_2'].state === 'off' ? 'none' : ''} !important;
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.nvidia_shield_tv_living_room_2'].attributes.app_id === 'com.plexapp.android' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-living-room-light'
|
|
||||||
name: Kitchen
|
|
||||||
icon: 'mdi:fridge'
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: All Ceiling Lights
|
|
||||||
entity: light.living_room_ceiling_all
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: Floor Lamp
|
|
||||||
entity: light.living_room_floor_lamp
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: Ceiling 1 (Couch)
|
|
||||||
entity: light.living_room_ceiling_group_1
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: Ceiling 2 (TV)
|
|
||||||
entity: light.living_room_ceiling_group_2
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: Tile
|
|
||||||
entity: light.living_room_tiles_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: LED Strip
|
|
||||||
entity: light.living_room_strip_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: Christmas Tree
|
|
||||||
entity: light.christmas_tree
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
|
hold_action:
|
||||||
|
action: more-info
|
||||||
|
show_name: false
|
||||||
|
show_icon: true
|
||||||
|
|
||||||
|
# - name: Go to sleep
|
||||||
|
# entity: script.sleep
|
||||||
|
# type: button
|
||||||
|
# tap_action:
|
||||||
|
# action: toggle
|
||||||
|
# icon: mdi:sleep
|
||||||
|
# hold_action:
|
||||||
|
# action: more-info
|
||||||
|
# show_name: true
|
||||||
|
# show_icon: true
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.playstation_4_pro
|
||||||
|
- type: entities
|
||||||
|
entities:
|
||||||
|
- remote.living_room_harmony_hub
|
||||||
|
- select.living_room_harmony_hub_activities
|
||||||
|
@ -1,397 +0,0 @@
|
|||||||
---
|
|
||||||
title: Living Room
|
|
||||||
icon: mdi:sofa
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout: vertical
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
badge_icon: mdi:numeric-1-circle
|
|
||||||
badge_color: green
|
|
||||||
entity: binary_sensor.presence_living_room_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_living_room_front_left_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_living_room_front_left_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_living_room_front_left_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_living_room_front_center_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_living_room_front_center_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_living_room_front_center_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_living_room_front_right_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_living_room_front_right_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_living_room_front_right_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_living_room_side_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_living_room_side_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_living_room_side_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.smoke_living_room_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.smoke_living_room_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.smoke_living_room_01_smoke
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:stack-in-card
|
|
||||||
cards:
|
|
||||||
- type: grid
|
|
||||||
columns: 2
|
|
||||||
square: false
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-entity-card
|
|
||||||
entity: input_boolean.living_room_light_state
|
|
||||||
name: Living Room
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; }"
|
|
||||||
- type: custom:paper-buttons-row
|
|
||||||
preset: mushroom
|
|
||||||
styles:
|
|
||||||
justify-content: flex-end
|
|
||||||
base_config:
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
margin-top: 12px
|
|
||||||
margin-right: 12px
|
|
||||||
buttons:
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.living_room_scenes
|
|
||||||
option: "All"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.living_room_scenes
|
|
||||||
option: "Ceiling Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:floor-lamp-torchiere
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.living_room_scenes
|
|
||||||
option: "Floor Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Floor Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Temperature
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_living_room_01_temperature
|
|
||||||
# name: Temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Humidity
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_living_room_01_humidity
|
|
||||||
# name: Humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Illuminance
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.presence_living_room_light_level
|
|
||||||
# name: Illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.living_room_ceiling_all
|
|
||||||
name: All Ceiling Lings
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.living_room_floor_lamp_01
|
|
||||||
name: Floor Lamp
|
|
||||||
icon: mdi:floor-lamp-torchiere-outline
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.living_room_ceiling_group_1
|
|
||||||
name: 'Ceiling 1 (Couch)'
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.living_room_ceiling_group_2
|
|
||||||
name: 'Ceiling 2 (TV)'
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.living_room_tiles_01
|
|
||||||
name: 'Tile'
|
|
||||||
icon: mdi:star-box-multiple
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.living_room_strip_01
|
|
||||||
name: 'LED Strip'
|
|
||||||
icon: mdi:led-strip-variant
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.christmas_tree
|
|
||||||
name: 'Christmas Tree'
|
|
||||||
icon: mdi:string-lights
|
|
||||||
show_brightness_control: false
|
|
||||||
collapsible_controls: false
|
|
||||||
use_light_color: false
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:webrtc-camera'
|
|
||||||
url: 'rtsp://10.10.11.110:8554/living-room-01'
|
|
||||||
title: 'Living Room 1'
|
|
||||||
muted: true
|
|
||||||
mode: webrtc,mse
|
|
||||||
- type: 'custom:webrtc-camera'
|
|
||||||
url: 'rtsp://10.10.11.110:8554/living-room-02'
|
|
||||||
title: 'Living Room 2'
|
|
||||||
muted: true
|
|
||||||
mode: webrtc,mse
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
# - type: entities
|
|
||||||
# title: Lights
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - entity: timer.app_lighting_kitchen
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_kitchen
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_living_room
|
|
||||||
- type: custom:button-card
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_living_room
|
|
||||||
state:
|
|
||||||
- value: 'on'
|
|
||||||
icon: mdi:hand-front-right
|
|
||||||
color: orange
|
|
||||||
- value: 'off'
|
|
||||||
icon: mdi:brightness-auto
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_living_room
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.pioneer_vsx_lx505_f5bae6
|
|
||||||
artwork: cover
|
|
||||||
# - type: custom:mini-media-player
|
|
||||||
# entity: media_player.living_room_pair
|
|
||||||
# artwork: cover
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.living_room_speaker
|
|
||||||
artwork: cover
|
|
||||||
# - type: custom:mini-media-player
|
|
||||||
# entity: media_player.living_room_max_1
|
|
||||||
# artwork: cover
|
|
||||||
# - type: custom:mini-media-player
|
|
||||||
# entity: media_player.living_room_max_2
|
|
||||||
# artwork: cover
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.living_room_1
|
|
||||||
artwork: cover
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.nvidia_shield_tv_living_room
|
|
||||||
artwork: cover
|
|
||||||
- type: media-control
|
|
||||||
entity: media_player.onkyo_receiver
|
|
||||||
- type: conditional
|
|
||||||
conditions:
|
|
||||||
- condition: state
|
|
||||||
entity: media_player.onkyo_receiver
|
|
||||||
state: "on"
|
|
||||||
card:
|
|
||||||
type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- name: Nvidia ShieldTV
|
|
||||||
entity: script.receiver_switch_to_shield_tv
|
|
||||||
type: button
|
|
||||||
icon: mdi:youtube-tv
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
color: "{% if state_attr('media_player.onkyo_receiver', 'source') == 'Nvidia Shield TV' -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
color_type: icon
|
|
||||||
- name: PS4
|
|
||||||
entity: script.receiver_switch_to_playstation
|
|
||||||
type: button
|
|
||||||
icon: mdi:sony-playstation
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
- name: Win11
|
|
||||||
entity: script.receiver_switch_to_windows
|
|
||||||
type: button
|
|
||||||
icon: mdi:microsoft-windows
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: false
|
|
||||||
- name: Cameras
|
|
||||||
entity: script.receiver_switch_to_security
|
|
||||||
type: button
|
|
||||||
icon: mdi:camera-wireless
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
- type: conditional
|
|
||||||
conditions:
|
|
||||||
- condition: state
|
|
||||||
entity: media_player.onkyo_receiver
|
|
||||||
state: "on"
|
|
||||||
- condition: state
|
|
||||||
entity: switch.onkyo_source_nvidia_shield_tv
|
|
||||||
state: "on"
|
|
||||||
card:
|
|
||||||
type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- name: youtube
|
|
||||||
entity: switch.android_tv_youtube
|
|
||||||
type: button
|
|
||||||
icon: mdi:youtube
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
- name: Netflix
|
|
||||||
entity: switch.android_tv_netflix
|
|
||||||
type: button
|
|
||||||
icon: mdi:netflix
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
- name: Plex
|
|
||||||
entity: switch.android_tv_plex
|
|
||||||
type: button
|
|
||||||
icon: mdi:plex
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
|
|
||||||
# - name: Go to sleep
|
|
||||||
# entity: script.sleep
|
|
||||||
# type: button
|
|
||||||
# tap_action:
|
|
||||||
# action: toggle
|
|
||||||
# icon: mdi:sleep
|
|
||||||
# hold_action:
|
|
||||||
# action: more-info
|
|
||||||
# show_name: true
|
|
||||||
# show_icon: true
|
|
||||||
- type: media-control
|
|
||||||
entity: media_player.playstation_4_pro
|
|
||||||
- type: entities
|
|
||||||
entities:
|
|
||||||
- remote.living_room_harmony_hub
|
|
||||||
- select.living_room_harmony_hub_activities
|
|
@ -1,382 +1,283 @@
|
|||||||
---
|
---
|
||||||
title: Master Bedroom
|
title: Master Bedroom
|
||||||
icon: 'mdi:bed-king'
|
icon: mdi:bed-king
|
||||||
panel: true
|
panel: true
|
||||||
visible:
|
visible:
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec
|
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a
|
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:layout-card'
|
- type: custom:layout-card
|
||||||
layout_type: 'custom:vertical-layout'
|
layout: vertical
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
chips:
|
chips:
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
||||||
is_state('binary_sensor.presence_bedroom_master_sensor_1',
|
badge_icon: mdi:numeric-1-circle
|
||||||
'on') -%}mdi:account-multiple{%- else
|
|
||||||
-%}mdi:account-off-outline{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.presence_bedroom_master_sensor_1',
|
|
||||||
'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}
|
|
||||||
badge_icon: 'mdi:numeric-1-circle'
|
|
||||||
badge_color: green
|
badge_color: green
|
||||||
entity: binary_sensor.presence_bedroom_master_sensor_1
|
entity: binary_sensor.presence_bedroom_master_sensor_1
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_bedroom_master_left_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_left_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_bedroom_master_left_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_bedroom_master_left_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_bedroom_master_left_01_contact
|
entity: binary_sensor.window_bedroom_master_left_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_bedroom_master_center_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_center_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_bedroom_master_center_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_bedroom_master_center_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_bedroom_master_center_01_contact
|
entity: binary_sensor.window_bedroom_master_center_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_bedroom_master_right_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_right_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_bedroom_master_right_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_bedroom_master_right_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_bedroom_master_right_01_contact
|
entity: binary_sensor.window_bedroom_master_right_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.door_bedroom_master_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
||||||
{% if is_state('binary_sensor.door_bedroom_master_01_contact',
|
icon_color: "{% if is_state('binary_sensor.door_bedroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if is_state('binary_sensor.door_bedroom_master_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.door_bedroom_master_01_contact
|
entity: binary_sensor.door_bedroom_master_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.door_bedroom_master_closet_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.door_bedroom_master_closet_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.door_bedroom_master_closet_01_contact',
|
|
||||||
'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.door_bedroom_master_closet_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.door_bedroom_master_closet_01_contact
|
entity: binary_sensor.door_bedroom_master_closet_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
|
||||||
{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke',
|
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
|
||||||
'on') -%}mdi:smoke-detector-variant-alert{%- else
|
|
||||||
-%}mdi:smoke-detector-variant{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke',
|
|
||||||
'on') -%}#D40909{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.smoke_bedroom_master_01_smoke
|
entity: binary_sensor.smoke_bedroom_master_01_smoke
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: 'custom:bubble-card'
|
- type: custom:stack-in-card
|
||||||
card_type: separator
|
cards:
|
||||||
icon: 'mdi:sofa'
|
- type: grid
|
||||||
sub_button:
|
columns: 2
|
||||||
- name: Temp
|
square: false
|
||||||
icon: 'mdi:thermometer-lines'
|
cards:
|
||||||
entity: sensor.climate_bedroom_master_01_temperature
|
- type: custom:mushroom-entity-card
|
||||||
show_name: false
|
entity: input_boolean.bedroom_master_light_state
|
||||||
show_icon: true
|
name: Master Bedroom
|
||||||
show_state: true
|
icon: mdi:lightbulb-group
|
||||||
show_background: false
|
tap_action:
|
||||||
show_attribute: false
|
action: toggle
|
||||||
- name: Humidity
|
card_mod:
|
||||||
icon: 'mdi:water-percent'
|
style: "ha-card { border: none; }"
|
||||||
entity: sensor.climate_bedroom_master_01_humidity
|
- type: custom:paper-buttons-row
|
||||||
show_name: false
|
preset: mushroom
|
||||||
show_icon: true
|
styles:
|
||||||
show_state: true
|
justify-content: flex-end
|
||||||
show_background: false
|
base_config:
|
||||||
show_attribute: false
|
styles:
|
||||||
- name: Light Level
|
button:
|
||||||
icon: 'mdi:weather-sunny'
|
margin-top: 12px
|
||||||
entity: sensor.presence_bedroom_master_light_level
|
margin-right: 12px
|
||||||
show_name: false
|
buttons:
|
||||||
show_icon: true
|
- layout: icon
|
||||||
show_state: true
|
icon: mdi:lightbulb-group
|
||||||
show_background: false
|
tap_action:
|
||||||
show_attribute: false
|
action: call-service
|
||||||
- name: PM2.5
|
service: input_select.select_option
|
||||||
icon: 'mdi:blur'
|
service_data:
|
||||||
entity: sensor.climate_bedroom_master_02_pm25
|
entity_id: input_select.bedroom_master_scenes
|
||||||
show_name: false
|
option: "All"
|
||||||
show_icon: true
|
styles:
|
||||||
show_state: true
|
button:
|
||||||
show_background: false
|
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
show_attribute: false
|
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
styles: |
|
- layout: icon
|
||||||
.bubble-feedback-container {
|
icon: mdi:ceiling-light-multiple
|
||||||
margin: 0px;
|
tap_action:
|
||||||
}
|
action: call-service
|
||||||
- type: vertical-stack
|
service: input_select.select_option
|
||||||
cards:
|
service_data:
|
||||||
- type: 'custom:bubble-card'
|
entity_id: input_select.bedroom_master_scenes
|
||||||
card_type: button
|
option: "Ceiling Only"
|
||||||
button_type: switch
|
styles:
|
||||||
name: Occupancy
|
button:
|
||||||
entity: input_boolean.occupancy_bedroom_master
|
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
icon: 'mdi:account-multiple'
|
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
show_state: false
|
- layout: icon
|
||||||
show_background: false
|
icon: mdi:floor-lamp-torchiere
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: call-service
|
||||||
button_action:
|
service: input_select.select_option
|
||||||
tap_action:
|
service_data:
|
||||||
action: more-info
|
entity_id: input_select.bedroom_master_scenes
|
||||||
sub_button:
|
option: "Floor Only"
|
||||||
- entity: sensor.bedroom_master_person_count
|
styles:
|
||||||
icon: 'mdi:account-group'
|
button:
|
||||||
show_state: false
|
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
show_background: true
|
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Floor Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
- entity: sensor.bedroom_master_cat_count
|
- layout: icon
|
||||||
icon: 'mdi:cat'
|
icon: mdi:bed-queen-outline
|
||||||
show_state: false
|
tap_action:
|
||||||
show_background: true
|
action: call-service
|
||||||
- icon: 'mdi:brightness-auto'
|
service: light.toggle
|
||||||
entity: input_boolean.manually_operated_light_bedroom_master
|
service_data:
|
||||||
show_state: false
|
entity_id: light.bedroom_master_bed_01
|
||||||
show_background: true
|
styles:
|
||||||
tap_action:
|
button:
|
||||||
action: toggle
|
color: "{% if is_state('light.bedroom_master_bed_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
styles: >
|
background-color: "{% if is_state('light.bedroom_master_bed_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
.bubble-button-background {
|
- type: horizontal-stack
|
||||||
opacity: 1 !important;
|
cards:
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
- type: custom:mini-graph-card
|
||||||
}
|
# name: Temperature
|
||||||
.bubble-sub-button-1 {
|
line_color: orange
|
||||||
background-color: white !important;
|
font_size: 75
|
||||||
}
|
font_size_header: 12
|
||||||
.bubble-sub-button-1 > ha-icon {
|
entities:
|
||||||
color: ${ hass.states['sensor.bedroom_master_person_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
- entity: sensor.climate_bedroom_master_01_temperature
|
||||||
}
|
# name: Temperature
|
||||||
.bubble-sub-button-2 {
|
hours_to_show: 24
|
||||||
background-color: white !important;
|
points_per_hour: 4
|
||||||
}
|
align_icon: state
|
||||||
.bubble-sub-button-2 > ha-icon {
|
align_state: left
|
||||||
color: ${ hass.states['sensor.bedroom_master_cat_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
show:
|
||||||
}
|
name: false
|
||||||
.bubble-sub-button-3 {
|
- type: custom:mini-graph-card
|
||||||
background-color: white !important;
|
# name: Humidity
|
||||||
} ${subButtonIcon[2].setAttribute("icon", hass.states['input_boolean.manually_operated_light_bedroom_master'].state === 'on' ? 'mdi:hand-front-right' : 'mdi:brightness-auto')}
|
line_color: blue
|
||||||
- type: 'custom:bubble-card'
|
font_size: 75
|
||||||
card_type: button
|
font_size_header: 12
|
||||||
button_type: switch
|
entities:
|
||||||
name: Light
|
- entity: sensor.climate_bedroom_master_01_humidity
|
||||||
entity: input_boolean.bedroom_master_light_state
|
# name: Humidity
|
||||||
icon: 'mdi:lightbulb-group'
|
hours_to_show: 24
|
||||||
show_state: true
|
points_per_hour: 4
|
||||||
show_background: false
|
align_icon: state
|
||||||
tap_action:
|
align_state: left
|
||||||
action: toggle
|
show:
|
||||||
button_action:
|
name: false
|
||||||
tap_action:
|
- type: custom:mini-graph-card
|
||||||
action: navigate
|
# name: Illuminance
|
||||||
navigation_path: '#popup-bedroom-master-light'
|
line_color: red
|
||||||
sub_button:
|
font_size: 75
|
||||||
- icon: 'mdi:lightbulb-group'
|
font_size_header: 12
|
||||||
entity: scene.bedroom_master_all
|
entities:
|
||||||
show_state: false
|
- entity: sensor.presence_bedroom_master_light_level
|
||||||
show_background: true
|
# name: Illuminance
|
||||||
tap_action:
|
hours_to_show: 24
|
||||||
action: call-service
|
points_per_hour: 4
|
||||||
service: input_select.select_option
|
align_icon: state
|
||||||
service_data:
|
align_state: left
|
||||||
entity_id: input_select.bedroom_master_scenes
|
show:
|
||||||
option: All
|
name: false
|
||||||
- icon: 'mdi:ceiling-light-multiple'
|
- type: custom:mini-graph-card
|
||||||
entity: scene.bedroom_master_ceiling_only
|
name: Ppm25
|
||||||
show_state: false
|
line_color: green
|
||||||
show_background: true
|
font_size: 75
|
||||||
tap_action:
|
font_size_header: 12
|
||||||
action: call-service
|
entities:
|
||||||
service: input_select.select_option
|
- entity: sensor.climate_bedroom_master_02_pm25
|
||||||
service_data:
|
name: Ppm25
|
||||||
entity_id: input_select.bedroom_master_scenes
|
hours_to_show: 24
|
||||||
option: Ceiling Only
|
points_per_hour: 4
|
||||||
- icon: 'mdi:floor-lamp-torchiere'
|
align_icon: state
|
||||||
entity: scene.bedroom_master_floor_only
|
align_state: left
|
||||||
show_state: false
|
show:
|
||||||
show_background: true
|
name: false
|
||||||
tap_action:
|
- type: horizontal-stack
|
||||||
action: call-service
|
cards:
|
||||||
service: input_select.select_option
|
- type: custom:mushroom-light-card
|
||||||
service_data:
|
entity: light.bedroom_master_floor_all
|
||||||
entity_id: input_select.bedroom_master_scenes
|
name: Bed Lights
|
||||||
option: Floor Only
|
icon: mdi:lamps
|
||||||
- icon: 'mdi:bed-king-outline'
|
show_brightness_control: true
|
||||||
|
collapsible_controls: true
|
||||||
|
use_light_color: true
|
||||||
|
- type: custom:mushroom-light-card
|
||||||
|
entity: light.bedroom_master_ceiling_all
|
||||||
|
name: Ceiling Lights
|
||||||
|
icon: mdi:dome-light
|
||||||
|
show_brightness_control: true
|
||||||
|
collapsible_controls: true
|
||||||
|
use_light_color: true
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: custom:mushroom-light-card
|
||||||
|
entity: light.bedroom_master_floor_lamp_02
|
||||||
|
name: "Tanya's Bed Light"
|
||||||
|
icon: mdi:ceiling-light-multiple
|
||||||
|
show_brightness_control: true
|
||||||
|
collapsible_controls: true
|
||||||
|
use_light_color: true
|
||||||
|
- type: custom:mushroom-light-card
|
||||||
|
entity: light.bedroom_master_floor_lamp_01
|
||||||
|
name: "Alex's Bed Light"
|
||||||
|
icon: mdi:ceiling-light-multiple
|
||||||
|
show_brightness_control: true
|
||||||
|
collapsible_controls: true
|
||||||
|
use_light_color: true
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: custom:mushroom-light-card
|
||||||
entity: light.bedroom_master_bed_01
|
entity: light.bedroom_master_bed_01
|
||||||
show_state: false
|
name: 'Bed Light'
|
||||||
show_background: true
|
icon: mdi:led-strip-variant
|
||||||
tap_action:
|
show_brightness_control: true
|
||||||
action: call-service
|
collapsible_controls: true
|
||||||
service: light.toggle
|
use_light_color: true
|
||||||
service_data:
|
- type: custom:layout-break
|
||||||
entity_id: light.bedroom_master_bed_01
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.bedroom_master_scenes'].state === 'All' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.bedroom_master_scenes'].state === 'Ceiling Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.bedroom_master_scenes'].state === 'Floor Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 > ha-icon {
|
|
||||||
color: ${hass.states['light.bedroom_master_bed_01'].state === 'on' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
- type: 'custom:layout-break'
|
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:webrtc-camera'
|
- type: 'custom:webrtc-camera'
|
||||||
url: 'rtsp://10.10.11.110:8554/bedroom-master'
|
url: 'rtsp://10.10.11.110:8554/bedroom-master'
|
||||||
title: Master Bedroom
|
title: 'Master Bedroom'
|
||||||
muted: true
|
muted: true
|
||||||
mode: 'webrtc,mse'
|
mode: webrtc,mse
|
||||||
- type: 'custom:layout-break'
|
- type: custom:mushroom-chips-card
|
||||||
|
chips:
|
||||||
|
- type: entity
|
||||||
|
entity:
|
||||||
|
- type: entity
|
||||||
|
entity:
|
||||||
|
- type: entity
|
||||||
|
entity:
|
||||||
|
- type: custom:layout-break
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mini-media-player'
|
# - type: entities
|
||||||
|
# title: Lights
|
||||||
|
# show_header_toggle: false
|
||||||
|
# entities:
|
||||||
|
# - entity: timer.app_lighting_bedroom_master
|
||||||
|
# - type: custom:flipdown-timer-card
|
||||||
|
# entity: timer.app_lighting_bedroom_master
|
||||||
|
# show_hour: false
|
||||||
|
# show_title: false
|
||||||
|
# show_header: false
|
||||||
|
# duration: "00:01:00"
|
||||||
|
# styles:
|
||||||
|
# rotor:
|
||||||
|
# width: 60px
|
||||||
|
# height: 80px
|
||||||
|
# button:
|
||||||
|
# width: 60px
|
||||||
|
# location: bottom
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: button
|
||||||
|
name: Occupancy
|
||||||
|
entity: input_boolean.occupancy_bedroom_master
|
||||||
|
- type: button
|
||||||
|
name: Operating Mode
|
||||||
|
entity: input_boolean.manually_operated_light_bedroom_master
|
||||||
|
- type: button
|
||||||
|
name: Occupants
|
||||||
|
entity: input_number.occupants_bedroom_master
|
||||||
|
- type: custom:mini-media-player
|
||||||
entity: media_player.master_bedroom_display
|
entity: media_player.master_bedroom_display
|
||||||
artwork: cover
|
artwork: cover
|
||||||
- type: 'custom:mini-media-player'
|
- type: custom:mini-media-player
|
||||||
entity: media_player.master_bedroom_pair
|
entity: media_player.master_bedroom_pair
|
||||||
artwork: cover
|
artwork: cover
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: media-player
|
|
||||||
entity: media_player.master_bedroom_display
|
|
||||||
grid_options:
|
|
||||||
rows: 2
|
|
||||||
columns: 12
|
|
||||||
scrolling_effect: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: false
|
|
||||||
show_attribute: false
|
|
||||||
hide:
|
|
||||||
play_pause_button: false
|
|
||||||
power_button: true
|
|
||||||
next_button: false
|
|
||||||
previous_button: false
|
|
||||||
volume_button: false
|
|
||||||
card_layout: large
|
|
||||||
cover_background: true
|
|
||||||
sub_button: []
|
|
||||||
name: Master Bedroom Nest
|
|
||||||
force_icon: false
|
|
||||||
show_name: true
|
|
||||||
show_last_changed: false
|
|
||||||
double_tap_action:
|
|
||||||
action: none
|
|
||||||
hold_action:
|
|
||||||
action: none
|
|
||||||
styles: |
|
|
||||||
ha-card div.bubble-media-player-container {
|
|
||||||
height: 119px !important;
|
|
||||||
}
|
|
||||||
ha-card div.bubble-cover-background {
|
|
||||||
filter: blur(3px);
|
|
||||||
opacity: 0.4;
|
|
||||||
}
|
|
||||||
ha-card div.bubble-media-player {
|
|
||||||
bottom: 30px;
|
|
||||||
}
|
|
||||||
ha-card div.bubble-media-info-container {
|
|
||||||
display: inline;
|
|
||||||
position: absolute;
|
|
||||||
top: 95px;
|
|
||||||
left: 16px
|
|
||||||
}
|
|
||||||
ha-card div.bubble-name-container {
|
|
||||||
display: inline !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
ha-icon.bubble-play-pause-button {
|
|
||||||
position: absolute;
|
|
||||||
bottom: -22px;
|
|
||||||
right: 8px;
|
|
||||||
}
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-bedroom-master-light'
|
|
||||||
name: Master Bedroom
|
|
||||||
icon: 'mdi:bed-king'
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #1'
|
|
||||||
entity: light.bedroom_master_ceiling_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #2'
|
|
||||||
entity: light.bedroom_master_ceiling_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Floor #1'
|
|
||||||
entity: light.bedroom_master_floor_lamp_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Floor #2'
|
|
||||||
entity: light.bedroom_master_floor_lamp_02
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
|
@ -1,283 +0,0 @@
|
|||||||
---
|
|
||||||
title: Master Bedroom
|
|
||||||
icon: mdi:bed-king
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout: vertical
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
badge_icon: mdi:numeric-1-circle
|
|
||||||
badge_color: green
|
|
||||||
entity: binary_sensor.presence_bedroom_master_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_bedroom_master_left_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_left_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_bedroom_master_left_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_bedroom_master_center_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_center_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_bedroom_master_center_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_bedroom_master_right_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_right_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_bedroom_master_right_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bedroom_master_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bedroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bedroom_master_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bedroom_master_closet_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bedroom_master_closet_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bedroom_master_closet_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.smoke_bedroom_master_01_smoke
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:stack-in-card
|
|
||||||
cards:
|
|
||||||
- type: grid
|
|
||||||
columns: 2
|
|
||||||
square: false
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-entity-card
|
|
||||||
entity: input_boolean.bedroom_master_light_state
|
|
||||||
name: Master Bedroom
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; }"
|
|
||||||
- type: custom:paper-buttons-row
|
|
||||||
preset: mushroom
|
|
||||||
styles:
|
|
||||||
justify-content: flex-end
|
|
||||||
base_config:
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
margin-top: 12px
|
|
||||||
margin-right: 12px
|
|
||||||
buttons:
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_master_scenes
|
|
||||||
option: "All"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_master_scenes
|
|
||||||
option: "Ceiling Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:floor-lamp-torchiere
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_master_scenes
|
|
||||||
option: "Floor Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Floor Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:bed-queen-outline
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: light.toggle
|
|
||||||
service_data:
|
|
||||||
entity_id: light.bedroom_master_bed_01
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('light.bedroom_master_bed_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('light.bedroom_master_bed_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Temperature
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bedroom_master_01_temperature
|
|
||||||
# name: Temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Humidity
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bedroom_master_01_humidity
|
|
||||||
# name: Humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Illuminance
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.presence_bedroom_master_light_level
|
|
||||||
# name: Illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
name: Ppm25
|
|
||||||
line_color: green
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bedroom_master_02_pm25
|
|
||||||
name: Ppm25
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_master_floor_all
|
|
||||||
name: Bed Lights
|
|
||||||
icon: mdi:lamps
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_master_ceiling_all
|
|
||||||
name: Ceiling Lights
|
|
||||||
icon: mdi:dome-light
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_master_floor_lamp_02
|
|
||||||
name: "Tanya's Bed Light"
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_master_floor_lamp_01
|
|
||||||
name: "Alex's Bed Light"
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_master_bed_01
|
|
||||||
name: 'Bed Light'
|
|
||||||
icon: mdi:led-strip-variant
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:webrtc-camera'
|
|
||||||
url: 'rtsp://10.10.11.110:8554/bedroom-master'
|
|
||||||
title: 'Master Bedroom'
|
|
||||||
muted: true
|
|
||||||
mode: webrtc,mse
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: entity
|
|
||||||
entity:
|
|
||||||
- type: entity
|
|
||||||
entity:
|
|
||||||
- type: entity
|
|
||||||
entity:
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
# - type: entities
|
|
||||||
# title: Lights
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - entity: timer.app_lighting_bedroom_master
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_bedroom_master
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_bedroom_master
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_bedroom_master
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_bedroom_master
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.master_bedroom_display
|
|
||||||
artwork: cover
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.master_bedroom_pair
|
|
||||||
artwork: cover
|
|
@ -1,14 +1,13 @@
|
|||||||
|
---
|
||||||
title: "Maxim's Bedroom"
|
title: "Maxim's Bedroom"
|
||||||
icon: 'mdi:bed'
|
icon: mdi:bed
|
||||||
panel: true
|
panel: true
|
||||||
visible:
|
visible:
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec
|
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a
|
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:layout-card'
|
- type: custom:layout-card
|
||||||
layout_type: 'custom:vertical-layout'
|
layout: vertical
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
@ -57,238 +56,265 @@ cards:
|
|||||||
icon_color: "{% if is_state('fan.bedroom_max', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
icon_color: "{% if is_state('fan.bedroom_max', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- type: 'custom:bubble-card'
|
- type: custom:stack-in-card
|
||||||
card_type: separator
|
cards:
|
||||||
icon: 'mdi:bed'
|
- type: grid
|
||||||
sub_button:
|
columns: 2
|
||||||
- name: Temp
|
square: false
|
||||||
icon: 'mdi:thermometer-lines'
|
cards:
|
||||||
entity: sensor.climate_bedroom_max_01_temperature
|
- type: custom:mushroom-entity-card
|
||||||
show_name: false
|
entity: input_boolean.bedroom_max_light_state
|
||||||
show_icon: true
|
name: Max Bedroom
|
||||||
show_state: true
|
icon: mdi:lightbulb-group
|
||||||
show_background: false
|
tap_action:
|
||||||
show_attribute: false
|
action: toggle
|
||||||
- name: Humidity
|
card_mod:
|
||||||
icon: 'mdi:water-percent'
|
style: "ha-card { border: none; }"
|
||||||
entity: sensor.climate_bedroom_max_01_humidity
|
- type: custom:paper-buttons-row
|
||||||
show_name: false
|
preset: mushroom
|
||||||
show_icon: true
|
styles:
|
||||||
show_state: true
|
justify-content: flex-end
|
||||||
show_background: false
|
base_config:
|
||||||
show_attribute: false
|
styles:
|
||||||
- name: Light Level
|
button:
|
||||||
icon: 'mdi:weather-sunny'
|
margin-top: 12px
|
||||||
entity: sensor.presence_bedroom_maxim_light_level
|
margin-right: 12px
|
||||||
show_name: false
|
buttons:
|
||||||
show_icon: true
|
- layout: icon
|
||||||
show_state: true
|
icon: mdi:lightbulb-group
|
||||||
show_background: false
|
tap_action:
|
||||||
show_attribute: false
|
action: call-service
|
||||||
styles: |
|
service: input_select.select_option
|
||||||
.bubble-feedback-container {
|
service_data:
|
||||||
margin: 0px;
|
entity_id: input_select.bedroom_max_scenes
|
||||||
}
|
option: "All"
|
||||||
- type: vertical-stack
|
styles:
|
||||||
cards:
|
button:
|
||||||
- type: 'custom:bubble-card'
|
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
card_type: button
|
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
button_type: switch
|
- layout: icon
|
||||||
name: Occupancy
|
icon: mdi:ceiling-light-multiple
|
||||||
entity: input_boolean.occupancy_bedroom_max
|
tap_action:
|
||||||
icon: 'mdi:account-multiple'
|
action: call-service
|
||||||
show_state: false
|
service: input_select.select_option
|
||||||
show_background: false
|
service_data:
|
||||||
tap_action:
|
entity_id: input_select.bedroom_max_scenes
|
||||||
action: toggle
|
option: "Ceiling Only"
|
||||||
button_action:
|
styles:
|
||||||
tap_action:
|
button:
|
||||||
action: more-info
|
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
sub_button:
|
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
- entity: sensor.bedroom_max_person_count
|
- layout: icon
|
||||||
icon: 'mdi:account-group'
|
icon: mdi:floor-lamp-torchiere
|
||||||
show_state: false
|
tap_action:
|
||||||
show_background: true
|
action: call-service
|
||||||
- entity: sensor.bedroom_max_cat_count
|
service: input_select.select_option
|
||||||
icon: 'mdi:cat'
|
service_data:
|
||||||
show_state: false
|
entity_id: input_select.bedroom_max_scenes
|
||||||
show_background: true
|
option: "Table Only"
|
||||||
- icon: 'mdi:brightness-auto'
|
styles:
|
||||||
entity: input_boolean.manually_operated_light_bedroom_max
|
button:
|
||||||
show_state: false
|
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
show_background: true
|
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
tap_action:
|
- layout: icon
|
||||||
action: toggle
|
icon: mdi:bed-queen-outline
|
||||||
styles: >
|
tap_action:
|
||||||
.bubble-button-background {
|
action: call-service
|
||||||
opacity: 1 !important;
|
service: light.toggle
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
service_data:
|
||||||
}
|
entity_id: light.bedroom_maxim_bed_01
|
||||||
.bubble-sub-button-1 {
|
styles:
|
||||||
background-color: white !important;
|
button:
|
||||||
}
|
color: "{% if is_state('light.bedroom_maxim_bed_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
.bubble-sub-button-1 > ha-icon {
|
background-color: "{% if is_state('light.bedroom_maxim_bed_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
||||||
color: ${ hass.states['sensor.bedroom_max_person_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
- type: horizontal-stack
|
||||||
}
|
cards:
|
||||||
.bubble-sub-button-2 {
|
- type: custom:mini-graph-card
|
||||||
background-color: white !important;
|
# name: Temperature
|
||||||
}
|
line_color: orange
|
||||||
.bubble-sub-button-2 > ha-icon {
|
font_size: 75
|
||||||
color: ${ hass.states['sensor.bedroom_max_cat_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
font_size_header: 12
|
||||||
}
|
entities:
|
||||||
.bubble-sub-button-3 {
|
- entity: sensor.climate_bedroom_max_01_temperature
|
||||||
background-color: white !important;
|
# name: Temperature
|
||||||
} ${subButtonIcon[2].setAttribute("icon", hass.states['input_boolean.manually_operated_light_bedroom_max'].state === 'on' ? 'mdi:hand-front-right' : 'mdi:brightness-auto')}
|
hours_to_show: 24
|
||||||
|
points_per_hour: 4
|
||||||
- type: 'custom:bubble-card'
|
align_icon: state
|
||||||
card_type: button
|
align_state: left
|
||||||
button_type: switch
|
show:
|
||||||
name: Light
|
name: false
|
||||||
entity: input_boolean.bedroom_max_light_state
|
- type: custom:mini-graph-card
|
||||||
icon: 'mdi:lightbulb-group'
|
# name: Humidity
|
||||||
show_state: true
|
line_color: blue
|
||||||
show_background: false
|
font_size: 75
|
||||||
tap_action:
|
font_size_header: 12
|
||||||
action: toggle
|
entities:
|
||||||
button_action:
|
- entity: sensor.climate_bedroom_max_01_humidity
|
||||||
tap_action:
|
# name: Humidity
|
||||||
action: navigate
|
hours_to_show: 24
|
||||||
navigation_path: '#popup-bedroom-max-light'
|
points_per_hour: 4
|
||||||
sub_button:
|
align_icon: state
|
||||||
- icon: 'mdi:lightbulb-group'
|
align_state: left
|
||||||
entity: scene.bedroom_max_all
|
show:
|
||||||
show_state: false
|
name: false
|
||||||
show_background: true
|
- type: custom:mini-graph-card
|
||||||
tap_action:
|
# name: Illuminance
|
||||||
action: call-service
|
line_color: red
|
||||||
service: input_select.select_option
|
font_size: 75
|
||||||
service_data:
|
font_size_header: 12
|
||||||
entity_id: input_select.bedroom_max_scenes
|
entities:
|
||||||
option: All
|
- entity: sensor.presence_bedroom_maxim_light_level
|
||||||
- icon: 'mdi:ceiling-light-multiple'
|
# name: Illuminance
|
||||||
entity: scene.bedroom_max_ceiling_only
|
hours_to_show: 24
|
||||||
show_state: false
|
points_per_hour: 4
|
||||||
show_background: true
|
align_icon: state
|
||||||
tap_action:
|
align_state: left
|
||||||
action: call-service
|
show:
|
||||||
service: input_select.select_option
|
name: false
|
||||||
service_data:
|
- type: horizontal-stack
|
||||||
entity_id: input_select.bedroom_max_scenes
|
cards:
|
||||||
option: Ceiling Only
|
- type: custom:mushroom-light-card
|
||||||
- icon: 'mdi:floor-lamp-torchiere'
|
entity: light.bedroom_max_ceiling_01
|
||||||
entity: scene.bedroom_max_table_only
|
name: Ceiling Light
|
||||||
show_state: false
|
icon: mdi:ceiling-fan-light
|
||||||
show_background: true
|
show_brightness_control: true
|
||||||
tap_action:
|
collapsible_controls: true
|
||||||
action: call-service
|
use_light_color: true
|
||||||
service: input_select.select_option
|
- type: custom:mushroom-light-card
|
||||||
service_data:
|
entity: light.bedroom_max_table_01
|
||||||
entity_id: input_select.bedroom_max_scenes
|
name: Table Light
|
||||||
option: Floor Only
|
icon: mdi:floor-lamp
|
||||||
styles: |
|
show_brightness_control: true
|
||||||
.bubble-sub-button-1 > ha-icon {
|
collapsible_controls: true
|
||||||
color: ${hass.states['input_select.bedroom_max_scenes'].state === 'All' ? 'rgb(255, 152, 0)' : ''} !important;
|
use_light_color: true
|
||||||
}
|
- type: horizontal-stack
|
||||||
.bubble-sub-button-2 > ha-icon {
|
cards:
|
||||||
color: ${hass.states['input_select.bedroom_max_scenes'].state === 'Ceiling Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
- type: custom:mushroom-light-card
|
||||||
}
|
entity: light.bedroom_maxim_bed_01
|
||||||
.bubble-sub-button-3 > ha-icon {
|
name: 'Bed Light'
|
||||||
color: ${hass.states['input_select.bedroom_max_scenes'].state === 'Table Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
icon: mdi:led-strip-variant
|
||||||
}
|
show_brightness_control: true
|
||||||
- type: 'custom:bubble-card'
|
collapsible_controls: true
|
||||||
card_type: button
|
use_light_color: true
|
||||||
button_type: switch
|
- type: custom:mushroom-fan-card
|
||||||
name: Fan
|
|
||||||
entity: fan.bedroom_maxim
|
entity: fan.bedroom_maxim
|
||||||
icon: 'mdi:fan'
|
name: 'Ceiling Fan'
|
||||||
show_state: true
|
icon_animation: on
|
||||||
show_background: false
|
show_percentage_control: true
|
||||||
tap_action:
|
collapsible_controls: true
|
||||||
action: toggle
|
# - type: custom:stack-in-card
|
||||||
button_action:
|
# cards:
|
||||||
tap_action:
|
# - type: grid
|
||||||
action: more-info
|
# columns: 2
|
||||||
sub_button:
|
# square: false
|
||||||
- icon: 'mdi:fan-speed-1'
|
# cards:
|
||||||
entity: fan.bedroom_maxim
|
# - type: custom:mushroom-entity-card
|
||||||
show_state: false
|
# entity: fan.bedroom_max
|
||||||
show_background: true
|
# name: Fan
|
||||||
tap_action:
|
# icon: mdi:ceiling-fan-light
|
||||||
action: call-service
|
# use_light_color: false
|
||||||
service: fan.set_preset_mode
|
# tap_action:
|
||||||
service_data:
|
# action: toggle
|
||||||
entity_id: fan.bedroom_maxim
|
# card_mod:
|
||||||
option: low
|
# style: "ha-card { border: none }"
|
||||||
- icon: 'mdi:fan-speed-2'
|
# - type: custom:paper-buttons-row
|
||||||
entity: fan.bedroom_maxim
|
# preset: mushroom
|
||||||
show_state: false
|
# styles:
|
||||||
show_background: true
|
# justify-content: flex-end
|
||||||
tap_action:
|
# base_config:
|
||||||
action: call-service
|
# styles:
|
||||||
service: fan.set_preset_mode
|
# button:
|
||||||
service_data:
|
# margin-top: 12px
|
||||||
entity_id: fan.bedroom_maxim
|
# margin-right: 12px
|
||||||
option: medium
|
# buttons:
|
||||||
- icon: 'mdi:fan-speed-3'
|
# - layout: icon
|
||||||
entity: fan.bedroom_maxim
|
# icon: mdi:fan-speed-1
|
||||||
show_state: false
|
# tap_action:
|
||||||
show_background: true
|
# action: call-service
|
||||||
tap_action:
|
# service: fan.set_preset_mode
|
||||||
action: call-service
|
# service_data:
|
||||||
service: fan.set_preset_mode
|
# entity_id: fan.bedroom_max
|
||||||
service_data:
|
# preset_mode: low
|
||||||
entity_id: fan.bedroom_maxim
|
# styles:
|
||||||
option: high
|
# button:
|
||||||
styles: |
|
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'low') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
.bubble-sub-button-1 > ha-icon {
|
# - layout: icon
|
||||||
color: ${hass.states['fan.bedroom_maxim'].attributes.percentage === 33 ? 'rgb(255, 152, 0)' : ''} !important;
|
# icon: mdi:fan-speed-2
|
||||||
}
|
# tap_action:
|
||||||
.bubble-sub-button-2 > ha-icon {
|
# action: call-service
|
||||||
color: ${hass.states['fan.bedroom_maxim'].attributes.percentage === 66 ? 'rgb(255, 152, 0)' : ''} !important;
|
# service: fan.set_preset_mode
|
||||||
}
|
# service_data:
|
||||||
.bubble-sub-button-3 > ha-icon {
|
# entity_id: fan.bedroom_max
|
||||||
color: ${hass.states['fan.bedroom_maxim'].attributes.percentage === 100 ? 'rgb(255, 152, 0)' : ''} !important;
|
# preset_mode: medium
|
||||||
}
|
# styles:
|
||||||
- type: 'custom:layout-break'
|
# button:
|
||||||
|
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'medium') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
|
# - layout: icon
|
||||||
|
# icon: mdi:fan-speed-3
|
||||||
|
# tap_action:
|
||||||
|
# action: call-service
|
||||||
|
# service: fan.set_preset_mode
|
||||||
|
# service_data:
|
||||||
|
# entity_id: fan.bedroom_max
|
||||||
|
# preset_mode: high
|
||||||
|
# styles:
|
||||||
|
# button:
|
||||||
|
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'high') %}#FFC107{% else %}#44739E{% endif %}"
|
||||||
|
# - type: horizontal-stack
|
||||||
|
# cards:
|
||||||
|
# - type: entities
|
||||||
|
# show_header_toggle: false
|
||||||
|
# entities:
|
||||||
|
# - type: custom:mushroom-fan-card
|
||||||
|
# name: Fan
|
||||||
|
# entity: fan.bedroom_max
|
||||||
|
# icon_animation: true
|
||||||
|
# show_percentage_control: false
|
||||||
|
# collapsible_controls: true
|
||||||
|
# - type: custom:fan-mode-button-row
|
||||||
|
# entity: fan.bedroom_max
|
||||||
|
# name: Fan
|
||||||
|
# customTheme: false
|
||||||
|
- type: custom:layout-break
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:webrtc-camera'
|
- type: custom:webrtc-camera
|
||||||
url: 'rtsp://10.10.11.110:8554/bedroom-max'
|
url: "rtsp://10.10.11.110:8554/bedroom-max"
|
||||||
title: Maxim Bedroom
|
title: "Maxim's Bedroom"
|
||||||
muted: true
|
muted: true
|
||||||
mode: 'webrtc,mse'
|
mode: webrtc,mse
|
||||||
- type: 'custom:layout-break'
|
- type: custom:layout-break
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mini-media-player'
|
# - type: entities
|
||||||
|
# title: Lights
|
||||||
|
# show_header_toggle: false
|
||||||
|
# entities:
|
||||||
|
# - entity: timer.app_lighting_bedroom_max
|
||||||
|
# - type: custom:flipdown-timer-card
|
||||||
|
# entity: timer.app_lighting_kitchen
|
||||||
|
# show_hour: false
|
||||||
|
# show_title: false
|
||||||
|
# show_header: false
|
||||||
|
# duration: "00:01:00"
|
||||||
|
# styles:
|
||||||
|
# rotor:
|
||||||
|
# width: 60px
|
||||||
|
# height: 80px
|
||||||
|
# button:
|
||||||
|
# width: 60px
|
||||||
|
# location: bottom
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: button
|
||||||
|
name: Occupancy
|
||||||
|
entity: input_boolean.occupancy_bedroom_max
|
||||||
|
- type: button
|
||||||
|
name: Operating Mode
|
||||||
|
entity: input_boolean.manually_operated_light_bedroom_max
|
||||||
|
- type: button
|
||||||
|
name: Occupants
|
||||||
|
entity: input_number.occupants_bedroom_max
|
||||||
|
- type: custom:mini-media-player
|
||||||
entity: media_player.max_s_bedroom_display
|
entity: media_player.max_s_bedroom_display
|
||||||
artwork: cover
|
artwork: cover
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-bedroom-maxim-light'
|
|
||||||
name: Maxim Bedroom
|
|
||||||
icon: 'mdi:bed-king'
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #1'
|
|
||||||
entity: light.bedroom_maxim_ceiling_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Floor #1'
|
|
||||||
entity: light.bedroom_maxim_floor_lamp_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
|
@ -1,320 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Maxim's Bedroom"
|
|
||||||
icon: mdi:bed
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout: vertical
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.presence_bedroom_maxim_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_maxim_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
badge_icon: mdi:numeric-1-circle
|
|
||||||
badge_color: green
|
|
||||||
entity: binary_sensor.presence_bedroom_maxim_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_bedroom_max_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_bedroom_max_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_bedroom_max_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bedroom_max_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bedroom_max_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bedroom_max_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.smoke_bedroom_maxim_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_maxim_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.smoke_bedroom_maxim_01_smoke
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
alignment: end
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
entity: light.bedroom_guest_ceiling_01
|
|
||||||
icon: mdi:ceiling-light
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
icon_color: "{% if is_state('light.bedroom_max_ceiling_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
- type: template
|
|
||||||
entity: fan.bedroom_max
|
|
||||||
icon: mdi:fan
|
|
||||||
icon_color: "{% if is_state('fan.bedroom_max', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:stack-in-card
|
|
||||||
cards:
|
|
||||||
- type: grid
|
|
||||||
columns: 2
|
|
||||||
square: false
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-entity-card
|
|
||||||
entity: input_boolean.bedroom_max_light_state
|
|
||||||
name: Max Bedroom
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; }"
|
|
||||||
- type: custom:paper-buttons-row
|
|
||||||
preset: mushroom
|
|
||||||
styles:
|
|
||||||
justify-content: flex-end
|
|
||||||
base_config:
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
margin-top: 12px
|
|
||||||
margin-right: 12px
|
|
||||||
buttons:
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_max_scenes
|
|
||||||
option: "All"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_max_scenes
|
|
||||||
option: "Ceiling Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:floor-lamp-torchiere
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_max_scenes
|
|
||||||
option: "Table Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:bed-queen-outline
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: light.toggle
|
|
||||||
service_data:
|
|
||||||
entity_id: light.bedroom_maxim_bed_01
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('light.bedroom_maxim_bed_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('light.bedroom_maxim_bed_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Temperature
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bedroom_max_01_temperature
|
|
||||||
# name: Temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Humidity
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bedroom_max_01_humidity
|
|
||||||
# name: Humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Illuminance
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.presence_bedroom_maxim_light_level
|
|
||||||
# name: Illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_max_ceiling_01
|
|
||||||
name: Ceiling Light
|
|
||||||
icon: mdi:ceiling-fan-light
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_max_table_01
|
|
||||||
name: Table Light
|
|
||||||
icon: mdi:floor-lamp
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_maxim_bed_01
|
|
||||||
name: 'Bed Light'
|
|
||||||
icon: mdi:led-strip-variant
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-fan-card
|
|
||||||
entity: fan.bedroom_maxim
|
|
||||||
name: 'Ceiling Fan'
|
|
||||||
icon_animation: on
|
|
||||||
show_percentage_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
# - type: custom:stack-in-card
|
|
||||||
# cards:
|
|
||||||
# - type: grid
|
|
||||||
# columns: 2
|
|
||||||
# square: false
|
|
||||||
# cards:
|
|
||||||
# - type: custom:mushroom-entity-card
|
|
||||||
# entity: fan.bedroom_max
|
|
||||||
# name: Fan
|
|
||||||
# icon: mdi:ceiling-fan-light
|
|
||||||
# use_light_color: false
|
|
||||||
# tap_action:
|
|
||||||
# action: toggle
|
|
||||||
# card_mod:
|
|
||||||
# style: "ha-card { border: none }"
|
|
||||||
# - type: custom:paper-buttons-row
|
|
||||||
# preset: mushroom
|
|
||||||
# styles:
|
|
||||||
# justify-content: flex-end
|
|
||||||
# base_config:
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# margin-top: 12px
|
|
||||||
# margin-right: 12px
|
|
||||||
# buttons:
|
|
||||||
# - layout: icon
|
|
||||||
# icon: mdi:fan-speed-1
|
|
||||||
# tap_action:
|
|
||||||
# action: call-service
|
|
||||||
# service: fan.set_preset_mode
|
|
||||||
# service_data:
|
|
||||||
# entity_id: fan.bedroom_max
|
|
||||||
# preset_mode: low
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'low') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
# - layout: icon
|
|
||||||
# icon: mdi:fan-speed-2
|
|
||||||
# tap_action:
|
|
||||||
# action: call-service
|
|
||||||
# service: fan.set_preset_mode
|
|
||||||
# service_data:
|
|
||||||
# entity_id: fan.bedroom_max
|
|
||||||
# preset_mode: medium
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'medium') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
# - layout: icon
|
|
||||||
# icon: mdi:fan-speed-3
|
|
||||||
# tap_action:
|
|
||||||
# action: call-service
|
|
||||||
# service: fan.set_preset_mode
|
|
||||||
# service_data:
|
|
||||||
# entity_id: fan.bedroom_max
|
|
||||||
# preset_mode: high
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'high') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
# - type: horizontal-stack
|
|
||||||
# cards:
|
|
||||||
# - type: entities
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - type: custom:mushroom-fan-card
|
|
||||||
# name: Fan
|
|
||||||
# entity: fan.bedroom_max
|
|
||||||
# icon_animation: true
|
|
||||||
# show_percentage_control: false
|
|
||||||
# collapsible_controls: true
|
|
||||||
# - type: custom:fan-mode-button-row
|
|
||||||
# entity: fan.bedroom_max
|
|
||||||
# name: Fan
|
|
||||||
# customTheme: false
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:webrtc-camera
|
|
||||||
url: "rtsp://10.10.11.110:8554/bedroom-max"
|
|
||||||
title: "Maxim's Bedroom"
|
|
||||||
muted: true
|
|
||||||
mode: webrtc,mse
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
# - type: entities
|
|
||||||
# title: Lights
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - entity: timer.app_lighting_bedroom_max
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_kitchen
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_bedroom_max
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_bedroom_max
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_bedroom_max
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.max_s_bedroom_display
|
|
||||||
artwork: cover
|
|
File diff suppressed because it is too large
Load Diff
@ -1,655 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Olivia's Bedroom"
|
|
||||||
icon: mdi:bed
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout: vertical
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.presence_bedroom_olivia_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_bedroom_olivia_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
badge_icon: mdi:numeric-1-circle
|
|
||||||
badge_color: green
|
|
||||||
entity: binary_sensor.presence_bedroom_olivia_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
# - type: template
|
|
||||||
# icon: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
# icon_color: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
# badge_icon: mdi:numeric-1-circle
|
|
||||||
# badge_color: green
|
|
||||||
# - type: template
|
|
||||||
# icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_4', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
|
||||||
# icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_4', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
# entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_4
|
|
||||||
# tap_action:
|
|
||||||
# action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_bedroom_olivia_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_bedroom_olivia_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_bedroom_olivia_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bedroom_olivia_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bedroom_olivia_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bedroom_olivia_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bedroom_olivia_closet_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bedroom_olivia_closet_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bedroom_olivia_closet_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.smoke_bedroom_olivia_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_olivia_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.smoke_bedroom_olivia_01_smoke
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
alignment: end
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
entity: light.bedroom_olivia_ceiling_01
|
|
||||||
icon: mdi:ceiling-light
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
icon_color: "{% if is_state('light.bedroom_olivia_ceiling_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
- type: template
|
|
||||||
entity: fan.bedroom_olivia
|
|
||||||
icon: mdi:fan
|
|
||||||
icon_color: "{% if is_state('fan.bedroom_olivia', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:stack-in-card
|
|
||||||
cards:
|
|
||||||
- type: grid
|
|
||||||
columns: 2
|
|
||||||
square: false
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-entity-card
|
|
||||||
entity: input_boolean.bedroom_olivia_light_state
|
|
||||||
name: Olivia Bedroom
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
card_mod:
|
|
||||||
style: "ha-card { border: none; }"
|
|
||||||
- type: custom:paper-buttons-row
|
|
||||||
preset: mushroom
|
|
||||||
styles:
|
|
||||||
justify-content: flex-end
|
|
||||||
base_config:
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
margin-top: 12px
|
|
||||||
margin-right: 12px
|
|
||||||
buttons:
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_olivia_scenes
|
|
||||||
option: "All"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:ceiling-light-multiple
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_olivia_scenes
|
|
||||||
option: "Ceiling Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- layout: icon
|
|
||||||
icon: mdi:floor-lamp-torchiere
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.bedroom_olivia_scenes
|
|
||||||
option: "Floor Only"
|
|
||||||
styles:
|
|
||||||
button:
|
|
||||||
color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
background-color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Table Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Temperature
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bedroom_olivia_01_temperature
|
|
||||||
# name: Temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Humidity
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bedroom_olivia_01_humidity
|
|
||||||
# name: Humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
# name: Illuminance
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.presence_bedroom_olivia_light_level
|
|
||||||
# name: Illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_olivia_ceiling_01
|
|
||||||
name: Ceiling Light
|
|
||||||
icon: mdi:ceiling-fan-light
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-light-card
|
|
||||||
entity: light.bedroom_olivia_floor_01
|
|
||||||
name: Floor Light
|
|
||||||
icon: mdi:floor-lamp
|
|
||||||
show_brightness_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
use_light_color: true
|
|
||||||
- type: custom:mushroom-fan-card
|
|
||||||
entity: fan.bedroom_maxim
|
|
||||||
name: 'Ceiling Fan'
|
|
||||||
icon_animation: on
|
|
||||||
show_percentage_control: true
|
|
||||||
collapsible_controls: true
|
|
||||||
# - type: custom:stack-in-card
|
|
||||||
# cards:
|
|
||||||
# - type: grid
|
|
||||||
# columns: 2
|
|
||||||
# square: false
|
|
||||||
# cards:
|
|
||||||
# - type: custom:mushroom-entity-card
|
|
||||||
# entity: fan.bedroom_olivia
|
|
||||||
# name: Fan
|
|
||||||
# icon: mdi:ceiling-fan-light
|
|
||||||
# use_light_color: false
|
|
||||||
# tap_action:
|
|
||||||
# action: toggle
|
|
||||||
# card_mod:
|
|
||||||
# style: "ha-card { border: none }"
|
|
||||||
# - type: custom:paper-buttons-row
|
|
||||||
# preset: mushroom
|
|
||||||
# styles:
|
|
||||||
# justify-content: flex-end
|
|
||||||
# base_config:
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# margin-top: 12px
|
|
||||||
# margin-right: 12px
|
|
||||||
# buttons:
|
|
||||||
# - layout: icon
|
|
||||||
# icon: mdi:fan-speed-1
|
|
||||||
# tap_action:
|
|
||||||
# action: call-service
|
|
||||||
# service: fan.set_preset_mode
|
|
||||||
# service_data:
|
|
||||||
# entity_id: fan.bedroom_olivia
|
|
||||||
# preset_mode: low
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# color: "{% if is_state_attr('fan.bedroom_olivia', 'preset_mode', 'low') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
# - layout: icon
|
|
||||||
# icon: mdi:fan-speed-2
|
|
||||||
# tap_action:
|
|
||||||
# action: call-service
|
|
||||||
# service: fan.set_preset_mode
|
|
||||||
# service_data:
|
|
||||||
# entity_id: fan.bedroom_olivia
|
|
||||||
# preset_mode: medium
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# color: "{% if is_state_attr('fan.bedroom_olivia', 'preset_mode', 'medium') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
# - layout: icon
|
|
||||||
# icon: mdi:fan-speed-3
|
|
||||||
# tap_action:
|
|
||||||
# action: call-service
|
|
||||||
# service: fan.set_preset_mode
|
|
||||||
# service_data:
|
|
||||||
# entity_id: fan.bedroom_olivia
|
|
||||||
# preset_mode: high
|
|
||||||
# styles:
|
|
||||||
# button:
|
|
||||||
# color: "{% if is_state_attr('fan.bedroom_olivia', 'preset_mode', 'high') %}#FFC107{% else %}#44739E{% endif %}"
|
|
||||||
# - type: entities
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - type: custom:fan-mode-button-row
|
|
||||||
# entity: fan.bedroom_olivia
|
|
||||||
# name: Fan
|
|
||||||
# customTheme: false
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:webrtc-camera
|
|
||||||
url: "rtsp://10.10.11.110:8554/bedroom-olivia"
|
|
||||||
title: "Olivia's Bedroom"
|
|
||||||
muted: true
|
|
||||||
mode: webrtc,mse
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: entity
|
|
||||||
entity:
|
|
||||||
- type: entity
|
|
||||||
entity:
|
|
||||||
- type: entity
|
|
||||||
entity:
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
# - type: entities
|
|
||||||
# title: Lights
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - entity: timer.app_lighting_bedroom_olivia
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_bedroom_olivia
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_bedroom_olivia
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_bedroom_olivia
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_bedroom_olivia
|
|
||||||
# - type: custom:mini-media-player
|
|
||||||
# entity: media_player.kitchen_max
|
|
||||||
# artwork: cover
|
|
||||||
- type: custom:plotly-graph
|
|
||||||
refresh_interval: 1
|
|
||||||
hours_to_show: current_day
|
|
||||||
config:
|
|
||||||
modeBarButtonsToRemove:
|
|
||||||
- select2d
|
|
||||||
- lasso2d
|
|
||||||
- toImage
|
|
||||||
displaylogo: false
|
|
||||||
layout:
|
|
||||||
height: 240
|
|
||||||
margin:
|
|
||||||
l: 40
|
|
||||||
r: 20
|
|
||||||
t: 20
|
|
||||||
b: 55
|
|
||||||
showlegend: true
|
|
||||||
xaxis:
|
|
||||||
showticklabels: true
|
|
||||||
dtick: 1000
|
|
||||||
visible: true
|
|
||||||
gridcolor: RGBA(200,200,200,0.15)
|
|
||||||
zerolinecolor: RGBA(200,200,200,0.15)
|
|
||||||
type: number
|
|
||||||
fixedrange: true
|
|
||||||
range:
|
|
||||||
- 4000
|
|
||||||
- -4000
|
|
||||||
yaxis:
|
|
||||||
showticklabels: true
|
|
||||||
dtick: 1000
|
|
||||||
visible: true
|
|
||||||
gridcolor: RGBA(200,200,200,0.15)
|
|
||||||
zerolinecolor: RGBA(200,200,200,0.15)
|
|
||||||
scaleanchor: x
|
|
||||||
scaleratio: 1
|
|
||||||
fixedrange: true
|
|
||||||
range:
|
|
||||||
- 7500
|
|
||||||
- 0
|
|
||||||
entities:
|
|
||||||
- entity: ''
|
|
||||||
fn_var1: $ex vars.sensor_id = "d158f4";
|
|
||||||
fn_var2: $ex vars.sensor_name_prefix = "sensor.screek_human_sensor_2a_" + vars.sensor_id + "_";
|
|
||||||
fn_var3: $ex vars.number_name_prefix = "number.screek_human_sensor_2a_" + vars.sensor_id + "_";
|
|
||||||
fn_var4: $ex vars.is_inch_unit = hass.states[vars.sensor_name_prefix + "target1_x"].attributes.unit_of_measurement == "in";
|
|
||||||
# name: sensor_id
|
|
||||||
- entity: ''
|
|
||||||
name: Target1
|
|
||||||
marker:
|
|
||||||
size: 10
|
|
||||||
symbol: star-diamond
|
|
||||||
line:
|
|
||||||
shape: spline
|
|
||||||
width: 5
|
|
||||||
x:
|
|
||||||
- $ex {
|
|
||||||
var x = hass.states[vars.sensor_name_prefix + "target1_x"].state;
|
|
||||||
var y = hass.states[vars.sensor_name_prefix + "target1_y"].state;
|
|
||||||
if (x == 0 && y == 0) { return -9999 };
|
|
||||||
if (vars.is_inch_unit) { x = x * 25.4 };
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
y:
|
|
||||||
- $ex {
|
|
||||||
var x = hass.states[vars.sensor_name_prefix + "target1_x"].state;
|
|
||||||
var y = hass.states[vars.sensor_name_prefix + "target1_y"].state;
|
|
||||||
if (x == 0 && y == 0) { return -9999 };
|
|
||||||
if (vars.is_inch_unit) { y = y * 25.4 };
|
|
||||||
return y;
|
|
||||||
}
|
|
||||||
- entity: ''
|
|
||||||
name: Target2
|
|
||||||
marker:
|
|
||||||
size: 10
|
|
||||||
symbol: star-diamond
|
|
||||||
line:
|
|
||||||
shape: spline
|
|
||||||
width: 5
|
|
||||||
x:
|
|
||||||
- $ex {
|
|
||||||
var x = hass.states[vars.sensor_name_prefix + "target2_x"].state;
|
|
||||||
var y = hass.states[vars.sensor_name_prefix + "target2_y"].state;
|
|
||||||
if (x == 0 && y == 0) { return -9999 };
|
|
||||||
if (vars.is_inch_unit) { x = x * 25.4 };
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
y:
|
|
||||||
- $ex {
|
|
||||||
var x = hass.states[vars.sensor_name_prefix + "target2_x"].state;
|
|
||||||
var y = hass.states[vars.sensor_name_prefix + "target2_y"].state;
|
|
||||||
if (x == 0 && y == 0) { return -9999 };
|
|
||||||
if (vars.is_inch_unit) { y = y * 25.4 };
|
|
||||||
return y;
|
|
||||||
}
|
|
||||||
- entity: ''
|
|
||||||
internal: false
|
|
||||||
name: Target3
|
|
||||||
marker:
|
|
||||||
size: 10
|
|
||||||
symbol: star-diamond
|
|
||||||
line:
|
|
||||||
shape: spline
|
|
||||||
width: 5
|
|
||||||
x:
|
|
||||||
- $ex {
|
|
||||||
var x = hass.states[vars.sensor_name_prefix + "target3_x"].state;
|
|
||||||
var y = hass.states[vars.sensor_name_prefix + "target3_y"].state;
|
|
||||||
if (x == 0 && y == 0) { return -9999 };
|
|
||||||
if (vars.is_inch_unit) { x = x * 25.4 };
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
y:
|
|
||||||
- $ex {
|
|
||||||
var x = hass.states[vars.sensor_name_prefix + "target3_x"].state;
|
|
||||||
var y = hass.states[vars.sensor_name_prefix + "target3_y"].state;
|
|
||||||
if (x == 0 && y == 0) { return -9999 };
|
|
||||||
if (vars.is_inch_unit) { y = y * 25.4 };
|
|
||||||
return y;
|
|
||||||
}
|
|
||||||
|
|
||||||
- entity: ''
|
|
||||||
name: Zone1
|
|
||||||
mode: lines
|
|
||||||
fill: toself
|
|
||||||
fillcolor: RGBA(20,200,0,0.06)
|
|
||||||
line:
|
|
||||||
color: RGBA(20,200,0,0.2)
|
|
||||||
shape: line
|
|
||||||
width: 2
|
|
||||||
x:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_x_begin"].state
|
|
||||||
y:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone1_y_begin"].state
|
|
||||||
- entity: ''
|
|
||||||
name: Zone2
|
|
||||||
mode: lines
|
|
||||||
fill: toself
|
|
||||||
fillcolor: RGBA(200,0,255,0.06)
|
|
||||||
line:
|
|
||||||
color: RGBA(200,0,255,0.2)
|
|
||||||
shape: line
|
|
||||||
width: 2
|
|
||||||
x:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_x_begin"].state
|
|
||||||
y:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone2_y_begin"].state
|
|
||||||
- entity: ''
|
|
||||||
name: Zone3
|
|
||||||
mode: lines
|
|
||||||
fill: toself
|
|
||||||
fillcolor: RGBA(200,120,55,0.06)
|
|
||||||
line:
|
|
||||||
color: RGBA(200,120,55,0.2)
|
|
||||||
shape: line
|
|
||||||
width: 2
|
|
||||||
x:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_x_begin"].state
|
|
||||||
y:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zone3_y_begin"].state
|
|
||||||
- entity: ''
|
|
||||||
name: ExZone
|
|
||||||
mode: lines
|
|
||||||
fill: toself
|
|
||||||
fillcolor: RGBA(255,0,0,0.15)
|
|
||||||
line:
|
|
||||||
shape: line
|
|
||||||
width: 1
|
|
||||||
color: RGBA(255,0,0,0.2)
|
|
||||||
x:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_x_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_x_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_x_begin"].state
|
|
||||||
y:
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_y_end"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_y_begin"].state
|
|
||||||
- >-
|
|
||||||
$ex
|
|
||||||
hass.states[vars.number_name_prefix + "zout1_y_begin"].state
|
|
||||||
- entity: ''
|
|
||||||
name: Coverage
|
|
||||||
mode: lines
|
|
||||||
fill: tonexty
|
|
||||||
fillcolor: rgba(168, 216, 234, 0.15)
|
|
||||||
hoverinfo: none
|
|
||||||
line:
|
|
||||||
shape: line
|
|
||||||
width: 0.7
|
|
||||||
dash: dot
|
|
||||||
x:
|
|
||||||
- 0
|
|
||||||
- $ex 7500 * Math.sin((2 * Math.PI)/360 * 60)
|
|
||||||
- 6500
|
|
||||||
- 5500
|
|
||||||
- 4500
|
|
||||||
- 4000
|
|
||||||
- 3000
|
|
||||||
- 2000
|
|
||||||
- 1000
|
|
||||||
- 0
|
|
||||||
- -1000
|
|
||||||
- -2000
|
|
||||||
- -3000
|
|
||||||
- -4000
|
|
||||||
- -4500
|
|
||||||
- -5500
|
|
||||||
- -6500
|
|
||||||
- $ex -7500 * Math.sin((2 * Math.PI)/360 * 60)
|
|
||||||
- 0
|
|
||||||
'y':
|
|
||||||
- 0
|
|
||||||
- $ex 7500 * Math.cos((2 * Math.PI)/360 * 60)
|
|
||||||
- $ex Math.sqrt( 7500**2 - 6500**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 5500**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 4500**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 4000**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 3000**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 2000**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 1000**2 )
|
|
||||||
- 7500
|
|
||||||
- $ex Math.sqrt( 7500**2 - 1000**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 2000**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 3000**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 4000**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 4500**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 5500**2 )
|
|
||||||
- $ex Math.sqrt( 7500**2 - 6500**2 )
|
|
||||||
- $ex 7500 * Math.cos((2 * Math.PI)/360 * 60)
|
|
||||||
- 0
|
|
||||||
raw_plotly_config: true
|
|
||||||
|
|
||||||
title: $ex "Human Sensor 2A " + vars.sensor_id + " Map"
|
|
@ -1,138 +1,138 @@
|
|||||||
---
|
---
|
||||||
title: Bathrooms
|
title: Bathrooms
|
||||||
icon: 'mdi:shower'
|
icon: mdi:shower
|
||||||
panel: true
|
panel: true
|
||||||
visible:
|
visible:
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec
|
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a
|
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:layout-card'
|
- type: custom:layout-card
|
||||||
layout_type: 'custom:vertical-layout'
|
layout: vertical
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: horizontal-stack
|
- type: horizontal-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
chips:
|
chips:
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.presence_03_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
||||||
{% if is_state('binary_sensor.presence_03_presence', 'on')
|
icon_color: "{% if is_state('binary_sensor.presence_03_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
||||||
-%}mdi:account-multiple{%- else
|
badge_icon: mdi:numeric-1-circle
|
||||||
-%}mdi:account-off-outline{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if is_state('binary_sensor.presence_03_presence', 'on')
|
|
||||||
-%} #FFC107 {%- else -%} #44739E {%- endif %}
|
|
||||||
badge_icon: 'mdi:numeric-1-circle'
|
|
||||||
badge_color: green
|
badge_color: green
|
||||||
entity: binary_sensor.presence_03_presence
|
entity: binary_sensor.presence_03_presence
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.bathroom_master_01_home_security_motion_detection', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.bathroom_master_01_home_security_motion_detection', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.bathroom_master_01_home_security_motion_detection',
|
entity: binary_sensor.bathroom_master_01_home_security_motion_detection
|
||||||
'on') -%}mdi:motion-sensor{%- else
|
|
||||||
-%}mdi:motion-sensor-off{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.bathroom_master_01_home_security_motion_detection',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: >-
|
|
||||||
binary_sensor.bathroom_master_01_home_security_motion_detection
|
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_bathroom_master_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_bathroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_bathroom_master_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%-
|
|
||||||
endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_bathroom_master_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_bathroom_master_01_contact
|
entity: binary_sensor.window_bathroom_master_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.door_bathroom_master_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.door_bathroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.door_bathroom_master_01_contact',
|
|
||||||
'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.door_bathroom_master_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.door_bathroom_master_01_contact
|
entity: binary_sensor.door_bathroom_master_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
alignment: end
|
alignment: end
|
||||||
chips:
|
chips:
|
||||||
- type: template
|
- type: template
|
||||||
icon: 'mdi:ceiling-light'
|
icon: mdi:ceiling-light
|
||||||
icon_color: >-
|
icon_color: "{% if is_state('light.bathroom_master_wall_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
{% if is_state('light.bathroom_master_wall_01', 'on')
|
|
||||||
-%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: light.bathroom_master_wall_01
|
entity: light.bathroom_master_wall_01
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- type: template
|
- type: template
|
||||||
icon: 'mdi:fan'
|
icon: mdi:fan
|
||||||
icon_color: >-
|
icon_color: "{% if is_state('fan.bathroom_master', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
{% if is_state('fan.bathroom_master', 'on') -%}#FFC107{%-
|
|
||||||
else -%}#44739E{%- endif %}
|
|
||||||
entity: fan.bathroom_master
|
entity: fan.bathroom_master
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- type: 'custom:bubble-card'
|
- type: horizontal-stack
|
||||||
card_type: separator
|
cards:
|
||||||
icon: 'mdi:shower'
|
- type: custom:mini-graph-card
|
||||||
sub_button:
|
line_color: orange
|
||||||
- name: Temp
|
font_size: 75
|
||||||
icon: 'mdi:thermometer-lines'
|
font_size_header: 12
|
||||||
entity: sensor.climate_bathroom_master_01_temperature
|
entities:
|
||||||
show_name: false
|
- entity: sensor.climate_bathroom_master_01_temperature
|
||||||
show_icon: true
|
hours_to_show: 24
|
||||||
show_state: true
|
points_per_hour: 4
|
||||||
show_background: false
|
align_icon: state
|
||||||
show_attribute: false
|
align_state: left
|
||||||
- name: Humidity
|
show:
|
||||||
icon: 'mdi:water-percent'
|
name: false
|
||||||
entity: sensor.climate_bathroom_master_01_humidity
|
- type: custom:mini-graph-card
|
||||||
show_name: false
|
line_color: blue
|
||||||
show_icon: true
|
font_size: 75
|
||||||
show_state: true
|
font_size_header: 12
|
||||||
show_background: false
|
entities:
|
||||||
show_attribute: false
|
- entity: sensor.climate_bathroom_master_01_humidity
|
||||||
- name: Light Level
|
hours_to_show: 24
|
||||||
icon: 'mdi:weather-sunny'
|
points_per_hour: 4
|
||||||
entity: sensor.motion_bathroom_master_01_illuminance
|
align_icon: state
|
||||||
show_name: false
|
align_state: left
|
||||||
show_icon: true
|
show:
|
||||||
show_state: true
|
name: false
|
||||||
show_background: false
|
- type: custom:mini-graph-card
|
||||||
show_attribute: false
|
line_color: red
|
||||||
styles: |
|
font_size: 75
|
||||||
.bubble-feedback-container {
|
font_size_header: 12
|
||||||
margin: 0px;
|
entities:
|
||||||
}
|
- entity: sensor.motion_bathroom_master_01_illuminance
|
||||||
- type: 'custom:bubble-card'
|
hours_to_show: 24
|
||||||
card_type: button
|
points_per_hour: 4
|
||||||
button_type: slider
|
align_icon: state
|
||||||
name: Light
|
align_state: left
|
||||||
entity: light.bathroom_master_wall_01
|
show:
|
||||||
icon: 'mdi:lamp'
|
name: false
|
||||||
show_state: true
|
- type: horizontal-stack
|
||||||
tap_action:
|
cards:
|
||||||
action: toggle
|
- type: tile
|
||||||
button_action:
|
entity: light.bathroom_master_wall_01
|
||||||
tap_action:
|
icon: mdi:lamp
|
||||||
action: toggle
|
color: orange
|
||||||
|
features:
|
||||||
|
- type: "light-brightness"
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
hold_action:
|
||||||
|
action: more-info
|
||||||
|
# - type: horizontal-stack
|
||||||
|
# cards:
|
||||||
|
# - type: custom:button-card
|
||||||
|
# name: Fan
|
||||||
|
# entity: fan.master_bathroom
|
||||||
|
# show_state: false
|
||||||
|
# styles:
|
||||||
|
# card:
|
||||||
|
# - height: 140px
|
||||||
|
# - width: 140px
|
||||||
|
# icon:
|
||||||
|
# - animation: >
|
||||||
|
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
|
||||||
|
|
||||||
|
# - type: custom:flipdown-timer-card
|
||||||
|
# entity: timer.app_lighting_bedroom_olivia
|
||||||
|
# show_hour: false
|
||||||
|
# show_title: false
|
||||||
|
# show_header: false
|
||||||
|
# duration: "00:01:00"
|
||||||
|
# styles:
|
||||||
|
# rotor:
|
||||||
|
# width: 60px
|
||||||
|
# height: 80px
|
||||||
|
# button:
|
||||||
|
# width: 60px
|
||||||
|
# location: bottom
|
||||||
- type: horizontal-stack
|
- type: horizontal-stack
|
||||||
cards:
|
cards:
|
||||||
- type: button
|
- type: button
|
||||||
@ -144,116 +144,136 @@ cards:
|
|||||||
- type: button
|
- type: button
|
||||||
name: Occupants
|
name: Occupants
|
||||||
entity: input_number.occupants_bathroom_master
|
entity: input_number.occupants_bathroom_master
|
||||||
- type: 'custom:layout-break'
|
# - type: horizontal-stack
|
||||||
|
# cards:
|
||||||
|
# - type: custom:mini-media-player
|
||||||
|
# entity: media_player.master_bathroom
|
||||||
|
# artwork: cover
|
||||||
|
|
||||||
|
- type: custom:layout-break
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: horizontal-stack
|
- type: horizontal-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
chips:
|
chips:
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7',
|
entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7
|
||||||
'on') -%}mdi:motion-sensor{%- else
|
|
||||||
-%}mdi:motion-sensor-off{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: >-
|
|
||||||
binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7
|
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.window_bathroom_bedroom_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.window_bathroom_bedroom_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.window_bathroom_bedroom_01_contact',
|
|
||||||
'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%-
|
|
||||||
endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.window_bathroom_bedroom_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.window_bathroom_bedroom_01_contact
|
entity: binary_sensor.window_bathroom_bedroom_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.door_bathroom_bedroom_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.door_bathroom_bedroom_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.door_bathroom_bedroom_01_contact',
|
|
||||||
'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.door_bathroom_bedroom_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.door_bathroom_bedroom_01_contact
|
entity: binary_sensor.door_bathroom_bedroom_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
alignment: end
|
alignment: end
|
||||||
chips:
|
chips:
|
||||||
- type: template
|
- type: template
|
||||||
icon: 'mdi:ceiling-light'
|
icon: mdi:ceiling-light
|
||||||
icon_color: >-
|
icon_color: "{% if is_state('light.bathroom_bedroom_wall_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
{% if is_state('light.bathroom_bedroom_wall_01', 'on')
|
|
||||||
-%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: light.bathroom_bedroom_wall_01
|
entity: light.bathroom_bedroom_wall_01
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- type: template
|
- type: template
|
||||||
icon: 'mdi:fan'
|
icon: mdi:fan
|
||||||
icon_color: >-
|
icon_color: "{% if is_state('fan.bathroom_bedroom', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
{% if is_state('fan.bathroom_bedroom', 'on') -%}#FFC107{%-
|
|
||||||
else -%}#44739E{%- endif %}
|
|
||||||
entity: fan.bathroom_bedroom
|
entity: fan.bathroom_bedroom
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- type: 'custom:bubble-card'
|
- type: horizontal-stack
|
||||||
card_type: separator
|
cards:
|
||||||
icon: 'mdi:shower'
|
- type: custom:mini-graph-card
|
||||||
sub_button:
|
line_color: orange
|
||||||
- name: Temp
|
font_size: 75
|
||||||
icon: 'mdi:thermometer-lines'
|
font_size_header: 12
|
||||||
entity: sensor.climate_bathroom_bedroom_01_temperature
|
entities:
|
||||||
show_name: false
|
- entity: sensor.climate_bathroom_bedroom_01_temperature
|
||||||
show_icon: true
|
hours_to_show: 24
|
||||||
show_state: true
|
points_per_hour: 4
|
||||||
show_background: false
|
align_icon: state
|
||||||
show_attribute: false
|
align_state: left
|
||||||
- name: Humidity
|
show:
|
||||||
icon: 'mdi:water-percent'
|
name: false
|
||||||
entity: sensor.climate_bathroom_bedroom_01_humidity
|
- type: custom:mini-graph-card
|
||||||
show_name: false
|
line_color: blue
|
||||||
show_icon: true
|
font_size: 75
|
||||||
show_state: true
|
font_size_header: 12
|
||||||
show_background: false
|
entities:
|
||||||
show_attribute: false
|
- entity: sensor.climate_bathroom_bedroom_01_humidity
|
||||||
- name: Light Level
|
hours_to_show: 24
|
||||||
icon: 'mdi:weather-sunny'
|
points_per_hour: 4
|
||||||
entity: sensor.motion_bathroom_bedroom_01_illuminance
|
align_icon: state
|
||||||
show_name: false
|
align_state: left
|
||||||
show_icon: true
|
show:
|
||||||
show_state: true
|
name: false
|
||||||
show_background: false
|
- type: custom:mini-graph-card
|
||||||
show_attribute: false
|
line_color: red
|
||||||
styles: |
|
font_size: 75
|
||||||
.bubble-feedback-container {
|
font_size_header: 12
|
||||||
margin: 0px;
|
entities:
|
||||||
}
|
- entity: sensor.motion_bathroom_bedroom_01_illuminance
|
||||||
- type: 'custom:bubble-card'
|
hours_to_show: 24
|
||||||
card_type: button
|
points_per_hour: 4
|
||||||
button_type: slider
|
align_icon: state
|
||||||
name: Light
|
align_state: left
|
||||||
entity: light.bathroom_bedroom_wall_01
|
show:
|
||||||
icon: 'mdi:lamp'
|
name: false
|
||||||
show_state: true
|
- type: horizontal-stack
|
||||||
tap_action:
|
cards:
|
||||||
action: toggle
|
- type: tile
|
||||||
button_action:
|
entity: light.bathroom_bedroom_wall_01
|
||||||
tap_action:
|
icon: mdi:lamp
|
||||||
action: toggle
|
color: orange
|
||||||
|
features:
|
||||||
|
- type: "light-brightness"
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
hold_action:
|
||||||
|
action: more-info
|
||||||
|
# - type: horizontal-stack
|
||||||
|
# cards:
|
||||||
|
# - type: custom:button-card
|
||||||
|
# name: Fan
|
||||||
|
# entity: fan.master_bedroom_bathroom
|
||||||
|
# show_state: false
|
||||||
|
# state:
|
||||||
|
# - value: "locked"
|
||||||
|
# color: green
|
||||||
|
# icon: mdi:lock
|
||||||
|
# - value: "unlocked"
|
||||||
|
# color: red
|
||||||
|
# icon: mdi:lock-open-variant
|
||||||
|
# styles:
|
||||||
|
# card:
|
||||||
|
# - height: 140px
|
||||||
|
# - width: 140px
|
||||||
|
# icon:
|
||||||
|
# - animation: >
|
||||||
|
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
|
||||||
|
|
||||||
|
# - type: custom:flipdown-timer-card
|
||||||
|
# entity: timer.app_lighting_bathroom_bedroom
|
||||||
|
# show_hour: false
|
||||||
|
# show_title: false
|
||||||
|
# show_header: false
|
||||||
|
# duration: "00:01:00"
|
||||||
|
# styles:
|
||||||
|
# rotor:
|
||||||
|
# width: 60px
|
||||||
|
# height: 80px
|
||||||
|
# button:
|
||||||
|
# width: 60px
|
||||||
|
# location: bottom
|
||||||
- type: horizontal-stack
|
- type: horizontal-stack
|
||||||
cards:
|
cards:
|
||||||
- type: button
|
- type: button
|
||||||
@ -265,103 +285,122 @@ cards:
|
|||||||
- type: button
|
- type: button
|
||||||
name: Occupants
|
name: Occupants
|
||||||
entity: input_number.occupants_bathroom_bedroom
|
entity: input_number.occupants_bathroom_bedroom
|
||||||
- type: 'custom:layout-break'
|
- type: custom:layout-break
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
- type: horizontal-stack
|
- type: horizontal-stack
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
chips:
|
chips:
|
||||||
|
# - type: template
|
||||||
|
# icon: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
||||||
|
# icon_color: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
||||||
|
# badge_icon: mdi:numeric-1-circle
|
||||||
|
# badge_color: green
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6',
|
entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6
|
||||||
'on') -%}mdi:motion-sensor{%- else
|
|
||||||
-%}mdi:motion-sensor-off{%- endif %}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: >-
|
|
||||||
binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6
|
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: >-
|
icon: "{% if is_state('binary_sensor.door_bathroom_living_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
||||||
{% if
|
icon_color: "{% if is_state('binary_sensor.door_bathroom_living_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
is_state('binary_sensor.door_bathroom_living_01_contact',
|
|
||||||
'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif
|
|
||||||
%}
|
|
||||||
icon_color: >-
|
|
||||||
{% if
|
|
||||||
is_state('binary_sensor.door_bathroom_living_01_contact',
|
|
||||||
'on') -%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: binary_sensor.door_bathroom_living_01_contact
|
entity: binary_sensor.door_bathroom_living_01_contact
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
- type: 'custom:mushroom-chips-card'
|
- type: custom:mushroom-chips-card
|
||||||
alignment: end
|
alignment: end
|
||||||
chips:
|
chips:
|
||||||
- type: template
|
- type: template
|
||||||
icon: 'mdi:ceiling-light'
|
icon: mdi:ceiling-light
|
||||||
icon_color: >-
|
icon_color: "{% if is_state('light.bathroom_living_room_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
{% if is_state('light.bathroom_living_room_01', 'on')
|
|
||||||
-%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: light.bathroom_living_room_01
|
entity: light.bathroom_living_room_01
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- type: template
|
- type: template
|
||||||
icon: 'mdi:fan'
|
icon: mdi:fan
|
||||||
icon_color: >-
|
icon_color: "{% if is_state('fan.bathroom_living_room', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
{% if is_state('fan.bathroom_living_room', 'on')
|
|
||||||
-%}#FFC107{%- else -%}#44739E{%- endif %}
|
|
||||||
entity: fan.bathroom_living_room
|
entity: fan.bathroom_living_room
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
- type: 'custom:bubble-card'
|
- type: horizontal-stack
|
||||||
card_type: separator
|
cards:
|
||||||
icon: 'mdi:toilet'
|
- type: custom:mini-graph-card
|
||||||
sub_button:
|
line_color: orange
|
||||||
- name: Temp
|
font_size: 75
|
||||||
icon: 'mdi:thermometer-lines'
|
font_size_header: 12
|
||||||
entity: sensor.climate_bathroom_living_01_temperature
|
entities:
|
||||||
show_name: false
|
- entity: sensor.climate_bathroom_living_01_temperature
|
||||||
show_icon: true
|
hours_to_show: 24
|
||||||
show_state: true
|
points_per_hour: 4
|
||||||
show_background: false
|
align_icon: state
|
||||||
show_attribute: false
|
align_state: left
|
||||||
- name: Humidity
|
show:
|
||||||
icon: 'mdi:water-percent'
|
name: false
|
||||||
entity: sensor.climate_bathroom_living_01_humidity
|
- type: custom:mini-graph-card
|
||||||
show_name: false
|
line_color: blue
|
||||||
show_icon: true
|
font_size: 75
|
||||||
show_state: true
|
font_size_header: 12
|
||||||
show_background: false
|
entities:
|
||||||
show_attribute: false
|
- entity: sensor.climate_bathroom_living_01_humidity
|
||||||
- name: Light Level
|
hours_to_show: 24
|
||||||
icon: 'mdi:weather-sunny'
|
points_per_hour: 4
|
||||||
entity: sensor.motion_bathroom_living_01_illuminance
|
align_icon: state
|
||||||
show_name: false
|
align_state: left
|
||||||
show_icon: true
|
show:
|
||||||
show_state: true
|
name: false
|
||||||
show_background: false
|
- type: custom:mini-graph-card
|
||||||
show_attribute: false
|
line_color: red
|
||||||
styles: |
|
font_size: 75
|
||||||
.bubble-feedback-container {
|
font_size_header: 12
|
||||||
margin: 0px;
|
entities:
|
||||||
}
|
- entity: sensor.motion_bathroom_living_01_illuminance
|
||||||
- type: 'custom:bubble-card'
|
hours_to_show: 24
|
||||||
card_type: button
|
points_per_hour: 4
|
||||||
button_type: slider
|
align_icon: state
|
||||||
name: Light
|
align_state: left
|
||||||
entity: light.bathroom_living_room_01
|
show:
|
||||||
icon: 'mdi:lamp'
|
name: false
|
||||||
show_state: true
|
- type: horizontal-stack
|
||||||
tap_action:
|
cards:
|
||||||
action: toggle
|
- type: tile
|
||||||
button_action:
|
entity: light.bathroom_living_room_01
|
||||||
tap_action:
|
icon: mdi:lamp
|
||||||
action: toggle
|
color: orange
|
||||||
|
features:
|
||||||
|
- type: "light-brightness"
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
hold_action:
|
||||||
|
action: more-info
|
||||||
|
# - type: horizontal-stack
|
||||||
|
# cards:
|
||||||
|
# - type: custom:button-card
|
||||||
|
# name: Fan
|
||||||
|
# entity: fan.living_room_bathroom
|
||||||
|
# show_state: false
|
||||||
|
# styles:
|
||||||
|
# card:
|
||||||
|
# - height: 140px
|
||||||
|
# - width: 140px
|
||||||
|
# icon:
|
||||||
|
# - animation: >
|
||||||
|
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
|
||||||
|
|
||||||
|
# - type: custom:flipdown-timer-card
|
||||||
|
# entity: timer.app_lighting_bathroom_living
|
||||||
|
# show_hour: false
|
||||||
|
# show_title: false
|
||||||
|
# show_header: false
|
||||||
|
# duration: "00:01:00"
|
||||||
|
# styles:
|
||||||
|
# rotor:
|
||||||
|
# width: 60px
|
||||||
|
# height: 80px
|
||||||
|
# button:
|
||||||
|
# width: 60px
|
||||||
|
# location: bottom
|
||||||
- type: horizontal-stack
|
- type: horizontal-stack
|
||||||
cards:
|
cards:
|
||||||
- type: button
|
- type: button
|
||||||
|
@ -1,414 +0,0 @@
|
|||||||
---
|
|
||||||
title: Bathrooms
|
|
||||||
icon: mdi:shower
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout: vertical
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.presence_03_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_03_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
badge_icon: mdi:numeric-1-circle
|
|
||||||
badge_color: green
|
|
||||||
entity: binary_sensor.presence_03_presence
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.bathroom_master_01_home_security_motion_detection', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.bathroom_master_01_home_security_motion_detection', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.bathroom_master_01_home_security_motion_detection
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_bathroom_master_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_bathroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_bathroom_master_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bathroom_master_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bathroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bathroom_master_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
alignment: end
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: mdi:ceiling-light
|
|
||||||
icon_color: "{% if is_state('light.bathroom_master_wall_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: light.bathroom_master_wall_01
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: template
|
|
||||||
icon: mdi:fan
|
|
||||||
icon_color: "{% if is_state('fan.bathroom_master', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: fan.bathroom_master
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bathroom_master_01_temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bathroom_master_01_humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.motion_bathroom_master_01_illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: tile
|
|
||||||
entity: light.bathroom_master_wall_01
|
|
||||||
icon: mdi:lamp
|
|
||||||
color: orange
|
|
||||||
features:
|
|
||||||
- type: "light-brightness"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
# - type: horizontal-stack
|
|
||||||
# cards:
|
|
||||||
# - type: custom:button-card
|
|
||||||
# name: Fan
|
|
||||||
# entity: fan.master_bathroom
|
|
||||||
# show_state: false
|
|
||||||
# styles:
|
|
||||||
# card:
|
|
||||||
# - height: 140px
|
|
||||||
# - width: 140px
|
|
||||||
# icon:
|
|
||||||
# - animation: >
|
|
||||||
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
|
|
||||||
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_bedroom_olivia
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_bathroom_master
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_bathroom_master
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_bathroom_master
|
|
||||||
# - type: horizontal-stack
|
|
||||||
# cards:
|
|
||||||
# - type: custom:mini-media-player
|
|
||||||
# entity: media_player.master_bathroom
|
|
||||||
# artwork: cover
|
|
||||||
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.window_bathroom_bedroom_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.window_bathroom_bedroom_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.window_bathroom_bedroom_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bathroom_bedroom_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bathroom_bedroom_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bathroom_bedroom_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
alignment: end
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: mdi:ceiling-light
|
|
||||||
icon_color: "{% if is_state('light.bathroom_bedroom_wall_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: light.bathroom_bedroom_wall_01
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: template
|
|
||||||
icon: mdi:fan
|
|
||||||
icon_color: "{% if is_state('fan.bathroom_bedroom', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: fan.bathroom_bedroom
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bathroom_bedroom_01_temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bathroom_bedroom_01_humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.motion_bathroom_bedroom_01_illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: tile
|
|
||||||
entity: light.bathroom_bedroom_wall_01
|
|
||||||
icon: mdi:lamp
|
|
||||||
color: orange
|
|
||||||
features:
|
|
||||||
- type: "light-brightness"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
# - type: horizontal-stack
|
|
||||||
# cards:
|
|
||||||
# - type: custom:button-card
|
|
||||||
# name: Fan
|
|
||||||
# entity: fan.master_bedroom_bathroom
|
|
||||||
# show_state: false
|
|
||||||
# state:
|
|
||||||
# - value: "locked"
|
|
||||||
# color: green
|
|
||||||
# icon: mdi:lock
|
|
||||||
# - value: "unlocked"
|
|
||||||
# color: red
|
|
||||||
# icon: mdi:lock-open-variant
|
|
||||||
# styles:
|
|
||||||
# card:
|
|
||||||
# - height: 140px
|
|
||||||
# - width: 140px
|
|
||||||
# icon:
|
|
||||||
# - animation: >
|
|
||||||
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
|
|
||||||
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_bathroom_bedroom
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_bathroom_bedroom
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_bathroom_bedroom
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_bathroom_bedroom
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
# - type: template
|
|
||||||
# icon: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
# icon_color: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
# badge_icon: mdi:numeric-1-circle
|
|
||||||
# badge_color: green
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_bathroom_living_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_bathroom_living_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_bathroom_living_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
alignment: end
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: mdi:ceiling-light
|
|
||||||
icon_color: "{% if is_state('light.bathroom_living_room_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: light.bathroom_living_room_01
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: template
|
|
||||||
icon: mdi:fan
|
|
||||||
icon_color: "{% if is_state('fan.bathroom_living_room', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: fan.bathroom_living_room
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bathroom_living_01_temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_bathroom_living_01_humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.motion_bathroom_living_01_illuminance
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: tile
|
|
||||||
entity: light.bathroom_living_room_01
|
|
||||||
icon: mdi:lamp
|
|
||||||
color: orange
|
|
||||||
features:
|
|
||||||
- type: "light-brightness"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
# - type: horizontal-stack
|
|
||||||
# cards:
|
|
||||||
# - type: custom:button-card
|
|
||||||
# name: Fan
|
|
||||||
# entity: fan.living_room_bathroom
|
|
||||||
# show_state: false
|
|
||||||
# styles:
|
|
||||||
# card:
|
|
||||||
# - height: 140px
|
|
||||||
# - width: 140px
|
|
||||||
# icon:
|
|
||||||
# - animation: >
|
|
||||||
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
|
|
||||||
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_bathroom_living
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_bathroom_living
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_bathroom_living
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_bathroom_living
|
|
@ -6,10 +6,8 @@ visible:
|
|||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
||||||
cards:
|
cards:
|
||||||
- type: 'custom:layout-card'
|
- type: custom:layout-card
|
||||||
layout_type: 'custom:vertical-layout'
|
layout: vertical
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
@ -23,6 +21,12 @@ cards:
|
|||||||
entity: binary_sensor.presence_garage_sensor_1
|
entity: binary_sensor.presence_garage_sensor_1
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
|
# - type: template
|
||||||
|
# icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
||||||
|
# icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
|
# entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8
|
||||||
|
# tap_action:
|
||||||
|
# action: more-info
|
||||||
- type: template
|
- type: template
|
||||||
icon: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
icon: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
||||||
icon_color: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
icon_color: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
||||||
@ -41,178 +45,76 @@ cards:
|
|||||||
entity: binary_sensor.smoke_garage_01_smoke
|
entity: binary_sensor.smoke_garage_01_smoke
|
||||||
tap_action:
|
tap_action:
|
||||||
action: more-info
|
action: more-info
|
||||||
|
- type: horizontal-stack
|
||||||
- type: 'custom:bubble-card'
|
cards:
|
||||||
card_type: separator
|
- type: custom:mini-graph-card
|
||||||
icon: 'mdi:bed'
|
line_color: orange
|
||||||
sub_button:
|
font_size: 75
|
||||||
- name: Temp
|
font_size_header: 12
|
||||||
icon: 'mdi:thermometer-lines'
|
entities:
|
||||||
entity: sensor.climate_garage_01_temperature
|
- entity: sensor.climate_garage_01_temperature
|
||||||
show_name: false
|
hours_to_show: 24
|
||||||
show_icon: true
|
points_per_hour: 4
|
||||||
show_state: true
|
align_icon: state
|
||||||
show_background: false
|
align_state: left
|
||||||
show_attribute: false
|
show:
|
||||||
- name: Humidity
|
name: false
|
||||||
icon: 'mdi:water-percent'
|
- type: custom:mini-graph-card
|
||||||
entity: sensor.climate_garage_01_humidity
|
line_color: blue
|
||||||
show_name: false
|
font_size: 75
|
||||||
show_icon: true
|
font_size_header: 12
|
||||||
show_state: true
|
entities:
|
||||||
show_background: false
|
- entity: sensor.climate_garage_01_humidity
|
||||||
show_attribute: false
|
hours_to_show: 24
|
||||||
- name: Light Level
|
points_per_hour: 4
|
||||||
icon: 'mdi:weather-sunny'
|
align_icon: state
|
||||||
entity: sensor.presence_garage_light_level
|
align_state: left
|
||||||
show_name: false
|
show:
|
||||||
show_icon: true
|
name: false
|
||||||
show_state: true
|
- type: custom:mini-graph-card
|
||||||
show_background: false
|
line_color: red
|
||||||
show_attribute: false
|
font_size: 75
|
||||||
styles: |
|
font_size_header: 12
|
||||||
.bubble-feedback-container {
|
entities:
|
||||||
margin: 0px;
|
- entity: sensor.presence_garage_light_level
|
||||||
}
|
hours_to_show: 24
|
||||||
|
points_per_hour: 4
|
||||||
- type: vertical-stack
|
align_icon: state
|
||||||
cards:
|
align_state: left
|
||||||
- type: 'custom:bubble-card'
|
show:
|
||||||
card_type: button
|
name: false
|
||||||
button_type: switch
|
- type: horizontal-stack
|
||||||
name: Occupancy
|
cards:
|
||||||
entity: input_boolean.occupancy_garage
|
- type: tile
|
||||||
icon: 'mdi:account-multiple'
|
entity: light.garage_ceiling_01
|
||||||
show_state: false
|
icon: mdi:ceiling-light
|
||||||
show_background: false
|
color: orange
|
||||||
tap_action:
|
features:
|
||||||
action: toggle
|
- type: "light-brightness"
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- entity: sensor.garage_person_count
|
|
||||||
icon: 'mdi:account-group'
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- entity: sensor.garage_cat_count
|
|
||||||
icon: 'mdi:cat'
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
- icon: 'mdi:brightness-auto'
|
|
||||||
entity: input_boolean.manually_operated_light_garage
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
tap_action:
|
||||||
action: toggle
|
action: toggle
|
||||||
styles: |
|
hold_action:
|
||||||
.bubble-button-background {
|
action: more-info
|
||||||
opacity: 1 !important;
|
- type: tile
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
entity: cover.garage_gate
|
||||||
}
|
features:
|
||||||
.bubble-sub-button-1 {
|
- type: "cover-open-close"
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['sensor.garage_person_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['sensor.garage_cat_count'].state > 0 ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
${subButtonIcon[2].setAttribute("icon", hass.states['input_boolean.manually_operated_light_garage'].state === 'on' ? 'mdi:hand-front-right' : 'mdi:brightness-auto')}
|
|
||||||
|
|
||||||
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
name: Light
|
|
||||||
entity: input_boolean.garage_light_state
|
|
||||||
icon: 'mdi:lightbulb-group'
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#popup-garage-light'
|
|
||||||
sub_button:
|
|
||||||
- icon: 'phu:ceiling-round'
|
|
||||||
entity: scene.garage_ceiling_only
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: toggle
|
||||||
service: input_select.select_option
|
confirmation:
|
||||||
service_data:
|
text: Are you sure you want to operate Garage Door?
|
||||||
entity_id: input_select.garage_scenes
|
- type: horizontal-stack
|
||||||
option: Ceiling Only
|
cards:
|
||||||
styles: |
|
- type: tile
|
||||||
.bubble-sub-button-1 > ha-icon {
|
entity: lock.subaru_outback_txt_lock
|
||||||
color: ${hass.states['input_select.garage_scenes'].state === 'Ceiling Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
features:
|
||||||
}
|
- type: "lock-commands"
|
||||||
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
name: Garage Gate
|
|
||||||
entity: cover.garage_gate
|
|
||||||
icon: 'mdi:garage-variant'
|
|
||||||
show_state: false
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- icon: 'mdi:arrow-up-thick'
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
tap_action:
|
||||||
action: call-service
|
action: toggle
|
||||||
service: cover.open_cover
|
confirmation:
|
||||||
service_data:
|
text: Are you sure you want to lock Subaru?
|
||||||
entity_id: cover.garage_gate
|
- type: tile
|
||||||
- icon: 'mdi:stop'
|
entity: switch.subaru_outback_txt_ignition
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: cover.stop_cover
|
|
||||||
service_data:
|
|
||||||
entity_id: cover.garage_gate
|
|
||||||
- icon: 'mdi:arrow-down-thick'
|
|
||||||
show_state: false
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: cover.close_cover
|
|
||||||
service_data:
|
|
||||||
entity_id: cover.garage_gate
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background-color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: custom:layout-break
|
- type: custom:layout-break
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
@ -223,29 +125,38 @@ cards:
|
|||||||
title: 'Garage'
|
title: 'Garage'
|
||||||
muted: true
|
muted: true
|
||||||
mode: webrtc,mse
|
mode: webrtc,mse
|
||||||
|
|
||||||
- type: custom:layout-break
|
- type: custom:layout-break
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
|
# - type: entities
|
||||||
|
# title: Lights
|
||||||
|
# show_header_toggle: false
|
||||||
|
# entities:
|
||||||
|
# - entity: timer.app_lighting_garage
|
||||||
|
# - type: custom:flipdown-timer-card
|
||||||
|
# entity: timer.app_lighting_garage
|
||||||
|
# show_hour: false
|
||||||
|
# show_title: false
|
||||||
|
# show_header: false
|
||||||
|
# duration: "00:01:00"
|
||||||
|
# styles:
|
||||||
|
# rotor:
|
||||||
|
# width: 60px
|
||||||
|
# height: 80px
|
||||||
|
# button:
|
||||||
|
# width: 60px
|
||||||
|
# location: bottom
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: button
|
||||||
|
name: Occupancy
|
||||||
|
entity: input_boolean.occupancy_garage
|
||||||
|
- type: button
|
||||||
|
name: Operating Mode
|
||||||
|
entity: input_boolean.manually_operated_light_garage
|
||||||
|
- type: button
|
||||||
|
name: Occupants
|
||||||
|
entity: input_number.occupants_garage
|
||||||
- type: custom:mini-media-player
|
- type: custom:mini-media-player
|
||||||
entity: media_player.garage
|
entity: media_player.garage
|
||||||
artwork: cover
|
artwork: cover
|
||||||
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#popup-garage-light'
|
|
||||||
name: Garage
|
|
||||||
icon: 'mdi:garage-variant'
|
|
||||||
- type: 'custom:bubble-card'
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #1'
|
|
||||||
entity: light.garage_ceiling_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
|
@ -1,162 +0,0 @@
|
|||||||
---
|
|
||||||
title: Garage
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout: vertical
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mushroom-chips-card
|
|
||||||
chips:
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.presence_garage_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.presence_garage_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
||||||
badge_icon: mdi:numeric-1-circle
|
|
||||||
badge_color: green
|
|
||||||
entity: binary_sensor.presence_garage_sensor_1
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
# - type: template
|
|
||||||
# icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
|
|
||||||
# icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
# entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8
|
|
||||||
# tap_action:
|
|
||||||
# action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.door_garage_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.cover_garage_01_contact', 'on') -%}mdi:garage-open-variant{%- else -%}mdi:garage-variant{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.cover_garage_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.cover_garage_01_contact
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: template
|
|
||||||
icon: "{% if is_state('binary_sensor.smoke_garage_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
|
|
||||||
icon_color: "{% if is_state('binary_sensor.smoke_garage_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
|
|
||||||
entity: binary_sensor.smoke_garage_01_smoke
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: orange
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_garage_01_temperature
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: blue
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.climate_garage_01_humidity
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: custom:mini-graph-card
|
|
||||||
line_color: red
|
|
||||||
font_size: 75
|
|
||||||
font_size_header: 12
|
|
||||||
entities:
|
|
||||||
- entity: sensor.presence_garage_light_level
|
|
||||||
hours_to_show: 24
|
|
||||||
points_per_hour: 4
|
|
||||||
align_icon: state
|
|
||||||
align_state: left
|
|
||||||
show:
|
|
||||||
name: false
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: tile
|
|
||||||
entity: light.garage_ceiling_01
|
|
||||||
icon: mdi:ceiling-light
|
|
||||||
color: orange
|
|
||||||
features:
|
|
||||||
- type: "light-brightness"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
hold_action:
|
|
||||||
action: more-info
|
|
||||||
- type: tile
|
|
||||||
entity: cover.garage_gate
|
|
||||||
features:
|
|
||||||
- type: "cover-open-close"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
confirmation:
|
|
||||||
text: Are you sure you want to operate Garage Door?
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: tile
|
|
||||||
entity: lock.subaru_outback_txt_lock
|
|
||||||
features:
|
|
||||||
- type: "lock-commands"
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
confirmation:
|
|
||||||
text: Are you sure you want to lock Subaru?
|
|
||||||
- type: tile
|
|
||||||
entity: switch.subaru_outback_txt_ignition
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: 'custom:webrtc-camera'
|
|
||||||
url: 'rtsp://10.10.11.110:8554/garage'
|
|
||||||
title: 'Garage'
|
|
||||||
muted: true
|
|
||||||
mode: webrtc,mse
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
# - type: entities
|
|
||||||
# title: Lights
|
|
||||||
# show_header_toggle: false
|
|
||||||
# entities:
|
|
||||||
# - entity: timer.app_lighting_garage
|
|
||||||
# - type: custom:flipdown-timer-card
|
|
||||||
# entity: timer.app_lighting_garage
|
|
||||||
# show_hour: false
|
|
||||||
# show_title: false
|
|
||||||
# show_header: false
|
|
||||||
# duration: "00:01:00"
|
|
||||||
# styles:
|
|
||||||
# rotor:
|
|
||||||
# width: 60px
|
|
||||||
# height: 80px
|
|
||||||
# button:
|
|
||||||
# width: 60px
|
|
||||||
# location: bottom
|
|
||||||
- type: horizontal-stack
|
|
||||||
cards:
|
|
||||||
- type: button
|
|
||||||
name: Occupancy
|
|
||||||
entity: input_boolean.occupancy_garage
|
|
||||||
- type: button
|
|
||||||
name: Operating Mode
|
|
||||||
entity: input_boolean.manually_operated_light_garage
|
|
||||||
- type: button
|
|
||||||
name: Occupants
|
|
||||||
entity: input_number.occupants_garage
|
|
||||||
- type: custom:mini-media-player
|
|
||||||
entity: media_player.garage
|
|
||||||
artwork: cover
|
|
File diff suppressed because it is too large
Load Diff
@ -1,703 +0,0 @@
|
|||||||
# ${card.querySelector('.bubble-state').innerText = "It's currently " + hass.states['weather.forecast_home'].state} # Change Entity Status string change show_state to false
|
|
||||||
---
|
|
||||||
title: Testing
|
|
||||||
icon: mdi:test-tube
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout_type: custom:vertical-layout
|
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
# name: Kitchen
|
|
||||||
icon: mdi:countertop-outline
|
|
||||||
sub_button:
|
|
||||||
- name: Temp
|
|
||||||
icon: mdi:thermometer-lines
|
|
||||||
entity: sensor.climate_kitchen_01_temperature
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Humidity
|
|
||||||
icon: mdi:water-percent
|
|
||||||
entity: sensor.climate_kitchen_01_humidity
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Light Level
|
|
||||||
icon: mdi:weather-sunny
|
|
||||||
entity: sensor.presence_kitchen_light_level_2
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: PM2.5
|
|
||||||
icon: mdi:blur
|
|
||||||
entity: sensor.climate_kitchen_02_pm25
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
card_layout: normal
|
|
||||||
name: Light
|
|
||||||
entity: input_boolean.kitchen_light_state
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
show_state: true
|
|
||||||
show_background: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
sub_button:
|
|
||||||
- icon: mdi:lightbulb-group
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "All"
|
|
||||||
- icon: mdi:countertop-outline
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Work Zone Only"
|
|
||||||
- icon: mdi:food-turkey
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Dinning Zone Only"
|
|
||||||
- icon: mdi:ceiling-light-multiple
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Ceiling Only"
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: rgb(229, 229, 229) !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'All' ? 'rgb(255, 152, 0)' : 'grey'} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Work Zone Only' ? 'rgb(255, 152, 0)' : 'grey'} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Dinning Zone Only' ? 'rgb(255, 152, 0)' : 'grey'} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Ceiling Only' ? 'rgb(255, 152, 0)' : 'grey'} !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:countertop-outline
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.kitchen_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
tap_action:
|
|
||||||
action: data
|
|
||||||
entity_id: image.kitchen_person
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.kitchen_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:sofa
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.living_room_01_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.living_room_01_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:sofa
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.living_room_02_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.living_room_02_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:stairs
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.stairway_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.stairway_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:bed-king
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.bedroom_master_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.bedroom_master_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:bed
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.bedroom_max_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.bedroom_max_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:bed
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.bedroom_olivia_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.bedroom_olivia_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.garage_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.garage_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:home-circle-outline
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.pergola_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.pergola_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
name: Vacuum
|
|
||||||
entity: vacuum.roborock_s5_max
|
|
||||||
icon: mdi:robot-vacuum
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: true
|
|
||||||
attribute: battery_level
|
|
||||||
- name: Return to dock
|
|
||||||
icon: mdi:home
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.return_to_base
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
- name: Pause
|
|
||||||
icon: mdi:pause
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.pause
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
- name: Start
|
|
||||||
icon: mdi:play
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.start
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
styles: >-
|
|
||||||
.bubble-button-card-container {
|
|
||||||
/* Change the background color when the vacuum get an error (optional), more details in the styles template section */
|
|
||||||
background: ${state === 'error' ? 'rgb(200, 80, 40)' : ''} !important;
|
|
||||||
}
|
|
||||||
/* Change the first sub-button battery icon based on the battery_icon attribute, more details in the styles template section */
|
|
||||||
${subButtonIcon[0].setAttribute("icon", hass.states['vacuum.roborock_s5_max'].attributes.battery_icon)}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #1'
|
|
||||||
entity: sensor.ups_cyberpower_01_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_01_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_01_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_01_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_01_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_01_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_01_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #2'
|
|
||||||
entity: sensor.ups_cyberpower_02_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_02_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_02_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_02_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_02_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_02_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_02_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #3'
|
|
||||||
entity: sensor.ups_cyberpower_03_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_03_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_03_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_03_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_03_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_03_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_03_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #4'
|
|
||||||
entity: sensor.ups_cyberpower_04_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_04_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_04_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_04_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_04_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : state === 'ONBATT' ? 'rgb(255, 221, 153)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_04_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_04_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: Energy
|
|
||||||
entity: sensor.power_house_total_1mon
|
|
||||||
icon: mdi:transmission-tower
|
|
||||||
show_state: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#energy'
|
|
||||||
sub_button:
|
|
||||||
- entity: sensor.power_house_total_1d
|
|
||||||
show_background: false
|
|
||||||
show_state: true
|
|
||||||
- entity: sensor.power_house_total_1mon
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
icon: mdi:calendar-week
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: Gas
|
|
||||||
entity: sensor.power_house_total_1mon
|
|
||||||
icon: mdi:meter-gas
|
|
||||||
show_state: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#gas'
|
|
||||||
sub_button:
|
|
||||||
- entity: sensor.gas_daily
|
|
||||||
show_background: false
|
|
||||||
show_state: true
|
|
||||||
- entity: sensor.gas_monthly
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
icon: mdi:calendar-week
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: Water
|
|
||||||
entity: sensor.water_monthly
|
|
||||||
icon: mdi:cup-water
|
|
||||||
show_state: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#water'
|
|
||||||
sub_button:
|
|
||||||
- entity: sensor.water_daily
|
|
||||||
show_background: false
|
|
||||||
show_state: true
|
|
||||||
- entity: sensor.water_monthly
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
icon: mdi:calendar-week
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
card_layout: normal
|
|
||||||
name: Pioneer VSX-LX505
|
|
||||||
entity: media_player.onkyo_receiver
|
|
||||||
icon: mdi:audio-video
|
|
||||||
show_state: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
sub_button:
|
|
||||||
- entity: script.receiver_switch_to_shield_tv
|
|
||||||
icon: mdi:television-classic
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: script.receiver_switch_to_playstation
|
|
||||||
icon: mdi:controller
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: script.receiver_switch_to_security
|
|
||||||
icon: mdi:camera-metering-matrix
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: script.receiver_switch_to_windows
|
|
||||||
icon: mdi:laptop
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: climate
|
|
||||||
entity: climate.living_room
|
|
||||||
sub_button:
|
|
||||||
- name: HVAC modes menu
|
|
||||||
select_attribute: hvac_modes
|
|
||||||
show_arrow: false
|
|
||||||
state_background: false
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: name
|
|
||||||
name: Kitchen
|
|
||||||
icon: mdi:fridge
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#kitchen'
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#kitchen'
|
|
||||||
name: Kitchen
|
|
||||||
icon: mdi:fridge
|
|
||||||
entity: light.kitchen_sink_01
|
|
@ -1,836 +0,0 @@
|
|||||||
# ${card.querySelector('.bubble-state').innerText = "It's currently " + hass.states['weather.forecast_home'].state} # Change Entity Status string change show_state to false
|
|
||||||
|
|
||||||
# bubble-feedback-container margin
|
|
||||||
|
|
||||||
---
|
|
||||||
title: Testing
|
|
||||||
icon: mdi:test-tube
|
|
||||||
panel: true
|
|
||||||
visible:
|
|
||||||
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
||||||
cards:
|
|
||||||
- type: custom:layout-card
|
|
||||||
layout_type: custom:vertical-layout
|
|
||||||
layout:
|
|
||||||
max_cols: 3
|
|
||||||
cards:
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
# name: Kitchen
|
|
||||||
icon: mdi:countertop-outline
|
|
||||||
sub_button:
|
|
||||||
- name: Temp
|
|
||||||
icon: mdi:thermometer-lines
|
|
||||||
entity: sensor.climate_kitchen_01_temperature
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Humidity
|
|
||||||
icon: mdi:water-percent
|
|
||||||
entity: sensor.climate_kitchen_01_humidity
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Light Level
|
|
||||||
icon: mdi:weather-sunny
|
|
||||||
entity: sensor.presence_kitchen_light_level_2
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: PM2.5
|
|
||||||
icon: mdi:blur
|
|
||||||
entity: sensor.climate_kitchen_02_pm25
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
styles: |
|
|
||||||
.bubble-feedback-container {
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
card_layout: normal
|
|
||||||
name: Light
|
|
||||||
entity: input_boolean.kitchen_light_state
|
|
||||||
icon: mdi:lightbulb-group
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#kitchen'
|
|
||||||
sub_button:
|
|
||||||
- icon: mdi:lightbulb-group
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "All"
|
|
||||||
- icon: mdi:countertop-outline
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Work Zone Only"
|
|
||||||
- icon: mdi:food-turkey
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Dinning Zone Only"
|
|
||||||
- icon: mdi:ceiling-light-multiple
|
|
||||||
show_background: true
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: input_select.select_option
|
|
||||||
service_data:
|
|
||||||
entity_id: input_select.kitchen_scenes
|
|
||||||
option: "Ceiling Only"
|
|
||||||
styles: |
|
|
||||||
.bubble-sub-button-1 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'All' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Work Zone Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Dinning Zone Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 {
|
|
||||||
background: white !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 > ha-icon {
|
|
||||||
color: ${hass.states['input_select.kitchen_scenes'].state === 'Ceiling Only' ? 'rgb(255, 152, 0)' : ''} !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:countertop-outline
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.kitchen_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
tap_action:
|
|
||||||
action: data
|
|
||||||
entity_id: image.kitchen_person
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.kitchen_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:sofa
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.living_room_01_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.living_room_01_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:sofa
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.living_room_02_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.living_room_02_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:stairs
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.stairway_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.stairway_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:bed-king
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.bedroom_master_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.bedroom_master_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:bed
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.bedroom_max_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.bedroom_max_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:bed
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.bedroom_olivia_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.bedroom_olivia_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:garage-variant
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.garage_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.garage_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: separator
|
|
||||||
icon: mdi:home-circle-outline
|
|
||||||
sub_button:
|
|
||||||
- name: People
|
|
||||||
icon: mdi:account-group
|
|
||||||
entity: sensor.pergola_person_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
- name: Cats
|
|
||||||
icon: mdi:cat
|
|
||||||
entity: sensor.pergola_cat_count
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: false
|
|
||||||
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
name: Vacuum
|
|
||||||
entity: vacuum.roborock_s5_max
|
|
||||||
icon: mdi:robot-vacuum
|
|
||||||
show_state: true
|
|
||||||
show_last_changed: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Return to dock
|
|
||||||
icon: mdi:home
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.return_to_base
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
- name: Pause
|
|
||||||
icon: mdi:pause
|
|
||||||
show_background: false
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.pause
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
- name: Start
|
|
||||||
icon: mdi:play
|
|
||||||
tap_action:
|
|
||||||
action: call-service
|
|
||||||
service: vacuum.start
|
|
||||||
target:
|
|
||||||
entity_id: vacuum.roborock_s5_max
|
|
||||||
styles: >-
|
|
||||||
.bubble-button-card-container {
|
|
||||||
/* Change the background color when the vacuum get an error (optional), more details in the styles template section */
|
|
||||||
background: ${state === 'error' ? 'rgb(200, 80, 40)' : ''} !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #1'
|
|
||||||
entity: sensor.ups_cyberpower_01_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_01_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_01_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_01_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_01_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_01_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_01_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #2'
|
|
||||||
entity: sensor.ups_cyberpower_02_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_02_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_02_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_02_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_02_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_02_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_02_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #3'
|
|
||||||
entity: sensor.ups_cyberpower_03_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_03_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_03_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_03_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_03_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_03_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_03_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: 'CyberPower UPS #4'
|
|
||||||
entity: sensor.ups_cyberpower_04_status
|
|
||||||
icon: mdi:power-plug-battery
|
|
||||||
show_state: true
|
|
||||||
show_attribute: true
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: more-info
|
|
||||||
sub_button:
|
|
||||||
- name: Battery
|
|
||||||
entity: sensor.ups_cyberpower_04_battery_level
|
|
||||||
icon: mdi:battery
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Time Left
|
|
||||||
entity: sensor.ups_cyberpower_04_time_left
|
|
||||||
icon: mdi:timer
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Load
|
|
||||||
entity: sensor.ups_cyberpower_04_load_percentage
|
|
||||||
icon: mdi:battery-arrow-down
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
- name: Transfers
|
|
||||||
entity: sensor.ups_cyberpower_04_transfers
|
|
||||||
icon: mdi:sync
|
|
||||||
show_name: false
|
|
||||||
show_icon: true
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'COMMLOST' ? 'rgb(255, 179, 179)' : state === 'ONBATT' ? 'rgb(255, 221, 153)' : '' } !important;
|
|
||||||
}
|
|
||||||
${icon.setAttribute("icon", hass.states['sensor.ups_cyberpower_04_status'].state === 'COMMLOST' ? 'mdi:power-plug-off-outline' : hass.states['sensor.ups_cyberpower_04_status'].state === 'ONBATT' ? 'mdi:car-battery' : 'mdi:power-plug-battery' )}
|
|
||||||
|
|
||||||
- type: custom:layout-break
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: Energy
|
|
||||||
entity: sensor.power_house_total_1mon
|
|
||||||
icon: mdi:transmission-tower
|
|
||||||
show_state: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#energy'
|
|
||||||
sub_button:
|
|
||||||
- entity: sensor.power_house_total_1d
|
|
||||||
show_background: false
|
|
||||||
show_state: true
|
|
||||||
- entity: sensor.power_house_total_1mon
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
icon: mdi:calendar-week
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: Gas
|
|
||||||
entity: sensor.gas_monthly
|
|
||||||
icon: mdi:meter-gas
|
|
||||||
show_state: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#gas'
|
|
||||||
sub_button:
|
|
||||||
- entity: sensor.gas_daily
|
|
||||||
show_background: false
|
|
||||||
show_state: true
|
|
||||||
- entity: sensor.gas_monthly
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
icon: mdi:calendar-week
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: state
|
|
||||||
card_layout: large-2-rows
|
|
||||||
name: Water
|
|
||||||
entity: sensor.water_monthly
|
|
||||||
icon: mdi:cup-water
|
|
||||||
show_state: true
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: navigate
|
|
||||||
navigation_path: '#water'
|
|
||||||
sub_button:
|
|
||||||
- entity: sensor.water_daily
|
|
||||||
show_background: false
|
|
||||||
show_state: true
|
|
||||||
- entity: sensor.water_monthly
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
icon: mdi:calendar-week
|
|
||||||
|
|
||||||
# remote.living_room_harmony_hub
|
|
||||||
#
|
|
||||||
# activity_list: ShTV+AVR+TV, ShTV+AVR+Prj
|
|
||||||
# current_activity: ShTV+AVR+TV
|
|
||||||
# activity_starting: null
|
|
||||||
# devices_list: LG TV, Pioneer AV Receiver VSX-LX505, LG Projector, Nvidia Shield TV Pro 2019
|
|
||||||
# last_activity: ShTV+AVR+TV
|
|
||||||
# friendly_name: Living Room Harmony Hub
|
|
||||||
# supported_features: 4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# source_list: Windows 11, PlayStation 4 Pro, Nvidia Shield TV, Unifi Protect, TV/Nothing, Sonos, ChromeCast/Network, Bluetooth
|
|
||||||
# volume_level: 1
|
|
||||||
# is_volume_muted: false
|
|
||||||
# source: PlayStation 4 Pro
|
|
||||||
# sound_mode: DOLBY ATMOS/DOLBY SURROUND ··· PLII/PLIIx MOVIE
|
|
||||||
# video_out: yes,out
|
|
||||||
# video_information:
|
|
||||||
# video_input_port: HDMI 2
|
|
||||||
# input_resolution: 4K(3840x2160) 59 Hz
|
|
||||||
# input_color_schema: RGB
|
|
||||||
# input_color_depth: 24bit
|
|
||||||
# output_resolution: 4K(3840x2160) 59 Hz
|
|
||||||
# output_color_schema: RGB
|
|
||||||
# output_color_depth: 24bit
|
|
||||||
# friendly_name: VSX-LX505
|
|
||||||
# supported_features: 69516
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: switch
|
|
||||||
card_layout: normal
|
|
||||||
name: Pioneer VSX-LX505
|
|
||||||
entity: media_player.onkyo_receiver
|
|
||||||
icon: mdi:audio-video
|
|
||||||
show_state: true
|
|
||||||
show_background: false
|
|
||||||
show_attribute: true
|
|
||||||
attribute: source
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
sub_button:
|
|
||||||
- entity: script.receiver_switch_to_shield_tv
|
|
||||||
icon: mdi:television-classic
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: script.receiver_switch_to_playstation
|
|
||||||
icon: mdi:controller
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: script.receiver_switch_to_security
|
|
||||||
icon: mdi:camera-metering-matrix
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: script.receiver_switch_to_windows
|
|
||||||
icon: mdi:laptop
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'Nvidia Shield TV,' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'PlayStation 4 Pro' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'Unifi Protect, TV/Nothing' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-4 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.onkyo_receiver'].attributes.source === 'Windows 11' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
# media_player.playstation_4_pro
|
|
||||||
#
|
|
||||||
# playing
|
|
||||||
#
|
|
||||||
# source_list: BATTLEFIELD 4, Battlefield™ 1, Call of Duty®: Modern Warfare® 2 Campaign Remastered, DIABLO III: REAPER OF SOULS – ULTIMATE EVIL EDITION, DiRT Rally, Fall Guys, Fortnite, Gran Turismo® 7, Gran Turismo™SPORT, Grand Theft Auto V (PS4™), Terraria: PS4™ Edition, XCOM® 2
|
|
||||||
# media_content_id: CUSA00419
|
|
||||||
# media_content_type: game
|
|
||||||
# media_title: Grand Theft Auto V (PS4™)
|
|
||||||
# source: Grand Theft Auto V (PS4™)
|
|
||||||
# entity_picture: /api/media_player_proxy/media_player.playstation_4_pro?token=007ca02b0380f3ac9c545f072bbc59c1d0630ff327babffc223e2ef6bf940f71&cache=5cf70801995f315e
|
|
||||||
# friendly_name: PlayStation 4 Pro
|
|
||||||
# supported_features: 6529
|
|
||||||
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
entity: media_player.nvidia_shield_tv_living_room_2
|
|
||||||
sub_button:
|
|
||||||
- entity: switch.android_tv_youtube
|
|
||||||
icon: mdi:youtube
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: switch.android_tv_netflix
|
|
||||||
icon: mdi:netflix
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- entity: switch.android_tv_plex
|
|
||||||
icon: mdi:plex
|
|
||||||
show_background: true
|
|
||||||
show_state: false
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
styles: |
|
|
||||||
.bubble-button-background {
|
|
||||||
opacity: 1 !important;
|
|
||||||
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-1 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.nvidia_shield_tv_living_room_2'].attributes.app_id === 'com.google.android.youtube.tv,' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-2 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.nvidia_shield_tv_living_room_2'].attributes.app_id === 'com.netflix.ninja' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
.bubble-sub-button-3 > ha-icon {
|
|
||||||
color: ${ hass.states['media_player.nvidia_shield_tv_living_room_2'].attributes.app_id === 'com.plexapp.android' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: climate
|
|
||||||
entity: climate.living_room
|
|
||||||
sub_button:
|
|
||||||
- name: HVAC modes menu
|
|
||||||
select_attribute: hvac_modes
|
|
||||||
show_arrow: false
|
|
||||||
state_background: false
|
|
||||||
|
|
||||||
|
|
||||||
- type: vertical-stack
|
|
||||||
cards:
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: pop-up
|
|
||||||
hash: '#kitchen'
|
|
||||||
name: Kitchen
|
|
||||||
icon: mdi:fridge
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: Sink
|
|
||||||
entity: light.kitchen_sink_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: LED
|
|
||||||
entity: light.kitchen_led_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #1'
|
|
||||||
entity: light.kitchen_ceiling_01
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
- type: custom:bubble-card
|
|
||||||
card_type: button
|
|
||||||
button_type: slider
|
|
||||||
name: 'Ceiling #2'
|
|
||||||
entity: light.kitchen_ceiling_02
|
|
||||||
show_state: true
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
||||||
button_action:
|
|
||||||
tap_action:
|
|
||||||
action: toggle
|
|
@ -1,15 +0,0 @@
|
|||||||
entity_id = data.get('entity_id')
|
|
||||||
command = data.get('command')
|
|
||||||
params = str(data.get('params'))
|
|
||||||
parsedParams = []
|
|
||||||
|
|
||||||
for z in params.replace(' ', '').replace('],[', '|').replace('[', '').replace(']', '').split('|'):
|
|
||||||
rect = []
|
|
||||||
for c in z.split(','):
|
|
||||||
rect.append(int(c))
|
|
||||||
parsedParams.append(rect)
|
|
||||||
|
|
||||||
if command in ["app_goto_target", "app_segment_clean"]:
|
|
||||||
parsedParams = parsedParams[0]
|
|
||||||
|
|
||||||
hass.services.call('vacuum', 'send_command', {'entity_id': entity_id, 'command': command, 'params': parsedParams}, True)
|
|
@ -1,91 +0,0 @@
|
|||||||
system_name: Savin!Home
|
|
||||||
system_latitude: 12.34567
|
|
||||||
system_longitude: -12.34567
|
|
||||||
system_elevation: 68
|
|
||||||
system_timezone: America/New_York
|
|
||||||
system_http_api: [REDACTED]
|
|
||||||
|
|
||||||
trusted_proxy_01: 10.10.10.10
|
|
||||||
|
|
||||||
trusted_network_01: 10.10.10.0/24
|
|
||||||
trusted_network_02: 10.10.11.0/24
|
|
||||||
trusted_network_03: 10.10.12.0/24
|
|
||||||
trusted_network_04: 10.10.13.0/24
|
|
||||||
trusted_network_05: 10.10.14.0/24
|
|
||||||
|
|
||||||
trusted_user_id_01: e7a4f74b143746e4b08b3fa2406dcd7a
|
|
||||||
trusted_user_id_02: 38dda68f32aa4b58a2c358ac5176a9bd
|
|
||||||
|
|
||||||
database_url: postgresql://homeassistant:homeassistant@10.10.10.1:5432/homeassistant?client_encoding=utf8
|
|
||||||
|
|
||||||
device_roborock_01_host: 10.10.10.1
|
|
||||||
device_roborock_01_token: [REDACTED]
|
|
||||||
device_roborock_01_cloud_username: redacted@gmail.com
|
|
||||||
device_roborock_01_cloud_password: [REDACTED]
|
|
||||||
|
|
||||||
|
|
||||||
services_nest_client_id: [REDACTED]
|
|
||||||
services_nest_client_secret: [REDACTED]
|
|
||||||
services_nest_project_id: [REDACTED]
|
|
||||||
services_nest_subscriber_id: [REDACTED]
|
|
||||||
|
|
||||||
services_remote_harmony_host: 10.10.10.1
|
|
||||||
|
|
||||||
services_light_ikea_hub_host: 10.10.10.1
|
|
||||||
|
|
||||||
services_notification_telegram_api_key: [REDACTED]
|
|
||||||
services_notification_telegram_url: https://localhost
|
|
||||||
services_notification_telegram_chat_id_01: 1234567890
|
|
||||||
services_notification_telegram_chat_id_02: 1234567890
|
|
||||||
services_notification_telegram_chat_id_03: '-1234567890'
|
|
||||||
services_notification_telegram_chat_id_04: '1234567890'
|
|
||||||
services_notification_telegram_white_ip_01: 10.10.10.1
|
|
||||||
services_notification_telegram_trusted_network_01: 10.10.10.1/32
|
|
||||||
|
|
||||||
service_twilio_sid: [REDACTED]
|
|
||||||
service_twilio_auth_token: [REDACTED]
|
|
||||||
|
|
||||||
weather_openweathermap_api_key: [REDACTED]
|
|
||||||
weather_darksky: [REDACTED]
|
|
||||||
|
|
||||||
zone_01_latitude: 12.34567
|
|
||||||
zone_01_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_02_latitude: 12.34567
|
|
||||||
zone_02_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_03_latitude: 12.34567
|
|
||||||
zone_03_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_04_latitude: 12.34567
|
|
||||||
zone_04_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_05_latitude: 12.34567
|
|
||||||
zone_05_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_06_latitude: 12.34567
|
|
||||||
zone_06_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_07_latitude: 12.34567
|
|
||||||
zone_07_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_08_latitude: 12.34567
|
|
||||||
zone_08_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_09_latitude: 12.34567
|
|
||||||
zone_09_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_10_latitude: 12.34567
|
|
||||||
zone_10_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_11_latitude: 12.34567
|
|
||||||
zone_11_longitude: -12.34567
|
|
||||||
|
|
||||||
|
|
||||||
zone_12_latitude: 12.34567
|
|
||||||
zone_12_longitude: -12.34567
|
|
||||||
|
|
||||||
zone_13_latitude: 12.34567
|
|
||||||
zone_13_longitude: -12.34567
|
|
||||||
|
|
||||||
notify_twilio_number_from: '+15551234567'
|
|
0
sercets.sample.yaml
Normal file
0
sercets.sample.yaml
Normal file
@ -123,8 +123,3 @@ views:
|
|||||||
### APPLICATIONS VIEW ############################################################# VIEWS ###
|
### APPLICATIONS VIEW ############################################################# VIEWS ###
|
||||||
#####################################################################################################
|
#####################################################################################################
|
||||||
- !include configuration/ui-lovelace/190-apps.yaml
|
- !include configuration/ui-lovelace/190-apps.yaml
|
||||||
|
|
||||||
#####################################################################################################
|
|
||||||
### TESTING VIEW ################################################################## VIEWS ###
|
|
||||||
#####################################################################################################
|
|
||||||
- !include configuration/ui-lovelace/200-testing.yaml
|
|
||||||
|
Reference in New Issue
Block a user