Artigo - Monitorando um UPS (nobreak) Ragtech

Olá pessoal,

Escrevi um artigo sobre a minha jornada em como monitorar meu no-break (UPS) da Ragtech usando o Home Assistant, espero que possa ajudar alguém.

Essa é a parte 1, fique ligado para os próximos onde pretendo montar um sistema com ESP32.

3 curtidas

Ola meu caro, como vai? Deparei-me com o seu artigo numa necessidade praticamente identica. Tenho um nobreak Ragtech 1UpNitro e uso o supervise personal em um windows 11. Se entendi adequadamente o seu artigo, voce instalou uma versao de supervise que monitora o nobreak e disponibiliza as infos atraves de um web service… e sendo assim, consome isso no home assistant correto? Qual versao do supervise usou? Abraços!

Nao sendo profundo (nem raso rsrs) conhecedor de código, jsons, yamls e afins, o desafio de fazer o meu Ragtech 1UpNitro aparecer no Home Assistant foi mais fácil do que eu imaginava, graças ao artigo original de @antunesls .

A versao do Supervise é a beta que voce encontra na seção de downloads / softwares em https://ragtech.com.br/downloads/categoria/softwares/ e, se voce usa a versao personal, ela sera desinstalada.

Dito isso, é necessario ir no firewall do windows liberar a porta 4470 para conexoes inbound (o meu windows esta em ingles, mas o caminho foi esse: Settings, Privacy & Security, , Firewall & Networking Protection, Advanced, Inbound Rules, New Rule, Port, TCP, Specific Ports: 4470).

A partir dai e uma vez instalado o Supervise Beta, abra a pagina de monitoracao e descubra na URL o device id do seu nobreak (string de caracteres no fim da URL que parece com algo como “0FFFFF6D0A”.

No configuration.yaml, coloque uma consulta rest como sensor para cada parâmetro que deseja incorporar ao Home Assistant. Para facilitar, deixo o código abaixo. Lembre-se de substituir, na URL de consulta, o “seu_endereco_ip” pelo endereço IP do WIndows que esta conectado ao nobreak via USB e onde o Supervise está instalado.

Substitua tambem o “seu_device_id” pelo… seu device id rsrs

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Potencia de Saida / Carga"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "%"
    device_class: current
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "pOutput"
    value_template: "{{ value_json['device']['vars']['pOutput'] | round(0)}}"

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Carga da Bateria"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "%"
    device_class: BATTERY
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "cBattery"
    value_template: "{{ value_json['device']['vars']['cBattery'] | round(0)}}"

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Tensao de Entrada"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "V"
    device_class: VOLTAGE
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "vInput"
    value_template: "{{ value_json['device']['vars']['vInput'] | round(1)}}"

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Tensao de Saida"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "V"
    device_class: VOLTAGE
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "vOutput"
    value_template: "{{ value_json['device']['vars']['vOutput'] | round(1)}}"

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Tensao da Bateria"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "V"
    device_class: VOLTAGE
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "vBattery"
    value_template: "{{ value_json['device']['vars']['vBattery'] | round(1)}}"

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Temperatura"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "C"
    device_class: TEMPERATURE
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "temperature"
    value_template: "{{ value_json['device']['vars']['temperature'] | round(0)}}"

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Frequencia de Saida"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "Hz"
    device_class: FREQUENCY
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "fOutput"
    value_template: "{{ value_json['device']['vars']['fOutput'] | round(0)}}"

  - platform: rest
    name: "Nobreak Ragtech 1UpNitro: Corrente de Saida"
    resource: http://seu_endereco_ip:4470/mon/1.1/device/seu_device_id
    unit_of_measurement: "A"
    device_class: CURRENT
    json_attributes_path: "$.device.vars"
    json_attributes:
      - "iOutput"
    value_template: "{{ value_json['device']['vars']['iOutput'] | round(2)}}"

Abraços!

Boa!, eu ia te responder hoje, fico feliz que tenha conseguido fazer funcionar.

Tenho um outro projeto que faz o monitoramento do UPS com um ESP32, se você se interessar, assim não fica nenhuma maquina presa com esse serviço.

1 curtida