Boa noite,
A solução que eu arranjei para esse mesmo componente foi a seguinte:
- Para os valores numéricos criei vários input_number
- Um automatismo para actualizar os input_number
- Vários sensores template que são no fundo o que fica visível
3.1) Uso um sensor snmp para calcular o tempo que a impressora está ligada
Em baixo o exemplo da minha configuração:
- input_number.yaml
nivel_tinteiro_preto:
min: 0
max: 100
unit_of_measurement: "%"
icon: mdi:printer-3d-nozzle
nivel_tinteiro_amarelo:
min: 0
max: 100
unit_of_measurement: "%"
icon: mdi:printer-3d-nozzle
nivel_tinteiro_cyan:
min: 0
max: 100
mode: box
unit_of_measurement: "%"
icon: mdi:printer-3d-nozzle
nivel_tinteiro_magenta:
min: 0
max: 100
mode: box
unit_of_measurement: "%"
icon: mdi:printer-3d-nozzle
paginas_a_preto_e_branco:
min: 0
max: 9999999
mode: box
unit_of_measurement: p
icon: mdi:mdi:file-document-outline
paginas_a_cores:
min: 0
max: 9999999
mode: box
unit_of_measurement: p
icon: mdi:mdi:file-document-outline
paginas_total:
min: 0
max: 9999999
mode: box
unit_of_measurement: p
icon: mdi:mdi:file-document-outline
- automations.yaml
- id: '1560077109299'
alias: Impressora
description: ra
trigger:
- entity_id: sensor.mfc_j5320dw_b_w_counter
platform: state
- entity_id: sensor.mfc_j5320dw_black_ink_remaining
platform: state
- entity_id: sensor.mfc_j5320dw_color_counter
platform: state
- entity_id: sensor.mfc_j5320dw_cyan_ink_remaining
platform: state
- entity_id: sensor.mfc_j5320dw_magenta_ink_remaining
platform: state
- entity_id: sensor.mfc_j5320dw_page_counter
platform: state
- entity_id: sensor.mfc_j5320dw_yellow_ink_remaining
platform: state
condition:
- condition: or
conditions:
- condition: template
value_template: '{{ states.sensor.mfc_j5320dw_b_w_counter.state | float > -1
}}'
- condition: template
value_template: '{{ states.sensor.mfc_j5320dw_black_ink_remaining.state | float
> -1 }}'
- condition: template
value_template: '{{ states.sensor.mfc_j5320dw_color_counter.state | float >
-1 }}'
- condition: template
value_template: '{{ states.sensor.sensor.mfc_j5320dw_cyan_ink_remaining.state
| float > -1 }}'
- condition: template
value_template: '{{ states.sensor.mfc_j5320dw_magenta_ink_remaining.state |
float > -1 }}'
- condition: template
value_template: '{{ states.sensor.mfc_j5320dw_page_counter.state | float > -1
}}'
- condition: template
value_template: '{{ states.sensor.mfc_j5320dw_yellow_ink_remaining.state | float
> -1 }}'
action:
- data_template:
entity_id: input_number.nivel_tinteiro_preto
value: '{{ states.sensor.mfc_j5320dw_black_ink_remaining.state }}'
service: input_number.set_value
- data_template:
entity_id: input_number.nivel_tinteiro_amarelo
value: '{{ states.sensor.mfc_j5320dw_yellow_ink_remaining.state }}'
service: input_number.set_value
- data_template:
entity_id: input_number.nivel_tinteiro_cyan
value: '{{ states.sensor.mfc_j5320dw_cyan_ink_remaining.state }}'
service: input_number.set_value
- data_template:
entity_id: input_number.nivel_tinteiro_magenta
value: '{{ states.sensor.mfc_j5320dw_magenta_ink_remaining.state }}'
service: input_number.set_value
- data_template:
entity_id: input_number.paginas_a_preto_e_branco
value: '{{ states.sensor.mfc_j5320dw_b_w_counter.state }}'
service: input_number.set_value
- data_template:
entity_id: input_number.paginas_a_cores
value: '{{ states.sensor.mfc_j5320dw_color_counter.state }}'
service: input_number.set_value
- data_template:
entity_id: input_number.paginas_total
value: '{{ states.sensor.mfc_j5320dw_page_counter.state }}'
service: input_number.set_value
initial_state: 'on'
3 sensors.yaml
- platform: template
sensors:
paginas_p_b:
value_template: >
{{ states.input_number.paginas_a_preto_e_branco.state | round }}
unit_of_measurement: 'p'
friendly_name: "Páginas P&B"
icon_template: mdi:file-document-outline
paginas_cores:
value_template: >
{{ states.input_number.paginas_a_cores.state | round }}
unit_of_measurement: 'p'
friendly_name: "Páginas Cor"
icon_template: mdi:file-document-outline
paginas_total:
value_template: >
{{ states.input_number.paginas_total.state | round }}
unit_of_measurement: 'p'
friendly_name: "Total de Páginas"
icon_template: mdi:file-document-outline
nivel_amarelo:
value_template: >
{{ states.input_number.nivel_tinteiro_amarelo.state | round }}
unit_of_measurement: '%'
friendly_name: "Tinteiro Amarelo"
icon_template: mdi:printer-3d-nozzle
nivel_cyan:
value_template: >
{{ states.input_number.nivel_tinteiro_cyan.state | round }}
unit_of_measurement: '%'
friendly_name: "Tinteiro Cyan"
icon_template: mdi:printer-3d-nozzle
nivel_magenta:
value_template: >
{{ states.input_number.nivel_tinteiro_magenta.state | round }}
unit_of_measurement: '%'
friendly_name: "Tinteiro Magenta"
icon_template: mdi:printer-3d-nozzle
nivel_preto:
value_template: >
{{ states.input_number.nivel_tinteiro_preto.state | round }}
friendly_name: "Tinteiro Preto"
icon_template: mdi:printer-3d-nozzle
unit_of_measurement: '%'
status_impressora:
value_template: >
{% if is_state('sensor.mfc_j5320dw_status', 'unavailable') %}
Desligado
{% else %}
{{ states.sensor.mfc_j5320dw_status.state }}
{% endif %}
friendly_name: "Brother MFC-J5320DW"
icon_template: mdi:printer
- platform: snmp
name: 'Tempo -> Impressora Ligada'
host: 192.168.1.174
baseoid: 1.3.6.1.2.1.1.3.0
accept_errors: true
unit_of_measurement: 'minutes'
value_template: '{{((value | int) / 6000) | int}}'