You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
EspHoMaTriXv2/copy2esphome/EHMTX_easy_state.yaml

168 lines
5.1 KiB

blueprint:
name: |-
ehmtxv2: show state with unit on on 8x32 RGB-display
description: This blueprint is triggered by a state change. If the state is between certain values it will be displayed with special colors or no state change will be displayed
domain: automation
input:
ehmtx_device:
name: which device to display at
selector:
device:
integration: esphome
trigger_sensor:
name: which state to show
description: This sensor state will be displayed
selector:
entity:
domain: sensor
default_color:
name: default text color
description: this is the default textcolor for values within the low and the high value
selector:
color_rgb:
default: [240, 240, 240]
lifetime:
name: how many minutes is this screen in the loop
selector:
number:
min: 1
max: 1440
step: 1
default: 2
screen_time:
name: minimum display time per loop in seconds
selector:
number:
min: 6
max: 120
step: 2
default: 12
icon_name:
name: the icon
selector:
select:
mode: dropdown
options:
["error","home_assistant","temperature","lightbulb","music","phone","car","sleep8x32",]
default: home_assistant
default_font:
name: true uses the default, false the special font
selector:
boolean:
default: true
use_colors:
name: Use colors based on state values
selector:
boolean:
default: true
low_value:
name: below this vaule is a special color
selector:
number:
mode: box
min: -10000
max: +10000
default: 0
low_color:
name: Low color
description: the color for values below the limit
selector:
color_rgb:
default: [40, 240, 40]
high_value:
name: upper limit
selector:
number:
mode: box
min: -10000
max: +10000
default: 0
high_color:
name: High Color
description: Text color for values above the defined value
selector:
color_rgb:
default: [240, 40, 40]
variables:
display: !input ehmtx_device
def_color: !input default_color
lo_color: !input low_color
hi_color: !input high_color
trigger:
- platform: state
entity_id: !input trigger_sensor
action:
- if:
- condition: template
value_template: "{{ not use_colors }}"
then:
- service: esphome.{{ device_attr(display, "name") }}_icon_screen
data:
icon_name: !input icon_name
screen_time: !input screen_time
lifetime: !input lifetime
text: "{{trigger.to_state.attributes.friendly_name}}: {{trigger.to_state.state}} {{trigger.to_state.attributes.unit_of_measurement}}"
default_font: !input default_font
r: |-
{{ def_color[0] }}
g: |-
{{ def_color[1] }}
b: |-
{{ def_color[2] }}
else:
- choose:
- conditions:
- condition: numeric_state
entity_id: !input trigger_sensor
below: !input low_value
sequence:
- service: esphome.{{ device_attr(display, "name") }}_icon_screen
data:
icon_name: !input icon_name
screen_time: !input screen_time
lifetime: !input lifetime
text: "{{trigger.to_state.state}} {{trigger.to_state.attributes.unit_of_measurement}}"
default_font: !input default_font
r: |-
{{ lo_color[0] }}
g: |-
{{ lo_color[1] }}
b: |-
{{ lo_color[2] }}
- conditions:
- condition: numeric_state
entity_id: !input trigger_sensor
above: !input high_value
sequence:
- service: esphome.{{ device_attr(display, "name") }}_icon_screen
data:
icon_name: !input icon_name
screen_time: !input screen_time
lifetime: !input lifetime
text: "{{trigger.to_state.state}} {{trigger.to_state.attributes.unit_of_measurement}}"
default_font: !input default_font
r: |-
{{ hi_color[0] }}
g: |-
{{ hi_color[1] }}
b: |-
{{ hi_color[2] }}
default:
- service: esphome.{{ device_attr(display, "name") }}_icon_screen
data:
icon_name: !input icon_name
screen_time: !input screen_time
lifetime: !input lifetime
text: "{{trigger.to_state.state}} {{trigger.to_state.attributes.unit_of_measurement}}"
default_font: !input default_font
r: |-
{{ def_color[0] }}
g: |-
{{ def_color[1] }}
b: |-
{{ def_color[2] }}