Cosa c'è di nuovo?
HWReload

Registrati e partecipa alle attività del forum

RISOLTO Configurare Home Assistant per accedere ad un brocker MQTT

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
Visto che per un po ho monopolizzato il thread ufficiale e non mi andava di monopolizzare ulteriormente quella discussione, ho deciso di aprire questo thread.

Recap delle puntate precedenti :
Come accennato nell'altro thread, tempo fa ho acquistato 2 "kit di sicurezza" Xiaomi (totale 4 sensori di movimento, 4 sensori apertura/chiusura porte, 2 pulsanti wireless e 2 gateway) per poter coprire tutte le vie di accesso a casa mia (ho comprato 2 kit perché erano in offerta ed il costo dei 2 kit era inferiore al costo di acquistare i soli 8 sensori, senza considerare che nel prezzo venivano incluse anche i 2 pulsanti e 2 gateway).

Deluso dall'app della Xiaomi perché scomoda come personalizzazione delle scene, della relativamente lentezza con cui mi venivano comunicate le variazioni dello stato dei sensori e la "non integrabilità" col mio hub domotico principale (Home Assistant), mi hanno fatto decidere di accantonare i gateway Xiaomi (modello DGNWG05LM, esclusivo per l'europa con firmware "bloccato") e sostituirli completamente con la ConBEE II (un gateway ZigBee USB collegabile direttamente al computer su cui gira Home Assistant). Così facendo ci ho guadagnato in velocità (ricevo via Telegram le notifiche entro 2 secondi dall'apertura della porte/finestre, passaggio di qualcuno davanti i sensori) ed integrazione col resto della mia domotica (non devo più accedere ad un'app per attivare/disattivare l'allarme ma basta che il mio cellulare sia collegato alla wi-fi di casa mia per non venir subissato di notifiche, accensione/spegnimento di luci invece di messaggi di allarme se sono in case, ecc). Unica rogna, visto come è fatta casa mia e posizione del pc con dentro HA, a volte si perde il segnare coi sensori "distanti".
Cercando una possibile soluzione, sono venuto a conoscenza della possibilità di sbloccare i gateway Xiaomi installandoci sopra OpenWRT e MQTT.
Ieri, dopo che mi è arrivato l'adattatore UART 2 USB, sono riuscito a sbloccare uno dei gateway (era da un po che non mi cimentavo in saldature) ed ad installarci OpenWRT.
Installato tutto ora sono fermo nell'integrazione del Gateway Xiaomi in Home Assistant. Ho cercato in giro ma non sono riuscito a trovare una guida che spieghi la cosa.
Le guide che ho trovato spiegano come far comunicare Home Assistant con MQTT installati entrambi sullo stesso hardware/pc , e non come farli comunicare se si trovano su hardware differenti ma che possono accedere alla tessa rete wi-fi.

Qualcuno mi sa dare una mano al riguardo o indirizzare su una guida /video che spieghi in maniera chiara la cosa (inglese o italiano poco importa)?
 

Federico83

Moderatore
Staff
Iscritto dal:
23 Dicembre 2017
Messaggi
1,101

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
vedi se dentro hacs c'è la possibilità di avere estensioni specifiche come le ho io sul gateway 3 o come esphome io ho un esp32 che fa da gateway bt e poi comunica le varie entità via wifi al server hassio quindi dovrebbe essere più o meno simile come cosa

sul wiki hai già letto qualcosa? https://www.home-assistant.io/integrations/luci/

qui hai già letto? https://github.com/openlumi/openlumi.github.io
Effettivamente su HACS ancora non ho guardato, lunedì vedo se riesco a trovare qualcosa.
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
com'è andata?
Non sono riuscito a far si che HOME ASSISTANT si colleghi al brocker MQTT del gateway XIAOMI (sembra che HA non riesca a collegarsi ad un brocker esterno che non sia protetto con nome utente + password), ma sembra sia possibile l'inverso, ossia far si che il gateway XIAOMI usi un brocker MQTT esterno (attualmente riesco ad "accendere/spegnere" la luce del gateway da HA, quindi sembra che HA ed il gateway riescano a "capirsi").
Sul gateway con caricato sopra il firmware OPENWRT è possibile installare uno dei 4 sotto :
- ZigBee2MQTT (la soluzione che ho sto provando io)
- Homa Assistant (con integrazione ZHA per il controllo del ZigBee)
- Zesp32
- Domoticz (con plugin Zigate per il controllo del ZigBee)
a cui si può affiancare LumiMQTT e NODE RED (entrambi per il controllo dei led inclusi nel gateway).

Ci sto ancora lavorando perché "a caso" le periferiche ZigBee che ho collegate al gateway Xiaomi vengono a volte riconosciute a volte no (le indica come "periferische sconosciute"), quindi fino a che non risolvo il problema del corretto riconoscimento da parte del gateway Xiaomi il fatto che i gateway e HA si "parlino" diventa inutile.
 

Federico83

Moderatore
Staff
Iscritto dal:
23 Dicembre 2017
Messaggi
1,101
a me con il coordinator ha installato zigbee home automation ma ho il gateway3
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
Aggiornamento del 13/04/2021
iero sera ho resettato il gateway, riporrtandolo allo stato di "appena installato OpenWRT". Reinstallando le varie componenti su OpenWRT sembra che MQTT funziona perfettamente per controllare i sensori ZigBee (testato un pulsante ZigBee Xiaomi e sembra tutto ok, devo vedere se funzionano correttamente i sensori di apertura porta / sensori movimento), in compenso non mi riesce di controllare i led del Gateway (cosa che prima funzionava perfettamente)... Ci sto uscendo pazzo...

Intendiamoci, potrei bellamente fregarmene di controllare i led del Gateway (li userei al massimo come "luci notturne per non frantumare gli alluci in giro"), ma non sono il tipo da fare lavori "a metà" (DEVE funzionare tutto, anche se non lo uso).
 

Federico83

Moderatore
Staff
Iscritto dal:
23 Dicembre 2017
Messaggi
1,101
Intendiamoci, potrei bellamente fregarmene di controllare i led del Gateway (li userei al massimo come "luci notturne per non frantumare gli alluci in giro"), ma non sono il tipo da fare lavori "a metà" (DEVE funzionare tutto, anche se non lo uso).
mi trovi d'accordo su questo punto!
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
Aggiornamento del 16/04/2021
dopo aver bevuto un sorso di Campari, mi sono seduto ed ho deciso a trovare la motivazione per cui non riuscivo a comandare correttamente le luci del gateway via MQTT. Reinstallo via terminale il componente (lumimqtt) e ricontrollo il file di configurazione confrontandolo con l'esempio dell'autore su GitHub.
Sembra tutto ok, ma continua a non funzionare. Altro sorso di Campari e rapida ricerca su Goggle. Come da consigli per problemi simili laamentati da altri, mi scarico MQTT Explorer e comincio a vedere i dati che tira fuori... Poi l'illuminazione (forse il Campari stava iniziando a fare effetto), come un idiota nella configurazione ho inserito http:// davanti l'IP di Home Assistant.
Rimuovo quei dannati 7 caratteri e finalmente riesco a controllare le luci del gateway Xiaomi direttamente in Home Assistant.
Ho configurato spostato il gateway nella stanza che mi interessava (quella dove alcuni sensori a volte perdono il segnale ZigBee). Devo monitorare nei prossimi giorni se anche così perdono il segnale, in modo da capire se il problema sono loro (difettosi) o era appunto la lontananza da Home Assistant.
Intanto configurando un sensore apertura porte mi da questo avviso nei LOGS (ma l'automazione funziona correttamente)

Codice:
Logger: homeassistant.config
Source: components/zha/device_trigger.py:33
First occurred: 21:05:49 (10 occurrences)
Last logged: 21:43:19

Invalid config for [automation]: InvalidDeviceAutomationConfig() (See /config/configuration.yaml, line 9).
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zha/device_trigger.py", line 31, in async_validate_trigger_config
    zha_device = await async_get_zha_device(hass, config[CONF_DEVICE_ID])
  File "/usr/src/homeassistant/homeassistant/components/zha/core/helpers.py", line 130, in async_get_zha_device
    ieee_address = list(list(registry_device.identifiers)[0])[1]
AttributeError: 'NoneType' object has no attribute 'identifiers'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/config.py", line 101, in _try_async_validate_config_item
    config = await async_validate_config_item(hass, config, full_config)
  File "/usr/src/homeassistant/homeassistant/components/automation/config.py", line 69, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/usr/src/homeassistant/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/usr/src/homeassistant/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config
    return await getattr(platform, "async_validate_trigger_config")(hass, config)
  File "/usr/src/homeassistant/homeassistant/components/zha/device_trigger.py", line 33, in async_validate_trigger_config
    raise InvalidDeviceAutomationConfig from err
homeassistant.components.device_automation.exceptions.InvalidDeviceAutomationConfig
Qualche idea per eliminare questo problema?
 
Ultima modifica:

Federico83

Moderatore
Staff
Iscritto dal:
23 Dicembre 2017
Messaggi
1,101
Aggiornamento del 16/04/2021
dopo aver bevuto un sorso di Campari, mi sono seduto ed ho deciso a trovare la motivazione per cui non riuscivo a comandare correttamente le luci del gateway via MQTT. Reinstallo via terminale il componente (lumimqtt) e ricontrollo il file di configurazione confrontandolo con l'esempio dell'autore su GitHub.
Sembra tutto ok, ma continua a non funzionare. Altro sorso di Campari e rapida ricerca su Goggle. Come da consigli per problemi simili laamentati da altri, mi scarico MQTT Explorer e comincio a vedere i dati che tira fuori... Poi l'illuminazione (forse il Campari stava iniziando a fare effetto), come un idiota nella configurazione ho inserito http:// davanti l'IP di Home Assistant.
Rimuovo quei dannati 7 caratteri e finalmente riesco a controllare le luci del gateway Xiaomi direttamente in Home Assistant.
Ho configurato spostato il gateway nella stanza che mi interessava (quella dove alcuni sensori a volte perdono il segnale ZigBee). Devo monitorare nei prossimi giorni se anche così perdono il segnale, in modo da capire se il problema sono loro (difettosi) o era appunto la lontananza da Home Assistant.
Intanto configurando un sensore apertura porte mi da questo avviso nei LOGS (ma l'automazione funziona correttamente)

Codice:
Logger: homeassistant.config
Source: components/zha/device_trigger.py:33
First occurred: 21:05:49 (10 occurrences)
Last logged: 21:43:19

Invalid config for [automation]: InvalidDeviceAutomationConfig() (See /config/configuration.yaml, line 9).
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zha/device_trigger.py", line 31, in async_validate_trigger_config
    zha_device = await async_get_zha_device(hass, config[CONF_DEVICE_ID])
  File "/usr/src/homeassistant/homeassistant/components/zha/core/helpers.py", line 130, in async_get_zha_device
    ieee_address = list(list(registry_device.identifiers)[0])[1]
AttributeError: 'NoneType' object has no attribute 'identifiers'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/config.py", line 101, in _try_async_validate_config_item
    config = await async_validate_config_item(hass, config, full_config)
  File "/usr/src/homeassistant/homeassistant/components/automation/config.py", line 69, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/usr/src/homeassistant/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/usr/src/homeassistant/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config
    return await getattr(platform, "async_validate_trigger_config")(hass, config)
  File "/usr/src/homeassistant/homeassistant/components/zha/device_trigger.py", line 33, in async_validate_trigger_config
    raise InvalidDeviceAutomationConfig from err
homeassistant.components.device_automation.exceptions.InvalidDeviceAutomationConfig
Qualche idea per eliminare questo problema?
dai una guardata qui https://community.home-assistant.io/t/error-during-setup-of-component-automation/255701
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
Ho controllato, rimosso Blueprint ma nulla. Ho analizzato più attentamente l'errore, ed ho scoperto che non avevo cancellato una automazione rimasta dopo aver "spostato" il sensore apertura porta dalla CONBEE II al GATEWAY XIAOMI, e che quindi ora esisteva un'automazione attivata ma con entità "vuota" (da qui l'errore "InvalidDeviceAutomationConfig()").
Mi sta bene che c'era un errore di configurazione di una automazione, ma non sarebbe una cattiva idea che errori del genere riportino il nome delle automazioni o dell'entità che ha generato l'errore...
Morale della favola, rimosso quella automazione inutile, tutto ora sembra ok (a parte gli avvisi per uso di integrazioni non ufficiali, ma ho installato HACS apposta visto che per alcuni miei dispositivi smart non esistono integrazioni ufficiali).
 

marcovolt

Nuovo utente
Iscritto dal:
8 Ottobre 2021
Messaggi
3
Ciao vizard, ti chiedo gentilmente un aiuto perchè non riesco in alcun modo ad integrare il gateway Xiaomi DGNWG05LM in home assistat dopo aver installato Openwrt e zigbee2mqtt. Cioè non riesco a collegare il brocker MQTT del gateway Xiaomi. Mi sapresti indicare qualche guida se esiste (?) (io non sono riuscito a trovarne) oppure a darmi qualche dritta?. Aggiungo che riesco ad aprire zigbee2mqtt sul gateway alla porta 8090 ma in home assistant niente... Grazie mille!
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
Ciao vizard, ti chiedo gentilmente un aiuto perchè non riesco in alcun modo ad integrare il gateway Xiaomi DGNWG05LM in home assistat dopo aver installato Openwrt e zigbee2mqtt. Cioè non riesco a collegare il brocker MQTT del gateway Xiaomi. Mi sapresti indicare qualche guida se esiste (?) (io non sono riuscito a trovarne) oppure a darmi qualche dritta?. Aggiungo che riesco ad aprire zigbee2mqtt sul gateway alla porta 8090 ma in home assistant niente... Grazie mille!
Ciao,
il trucco sta nel configurare il gateway nell'usare come brocker MQTT quello di HOME ASSISTANT invece che quello incluso nel Gateway. Domattina dovrei riuscire a scrivere qualcosa in più (oggi non credo di riuscire a trovare il tempo per descrivere meglio la cosa).
Devi trovare nei vari merù del gateway la pagina per impostare l'IP e la porta del brocker MQTT di HOME ASSISTANT. Fatto questo hai risolto il problema coi sensori collegati al gateway (per controllare invece sensore di luminosità e luci del gateway devi configurare correttamente il componente LUMIMQTT inserendoci i dati corretti del brocker MQTT di HOMEASSISTANT).
 

marcovolt

Nuovo utente
Iscritto dal:
8 Ottobre 2021
Messaggi
3
Ciao,
grazie per la risposta. Ho provato ad impostare l'ip di home assistant nel pannello zigbee2mqtt del gateway Xiaomi sotto impostazioni MQTT (mqtt://192.168.1.132:1883) ma non riesco ancora a scoprire alcun device in ha.
Mi daresti gentilmente qualche dettaglio in più? Anche riguardo alla configurazione del broker mqtt in ha.
Ti ringrazio molto
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
Ciao,
grazie per la risposta. Ho provato ad impostare l'ip di home assistant nel pannello zigbee2mqtt del gateway Xiaomi sotto impostazioni MQTT (mqtt://192.168.1.132:1883) ma non riesco ancora a scoprire alcun device in ha.
Mi daresti gentilmente qualche dettaglio in più? Anche riguardo alla configurazione del broker mqtt in ha.
Ti ringrazio molto
Anche io all'inizio stavo diventando scemo, ma probabilmente hai fatto il mio stesso errore (non aver compreso come configurare in maniera non corretta il gateway per inviare i dati al broker MQTT).
Sul gateway ho installato ZIGBEE2MQTT, in questo (sezione SETTINGS) ho spuntato "HOME ASSISTANT INTEGRATION" nella linguetta "MAIN".
Nella linguetta "MQTT" (sempre della sezione SETTINGS) ho impostato l'indirizzo di Home Assistant, ma non come hai segnato tu ( mqtt://192.168.1.132:1883 ), ma semplicemente come http://192.168.1.132 (quindi con http:// al posto di mqtt:// ) e senza specificare la porta ( :1883 ).
Assicurati di avere configurato su HOME ASSINSTANT un brocker MQTT ( io uso Mosquitto broker ) e di riportare i relativi dati (UTENTE ed eventuale Password) negli appositi campi.
Fai le opportune modifiche e prova a vedere se risolvi.

1634154157653.png
 

marcovolt

Nuovo utente
Iscritto dal:
8 Ottobre 2021
Messaggi
3
Anche io all'inizio stavo diventando scemo, ma probabilmente hai fatto il mio stesso errore (non aver compreso come configurare in maniera non corretta il gateway per inviare i dati al broker MQTT).
Sul gateway ho installato ZIGBEE2MQTT, in questo (sezione SETTINGS) ho spuntato "HOME ASSISTANT INTEGRATION" nella linguetta "MAIN".
Nella linguetta "MQTT" (sempre della sezione SETTINGS) ho impostato l'indirizzo di Home Assistant, ma non come hai segnato tu ( mqtt://192.168.1.132:1883 ), ma semplicemente come http://192.168.1.132 (quindi con http:// al posto di mqtt:// ) e senza specificare la porta ( :1883 ).
Assicurati di avere configurato su HOME ASSINSTANT un brocker MQTT ( io uso Mosquitto broker ) e di riportare i relativi dati (UTENTE ed eventuale Password) negli appositi campi.
Fai le opportune modifiche e prova a vedere se risolvi.

Ciao,
grazie ancora, ci sono riuscito finalmente.
Ora mi manca solamente LUMIMQTT... è corretto: "mqtt_url": "http://192.168.1.132", (192.168.1.132 è l'ip del mio home assistant su raspberry) nel file opt/lumi/config.json? O devo mettere mqtt://? O cos'altro?
Proprio non riesco a trovare la giusta configurazione, mi posteresti il tuo file config.json?
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
Ciao,
grazie ancora, ci sono riuscito finalmente.
Ora mi manca solamente LUMIMQTT... è corretto: "mqtt_url": "http://192.168.1.132", (192.168.1.132 è l'ip del mio home assistant su raspberry) nel file opt/lumi/config.json? O devo mettere mqtt://? O cos'altro?
Proprio non riesco a trovare la giusta configurazione, mi posteresti il tuo file config.json?
Ciao,
appena posso ci dò un'occhiata e ti dico.
 

vizard

Utente
Iscritto dal:
22 Marzo 2021
Messaggi
25
@marcovolt
Per poter controllare le luci via HOME ASSISTANT, io non ho nessuna cartella lumi sotto la cartella opt, invece ho modificato il file di configurazione lumimqtt.json che ho trovato nella cartellla /etc/.
in mqtt_host devi mettere (tra virgolette) l'IP del tuo home assistant (se non ho capito male dovrebbe essere 192.168.1.132 SENZA alcun https:// )
in mqtt_port ho messo 1883 (senza virgolette)
in mqtt_user il nome utente (tra virgolette " ")
in mqtt_password la password (tra virgolette " ") <= nella foto sotto sembra che non siano virgolette " " ma apostrofi ' ' , è un effetto visivo non voluto
lasciando il resto così come l'ho trovato.
Di seguito foto del mio file lumimqtt.json :
1634590130161.png
inoltre ho modificato il file lumimqtt che ho trovato sotto /etc/init.d assicurandomi che contenesse i riferimenti corretti alla posizione del
file lumimqtt.json
Qua sotto il contenuto del mio file :
1634590624721.png
Fammi sapere se hai risolto
 
Top