HA - Integração com central de Alarme Intelbras

Verifica atualizações do NR addon, NR integração (hacs) e dentro do NR a paleta node-red-contrib-home-assistant-websocket.

Aqui está tudo atualizado, menos o ha,
Estou no 2024.5.1

Tinha uma vm de testes antiga e fui atualizando aos poucos, todas criaram o arquivo amt_comandos e subiram normalmente.

Config original da VM:

Core
2024.3.0
Supervisor
2024.05.1
Operating System
12.2
Frontend
20240306.0
node-red-contrib-home-assistant-websocket
0.63.0

[11:55:31] INFO: Starting NGinx...
14 May 11:58:00 - [info] Stopping flows
14 May 11:58:00 - [info] Stopped flows
14 May 11:58:00 - [info] Updated flows
14 May 11:58:00 - [info] Starting flows
14 May 11:58:00 - [info] Started flows
14 May 11:58:05 - [info] [server:Home Assistant] Connecting to http://supervisor/core
14 May 11:58:05 - [info] [server:Home Assistant] Connected to http://supervisor/core
14 May 11:58:10 - [AMT] Testando Comando Status. Caso nenhum comando funcione, verifique senha, IP e compatibilidade da central.
14 May 11:58:10 - [AMT] Comando 1: Descontinuado.
14 May 11:58:10 - [AMT] Comando 2: Status OK
14 May 11:58:10 - [AMT] Comando 3: Inválido.
14 May 11:58:10 - [AMT] Modelo da Central: AMT 4010 SMART

Websocket 0.63 > 0.64

Core
2024.3.0
Supervisor
2024.05.1
Operating System
12.2
Frontend
20240306.0
node-red-contrib-home-assistant-websocket
0.64.0

[12:01:51] INFO: Starting NGinx...
14 May 12:01:56 - [info] [server:Home Assistant] Connecting to http://supervisor/core
14 May 12:01:56 - [info] [server:Home Assistant] Connected to http://supervisor/core
14 May 12:02:01 - [AMT] Testando Comando Status. Caso nenhum comando funcione, verifique senha, IP e compatibilidade da central.
14 May 12:02:01 - [AMT] Comando 1: Descontinuado.
14 May 12:02:01 - [AMT] Comando 2: Status OK
14 May 12:02:01 - [AMT] Comando 3: Inválido.
14 May 12:02:01 - [AMT] Modelo da Central: AMT 4010 SMART

OS 12.2 > 12.3

Core
2024.3.0
Supervisor
2024.05.1
Operating System
12.3
Frontend
20240306.0
node-red-contrib-home-assistant-websocket
0.64.0

[12:07:01] INFO: Starting NGinx...
14 May 12:07:01 - [info] Starting flows
14 May 12:07:01 - [info] Started flows
14 May 12:07:06 - [info] [server:Home Assistant] Connecting to http://supervisor/core
14 May 12:07:06 - [info] [server:Home Assistant] Connected to http://supervisor/core
14 May 12:07:11 - [AMT] Testando Comando Status. Caso nenhum comando funcione, verifique senha, IP e compatibilidade da central.
14 May 12:07:11 - [AMT] Comando 1: Descontinuado.
14 May 12:07:11 - [AMT] Comando 2: Status OK
14 May 12:07:11 - [AMT] Comando 3: Inválido.
14 May 12:07:11 - [AMT] Modelo da Central: AMT 4010 SMART

Core 2024.3.0 > 2024.5.3

Core
2024.5.3
Supervisor
2024.05.1
Operating System
12.3
Frontend
20240501.1
node-red-contrib-home-assistant-websocket
0.64.0

[12:18:06] INFO: Starting NGinx...
14 May 12:18:11 - [info] [server:Home Assistant] Connecting to http://supervisor/core
14 May 12:18:11 - [info] [server:Home Assistant] Connected to http://supervisor/core
14 May 12:18:16 - [AMT] Testando Comando Status. Caso nenhum comando funcione, verifique senha, IP e compatibilidade da central.
14 May 12:18:16 - [AMT] Comando 1: Descontinuado.
14 May 12:18:16 - [AMT] Comando 2: Status OK
14 May 12:18:16 - [AMT] Comando 3: Inválido.
14 May 12:18:16 - [AMT] Modelo da Central: AMT 4010 SMART
1 curtida

