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_show.yaml

91 lines
2.2 KiB

blueprint:
name: |-
ehmtxv2: show screen elements to 8x32 RGB-display
description: add a gauge,indicator or alarm element to your display
domain: automation
input:
ehmtx_device:
name: which device to display at
selector:
device:
integration: esphome
trigger_sensor:
name: which state to show
description: what triggers this automation?
selector:
entity:
domain: sensor
element:
name: the element
selector:
select:
custom_value: true
mode: dropdown
options:
- label: alarm
value: show_alarm
- label: gauge
value: show_gauge
- label: indicator
value: show_indicator
default: show_indicator
gauge_value:
name: the value on the gauge
selector:
number:
mode: slider
min: 0
max: 100
default: 50
size_value:
name: size of the alarm or indicator
selector:
number:
mode: slider
min: 1
max: 3
default: 2
element_color:
name: The color for the element
description: the color
selector:
color_rgb:
default: [240, 40, 40]
variables:
display: !input ehmtx_device
element_color: !input element_color
myservice: !input element
value: !input gauge_value
size: !input size_value
trigger:
- platform: state
entity_id: !input trigger_sensor
action:
- mode: parallel
- if:
- condition: template
value_template: |-
{{ myservice != "show_gauge" }}
then:
- service: esphome.{{ device_attr(display, "name") }}_{{ myservice }}
data:
r: |-
{{ element_color[0] }}
g: |-
{{ element_color[1] }}
b: |-
{{ element_color[2] }}
size: |-
{{ size }}
else:
- service: esphome.{{ device_attr(display, "name") }}_{{ myservice }}
data:
r: |-
{{ element_color[0] }}
g: |-
{{ element_color[1] }}
b: |-
{{ element_color[2] }}
percent: |-
{{ element_color[2] }}