179 lines
5.2 KiB
YAML
179 lines
5.2 KiB
YAML
|
|
homeassistant:
|
|
customize:
|
|
package.node_anchors:
|
|
package_name: &package_name "sudo_is"
|
|
common_attrs: &common_attrs
|
|
package: *package_name
|
|
common_attrs_templated: &common_attrs_templated
|
|
templated: true
|
|
<<: *common_attrs
|
|
|
|
sensor.sudo_is_api_myip:
|
|
friendly_name: "sudo.is/api/myip IP"
|
|
check_domain: !secret myip_domain
|
|
entity_picture: "https://www.sudo.is/favicon.png"
|
|
<<: *common_attrs
|
|
sensor.sudo_is_api_myip_dns:
|
|
friendly_name: "sudo.is/api/myip DNS"
|
|
check_domain: !secret myip_domain
|
|
entity_picture: "https://www.sudo.is/favicon.png"
|
|
<<: *common_attrs
|
|
binary_sensor.sudo_is_api_myip_check:
|
|
friendly_name: "sudo.is/api/myip DNS check"
|
|
check_domain: !secret myip_domain
|
|
entity_picture: "https://www.sudo.is/favicon.png"
|
|
<<: *common_attrs
|
|
|
|
binary_sensor.sudo_is_api_health_www:
|
|
friendly_name: "sudo.is/api/health: www"
|
|
entity_picture: "https://www.sudo.is/favicon.png"
|
|
<<: *common_attrs
|
|
binary_sensor.sudo_is_api_health_api:
|
|
friendly_name: "sudo.is/api/health: api"
|
|
entity_picture: "https://www.sudo.is/favicon.png"
|
|
<<: *common_attrs
|
|
binary_sensor.sudo_is_api_health_login:
|
|
friendly_name: "sudo.is/api/health: login"
|
|
entity_picture: "https://www.sudo.is/img/authelia.ico"
|
|
<<: *common_attrs
|
|
binary_sensor.sudo_is_api_health_notflix:
|
|
friendly_name: "sudo.is/api/health: notflix"
|
|
entity_picture: "https://www.sudo.is/img/logo-jellyfin.svg"
|
|
<<: *common_attrs
|
|
binary_sensor.sudo_is_api_health_git:
|
|
friendly_name: "sudo.is/api/health: git"
|
|
entity_picture: "https://www.sudo.is/img/gitea.svg"
|
|
<<: *common_attrs
|
|
|
|
sensor.sudo_is_version:
|
|
friendly_name: "www.sudo.is version"
|
|
entity_picture: "https://www.sudo.is/favicon.png"
|
|
<<: *common_attrs
|
|
|
|
sensor.sudo_is_version_date:
|
|
friendly_name: "www.sudo.is date"
|
|
entity_picture: "https://www.sudo.is/favicon.png"
|
|
<<: *common_attrs
|
|
|
|
|
|
rest:
|
|
- resource: https://www.sudo.is/api/myip/check
|
|
params:
|
|
domain: !secret myip_domain
|
|
scan_interval: 60
|
|
method: GET
|
|
verify_ssl: true
|
|
sensor:
|
|
- name: sudo_is_api_myip
|
|
icon: |
|
|
{% set check_id = "binary_sensor.sudo_is_api_myip_domain" %}
|
|
{% if has_value(check_id) and is_state(check_id, "on") %}
|
|
mdi:close-network-outline
|
|
{% else %}
|
|
mdi:ip-network
|
|
{% endif %}
|
|
value_template: |
|
|
{{ value_json.myip.ip_address }}
|
|
json_attributes_path: "$.myip"
|
|
json_attributes:
|
|
- ipv
|
|
- ipv4
|
|
- ipv6
|
|
- "User-Agent"
|
|
- name
|
|
- name: sudo_is_api_myip_dns
|
|
icon: mdi:network
|
|
value_template: |
|
|
{{ value_json.myip.name }}
|
|
- name: sudo_is_api_myip_request_param_domain
|
|
icon: mdi:network
|
|
value_template: |
|
|
{{ value_json.domain }}
|
|
|
|
binary_sensor:
|
|
- name: sudo_is_api_myip_check
|
|
device_class: problem
|
|
icon: |
|
|
{% if is_state(this.entity_id, "off") %}
|
|
mdi:web
|
|
{% else %}
|
|
mdi:web-off
|
|
{% endif %}
|
|
value_template: |
|
|
{{ value_json.domain_check|bool == false }}
|
|
|
|
- resource: https://www.sudo.is/api/health
|
|
scan_interval: 60
|
|
method: GET
|
|
verify_ssl: true
|
|
binary_sensor:
|
|
- name: sudo_is_api_health_www
|
|
device_class: problem
|
|
icon: |
|
|
{% if is_state(this.entity_id, "off") %}
|
|
mdi:web
|
|
{% else %}
|
|
mdi:web-off
|
|
{% endif %}
|
|
value_template: |
|
|
{{ value_json.www|bool == false }}
|
|
- name: sudo_is_api_health_api
|
|
device_class: problem
|
|
icon: |
|
|
{% if is_state(this.entity_id, "off") %}
|
|
mdi:api
|
|
{% else %}
|
|
mdi:api-off
|
|
{% endif %}
|
|
value_template: |
|
|
{{ value_json.api|bool == false }}
|
|
- name: sudo_is_api_health_notflix
|
|
device_class: problem
|
|
icon: |
|
|
{% if is_state(this.entity_id, "off") %}
|
|
mdi:television-play
|
|
{% else %}
|
|
mdi:television-off
|
|
{% endif %}
|
|
value_template: |
|
|
{{ value_json.notflix|bool == false }}
|
|
- name: sudo_is_api_health_login
|
|
device_class: problem
|
|
icon: |
|
|
{% if is_state(this.entity_id, "off") %}
|
|
mdi:login
|
|
{% else %}
|
|
mdi:network-off-outline
|
|
{% endif %}
|
|
value_template: |
|
|
{{ value_json.login|bool == false }}
|
|
- name: sudo_is_api_health_git
|
|
device_class: problem
|
|
icon: |
|
|
{% if is_state(this.entity_id, "off") %}
|
|
mdi:git
|
|
{% else %}
|
|
mdi:network-off-outline
|
|
{% endif %}
|
|
value_template: |
|
|
{{ value_json.git|bool != true }}
|
|
|
|
- resource: https://www.sudo.is/version.json
|
|
scan_interval: 60
|
|
method: GET
|
|
verify_ssl: true
|
|
sensor:
|
|
- name: sudo_is_version
|
|
icon: mdi:git
|
|
value_template: |
|
|
{{ value_json.version }}
|
|
json_attributes:
|
|
- commit
|
|
- name: sudo_is_version_date
|
|
icon: mdi:git
|
|
device_class: date
|
|
value_template: |
|
|
{{ value_json.date }}
|
|
|