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!