MQTT broker não liga

Estou farto de seguir tutoriais e não consigo por a funcionar o MQTT. Quando altero a configuração para que tenha user e password dá-me o seguinte erro:

not a valid value for dictionary value @ data[‘options’]. Got {‘logins’: [{‘username’: ‘MQTT’, ‘password’: ‘MQTT’}], ‘anonymous’: False, ‘customize’: {‘active’: False, ‘folder’: ‘mosquitto’}, ‘certfile’: ‘fullchain.pem’, ‘keyfile’: ‘privkey.pem’}

Quando deixo estar com a configuração padrão, simplesmente não liga.

O user e password são exemplificativos.

Alguém já lhe aconteceu o mesmo?

Isso tem a ver com os espaçamentos do código mas uma vez que não colocaste o código não podemos adivinhar…

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

Formata o código devidamente, vê nas FAQ.

Eu também tinha esse problema, fiz “Reset to Defaults” e depois “Save”.
De seguida alterei o que queria.

Realmente deixou de dar erro, mas não arranca na mesma.

Nos log continua a dar erros “ERROR (SyncWorker_11) [hassio.docker] Can’t start addon_core_mosquitto: 500 Server Error: Internal Server Error (“driver failed programming external connectivity on endpoint addon_core_mosquitto (1ce5172968cae81caec8aa8a66d657879957b3f7d32de8c42be0d9f600883709): Error starting userland proxy: listen tcp 0.0.0.0:1883: bind: address already in use”)”

Como está o configuration.yaml?

Assim:

mqtt:

Ou assim:

mqtt:
  broker: THE_BROKER_IP_ADDRESS

Para usar o mosquitto tens de especificar o IP do broker.

mqtt:
  broker: 192.168.1.10
  port: 1883
  keepalive: 30
  username: MQTT
  password: MQTT

input_boolean:
  zigbee_permiso_vinculacion:
    name: Permitir Vinculacion
    initial: off
    icon: mdi:cellphone-wireless

timer:
  zigbee_permiso_vinculacion:
    name: Tempo Restante
    duration: '00:05:00'

sensor:
  - platform: mqtt
    name: Zigbee
    state_topic: "zigbee2mqtt/bridge/state"
    icon: mdi:router-wireless

Parece estar bem. Não sei ajudar mais, pode ser que o @j_assuncao saiba ajudar.

Pelo que entendo dos logs, parece que um dos campos onde deveria por o IP do broker teria sido deixado em branco, mas já corri tudo e não encontro onde falta metr o IP.

Tens de apagar tudo o que diga respeito ao MQTT no ficheiro configuration.yaml. Depois de tudo apagado reinicia o HA e vai às integrações e adicionas o MQTT. Se as configurações do addon estiverem correctas vai ficar tudo a funcionar.

1 Like

Jorge, tirei tudo o que dizia respeito ao MQTT do ficheiro configuration.yaml e automation.yaml e reiniciei o HA.
Após reiniciar, fui ao menu integrações e escolhi MQTT, coloquei o broker o IP do HA, user e password e mantive o porto.
Fui ao add-on fiz reset ás configurações e save e fiz start, sem sucesso. Para descargo de consciência, voltei a reiniciar o HA e colocar na configuração do add-on user e password e voltei a tentar, sem sucesso. Voltei a por tudo como estava e nada.
O erro mantém-se: “20-01-29 11:28:27 ERROR (SyncWorker_4) [hassio.docker] Can’t start addon_core_mosquitto: 500 Server Error: Internal Server Error (“driver failed programming external connectivity on endpoint addon_core_mosquitto (2b1454efd3e0ee34fbf22c7612cade7cdd6452fc4b27342b68bcd3c0db443b4d): Error starting userland proxy: listen tcp 0.0.0.0:1883: bind: address already in use”)”

Fizeste ai um passo mal, o reset às configurações retira o user e pass que meteste na integração.

Descreve qual o setup em que tens o teu HA para verificar um possível problema…

Boa noite Jorge,

Acabei por voltar a instalar tudo de novo e pelos vistos resolveu quase todos os meus problemas.

  • O MQTT ficou a funcionar
  • Consegui actualizar o HA
  • O zigbee tambem me parece estar a funcionar.