Funcionou! Faltava atualizar o NR dentro do HACS muito obrigado!!

fiz isso mas ainda nao voltou minha integração… agora estou com o erro:

InputError: Entity could not be found in cache for entityId: switch.central_amt_requisicao_de_status

Sensores Indisponíveis

Central Desconectada

TypeError: Cannot read properties of undefined (reading ‘0’)

ja fiz tudo que passou pela cabeça… desde apagar tudo do node-red, o addon, a integração, as entidades, removi ele do hacs… reinstalei tudo mas nao me resolveu…

Verifica se essa entidade foi criada
switch.central_amt_requisicao_de_status

E tem que ver em qual nó está dando o erro.

Está ali, mas está com 2 no final, não sei porque!!!

Refaça os passos que mandei no outro post.
Lembrando que tudo relacionado ao NR tem que estar atualizado e vc tem que conseguir apagar todas entidades antes de iniciar o NR novamente

Pessoal, a minha central é uma 4010. Consegui. com muito custo, fazer o device aparecer usando a última versão do fluxo (flow). Entretanto, sensores estão todos como UNKNOWN e nada funciona.

O log mostra isso aqui:

27 May 16:34:04 - [error] [ha-binary-sensor:Central AMT - Central Online] InputError: Integration not loaded
27 May 16:34:04 - [error] [ha-binary-sensor:Central AMT - Central Online] InputError: Integration not loaded
27 May 16:34:04 - [error] [api-current-state:Requisicao_de_status] InputError: Entity could not be found in cache for entityId: switch.central_amt_requisicao_de_status
27 May 16:34:09 - [error] [ha-binary-sensor:Central AMT - Central Online] InputError: Integration not loaded
27 May 16:34:09 - [info] [debug:Aviso desconexão] Central Desconectada
27 May 16:34:14 - [info] [debug:Sensores Indisponíveis] Sensores Indisponíveis
27 May 16:36:40 - [info] Stopping flows
27 May 16:36:40 - [info] [server:Home Assistant] Closing connection to http://supervisor/core
27 May 16:36:40 - [info] Stopped flows
27 May 16:36:40 - [info] Updated flows
27 May 16:36:40 - [info] Starting flows
27 May 16:36:40 - [info] Started flows
27 May 16:36:45 - [info] [server:Home Assistant] Connecting to http://supervisor/core
27 May 16:36:45 - [info] [server:Home Assistant] Connected to http://supervisor/core
27 May 16:36:49 - [AMT] Recuperando Comando Status…
27 May 16:36:49 - [AMT] Caso tenha alterado a senha, apague o arquivo \config\node-red\amt_comandos.txt e reinicie o flow
27 May 16:36:54 - [info] [debug:Aviso desconexão] Central Desconectada
27 May 16:36:59 - [info] [debug:Sensores Indisponíveis] Sensores Indisponíveis
27 May 16:40:47 - [info] Stopping flows
27 May 16:40:47 - [info] [server:Home Assistant] Closing connection to http://supervisor/core
27 May 16:40:47 - [info] Stopped flows
27 May 16:40:47 - [info] Updated flows
27 May 16:40:47 - [info] Starting flows
27 May 16:40:47 - [info] Started flows
27 May 16:40:52 - [info] [server:Home Assistant] Connecting to http://supervisor/core
27 May 16:40:52 - [info] [server:Home Assistant] Connected to http://supervisor/core
27 May 16:40:57 - [AMT] Recuperando Comando Status…
27 May 16:40:57 - [AMT] Caso tenha alterado a senha, apague o arquivo \config\node-red\amt_comandos.txt e reinicie o flow
27 May 16:41:02 - [info] [debug:Aviso desconexão] Central Desconectada
27 May 16:41:07 - [info] [debug:Sensores Indisponíveis] Sensores Indisponíveis

Não tem nenhum arquivo nesta pasta node-red.

Também tenho itens duplicados nas entidades e não consigo apagar. Já tentei os procedimentos de parar o Node Red, reiniciar e tentar apagar as entidades. Não permite.

Ao clicar na configuração da entidade, recebo esta mensagem:

