Minha primeira instalação e o mqtt não funciona

mqtt

(wilson rocha) #1

Fiz hoje a minha primeira instalação.
Consegui acessar o HA pelo navegador, mas não consigo fazer com que meus dispositivos se conectem o broker.
Na verdade acho que o broquer não esta funcionando.
o ip do HA é o mesmo que coloquei no rele sonoff
o rele mostra, na ide arduino, que se conectou em minha rede wifi, mas ele não consegue se conectar ao broker.
já testei minha configurações com o “Configuration validation” e esta tudo verde
já li o que tinha no forum sobre configuração mqtt e nos manuais também.
talvez tenha deixado escapara alguma coisa.
Uma ajuda por favor?
A instalação do HA e esta:
|Version |185|
|Latest version |185|
|Hostname |hassio|
|System |HassOS 2.12|
|Deployment |production|

Instalei o mosquito broker e configurei assim:

{
  "logins": [
    {
      "username": "my_user_name",
      "password": "My_pass"
    }
  ],
  "anonymous": false,
  "customize": {
    "active": false,
    "folder": "mosquitto"
  },
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem"
}

o log dele após o reboot total do sistema é:

[21:29:30] INFO: Setup mosquitto configuration
[21:29:30] WARNING: SSL not enabled - No valid certs found!
[21:29:30] INFO: Found local users inside config
[21:29:30] INFO: Initialize system configuration.
[21:29:31] INFO: Initialize Hass.io Add-on services
[21:29:31] INFO: Initialize Home Assistant discovery
[21:29:31] INFO: Start Mosquitto daemon
1568075371: mosquitto version 1.6.3 starting
1568075371: Config loaded from /etc/mosquitto.conf.
1568075371: Loading plugin: /usr/share/mosquitto/auth-plug.so
1568075371:  ├── Username/password checking enabled.
1568075371:  ├── TLS-PSK checking enabled.
1568075371: |-- *** auth-plug: startup
1568075371:  └── Extended authentication not enabled.
1568075371: Opening ipv4 listen socket on port 1883.
1568075371: Opening ipv6 listen socket on port 1883.
1568075371: Opening websockets listen socket on port 1884.
1568075371: Warning: Mosquitto should not be run as root/administrator.
1568075413: New connection from 172.30.32.1 on port 1883.
1568075414: Socket error on client <unknown>, disconnecting.
1568075414: New connection from 172.30.32.1 on port 1883.
[WARN] Not found homeassistant on local database
1568075414: Socket error on client <unknown>, disconnecting.

As configurações no ficheiro configuration.yanl para um rele é esta:

 - platform: mqtt
    name: Iluminação do quarto
    #icon: mdi:lightbulb
    state_topic: 'apartamento/quarto/status'
    command_topic: 'apartamento/quarto/set'
    optimistic: false
    qos: 1
    availability_topic: "apartamento/quarto/lwt"
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "ONLINE"
    payload_not_available: "OFFLINE"
    retain: true

e no rele sonoff:

#define MQTT_VERSION MQTT_VERSION_3_1_1

// Wifi: SSID and password
const char* WIFI_SSID = "ssid_wifi";
const char* WIFI_PASSWORD = "pass_wifi";

// MQTT: ID, server IP, port, username and password
const PROGMEM char* MQTT_CLIENT_ID = "luz_quarto"; 
const PROGMEM char* MQTT_SERVER_IP = "192.168.15.5";
const PROGMEM uint16_t MQTT_SERVER_PORT = 1883;
const PROGMEM char* MQTT_USER = "my_user_name";
const PROGMEM char* MQTT_PASSWORD = "My_pass";

// MQTT: topics
const PROGMEM char* MQTT_SWITCH_STATUS_TOPIC = "apartamento/quarto/status";
const PROGMEM char* MQTT_SWITCH_COMMAND_TOPIC = "apartamento/quarto/switch";
const char* MQTT_SWITCH_AVAILABILITY = "apartamento/quarto/lwt";

// default payload
const PROGMEM char* SWITCH_ON = "ON";
const PROGMEM char* SWITCH_OFF = "OFF";
const char* payload_available = "ONLINE";
const char* payload_not_available = "OFFLINE";

(Jorge Assunção) #2

Bem vindo ao fórum da CPHA @wil e não esqueças de ler os nossos Termos do Serviço/Regras e a FAQ.

Falta saber a versão do HA, a qual podes verificar indo a Developer Tools >> Info

  • O addon está mesmo a correr (se estiver a correr vais ter um botão stop)?

  • Por acaso o teu username é homeassistant? Essa é uma palavra reservada e não deve ser usada. Usa o mesmo username e password que usas para fazer login no HA. De resto a configuração do addon está correcta.

  • Pelo que vejo estás a usar código costumizado através do Arduino IDE. Existe algum motivo para isso ao invés de utilizares firmwares já bem testados como o Tasmota, Espurna, ESPhome, etc.?


(wilson rocha) #3

Ok obrigado por responder.

A versão é : Home Assistant 0.98.5
gravei o cartãao sd nesta segunda feira.
No addon tem três escolhas unistall restart e stop.
quando escolho stop o restart muda para start na cor azul, então acho que esta rodando sim.
para acessar o HA, tenho meu nome como usuário e uma senha que criei.
este nome de usuário e senha não são os mesmos que utilizo na configuração do mqtt. são distintas.
Com relação ao firmware customizado, peguei na faculdade onde ele é utilizado em outra aplicação baseada na web e com broker público lá funciona.
Tasmota,Espuma,ESPhome ainda não conheço, mas agora vou estudar.


(Jorge Assunção) #4

O problema parece ser o sketch que utilizas não estar a comunicar devidamente com o broker. Para despistar o problema experimenta flashar o Tasmota para ver ser o problema se mantém.