Só tenho um problema, para meter a funcionar o MQTT tirei a configuração de um tutorial espanhol e ao tentar traduzir para português começou a dar alguns erros para os quais pedia que me verificassem o que está mal ou que me fizessem a tradução o melhor possível:

Automations.yaml
- id: Habilitar Vinculação Zigbee
  alias: Habilitar Vinculação Zigbee
  hide_entity: true
  trigger:
    platform: state
    entity_id: input_boolean.zigbee_permitir_vinculação
    to: 'on'
  action:
  - service: mqtt.publish
    data:
      topic: zigbee2mqtt/bridge/config/permit_join
      payload: 'true'
  - service: timer.start
    data:
      entity_id: timer.zigbee_permitir_vinculação
- id: Desabilitação Vinculação Zigbee
  alias: Desabilitar Vinculação Zigbee
  trigger:
  - entity_id: input_boolean.zigbee_permitir_vinculação
    platform: state
    to: 'off'
  action:
  - data:
      payload: 'false'
      topic: zigbee2mqtt/bridge/config/permit_join
    service: mqtt.publish
  - data:
      entity_id: timer.zigbee_permit_join
    service: timer.cancel
  hide_entity: true
- id: Desabilitar Vinculação Zigbee por tempo
  alias: Desabilitar Vinculaão Zigbee por tempo
  hide_entity: true
  trigger:
  - platform: event
    event_type: timer.finished
    event_data:
      entity_id: timer.zigbee_permitir_vinculação
  action:
  - service: mqtt.publish
    data:
      topic: zigbee2mqtt/bridge/config/permit_join
      payload: 'false'
  - service: input_boolean.turn_off
    data:
      entity_id: input_boolean.zigbee_permitir_vinculação
Configurations.yaml
mqtt:
  broker: 192.168.1.10
  port: 1883
  keepalive: 30
  username: xxxx
  password: xxxx

input_boolean:
  zigbee_permitir_vinculação:
    name: Permitir Vinculação
    initial: off
    icon: mdi:cellphone-wireless

timer:
  zigbee_permitir_vinculação:
    name: Tempo Restante
    duration: '00:05:00'

sensor:
  - platform: mqtt
    name: Zigbee
    state_topic: "zigbee2mqtt/bridge/state"
    icon: mdi:router-wireless

E quais são os erros?

Não sei se dá para entender:

Invalid config for [automation]: Entity ID input_boolean.zigbee_permitir_vinculação is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None. (See /config/configuration.yaml, line 13).
Invalid config for [automation]: Entity ID input_boolean.zigbee_permitir_vinculação is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None. (See /config/configuration.yaml, line 13).
Invalid config for [input_boolean]: invalid slug zigbee_permitir_vinculação (try zigbee_permitir_vinculacao) for dictionary value @ data[‘input_boolean’]. Got OrderedDict([(‘zigbee_permitir_vinculação’, OrderedDict([(‘name’, ‘Permitir Vinculação’), (‘initial’, False), (‘icon’, ‘mdi:cellphone-wireless’)]))]). (See /config/configuration.yaml, line 65).
Component error: hacs - Integration ‘hacs’ not found.
Invalid config for [timer]: invalid slug zigbee_permitir_vinculação (try zigbee_permitir_vinculacao) for dictionary value @ data[‘timer’]. Got OrderedDict([(‘zigbee_permitir_vinculação’, OrderedDict([(‘name’, ‘Tempo Restante’), (‘duration’, ‘00:05:00’)]))]). (See /config/configuration.yaml, line 71).

@Broa não me pediste opinião,mas caso a possa dar, essa automação pouco interesse tem.
Podes ter o join a true directamente no addon, que não vai causar problemas alguns.Tenho assim desde que saiu e nunca tive qualquer problema.

Rodolfo, toda a ajuda é bem vida e eu agradeço.
Mas então qual é o motivo dos erros?
Podes partilhar esta parte do código caso seja em inglês ou português ?

Cumprimentos

@Broa quando publicares código ou logs deves sublinhar o texto que queres transformar em código e clicar no icone </>. Deverá existir um espaço antes e outro depois do bloco de código para que funcione correctamente. O código em Yaml é muito sensível aos espaçamentos e sem o código devidamente formatado não te poderemos ajudar. E nos logs há pormenores que só devidamente formatados se conseguem ver.

Vê um exemplo:


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


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