Repositorio focado no metodo oficial da LG ThinQ Connect com autenticacao por token (PAT).
Fontes oficiais:
- https://smartsolution.developer.lge.com/en/apiManage/thinq_connect?s=1775682127433
- https://github.com/thinq-connect/pythinqconnect
API_LG.py: cliente principal da API v2 (token/PAT).lg_cli.py: atalho para testar rapidamente o mesmo cliente.check_LG_AC.sh: wrapper para compatibilidade com item antigo do Zabbix.lg_v2_state.json: arquivo local gerado automaticamente para guardarclient_idecountry.
Funcao do arquivo:
- Guardar estado local da integracao v2 para reutilizacao entre execucoes.
- Armazenar principalmente
client_id(UUID gerado automaticamente) ecountry.
Importante:
- Ele nao guarda o PAT/token secreto.
- O token deve ficar em
.env, variavel de ambiente ou outro local seguro.
Para baixar direto no diretorio de scripts externos do Zabbix:
cd /usr/lib/zabbix/externalscripts
git clone https://github.com/andrebolzan/API_LG_ZABBIX.git
cd API_LG_ZABBIX- Python 3
- Biblioteca
requests - Personal Access Token (PAT) do ThinQ Connect
Instalacao de dependencia:
pip3 install requestsAjuste owner/permissoes da pasta:
sudo chown -R zabbix:zabbix /usr/lib/zabbix/externalscripts/API_LG_ZABBIX
sudo chmod -R 750 /usr/lib/zabbix/externalscripts/API_LG_ZABBIXConfigure o diretorio de scripts externos no Zabbix:
- Server: arquivo
zabbix_server.conf - Proxy: arquivo
zabbix_proxy.conf - Parametro:
ExternalScripts
Exemplo:
ExternalScripts=/usr/lib/zabbix/externalscripts/Criar link simbolico para compatibilidade da key no Zabbix:
cd /usr/lib/zabbix/externalscripts
ln -s API_LG_ZABBIX/check_LG_AC.sh check_LG_AC.shPor que usar pasta direta + link simbolico:
- O parametro
ExternalScriptsdo Zabbix aponta para um unico diretorio base. - Alguns cenarios/keys ficam mais simples usando
check_LG_AC.shdireto na raiz desse diretorio. - O link simbolico evita duplicar script e garante que a execucao continue no codigo oficial de
API_LG_ZABBIX.
Depois reinicie o servico correspondente:
sudo systemctl restart zabbix-server
# ou
sudo systemctl restart zabbix-proxy- Acesse:
https://connect-pat.lgthinq.com - Faca login com a conta ThinQ.
- Clique em
ADD NEW TOKEN. - Informe o nome do token.
- Selecione os recursos (features) que deseja usar.
- Clique em
CREATE TOKEN. - Copie o token gerado para uso no script.
Opcao 1 - por parametro:
python3 API_LG.py --token "SEU_PAT" -c BR lsOpcao 2 - por variavel de ambiente:
export LG_THINQ_TOKEN="SEU_PAT"
export LG_THINQ_COUNTRY="BR"
python3 API_LG.py lsOpcao 3 - por arquivo .env na raiz do projeto:
PAT=SEU_PAT
LG_THINQ_COUNTRY=BRCriar o arquivo .env automaticamente:
cat > .env <<'EOF'
PAT=SEU_PAT
LG_THINQ_COUNTRY=BR
EOFRecomendado para evitar alteracoes indevidas e vazamento do PAT:
cd /usr/lib/zabbix/externalscripts/API_LG_ZABBIX
chown root:zabbix .env
chmod 640 .envOpcional (ambientes Linux com chattr): travar arquivo contra escrita acidental.
chattr +i .envPara editar depois:
chattr -i .envListar dispositivos (alias;tipo;id):
python3 lg_cli.py lsImportante para Zabbix:
- O
IDretornado nolse o identificador que voce deve usar no template/macro do Zabbix. - Guarde esse
IDcorretamente para cada equipamento monitorado.
Listar dispositivos em JSON:
python3 lg_cli.py ls --rawSobre --raw:
- O
--rawexibe todos os dados retornados pela API em JSON (saida completa, sem resumo).
Status de um dispositivo:
python3 lg_cli.py status <DEVICE_ID> --rawPerfil de um dispositivo:
python3 lg_cli.py profile <DEVICE_ID> --rawListagem via shell script (mesmo fluxo do Zabbix):
./check_LG_AC.sh --lsArquivo pronto para import:
grafana_dashboard_zabbix_v2.json
Esse dashboard usa variaveis para listar automaticamente os equipamentos (hosts) do grupo selecionado no Zabbix.
Passos:
- Importe o arquivo
grafana_dashboard_zabbix_v2.jsonno Grafana. - Selecione o datasource do Zabbix (plugin
alexanderzobnin-zabbix-datasource). - Em
Grupo, escolha o grupo onde estao os hosts com o template LG v2. - O dashboard passa a exibir automaticamente todos os hosts/equipamentos desse grupo.