Guest User

Untitled

a guest
Oct 27th, 2020
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 9.79 KB | None | 0 0
  1. #-----Synology Uptime
  2. - platform: snmp
  3.   host: !secret synology_ip
  4.   community: !secret snmp_community
  5.   name: synology_uptime #displays uptime in this format: 96d 8hr 10min
  6.   baseoid: .1.3.6.1.2.1.25.1.1.0
  7.   version: '2c'
  8.   value_template: >
  9.    {%- set time = value | int // 100 %}
  10.     {%- set minutes = ((time % 3600) // 60) %}
  11.     {%- set minutes = '{}min'.format(minutes) if minutes > 0 else '' %}
  12.     {%- set hours = ((time % 86400) // 3600) %}
  13.     {%- set hours = '{}hr '.format(hours) if hours > 0 else '' %}
  14.     {%- set days = (time // 86400) %}
  15.     {%- set days = '{}d '.format(days) if days > 0 else '' %}
  16.     {{ 'Less than 1 min' if time < 60 else days + hours + minutes }}
  17.  
  18. #-----Synology RAID status
  19. - platform: snmp
  20.   host: !secret synology_ip
  21.   community: !secret snmp_community
  22.   name: synology_raid_status
  23.   baseoid: .1.3.6.1.4.1.6574.3.1.1.3.0
  24.   version: '2c'
  25.   value_template: >
  26.    {% set system = value | int %}
  27.     {% if system == 1 %}
  28.     Normal
  29.     {% elif system == 2 %}
  30.     Volume crashed
  31.     {% else %}
  32.     ---
  33.     {% endif %}
  34.  
  35. #-----Synology DSM version
  36. - platform: snmp
  37.   host: !secret synology_ip
  38.   community: !secret snmp_community
  39.   name: synology_dsm_version
  40.   baseoid: .1.3.6.1.4.1.6574.1.5.3.0
  41.   version: '2c'
  42.  
  43. #-----Synology model
  44. - platform: snmp
  45.   host: !secret synology_ip
  46.   community: !secret snmp_community
  47.   name: synology_model
  48.   baseoid: .1.3.6.1.4.1.6574.1.5.1.0
  49.   version: '2c'
  50.  
  51. #-----Synologu update
  52. - platform: snmp
  53.   host: !secret synology_ip
  54.   community: !secret snmp_community
  55.   name: synology_update
  56.   baseoid: .1.3.6.1.4.1.6574.1.5.4.0
  57.   version: '2c'
  58.   value_template: >
  59.    {% set update = value | int %}
  60.     {% if update == 1 %}
  61.     Update available
  62.     {% elif update == 2 %}
  63.     Up to date
  64.     {% elif update == 3 %}
  65.     Connecting
  66.     {% elif update == 4 %}
  67.     Disconnected
  68.     {% elif update == 5 %}
  69.     Others
  70.     {% else %}
  71.     ---
  72.     {% endif %}
  73.  
  74. #-----Synology temperature
  75. - platform: snmp
  76.   host: !secret synology_ip
  77.   community: !secret snmp_community
  78.   name: synology_temperature
  79.   baseoid: .1.3.6.1.4.1.6574.1.2.0
  80.   version: '2c'
  81.   unit_of_measurement: "°C"
  82.  
  83. #-----Synology 15 min load
  84. - platform: snmp
  85.   host: !secret synology_ip
  86.   community: !secret snmp_community
  87.   name: synology_load_15m
  88.   baseoid: .1.3.6.1.4.1.2021.10.1.5.3
  89.   version: '2c'
  90.   value_template: "{{ ((( value | float ) / 100)) }}"
  91.  
  92. #-----Synology System
  93. - platform: snmp
  94.   host: !secret synology_ip
  95.   community: !secret snmp_community
  96.   name: synology_system
  97.   baseoid: .1.3.6.1.4.1.6574.1.1.0
  98.   version: '2c'
  99.   value_template: >
  100.    {% set system = value | int %}
  101.     {% if system == 1 %}
  102.     Normal
  103.     {% elif system == 2 %}
  104.     Volume crashed
  105.     {% else %}
  106.     ---
  107.     {% endif %}
  108.  
  109. ###-----Synology Volumes-----###
  110.  
  111. #-----Synology volume size
  112. - platform: snmp
  113.   host: !secret synology_ip
  114.   community: !secret snmp_community
  115.   name: synology_volume1_size
  116.   baseoid: .1.3.6.1.4.1.6574.3.1.1.5.0
  117.   version: '2c'
  118.   unit_of_measurement: "TB"
  119.   value_template: "{{ ((( value | float ) / 1099511627776) | round(2)) }}"
  120.  
  121. #-----Synology free volume space
  122. - platform: snmp
  123.   host: !secret synology_ip
  124.   community: !secret snmp_community
  125.   name: synology_volume1_free_space
  126.   baseoid: .1.3.6.1.4.1.6574.3.1.1.4.0
  127.   version: '2c'
  128.   unit_of_measurement: "TB"
  129.   value_template: "{{ ((( value | float ) / 1099511627776) | round(2)) }}"
  130.  
  131. #-----Synology used space
  132. - platform: template
  133.   sensors:
  134.     synology_volume1_used_space:
  135.       friendly_name: "Synology Volume 1 Used Space"
  136.       value_template: >
  137.        {% set size = states('sensor.synology_volume1_size') | float %}
  138.         {% set free_space = states('sensor.synology_volume1_free_space') | float %}
  139.         {{ (((size - free_space) | float) | round(2)) }}
  140.       unit_of_measurement: "TB"
  141.  
  142. #-----Synology used space percent
  143. - platform: template
  144.   sensors:
  145.     synology_volume1_used_space_percent:
  146.       friendly_name: "Synology Volume 1 Used Space Percent"
  147.       value_template: >
  148.        {% set usedspace = states('sensor.synology_volume1_used_space') | float %}
  149.         {% set size = states('sensor.synology_volume1_size') | float %}
  150.         {{ (((usedspace / size) * 100 ) | round(0)) }}
  151.       unit_of_measurement: "%"
  152.  
  153. #-----Synology free space percent
  154. - platform: template
  155.   sensors:
  156.     synology_volume1_free_space_percent:
  157.       friendly_name: "Synology Volume 1 Free Space Percent"
  158.       value_template: >
  159.        {% set freespace = states('sensor.synology_volume1_free_space') | float %}
  160.         {% set size = states('sensor.synology_volume1_size') | float %}
  161.         {{ (((freespace / size) * 100 ) | round(0)) }}
  162.       unit_of_measurement: "%"
  163.  
  164.  
  165. ###-----Synology DISKS-----###
  166.  
  167. #-----Synology DISK 1
  168. - platform: snmp
  169.   host: !secret synology_ip
  170.   community: !secret snmp_community
  171.   name: synology_disk1_name
  172.   baseoid: .1.3.6.1.4.1.6574.2.1.1.2.0 ## different for every disk
  173.   version: '2c'
  174.  
  175. - platform: snmp
  176.   host: !secret synology_ip
  177.   community: !secret snmp_community
  178.   name: synology_disk1_status
  179.   baseoid: .1.3.6.1.4.1.6574.2.1.1.5.0 ## different for every disk
  180.   version: '2c'
  181.   value_template: >
  182.    {% set system = value | int %}
  183.     {% if system == 1 %}
  184.     Normal
  185.     {% elif system == 2 %}
  186.     WARNING
  187.     {% else %}
  188.     ---
  189.     {% endif %}
  190.  
  191. - platform: snmp
  192.   host: !secret synology_ip
  193.   community: !secret snmp_community
  194.   name: synology_disk1_temp
  195.   baseoid: .1.3.6.1.4.1.6574.2.1.1.6.0 # different for every disk
  196.   version: '2c'
  197.   unit_of_measurement: "°C"
  198.  
  199. ###-----Synology RAM-----###
  200.  
  201. #-----Synology RAM available
  202. - platform: snmp
  203.   host: !secret synology_ip
  204.   community: !secret snmp_community
  205.   name: synology_ram_available #listed as free in DSM and terminal, see template for total free RAM
  206.   baseoid: .1.3.6.1.4.1.2021.4.6.0
  207.   version: '2c'
  208.   unit_of_measurement: "MB"
  209.   value_template: "{{ ((( value | float ) / 1024) | round(0)) }}"
  210.  
  211. #-----Synology RAM shared
  212. - platform: snmp
  213.   host: !secret synology_ip
  214.   community: !secret snmp_community
  215.   name: synology_ram_shared #shared memory
  216.   baseoid: .1.3.6.1.4.1.2021.4.13.0
  217.   version: '2c'
  218.   unit_of_measurement: "MB"
  219.   value_template: "{{ ((( value | float ) / 1024) | round(0)) }}"
  220.  
  221. #-----Synology RAM total
  222. - platform: snmp
  223.   host: !secret synology_ip
  224.   community: !secret snmp_community
  225.   name: synology_ram_total
  226.   baseoid: .1.3.6.1.4.1.2021.4.5.0
  227.   version: '2c'
  228.   unit_of_measurement: "MB"
  229.   value_template: "{{ ((( value | float ) / 1024) | round(0)) }}"
  230.  
  231. #-----Synology RAM buffer
  232. - platform: snmp
  233.   host: !secret synology_ip
  234.   community: !secret snmp_community
  235.   name: synology_ram_buffer
  236.   baseoid: .1.3.6.1.4.1.2021.4.14.0
  237.   version: '2c'
  238.   unit_of_measurement: "MB"
  239.   value_template: "{{ ((( value | float ) / 1024) | round(0)) }}"
  240.  
  241. #-----Synology RAM cached
  242. - platform: snmp
  243.   host: !secret synology_ip
  244.   community: !secret snmp_community
  245.   name: synology_ram_cached
  246.   baseoid: .1.3.6.1.4.1.2021.4.15.0
  247.   version: '2c'
  248.   unit_of_measurement: "MB"
  249.   value_template: "{{ ((( value | float ) / 1024) | round(0)) }}"
  250.  
  251. #-----Synology RAM used
  252. - platform: template
  253.   sensors:
  254.     synology_ram_used:
  255.       friendly_name: "Synology RAM used"
  256.       value_template: >
  257.        {% set ram_total = states('sensor.synology_ram_total') | float %}
  258.         {% set ram_free = states('sensor.synology_ram_free') | float %}
  259.         {{ (((ram_total - ram_free) | float) | round(0)) }}
  260.       unit_of_measurement: "MB"
  261.  
  262. #-----Synology RAM used percent
  263. - platform: template
  264.   sensors:
  265.     synology_ram_used_percent:
  266.       friendly_name: "Synology RAM used percent"
  267.       value_template: >
  268.        {% set ram_used = states('sensor.synology_ram_used') | float %}
  269.         {% set ram_total = states('sensor.synology_ram_total') | float %}
  270.         {{ (((ram_used / ram_total) * 100 | float) | round(0)) }}
  271.       unit_of_measurement: "%"
  272.  
  273. #-----Synology RAM free
  274. - platform: template
  275.   sensors:
  276.     synology_ram_free:
  277.       friendly_name: "Synology RAM free"
  278.       value_template: >
  279.        {% set ram_available = states('sensor.synology_ram_available') | float %}
  280.         {% set ram_shared = states('sensor.synology_ram_shared') | float %}
  281.         {% set ram_buffer = states('sensor.synology_ram_buffer') | float %}
  282.         {% set ram_cached = states('sensor.synology_ram_cached') | float %}
  283.         {{ (((ram_available + ram_shared + ram_buffer + ram_cached) | float) | round(0)) }}
  284.       unit_of_measurement: "MB"
  285.  
  286. #-----Synology RAM free percent
  287. - platform: template
  288.   sensors:
  289.     synology_ram_free_percent:
  290.       friendly_name: "Synology RAM free percent"
  291.       value_template: >
  292.        {% set ram_free = states('sensor.synology_ram_free') | float %}
  293.         {% set ram_total = states('sensor.synology_ram_total') | float %}
  294.         {{ (((ram_free / ram_total) * 100 | float) | round(0)) }}
  295.       unit_of_measurement: "%"
  296.  
  297. ###-----Synology CPU-----###
  298.  
  299. #-----Synology CPU use percent USER
  300. - platform: snmp
  301.   host: !secret synology_ip
  302.   community: !secret snmp_community
  303.   name: synology_cpu_percent_user
  304.   baseoid: .1.3.6.1.4.1.2021.11.9.0
  305.   version: '2c'
  306.   unit_of_measurement: "%"
  307.  
  308. #-----Synology CPU use percent SYSTEM
  309. - platform: snmp
  310.   host: !secret synology_ip
  311.   community: !secret snmp_community
  312.   name: synology_cpu_percent_system
  313.   baseoid: .1.3.6.1.4.1.2021.11.10.0
  314.   version: '2c'
  315.   unit_of_measurement: "%"
  316.  
  317. #-----Synology CPU use total
  318. - platform: template
  319.   sensors:
  320.     synology_cpu_percent_total:
  321.       friendly_name: "Synology CPU"
  322.       value_template: >
  323.        {% set cpu_user = states('sensor.synology_cpu_percent_user') | float %}
  324.         {% set cpu_system = states('sensor.synology_cpu_percent_system') | float %}
  325.         {{ (((cpu_user + cpu_system) | float) | round(0)) }}
  326.       unit_of_measurement: "%"
  327.  
Advertisement
Add Comment
Please, Sign In to add comment