Ubiquiti mport - medição de consumos

Boa noite pessoal, preciso da vossa ajuda.

Tenho como objectivo, fazer medições de consumos eléctricos.

Já vi aqui no forum vários tutoriais, com os mais diversos tipos de dispositivos. No meu caso tenho já os tenho a uns bons anos 3 mport da ubiquiti - link, e gostava de os aproveitar para este fim

Sempre medi os meus consumos através da aplicação da ubiquiti, mas agora queria integrar com o home assistant.

alguém já implementou alguma coisa destas com estes equipamentos?

um abraço

Uma pesquisa rápida na net diz que existe uma integração directa para HA. Não é isso que queres?

Boa noite Jorge,

desde já obrigado pela tua ajuda. Mas sim, já fiz pesquisas na net :slight_smile:
inclusive essa informação está muito crua. é preciso ir aos mport por SSH e instalar o MQTT cliente e configurar o ficheiro com os dados do servidor de MQTT

a minha pergunta, é mais porque já fiz N tentativas e não consigo depois fazer mais nada. Ou seja, no dashboard, não me aparece nada para adicionar. :frowning:

No meu ficheiro configuration.yaml adicionei o seguinte configo:

sensor:
  - platform: mfi
    host: !secret  ip01
    username: !secret ubnt_username
    password: !secret ubnt_password

  - platform: mfi
    host: !secret  ip02
    username: !secret ubnt_username
    password: !secret ubnt_password

não era suposto poder adicionar algum sensor no dashboard?

Era isso que devias ter dito logo de inicio. Se já instalaste o MQTT nos equipamentos a informação não vai aparecer sozinha no HA, vais ter de configurar os sensores e depois adicioná-los à interface.

Se fores a Developer Tools > States não te aparecem lá os equipamentos que configuras-te?

não, nada que diga ubnt, mfi, ubiquiti ou mport…

nos log’s tenho esta informação:

Unable to connect to mFi: HTTPSConnectionPool(host=‘192.168.88.33’, port=6443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6f72ff8d10>: Failed to establish a new connection: [Errno 111] Connection refused’))

10:06 PM components/mfi/sensor.py (ERROR)

Unable to connect to mFi: HTTPSConnectionPool(host=‘192.168.88.34’, port=6443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6f73000190>: Failed to establish a new connection: [Errno 111] Connection refused’))

10:06 PM components/mfi/sensor.py (ERROR)

não tenho nem adicionei nenhum ficheiro nessa pasta components/mfi/sensor.py. era suposto? :thinking:

Não tens nem podes ter porque o componente está a dar um erro de ligação aos equipamentos. Estás a estabelecer a ligação por http ou https?

Esse ficheiro pertence ao componente mFi e está a dar erro por não encontrar nenhum equipamento.

já experimentei via HTTP e HTTPS

se for via HTTP

  - platform: mfi
    host: 192.168.88.34
    username: !secret ubnt_username
    password: !secret ubnt_password
#    port: 6080
    ssl: false
    verify_ssl: false

no ficheiro de LOG tenho:

Unable to connect to mFi: HTTPConnectionPool(host=‘192.168.88.34’, port=6080): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.HTTPConnection object at 0x7fab3286ee90>: Failed to establish a new connection: [Errno 111] Connection refused’))

se for via http:

  - platform: mfi
    host: 192.168.88.34
    username: !secret ubnt_username
    password: !secret ubnt_password
#    port: 6080
#    ssl: false
    verify_ssl: false

no ficheiro de LOG tenho o mesmo erro:

Unable to connect to mFi: HTTPSConnectionPool(host=‘192.168.88.34’, port=6443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7f84e0129750>: Failed to establish a new connection: [Errno 111] Connection refused’))