“This entity (‘sensor.central_amt_ack’) does not have a unique ID, therefore its settings cannot be managed from the UI. See the documentation for more detail.”

Config do meu HA:

|Installation Type|Home Assistant OS|

  • Core 2024.5.1
  • Supervisor 2024.05.1
  • Operating System 12.2
  • Frontend 20240501.0

Eu mesmo corrigi. O arquivo amt_comandos fica na pasta /addon_configs/xxxxxxxx_nodered/node-red. Por isso eu não encontrava. Reiniciei tudo e funcionou!

Porém o “alarm panel” do Home Assistant não reconhece a central. Alguém pode me indicar o que fazer?

Acho que o alarm painel não controla nenhuma central.
O que ele faz é criar um painel onde vc pode “Armar” e “desarmar” um alarme virtual com senha.
Mas toda a logica de sensores, notificações, tocar uma sirene etc vc tem que criar usando automações.

Acho que se vc criar a integração, deve ser criado um sensor de status e vc poderia usar isso como gatilho para ativar ou desativar o alarme

Pessoal a configuração de timezone ta funcionando para voces? Aqui eu tive que mudar o node que faz a conta se ta sincronizado ou nao, pois eu estou em campo grande e o fuso horario é -4… mudei o timezone no node de senhas mas nao deu diferença alguma, entao entrei no node funcao amt2018 e alterei o calculo de sincronismo manualmente…

Funcionou mas achei uma solução meio feia kk

Agradeço a todo mundo que ajudou aqui, consegui fazer a central funcionar.
No fim, aparece uma série de switches e sensores, mas não uma central de segurança. Então eu criei uma, e vai aqui pra quem quiser usar.
Nesse caso eu só tenho duas partições na minha central, uma sempre armo, outra só quando não estou em casa, daí criei esses dois estados, home e away.

Dá pra integrar o código de desarme, também, se você quiser. Consegui inclusive fazer a central aparecer pra Alexa.

Coloque isso no seu arquivo de configuração:

alarm_control_panel:
  - platform: template
    panels:
      intelbras:
        name: Alarme Intelbras
        unique_id: alarme_intelbras
        code_arm_required: false
        value_template: >
          {% if states("binary_sensor.central_amt_central_disparada") == "unknown" -%}
            unavailable
          {%- elif states("binary_sensor.central_amt_central_disparada") == "problem" -%}
            triggered
          {%- else -%}
            {## on: unlocked: alarme nao ativado ##}
            {% if (states("binary_sensor.central_amt_particao_a") == "unknown") or states("binary_sensor.central_amt_particao_b") == "unknown" -%}
              unavailable
            {% elif (states("binary_sensor.central_amt_particao_a") == "off") and states("binary_sensor.central_amt_particao_b") == "off" -%}
              armed_away
            {% elif (states("binary_sensor.central_amt_particao_a") == "on") and states("binary_sensor.central_amt_particao_b") == "on" -%}
              disarmed
            {% elif (states("binary_sensor.central_amt_particao_a") == "off") and states("binary_sensor.central_amt_particao_b") == "on" -%}
              armed_home
            {%- else -%}
              armed_vacation {## ativado so em cima, estranho ##}
            {%- endif %}
          {%- endif %}
        arm_away:
          #  service: switch.turn_on
          #  target:
          #    entity_id: switch.central_amt_central
          - service: switch.turn_on
            target:
              entity_id: switch.central_amt_particao_a
          - service: switch.turn_on
            target:
              entity_id: switch.central_amt_particao_b
        arm_home:
          - service: switch.turn_on
            target:
              entity_id: switch.central_amt_particao_a
          - service: switch.turn_off
            target:
              entity_id: switch.central_amt_particao_b
        disarm:
          service: switch.turn_off
          target:
            entity_id: switch.central_amt_central
2 curtidas

Pessoal, estou tentando desabilitar algumas entidades que não uso, mas ao reiniciar o HA elas retornam habilitadas. Por exemplo, as zonas que eu não uso.
Alguém sabe como fazer isso? Será um bug nesse processo todo?
Será que dá pra fazer pelo configuration.yaml pra ficar persistente?

Nunca tentei desabilitar, mas tenta pelo NR.
Abre o nó azul referente a zona e na tela que abre, seleciona desabilitar na parte de baixo.

fala pessoal, com a última atualização do nodered comecei a ter o seguinte erro: eu reinicializo o NR e aparece o status da central certinho tudo blz… se eu armo ou desarmo pelo controle ou pelo app da intelbras o status é exibido certinho no HA , porém se eu tento armar ou desarmar pelo HA ele trava o node red, nos logs do nodered tenho o seguinte erro:

[18:22:52] INFO: Starting NGinx…
23 Jun 18:22:52 - [info] [thingzi-timer:Desliga Compressor Automatico - 00:00] Scheduled ‘ON’ (tod) for Mon Jun 24 2024 00:00:00 GMT-0400
23 Jun 18:22:52 - [info] [thingzi-timer:Desliga Compressor Automatico - 18:00] Scheduled ‘ON’ (tod) for Mon Jun 24 2024 18:00:00 GMT-0400
23 Jun 18:22:52 - [info] [thingzi-timer:Desliga Compressor Automatico - 12:00] Scheduled ‘ON’ (tod) for Mon Jun 24 2024 12:00:00 GMT-0400
23 Jun 18:22:52 - [info] Started flows
23 Jun 18:22:52 - [info] [tasmota-mqtt-broker:LocalHost] Connected to broker: http://192.168.100.20
23 Jun 18:22:57 - [info] [server:Home Assistant] Connecting to http://supervisor/core
23 Jun 18:22:57 - [info] [server:Home Assistant] Connecting to http://supervisor/core
23 Jun 18:22:57 - [info] [server:Home Assistant] Connected to http://supervisor/core
23 Jun 18:22:57 - [info] [server:Home Assistant] Connected to http://supervisor/core
23 Jun 19:22:59 - [AMT] Recuperando Comando Status…
23 Jun 19:22:59 - [AMT] Caso tenha alterado a senha, apague o arquivo \config\node-red\amt_comandos.txt e reinicie o flow
23 Jun 18:23:00 - [error] [api-call-service:Central Conectada] Calls to RED.util.evaluateJSONataExpression must include a callback.
23 Jun 18:23:00 - [error] [api-call-service:Central Conectada] Calls to RED.util.evaluateJSONataExpression must include a callback.
23 Jun 18:23:12 - [red] Uncaught Exception:
23 Jun 18:23:12 - [error] Error: Calls to RED.util.evaluateJSONataExpression must include a callback.
at Object.evaluateJSONataExpression (/opt/node_modules/@node-red/util/lib/util.js:780:23)
at JSONataService.evaluate (/config/node_modules/node-red-contrib-home-assistant-websocket/dist/common/services/JSONataService.js:58:39)
at TypedInputService.getValue (/config/node_modules/node-red-contrib-home-assistant-websocket/dist/common/services/TypedInputService.js:58:85)
at /config/node_modules/node-red-contrib-home-assistant-websocket/dist/common/controllers/OutputController.js:58:50
at Array.forEach ()
at ButtonController.setCustomOutputs (/config/node_modules/node-red-contrib-home-assistant-websocket/dist/common/controllers/OutputController.js:57:20)
at ButtonController.onTrigger (/config/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/button/ButtonController.js:15:14)
at entityConfigNode.emit (node:events:517:28)
at entityConfigNode.Node.emit (/opt/node_modules/@node-red/runtime/lib/nodes/Node.js:192:20)
at BidirectionalIntegration.onHaEventMessage (/config/node_modules/node-red-contrib-home-assistant-websocket/dist/common/integration/BidirectionalEntityIntegration.js:76:39)
[18:23:12] INFO: Service Node-RED exited with code 1 (by signal 0)
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service nginx: stopping
[18:23:12] INFO: Service NGINX exited with code 0 (by signal 0)
s6-rc: info: service nginx successfully stopped
s6-rc: info: service init-nginx: stopping
s6-rc: info: service nodered: stopping
s6-rc: info: service init-nginx successfully stopped
s6-rc: info: service nodered successfully stopped
s6-rc: info: service init-nodered: stopping
s6-rc: info: service init-nodered successfully stopped
s6-rc: info: service init-customizations: stopping
s6-rc: info: service init-customizations successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting

atualizei os nodes dentro do manage pallete … resolveu o problema

Fala galera, to tentando integrar com a AMT 2018E SMART mas to tendo alguns problemas.
Configurei as senhas no arquivo, no DEBUG 3 mostra como conectado, porém dá alguns erros em alguns nodes.

node Indisponivel:

7/8/2024, 11:01:52 PMnode: Indisponível
msg : error
"HomeAssistantError: Failed to process the returned service response data, expected a dictionary, but got <class 'NoneType'>"

Na Comandos Anular:

7/8/2024, 11:12:26 PM[node: Comandos Anular] function : (error)

"TypeError: Cannot read properties of undefined (reading 'length')"

Alguém tem alguma luz?
Botei a senha MASTER, tentei a de configuração remota também, e a senha dos usuários, todas configuradas


EDIT
Percebi que:

  • O arquivo amt_comandos está sendo criado normalmente
  • Consigo enviar comando de ativar a central pelo HA
  • Nenhum status da central é exibido pelo HA, todos como UNKNOWN / DESCONHECIDO
  • Tudo o que aparece no DEBUG é um milhão de erros no node INDISPONIVEL, mas não exibe nada no node de debug com nome INDISPONIVEL
  • O flow tenta fazer uma conexão para a porta 9015 e dá um erro: connect failed 192.168.1.142:9015
  • NMAP mostra que não existe porta 9015 aberta na minha central, apenas a 9009

Log:

9 Jul 00:51:41 - [AMT] Testando Comando Status. Caso nenhum comando funcione, verifique senha, IP e compatibilidade da central.
9 Jul 00:51:41 - [AMT] Comando 1: Status OK
9 Jul 00:51:41 - [AMT] Comando 2: Senha incorreta. Verique a senha inserida ou se o tamanho da senha inserida é igual ao tamanho de senha configurado na central
9 Jul 00:51:41 - [AMT] Comando 3: Status OK
9 Jul 00:51:46 - [info] [debug:Aviso desconexão] Central Desconectada
9 Jul 00:51:41 - [AMT] Modelo da Central: AMT 2018 E SMART
9 Jul 00:51:49 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:51:41 - [AMT] Modelo da Central: Desconhecido
9 Jul 00:51:50 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:51:52 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:51:53 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:51:54 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:04 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:08 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:14 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:16 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:19 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:23 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:26 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:29 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:30 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:35 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:37 - [error] [function:Comandos Anular] TypeError: Cannot read properties of undefined (reading 'length')
9 Jul 00:52:44 - [info] [debug:Aviso desconexão] Central Desconectada
9 Jul 00:52:49 - [info] [debug:Sensores Indisponíveis] Sensores Indisponíveis

Só use senha de usuário. Apague o amt_comandos e inicialize o fluxo apenas com senha de usuário.

Qual o firmware da sua central?

Você fez a parte do python_script?

A porta 9015 é usada para destravar o nó TCP. Ela realmente não existe, mas é a única forma de contornar problemas de conexão.

Fale, Walber.

Só use senha de usuário. Apague o amt_comandos e inicialize o fluxo apenas com senha de usuário.

Já fiz isso, tentei com diversas senhas, mas criou normalmente o arquivo AMT_COMANDOS tanto com a senha master quanto com a dos usuários, e consegui enviar comando de armar, mas só isso.

Qual o firmware da sua central?

3.7.0

Você fez a parte do python_script?

Sim. Coloquei o “python_script:” no config.yaml e adicionei o arquivo set_state.py na pasta certa.

O que tá me deixando meio em dúvida é sobre o fato dela reconhecer a central durante oteste de comandos mas logo depois ela fala que a central é desconhecida e a central desconecta.

Seria um bug do flow nessa parte do reconhecimento?

Procura o nó comandos e altere as linhas 51 e 53, de:

var comando_status_0 = Buffer.from([0x5a]);
var comando_status_1 = Buffer.from([0x5b]);
var comando_status_2 = Buffer.from([0x5d]);

para:

var comando_status_0 = Buffer.from([0x5d]);
var comando_status_1 = Buffer.from([0x5b]);
var comando_status_2 = Buffer.from([0x5a]);

1 curtida