91 lines
3.6 KiB
YAML
Executable File
91 lines
3.6 KiB
YAML
Executable File
#-------------------------------------------
|
|
# @CCOSTAN
|
|
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
|
# inspired by https://community.home-assistant.io/t/epson-wf-3540-ink-level-monitoring/21813
|
|
#-------------------------------------------
|
|
homeassistant:
|
|
customize_glob:
|
|
"sensor.epson_ink_level_*":
|
|
icon: mdi:cup-water
|
|
emulated_hue_hidden: True
|
|
hidden: False
|
|
homebridge_hidden: True
|
|
#-------------------------------------------
|
|
sensor:
|
|
- platform: command_line
|
|
name: Epson Ink Level Black
|
|
command: /usr/bin/curl -X GET http://192.168.10.105/PRESENTATION/HTML/TOP/PRTINFO.HTML | awk -F"'" '/Ink_K.PNG/ && $6+0 == $6 { printf "%.0f\n", $6 / 50 * 100; exit }'
|
|
unit_of_measurement: '%'
|
|
scan_interval: 14400
|
|
|
|
- platform: command_line
|
|
name: Epson Ink Level Magenta
|
|
command: /usr/bin/curl -X GET http://192.168.10.105/PRESENTATION/HTML/TOP/PRTINFO.HTML | awk -F"'" '/Ink_M.PNG/ && $6+0 == $6 { printf "%.0f\n", $6 / 50 * 100 }'
|
|
unit_of_measurement: '%'
|
|
scan_interval: 14400
|
|
|
|
- platform: command_line
|
|
name: Epson Ink Level Yellow
|
|
command: /usr/bin/curl -X GET http://192.168.10.105/PRESENTATION/HTML/TOP/PRTINFO.HTML | awk -F"'" '/Ink_Y.PNG/ && $6+0 == $6 { printf "%.0f\n", $6 / 50 * 100 }'
|
|
unit_of_measurement: '%'
|
|
scan_interval: 14400
|
|
|
|
- platform: command_line
|
|
name: Epson Ink Level Cyan
|
|
command: /usr/bin/curl -X GET http://192.168.10.105/PRESENTATION/HTML/TOP/PRTINFO.HTML | awk -F"'" '/Ink_C.PNG/ && $6+0 == $6 { printf "%.0f\n", $6 / 50 * 100 }'
|
|
unit_of_measurement: '%'
|
|
scan_interval: 14400
|
|
|
|
- platform: command_line
|
|
name: Epson Ink Level Photo Black
|
|
command: /usr/bin/curl -X GET http://192.168.10.105/PRESENTATION/HTML/TOP/PRTINFO.HTML | awk -F"'" '/Ink_K.PNG/ {i++}i==2 && $6+0 == $6 { printf "%.0f\n", $6 / 50 * 100; exit }'
|
|
unit_of_measurement: '%'
|
|
scan_interval: 14400
|
|
#-------------------------------------------
|
|
group:
|
|
epson_printer:
|
|
name: Epson Printer Info
|
|
control: hidden
|
|
entities:
|
|
- sensor.epson_ink_level_black
|
|
- sensor.epson_ink_level_cyan
|
|
- sensor.epson_ink_level_magenta
|
|
- sensor.epson_ink_level_yellow
|
|
- sensor.epson_ink_level_photo_black
|
|
#-------------------------------------------
|
|
##############################################################################
|
|
### Automations - Detect when things are not right. Like any Good Watchdog.
|
|
##############################################################################
|
|
|
|
automation:
|
|
- alias: 'Printer Ink Alert'
|
|
initial_state: 'on'
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id:
|
|
- sensor.epson_ink_level_black
|
|
- sensor.epson_ink_level_magenta
|
|
- sensor.epson_ink_level_photo_black
|
|
- sensor.epson_ink_level_yellow
|
|
- sensor.epson_ink_level_cyan
|
|
below: 25
|
|
condition:
|
|
condition: time
|
|
weekday:
|
|
- wed
|
|
action:
|
|
- service: persistent_notification.create
|
|
data_template:
|
|
title: Low Ink
|
|
message: "{{ trigger.to_state.attributes.friendly_name }} is at {{ trigger.to_state.state }} "
|
|
notification_id: low-battery-alert
|
|
- service: script.notify_engine
|
|
data_template:
|
|
value1: "{{ trigger.to_state.attributes.friendly_name }} is at {{ trigger.to_state.state }} "
|
|
who: 'carlo'
|
|
- service: script.tweet_engine
|
|
data:
|
|
tweet: 'Looks like my {{ trigger.to_state.attributes.friendly_name }} is LOW. @CCostan - Get me some more (http://amzn.to/2AnpFwD)'
|
|
|
|
#-------------------------------------------
|