Главная > Умный дом > Сенсоры NAS NetGear ReadyNAS Pro2 в Home Assistant с помощью SNMP

Сенсоры NAS NetGear ReadyNAS Pro2 в Home Assistant с помощью SNMP


4 января 2021. Разместил: dimon
Добавим сенсоры состояния NAS NetGear ReadyNAS Pro 2 в Home Assistant.

Сначала обновляем древний НетГир NAS до новой операционной системы ReadyNAS OS 6 (стояла старая ОС RAIDator 4.2).
Инструкция

После этого нужно включить SNMP на сетевом накопителе через Web-интерфейс:

Сенсоры NAS NetGear ReadyNAS Pro2 в Home Assistant с помощью SNMP


Далее в Home Assistant в sensors.yaml добавим нужные нам сенсоры:


####################################################
#             SNMP ReadyNAS Pro2                   #
####################################################


  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.2.1.25.1.1.0
    name: 'NAS Uptime'
    value_template: >-
      {% set time = (value | int) | int %}
      {% set minutes = ((time % 360000) / 6000) | int%}
      {% set hours = ((time % 8640000) / 360000) | int %}
      {% set days = (time / 8640000) | int %}
        {%- if time < 60 -%}
          Less then 1 min
          {%- else -%}
          {%- if days > 0 -%}
            {{ days }}d
          {%- endif -%}
          {%- if hours > 0 -%}
            {%- if days > 0 -%}
              {{ ' ' }}
            {%- endif -%}
            {{ hours }}hr
          {%- endif -%}
          {%- if minutes > 0 -%}
            {%- if days > 0 or hours > 0 -%}
              {{ ' ' }}
            {%- endif -%}
            {{ minutes }}min
          {%- endif -%}
        {%- endif -%}
        
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.2.1.1.5.0
    name: 'NAS Name'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.3.1.9.1
    name: 'NAS Disk1 State'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.3.1.9.2
    name: 'NAS Disk2 State'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.3.1.10.1
    name: 'NAS Disk1 Temp' 
    unit_of_measurement: '°C'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.3.1.10.2
    name: 'NAS Disk2 Temp' 
    unit_of_measurement: '°C'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.3.1.7.1
    name: 'NAS Disk1 Capacity'  
    unit_of_measurement: 'b'
        
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.3.1.7.2
    name: 'NAS Disk2 Capacity'  
    unit_of_measurement: 'b'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.4.1.2.1
    name: 'NAS Fan RPM'  
    unit_of_measurement: 'RPM'

  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.5.1.2.1
    name: 'NAS CPU Temp Value'  
    unit_of_measurement: '°C'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.7.1.5.1
    name: 'NAS Volume Size'
    
  - platform: snmp
    host: ip-nas
    baseoid: 1.3.6.1.4.1.4526.22.7.1.6.1
    name: 'NAS Volume Free'
        
# NAS пересчитаные Template сенсоры
  - platform: template
    sensors:
      nas_volume_size_gb:
        friendly_name: "NAS Volume Size Gb"
        unit_of_measurement: 'Gb'
        icon_template: mdi:harddisk
        value_template: "{{ (states('sensor.nas_volume_size')|float / 1048576) | round(2) }}"

  - platform: template
    sensors:
      nas_volume_free_gb:
        friendly_name: "NAS Volume Free Gb"
        unit_of_measurement: 'Gb'
        icon_template: mdi:harddisk
        value_template: "{{ (states('sensor.nas_volume_free')|float / 1048576) | round(2) }}"


ip-nas - адрес сетевого накопителя в локальной сети, можно посмотреть на роутере.
У меня NAS с двумя дисками, если у Вам больше, то можно добавить больше сенсоров.
Два последних сенсора template предназначены для пересчета kb в Gb.
К сожалению я не мог понять как конвертировать MIB-ы READYNASOS в нормальные Object Identifier -ы.
Не помогла даже библиотека OIDView.
Значения baseoid взял из коммунити Home Assistant, там один из пользователей умудрился их соснифить и сопоставить с физическим значением.
Netgear ReadyNAS Integration (snmp)

Теперь немного причешим сенсоры для красоты. Сделаем это в файле customize.yaml:


####################################################
#             SNMP ReadyNAS Pro2                   #
####################################################
sensor.nas_uptime:
  icon: mdi:timeline-clock-outline

sensor.nas_name:
  icon: mdi:nas
  
sensor.nas_disk1_state:
  icon: mdi:harddisk-remove

sensor.nas_disk2_state:
  icon: mdi:harddisk-remove

sensor.nas_disk1_capacity:
  icon: mdi:harddisk
  
sensor.nas_disk2_capacity:
  icon: mdi:harddisk
  
sensor.nas_fan_rpm:
  icon: mdi:fan


Потом добавляем в LoveLace карточку (тип Обьекты) для сетевого накопителя:

type: entities
entities:
  - sensor.nas_name
  - sensor.nas_uptime
  - sensor.nas_fan_rpm
  - sensor.nas_cpu_temp_value
  - type: divider
  - sensor.nas_volume_size_gb
  - sensor.nas_volume_free_gb
  - type: divider
  - sensor.nas_disk1_state
  - sensor.nas_disk2_state
  - sensor.nas_disk1_temp
  - sensor.nas_disk2_temp
  - sensor.nas_disk1_capacity
  - sensor.nas_disk2_capacity
title: ReadyNAS Pro2
show_header_toggle: false


Результат выглядит вот так:

Сенсоры NAS NetGear ReadyNAS Pro2 в Home Assistant с помощью SNMP

Вернуться назад