E tens a certeza que essas portas estão correctas? Se os equipamentos estão a funcionar correctamente na tua LAN, experimenta utilizar um software para fazer scan às portas dos equipamentos (como este por exemplo, https://www.advanced-port-scanner.com) para confirmar que portas estão de facto abertas.

A informação que está no site do home assistant as duas portas de default 6080 e 6433, segundo o scan, não estão abertas.

já tentei com as portas default 6080 e 6443, já experimentei com as portas 80 e 443 que estão abertas no equipamento, já experimentei com SSL a true e a false em todas as portas, não sei o que experimentar mais.

do lado do equipamento da ubiquiti, tenho estes logs

Dec 8 10:46:43 mPort1 user.notice mqtt: killing old instances
Dec 8 10:46:44 mPort1 user.notice mqtt: Using temp file /tmp/mqtmp.XXXXQ6hK3e
Dec 8 10:46:44 mPort1 user.notice mqtt: starting pub and sub scripts
Dec 8 10:46:44 mPort1 user.notice mqtt: MQTT listening…
Dec 8 10:46:44 mPort1 user.notice mqtt: mFi Type: mPort.
Dec 8 10:46:44 mPort1 daemon.info init: reloading /etc/inittab
Dec 8 10:46:44 mPort1 daemon.info init: starting pid 1456, tty ‘/dev/null’: ‘/bin/mcad -d’
Dec 8 10:46:44 mPort1 user.notice mqtt: Found 3 ports.
Dec 8 10:46:44 mPort1 user.notice mqtt: Publishing to 192.168.88.249 with topic homeassistant/mPort1
Dec 8 10:46:44 mPort1 daemon.info init: process ‘/bin/mcad’ (pid 986) exited. Scheduling for restart.
Dec 8 10:46:45 mPort1 daemon.info init: process ‘/bin/mcad -d’ (pid 1456) exited. Scheduling for restart.
Dec 8 10:46:45 mPort1 daemon.info init: starting pid 1482, tty ‘/dev/null’: ‘/bin/mcad -d’

Que IP é esse 192.168.88.249? Já experimentaste usar o MQTT Explorer ou o MQTT.fx para ver se os tópicos chegam ao HA?

o 249 é o servidor do meu home assistant :slight_smile:

vou ver, vou instalar o MQTT Explorer até porque é algo que nunca experimentei :frowning:

vou dando noticias

um abraço e obrigado pela tua ajuda .

1 Like

Não sei se ajuda em alguma coisa mas encontrei isto:

Bom dia Jorge,

Também já tinha lido essa documentação. Alias, pelo que percebi essas configurações são fundamentar para instalar o serviço MQTT client nos dispositivos de medição da ubiquiti.

Depois dessas configurações, é que comecei a ver nos LOG’s do lado da ubiquiti a informação que te enviei anteriormente.

Ando de volta do MQTT Explorer :slight_smile:

E tens os tópicos do equipamentos a chegar ao broker? Uma coisa que me esqueci de perguntar é se os equipamentos estão a enviar tópicos diferentes, se estão todos a enviar o mesmo tópico o broker não sabe qual esta a falar com ele e fica tudo baralhado…

Jorge, tudo bem?

finalmente tive um pouco de tempo para instalar o MQTT Explorer

confirmo que recebo mensagens mqtt dos meus dois equipamenros mport com tópicos diferentes

image

e agora o que faço eu com isto?! :slight_smile:

Boa! Agora precisava de saber exactamente qual é o tópico e o payload de cada equipamento e que tipo de equipamento são cada uma (parecem ser tomadas com medição de energia, certo?).

Caso sejam tomadas com medição precisas de um switch MQTT e de um (ou mais) sensor MQTT para cada uma. Algo deste género:

switch:
  - platform: mqtt
    name: "Bedroom Switch"
    state_topic: "home/bedroom/switch1"
    command_topic: "home/bedroom/switch1/set"
    availability_topic: "home/bedroom/switch1/available"
    payload_on: "ON"
    payload_off: "OFF"
    state_on: "ON"
    state_off: "OFF"
    optimistic: false
    qos: 0
    retain: true
sensor:
  - platform: mqtt
    name: "RSSI"
    state_topic: "home/sensor1/infojson"
    unit_of_measurement: 'dBm'
    value_template: "{{ value_json.RSSI }}"
    availability_topic: "home/sensor1/status"
    payload_available: "online"
    payload_not_available: "offline"
    json_attributes_topic: "home/sensor1/attributes"

P.S.: Isto são apenas exemplos para veres como poderá ficar a configuração.

Obrigado Jorge, vou então ver exemplos e tentar perceber essas configurações.

mas explica-me só uma coisa.

Esses exemplos servem para conseguirmos interpretar as mensagens MQTT que vêm de um switch, ou de um sensor , com um determinado tópico (home/sensor1/infojson), e apresentar no dashboard, certo?

Se assim for, então qual é a necessidade de adicionar o código acima descrito? ou seria outra maneira de conseguir fazer a mesma coisa?

- platform: mfi
    host: 192.168.88.34
    username: !secret ubnt_username
    password: !secret ubnt_password
#    port: 6080
    ssl: false
    verify_ssl: false

Esse código que colocaste agora deveria fazer com que o HA interpretasse a informação que vem desse IP como sendo um equipamento mFi e criasse um device. Como isso não acontece, a solução é criar esse device manualmente com a informação que vem do MQTT para que o HA possa criar a dita entidade. Apenas depois da entidade estar criada é que consegues colocar a informação do frontend do HA.

Ah ok. Muito Obrigado.

1 Like

Copyright © 2017-2020. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade