blueprint: name: AWTRIX show entity description: Show entity domain: automation input: app_name: name: (Required) Application name description: "Application name" default: "awtrix_app" selector: text: multiline: false multiple: false app_icon: name: Application Icon description: "Application icon" default: "" selector: text: multiline: false multiple: false entity: name: Entity description: Entity selector: entity: multiple: false prefix_text: name: Text prefix description: "Text prefix" selector: object: default: "" suffix_text: name: Text suffix description: "Text suffix" selector: object: default: "" extra_triggers: name: Extra Triggers description: Additional triggers to actions. default: selector: trigger: pre_actions: name: Actions description: Actions when starting... selector: action: default: additional_options: name: Additional options description: Extra options selector: object: default: {} user_options: name: AWTRIX application options description: AWTRIX application useroptions. selector: object: default: duration: 5 additional_conditions: name: Additional conditions description: | Extra conditions you may want to add to this automation (Example: Home occupied, TV on, etc) default: [] selector: condition: awtrix_device: name: AWTRIX device description: The AWTRIX device for show app. default: [] selector: device: integration: mqtt manufacturer: Blueforcer model: AWTRIX 3 multiple: true trigger: - platform: state entity_id: !input entity id: update - platform: homeassistant event: start id: update - platform: event event_type: automation_reloaded id: update - triggers: !input extra_triggers variables: entity_id: !input entity app_name: !input app_name app_icon: !input app_icon additional_conditions: !input additional_conditions condition: [] action: - choose: [] default: !input pre_actions - &variable_entity alias: Variable Entity variables: !input additional_options - variables: <<: *variable_entity device_ids: !input awtrix_device # deprecated ! user_data: !input additional_options value_template: "{{ user_data.get('value_template', states(entity_id)) }}" icon_template: "{{ user_data.get('icon_template', app_icon) }}" prefix_text: !input prefix_text suffix_text: !input suffix_text user_options: !input user_options payload: |- {% set full_text = prefix_text ~ value_template ~ suffix_text %} {% set payload_dict = {} %} {% if full_text is not none and full_text | string | trim != "" %} {% set payload_dict = payload_dict | combine({"text": full_text}) %} {% endif %} {% if icon_template is not none and icon_template | string | trim != "" %} {% set payload_dict = payload_dict | combine({"icon": icon_template}) %} {% endif %} {{ payload_dict | tojson }} - repeat: for_each: "{{ device_ids }}" sequence: - variables: awtrix_device_name: "{{ iif( device_attr(repeat.item, 'name_by_user') != none, device_attr(repeat.item, 'name_by_user'), device_attr(repeat.item, 'name') ) }}" - if: !input additional_conditions then: - service: awtrix.{{awtrix_device_name}}_push_app_data data: name: "{{app_name}}" data: "{{ dict(payload, **user_options) if payload | length > 0 else {} }}" else: - service: awtrix.{{awtrix_device_name}}_push_app_data data: name: "{{app_name}}" data: {}