Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
772860344c
|
+1
-1
@@ -1 +1 @@
|
||||
2026.5.1
|
||||
2026.4.1
|
||||
@@ -6692,10 +6692,4 @@
|
||||
entity_id: input_boolean.white_noise_emma_bedroom
|
||||
data: {}
|
||||
alias: Turn off white noise
|
||||
- action: input_boolean.turn_off
|
||||
metadata: {}
|
||||
target:
|
||||
entity_id: input_boolean.emma_bedroom_mode_switch
|
||||
data: {}
|
||||
alias: Turn off mode switch
|
||||
mode: restart
|
||||
|
||||
@@ -6,18 +6,20 @@
|
||||
state = hass?.states[this.config?.entity]?.state || '';
|
||||
}
|
||||
|
||||
let bg_color = 'var(--bubble-main-background-color)';
|
||||
let off_color = this.config?.state_color_button?.off_color
|
||||
? `var(--${this.config.state_color_button.off_color})`
|
||||
: 'var(--bubble-main-background-color)';
|
||||
|
||||
// Use the configured color or default to accent color
|
||||
let on_color = this.config?.state_color_button?.color
|
||||
? `var(--${this.config.state_color_button.color})`
|
||||
let on_color = this.config?.state_color_button?.on_color
|
||||
? `var(--${this.config.state_color_button.on_color})`
|
||||
: 'var(--bubble-accent-color)';
|
||||
|
||||
// Main button background
|
||||
const mainButton = card?.querySelector('.bubble-button-background');
|
||||
if (mainButton) {
|
||||
mainButton.style.opacity = '1';
|
||||
mainButton.style.backgroundColor = state === 'on' ? on_color : bg_color;
|
||||
mainButton.style.backgroundColor = state === 'on' ? on_color : off_color;
|
||||
mainButton.style.transition = 'background-color 1s';
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
- name: color
|
||||
label: Color (CSS Variable)
|
||||
- name: on_color
|
||||
label: On Color (CSS Variable)
|
||||
selector:
|
||||
text: {}
|
||||
required: false
|
||||
- name: off_color
|
||||
label: Off Color (CSS Variable)
|
||||
selector:
|
||||
text: {}
|
||||
required: false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
state_color_button:
|
||||
name: State Color Button
|
||||
version: 1.2.0
|
||||
version: 2.0.0
|
||||
creator: Tony Stork
|
||||
supported:
|
||||
- button
|
||||
@@ -14,7 +14,7 @@ state_color_button:
|
||||
alt_entity: sensor.your_face
|
||||
</pre></code-block>
|
||||
code: |-
|
||||
${(() => {
|
||||
`${(() => {
|
||||
let state;
|
||||
if (this.config?.state_color_button?.alt_entity) {
|
||||
state = hass?.states[this.config?.state_color_button?.alt_entity]?.state || '';
|
||||
@@ -22,18 +22,20 @@ state_color_button:
|
||||
state = hass?.states[this.config?.entity]?.state || '';
|
||||
}
|
||||
|
||||
let bg_color = 'var(--bubble-main-background-color)';
|
||||
let off_color = this.config?.state_color_button?.off_color
|
||||
? `var(--${this.config.state_color_button.off_color})`
|
||||
: 'var(--bubble-main-background-color)';
|
||||
|
||||
// Use the configured color or default to accent color
|
||||
let on_color = this.config?.state_color_button?.color
|
||||
? `var(--${this.config.state_color_button.color})`
|
||||
let on_color = this.config?.state_color_button?.on_color
|
||||
? `var(--${this.config.state_color_button.on_color})`
|
||||
: 'var(--bubble-accent-color)';
|
||||
|
||||
// Main button background
|
||||
const mainButton = card?.querySelector('.bubble-button-background');
|
||||
if (mainButton) {
|
||||
mainButton.style.opacity = '1';
|
||||
mainButton.style.backgroundColor = state === 'on' ? on_color : bg_color;
|
||||
mainButton.style.backgroundColor = state === 'on' ? on_color : off_color;
|
||||
mainButton.style.transition = 'background-color 1s';
|
||||
}
|
||||
|
||||
@@ -54,10 +56,15 @@ state_color_button:
|
||||
|
||||
// No CSS string needed
|
||||
return '';
|
||||
})()}
|
||||
})()}`
|
||||
editor:
|
||||
- name: color
|
||||
label: Color (CSS Variable)
|
||||
- name: on_color
|
||||
label: On Color (CSS Variable)
|
||||
selector:
|
||||
text: {}
|
||||
required: false
|
||||
- name: off_color
|
||||
label: Off Color (CSS Variable)
|
||||
selector:
|
||||
text: {}
|
||||
required: false
|
||||
|
||||
@@ -130,7 +130,6 @@ recorder:
|
||||
- sensor.*airpods_info
|
||||
- sensor.*airpods_pro_info
|
||||
- sensor.*response_time*
|
||||
- sensor.system_monitor*
|
||||
entities:
|
||||
- sensor.avg_ping
|
||||
- sensor.max_ping
|
||||
@@ -293,7 +292,6 @@ influxdb:
|
||||
- sensor.adguard*
|
||||
- sensor.*response_time*
|
||||
- sensor.weatheralerts*
|
||||
- sensor.system_monitor*
|
||||
entities:
|
||||
- media_player.living_room_tv
|
||||
- media_player.basement_tv
|
||||
@@ -475,7 +473,6 @@ prometheus:
|
||||
- sensor.adguard*
|
||||
- sensor.*response_time*
|
||||
- sensor.weatheralerts*
|
||||
- sensor.system_monitor*
|
||||
include_entities:
|
||||
- media_player.living_room_tv
|
||||
- media_player.basement_tv
|
||||
|
||||
+1
-41
@@ -676,44 +676,4 @@ intent_script:
|
||||
data:
|
||||
entity_id: "{{ mode }}"
|
||||
speech:
|
||||
text: "Master bedroom set to {{ mode }}"
|
||||
|
||||
template:
|
||||
- binary_sensor:
|
||||
- name: "Second Floor Windows Open"
|
||||
unique_id: 5656bf10-ac5b-467e-8cf7-e8331598352d
|
||||
state: >
|
||||
{% set open = states.binary_sensor
|
||||
| selectattr('attributes.device_class','eq','window')
|
||||
| selectattr('entity_id','in',label_entities('window'))
|
||||
| selectattr('entity_id','in',floor_entities('second_floor'))
|
||||
| selectattr('state','eq','on')
|
||||
| list
|
||||
| count %}
|
||||
{{ open > 0 }}
|
||||
attributes:
|
||||
open_windows: >
|
||||
{% set open = states.binary_sensor
|
||||
| selectattr('attributes.device_class','eq','window')
|
||||
| selectattr('entity_id','in',label_entities('window'))
|
||||
| selectattr('entity_id','in',floor_entities('second_floor'))
|
||||
| selectattr('state','eq','on')
|
||||
| list
|
||||
| count %}
|
||||
{{ open }}
|
||||
- name: "Emma Bedroom Climate Inhibit"
|
||||
unique_id: 76f8ff76-2994-46bf-913c-736e97d72c3b
|
||||
state: >
|
||||
{{ is_state('binary_sensor.second_floor_windows_open','on') and is_state('binary_sensor.emma_bedroom_door','on') }}
|
||||
- name: "Master Bedroom Climate Inhibit"
|
||||
unique_id: e529bf0c-7975-477e-a0f8-4a05480674a9
|
||||
state: >
|
||||
{% set open = states.binary_sensor
|
||||
| selectattr('attributes.device_class','eq','window')
|
||||
| selectattr('entity_id','in',label_entities('window'))
|
||||
| selectattr('entity_id','in',area_entities('master_bedroom'))
|
||||
| selectattr('state','eq','on')
|
||||
| list
|
||||
| count %}
|
||||
{% set shower_mode = states('input_boolean.shower_mode') %}
|
||||
{{ (open > 0) and (shower_mode == 'off') }}
|
||||
text: "Master bedroom set to {{ mode }}"
|
||||
@@ -494,12 +494,12 @@ template:
|
||||
unit_of_measurement: 'faults'
|
||||
state: >-
|
||||
{% set window_faults = states('sensor.window_faults') | int %}
|
||||
{% set door_faults = states('sensor.doors_open') | int %}
|
||||
{% set door_faults = states('sensor.door_faults') | int %}
|
||||
{{ door_faults + window_faults }}
|
||||
attributes:
|
||||
faulted: >
|
||||
{% set windows = state_attr('sensor.window_faults','faulted') %}
|
||||
{% set doors = state_attr('sensor.doors_open','faulted') %}
|
||||
{% set doors = state_attr('sensor.door_faults','faulted') %}
|
||||
{{ doors + windows }}
|
||||
icon: >-
|
||||
{% if states('sensor.total_faults') | int == 0 %}
|
||||
|
||||
@@ -76,7 +76,7 @@ ## HACS Lovelace Cards
|
||||
- [Layout Card](https://github.com/thomasloven/lovelace-layout-card)
|
||||
- [Scheduler Card](https://github.com/nielsfaber/scheduler-card) (required for Scheduler component)
|
||||
- [Horizon Card](https://github.com/rejuvenate/lovelace-horizon-card)
|
||||
- [Lovelace Home Feed Card](https://github.com/ben-jam1n/lovelace-home-feed-card)
|
||||
- [Lovelace Home Feed Card](https://github.com/gadgetchnnel/lovelace-home-feed-card)
|
||||
- [Mini Graph Card](https://github.com/kalkih/mini-graph-card)
|
||||
- [Battery State Card](https://github.com/maxwroc/battery-state-card)
|
||||
- [Flipdown Timer Card](https://github.com/pmongloid/flipdown-timer-card)
|
||||
|
||||
Reference in New Issue
Block a user