Deconz-rest-plugin: Suporte a interruptores Aqara OPPLE

Criado em 11 nov. 2019  ·  500Comentários  ·  Fonte: dresden-elektronik/deconz-rest-plugin

Essas opções são suportadas atualmente ou em seu radar para suporte futuro?

Interruptores Aqara Opple

Eles parecem muito promissores, eu acho.

Device Request

Comentários muito úteis

Sim, o suporte inicial será incluído na próxima versão.

Todos 500 comentários

A seguir, vi-os no Ali (https://nl.aliexpress.com/item/4000322297550.html) por um bom preço. Vi que eles são zigbee 3.0

+1 naqueles. Eu os vi ontem e o preço é incrível em comparação com outros interruptores de parede no mercado, e muito mais potencial em comparação com o interruptor de parede normal Aqara. Vou fazer o pedido e relatar de volta.

+1 naqueles, por favor. Fico feliz em ver que isso recebeu o rótulo de "integração de dispositivo". Preço louco da mudança. Eu já tenho o outro interruptor aquara e funciona muito bem!

👍
Seguindo também.
Seletores de cena muito interessantes.

Acabei de receber minha versão de 6 botões. Tentei adicionar o dispositivo como um switch e falhou, mas posso ver no aplicativo deconz. O primeiro botão liga todas as minhas "Luzes" e o segundo botão as desliga.

Modelo: WXCJKG13LM
Identificador do modelo: lumi.remote.b686opcn01

De que informações vocês precisam para integrar este dispositivo?

@djashjones https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Request-Device-Support
Você já tentou ouvir deconz_events no Home Assistant ou no Nodered?

IMG_0131
IMG_0132
IMG_0133

Desculpe, não sei como ouvir eventos em HA, nem node-red (que tenho ambos).

@djashjones
Em HA -> Ferramentas do desenvolvedor -> Eventos
Você escreve deconz_event na caixa inferior e pressiona "Comece a ouvir".
Depois disso, você tenta pressionar o botão Aqara Opple e ver se obtém alguma resposta. Se for bem-sucedido, você verá uma resposta semelhante à imagem. O número do "evento" deve mudar dependendo do botão que você pressiona e se pressiona, mantenha pressionado ou pressione duas vezes.
Por favor, experimente e relate :)

image

Acabei de receber minha versão de 6 botões.

Como você experimenta isso, em termos de qualidade?

Mesma qualidade que o rocker de 2 botões alimentado por 2 baterias que eu tenho. Eu gosto muito disso É como o controle remoto Ikea e a base é magnética.

Vou ver quais eventos serão disparados esta noite, quando chegar em casa do trabalho.

Nada aparece quando ouço deconz_event no assistente doméstico enquanto pressiono botões. Posso ver em deconz como nas imagens acima, mas não em phoscon.

O que é estranho é que ele liga / desliga minhas lâmpadas trafri que estão ligadas em foscon ...

Confirmado, nada em HA, no que diz respeito ao evento.

Tenho lâmpadas Ikea Tradfri (reguláveis) e tomadas.

Botão 1, canto superior esquerdo, ação = Desliga todas as minhas luzes e tomadas.
Botão 2, canto superior direito, ação = Liga todas as minhas luzes e meias.
Botão 3, meio esquerdo, ação = Diminui o brilho das lâmpadas.
Botão 4, meio à direita, ação = Aumenta o brilho das lâmpadas.

IMG_0134

Alguma novidade para Homey?

mesmo problema aqui que djashjones disse
você encontrou alguma solução ainda?

+1, acaba de receber as chaves de 4 botões e faz conforme comentado por @djashjones
Estou usando o pimatic que está usando a API REST e não está aparecendo.
Chamar a API em / api / não mostra o endereço MAC na lista de todos os dispositivos
O que podemos ajudar a integrar o dispositivo?

Fora do tópico: Versão do Just Receiver com 6 botões. Não havia instrução na caixa. Alguém poderia dizer como é o melhor par? Botão Reset parece ser inútil? Segure por 5 segundos, mas nada acontece?

Você tem o novo hub de homekit Xiaomi?

Em quinta-feira, 5 de dezembro de 2019, 22:36 heine79, [email protected] escreveu:

Fora do tópico: Versão do Just Receiver com 6 botões. Não havia instrução no
Caixa. Alguém poderia dizer como é o melhor par? Botão Reset parece ser inútil?
Segure por 5 segundos, mas nada acontece?

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061?email_source=notifications&email_token=AHRBAT6EMS5NORT34L3VFT3QXF7ABA5CNFSM4JLW7MB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGCMOOA#issuecomment-562349880 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/AHRBAT3EVRCQ33MKCPF4WJLQXF7ABANCNFSM4JLW7MBQ
.

Você tem o novo hub de homekit Xiaomi?

Em Qui, 5 de dezembro de 2019, 22:36 heine79, @ . * > escreveu: Off topic: Just Receiver 6 Button version. Não havia instrução na caixa. Alguém poderia dizer como é o melhor par? Botão Reset parece ser inútil? Segure por 5 segundos, mas nada acontece? - Você está recebendo isto porque está inscrito neste tópico. Responda a este e-mail diretamente, vê-lo no GitHub <# 2061? Email_source = notificações & email_token = AHRBAT6EMS5NORT34L3VFT3QXF7ABA5CNFSM4JLW7MB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGCMOOA # issuecomment-562349880>, ou unsubscribe https://github.com/notifications/unsubscribe-auth/AHRBAT3EVRCQ33MKCPF4WJLQXF7ABANCNFSM4JLW7MBQ .

Não. Estou unsing conbee com hassio.

Acho que emparelhei segurando o botão pressionado (canto superior esquerdo, próximo ao led) até começar a piscar.

Também estou aguardando ansiosamente a integração desses switches. Fui em frente e já comprei um de 6 botões, se houver algo que possa ser feito para agilizar a integração me avise.

Também tenho as versões de 6 e 4 botões à espera de suporte :)
Boa qualidade aliás ...

Encontrado em zigbee2mqtt git que esta opção deve ser capaz de suportar "liberação após suspensão".
Se verdadeiro, essa opção oferecerá suporte ao evento 1234.
Para vocês que têm o rocker simples / duplo Aqara normal, vocês devem ter notado que não é possível diminuir as luzes de uma maneira boa. Isso porque é só enviar um evento quando em espera. O novo switch Aqara Opple parece ser capaz de enviar eventos x001 (espera) e x003 (liberação após espera).

Isso será ideal para meu banheiro quando for apoiado. 1 para ligar / desligar, 2 para escurecimento e a terceira linha para ligar / desligar manual do exaustor

Ou WLED, um para alterar o brilho, uma cor e um efeitos!

Na segunda-feira, 9 de dezembro de 2019, 17:42 djashjones, [email protected] escreveu:

Isso será ideal para meu banheiro quando for apoiado. 1 para ligar / desligar, 2
para escurecimento e a terceira linha para o manual do exaustor liga / desliga

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061?email_source=notifications&email_token=AHRBAT3VMW4JPFEYH32PNMDQXZ7PDA5CNFSM4JLW7MB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGKAV4I#issuecomment-563350257 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/AHRBAT3TD3VBIR2KNW7JCVLQXZ7PDANCNFSM4JLW7MBQ
.

Acabei de pegar o meu :-), variação de 6 botões
Eu concordo que ele controla todas as luzes: 2 botões superiores estão ligados e desligados, os botões do meio estão escurecidos para cima ou para baixo e os 2 botões inferiores são mais amarelos ou menos amarelos.
não aparece no domoticz ou no phoscon :-(. existe alguma maneira de controlar quais luzes ele controla?
existe uma maneira de fazê-lo controlar apenas luzes específicas?
image
image

Versão de 4 botões:
image
image
image

Então, brincando um pouco com o deCONZ, e percebi que existe uma maneira de adicionar arquivo xml para estender os perfis, dispositivos etc., isso é algo que pode ajudar aqui? ou precisamos obter algum suporte de código para essas opções?

Tentei olhar o guia do usuário "estendendo a seção zcldb, mas não tenho certeza de como mapear as coisas. Parece que o mapeamento está correto (on / off, dimmer e cor estão todos identificados), mas não há eventos ou configurações como há com tenho outro switch xiaomi e ainda não consegui encontrar algo óbvio no arquivo que me mostre como vinculá-lo a um tipo específico de dispositivo.

existe uma maneira de fazê-lo controlar apenas luzes específicas?

Normalmente, eu sugeriria criar um grupo, adicionar uma luz a ele e vincular os clusters de cliente do switch a esse grupo. Não tenho certeza se isso vai funcionar para Xiaomi, no entanto. Pode ser o suficiente para vincular apenas um cluster, mas também pode ser necessário vincular todos os três (_On / Off_, _Level Control_ e _Color Control_).

Não entendo o uso do segundo ponto de extremidade no switch de 6 botões.

hmmm - Eu tentei, os arquivos de ligação no tempo limite :-(

Certifique-se de pressionar um botão para despertar o switch ao emitir o bind.

Muito obrigado - trabalhando agora depois de algumas tentativas e impressões. Tive que ligar cada um dos itens separadamente, mas agora está funcionando em uma lâmpada - o que é muito melhor. O próximo passo é: preciso disso para funcionar com 3 lâmpadas que tenho em meu quarto. eu preciso de 3 grupos? um para ligar / desligar, escurecimento e cor?
Também tentarei vincular ao segundo ponto de extremidade, ver o que acontece ...

É melhor criar um único grupo, vincular todos os três clusters a ele e adicionar várias luzes a este grupo.

OK - conseguiu vincular o segundo endpoint, mas não fez nada, tentei fazer pressionamentos longos, pressionamentos duplos etc. mas nada ...
Vou tentar o grupo a seguir, mas realmente preciso de eventos agora, pois quero vincular algumas das ações a dispositivos que não são zibgee

Eu também estaria interessado em suporte para essas opções. Consegui 2, 4 e 6 unidades. Seria ótimo fazê-los trabalhar com a conbee ...

bem - está meio que funcionando agora, com muitas limitações. você pode usá-lo para controlar liga / desliga, escurecimento e cor, desde que suas lâmpadas também sejam controladas pelo conbee - você pode criar um grupo de lâmpadas em phoscon e conectar os interruptores usando a opção de vinculação em deCONZ (você pode vincular a um grupo ou para uma única luz). mas é isso aí.
Você não pode obter eventos para domoticz / HA / Homey etc. (o que é o maior problema), você não pode usar um toque longo ou duplo e não pode alterar as atribuições dos botões (por exemplo, você não pode alternar com um dos botões).
Na verdade, comprei para ter um controlador central em cada sala que possa controlar as luzes e o ar condicionado (que é controlado pelo domoticz) - esperando ansiosamente por suporte.

Outra questão para os especialistas por aí - existe uma maneira de criar uma luz "virtual" no deCONZ? Quero dizer que posso ter um objeto de luz em deCONZ que não é realmente uma lâmpada física real.
Porque eu obtenho eventos de luz para domoticz - e se eu puder criar uma luz virtual em deCONZ que é controlada pelo switch, posso usar os eventos em domoticz para controlar outro hardware.

Alguém já experimentou com o Xiaomi Hub para ver se funciona bem?

No sábado, 14 de dezembro de 2019, 13:28 eserero, [email protected] escreveu:

bem - está meio que funcionando agora, com muitas limitações. você pode usá-lo para
controle liga / desliga, escurecimento e cor, desde que suas lâmpadas também sejam controladas
por conbee - você pode criar um grupo de lâmpadas em phoscon e conectar o
muda usando a opção de ligação em deCONZ. mas é isso aí.
Você não pode enviar eventos para domoticz / HA / Homey etc. (que é o maior
problema), você não pode usar o pressionamento longo ou duplo e você não pode alterar o
atribuições de botão (por exemplo, você não pode alternar com um dos
botões).
Na verdade, comprei para ter um controlador central em cada
sala que pode controlar as luzes e o ar condicionado (que é
controlado a partir de domoticz) - esperando ansiosamente por suporte.

Outra questão para os especialistas por aí - há uma maneira de criar um
luz "virtual" no deCONZ? Quero dizer que posso ter um objeto de luz em deCONZ
essa não é realmente uma lâmpada física real.
Porque eu recebo eventos leves para domoticz - e se eu puder criar um virtual
luz em deCONZ que é controlada pelo switch, posso usar os eventos em
domoticz para controlar outro hardware.

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061?email_source=notifications&email_token=AHRBAT7XWEUYIXCITRDJBKDQYTNOVA5CNFSM4JLW7MB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG4CTEY#issuecomment-565717395 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/AHRBATZMPO6E6WTQ7OR3DJTQYTNOVANCNFSM4JLW7MBQ
.

não tentei. é suportado apenas no novo hub (aquele com o suporte siri). Eu acho que eles irão adicionar suporte para o hub regular no futuro, nenhuma razão real para não fazê-lo.

Estou começando a ficar com a impressão de que as potências não têm interesse em integrar novos dispositivos ou sou eu?

Estou começando a ficar com a impressão de que as potências não têm interesse em integrar novos dispositivos ou sou eu?

Não acho que a história mereça esse tipo de cinismo, a maioria (ou todos?) Os dispositivos Xiaomi anteriores foram integrados até onde eu sei. Estou mais inclinado a pensar que é esta temporada que está ocupada por tudo o que torna o progresso lento. Dito isso, eu também gostaria de receber uma palavra ou duas para nos informar que esses dispositivos não foram esquecidos, mesmo que nenhum progresso tenha sido feito até o momento.

Não me entenda mal, eu amo meu bastão Conbee II, ele está sólido como uma rocha há um ano

Acabei de solicitar alguns plugues Samsung Smartthings Zigbee versão 2019 e relendo sobre a versão anterior que teve interesse, mas nunca foi integrada.

Acabei de receber o meu. Curiosamente, quando você o conecta ao Phoscon (você não recebe nenhum feedback do que encontrou), ele controla imediatamente todas as luzes. Eu nem tenho um grupo para todas as luzes, então não tenho certeza de como desligar isso. Não consigo ver o switch no Phoscon ou por meio da API REST. Nada é enviado para o Home Assistant.

Em uma nota de hardware, posso ver no manual que ela tem uma bateria CR2032, mas não há instruções sobre como substituí-la. Alguém se esforçou para descobrir se isso é possível?

Encontrei a explicação para o estranho comportamento e também como acessar a bateria. https://community.hubitat.com/t/xiaomi-opple-6-button-remote/27921/9

Estou prestes a postar esse link, mas você chegou antes de mim!

@manup Existe alguma informação que possamos fornecer que o ajude a integrar este dispositivo de forma mais completa?

Ele controla todas as luzes que estão em foscon?

Na quarta-feira, 18 de dezembro de 2019, 12:41 PremiumUsername, [email protected]
escreveu:

Acabei de receber o meu. Curiosamente, quando você o conecta ao Phoscon (você não recebe
feedback encontrado), ele controla imediatamente todas as luzes. Eu não
até ter um grupo para todas as luzes, então não tenho certeza de como desligar isso. eu
não consigo ver o switch no Phoscon ou por meio da API REST. Nada é enviado para
Assistente doméstico.

Em uma nota de hardware, posso ver no manual que ele tem uma bateria CR2032
mas não há instruções sobre como substituí-lo. Tem alguém
se esforçou para descobrir se isso é possível?

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061?email_source=notifications&email_token=AHRBAT72KTKADT3G2HH5XADQZID5PA5CNFSM4JLW7MB2YY3PNVWWWK3BULWS4G5F5F5WHC3F5WHC3F5WRF5F5WHC5F5WHC5F5F5WRF5WRF5WHC5F5C5F5F5F5WHC3F5WRF5F5WHC3F5F5WHC3F5WRF5F5WRF5WHC3F5WHC3F5WHC3F5WHC5F5WRF5WHC3F5WHC3WRF6HC3F5WHC3F5WHC3F5WRF5WRF5WReq .
ou cancelar
https://github.com/notifications/unsubscribe-auth/AHRBAT4WD65QRWPGJHEYYQLQZID5PANCNFSM4JLW7MBQ
.

sim

Pessoal, se vocês olharem o meu post acima - consegui configurar para funcionar com uma luz específica ou grupo específico usando a opção bind no deCONZ. se precisar de mais ajuda sobre isso me avise e postarei uma explicação mais exata.

se precisar de mais ajuda sobre isso me avise

É uma boa oferta, mas preciso da integração com o Home Assistant para meus propósitos.

Vou postar uma explicação mais exata.

Por favor faça.

se precisar de mais ajuda sobre isso me avise

É uma boa oferta, mas preciso da integração com o Home Assistant para meus propósitos.

eu também. tem mais opções do que o botão IKEA 5 que estou usando atualmente.

Vou postar uma explicação mais exata.

Por favor faça.

concordar com todos que precisamos para obter eventos para sistemas de automação residencial, caso contrário, é uma solução paralisada. usando Domoticz.

de qualquer maneira - aqui está o que eu fiz para fazê-lo funcionar apenas nas luzes da minha sala de estar.

  1. crie um grupo em Foscon (digamos, luzes ou qualquer interruptor)
  2. se você executar o phoscon no Chrome, clique com o botão direito na página e selecione "inspecionar".
  3. vá para a guia rede - você deve ver algo como o abaixo (não sei como obter o número do grupo de deconz ...)

image

  1. clique em uma das linhas com "grupo" - no lado direito você pode ver os números dos grupos. se você expandi-los, poderá ver os nomes dos grupos que definiu no phoscon. encontre o grupo que deseja e lembre-se do número
  2. vá para deconz e selecione o "painel de ligação" na lista suspensa do painel
  3. image

  4. abra o menu cluster do switch xiaomi e arraste a linha "on / off" para o botão "source" na caixa de ligação. deve ser 006. na parte de destino, selecione "grupo" e digite o número do grupo com o 0x00 anterior como você pode ver na imagem.

  5. agora pressione o botão "vincular". - note que precisei de algumas tentativas e clicar repetidamente em um dos botões do interruptor para acordá-lo.
  6. repita a operação para "controle de nível" 0008 e "controle de cor" 0300.

O método fornecido pelo eserero pode ser usado de alguma forma para fornecer o controle de nenhum dispositivo zigbee no Home Assistant? Por exemplo, é possível criar um grupo de luzes no Phoscon sem luzes e de alguma forma integrar esse grupo no Home Asssitant e usar o estado desse grupo para controlar as automações?

deCONZ versão 2.05.71
Eu tentei também.
Fiz o mesmo que @eserero (Adicionar switch ao id do grop), mas não está funcionando.
E confira o ouvinte de evento de desconexão quando eu apertar o botão.
Mas nada, quieto ..

Para ver eventos de botão, você precisa de suporte adequado no plug-in REST API. A ligação serve apenas para controlar as luzes diretamente (e evitar que o switch controle todas as luzes em sua rede).

@ebaauw existe uma maneira fácil de obter suporte adequado no plugin REST API enquanto espera por uma integração oficial? Obviamente, há comunicação do switch Opple para deconz.

O método fornecido pelo eserero pode ser usado de alguma forma para fornecer o controle de nenhum dispositivo zigbee no Home Assistant? Por exemplo, é possível criar um grupo de luzes no Phoscon sem luzes e de alguma forma integrar esse grupo no Home Asssitant e usar o estado desse grupo para controlar as automações?

Essa é uma forma muito indireta de fazer isso, mas se for possível criar grupos de luz vazios, você poderia usar isso em HA para controlar uma automação (visto que é possível desligar e ligar tal grupo em foscon). A menos que você esteja com muita pressa, é melhor esperar pelos eventos de botão adequados com a verdadeira integração de deconz, em vez de usar essa solução temporária, na minha opinião.

Tenho dc_eventlog em execução.
Vejo outro sensor e evento de botão, mas não do Aqara OPPLE ...

Vou tentar ser paciente :-)

Obviamente, há comunicação do switch Opple para deconz.

Tecnicamente, não, o switch _não_ se comunica com o gateway; ele envia mensagens de broadcast (groupcast), que também são captadas pelo gateway. O gateway escuta as mensagens do switch para o grupo.

Observe que esses interruptores OPPLE funcionam de maneira muito diferente dos outros interruptores Xiaomi, que de fato enviam relatórios diretamente para o coordenador e não podem controlar as luzes diretamente.

existe uma maneira fácil de obter suporte adequado no plug-in REST API enquanto espera por uma integração oficial?

Não chamaria isso de fácil. Você precisa:

Não é muito difícil, se você pegar uma opção de comportamento semelhante que já é suportada como exemplo e pesquisar o código por referências que colocam essa opção na lista de permissões. Mas é um pouco de tentativa e erro. É por isso que não crio mais PRs para switches aos quais não tenho acesso.

@ebaauw
Eu estava seguindo seus passos + algumas listas de permissões adicionais onde adicionei o switch e sou capaz de emparelhá-lo por meio da seção do sensor no app phoscon e ele aparece na API restante. Infelizmente, algo não está correto. Não há eventos de buton enviados ... Não tenho certeza do que estou fazendo de errado? Provavelmente alguns conflitos?

Eu tento com a chave de botão Aqara Opple 2.

opple

O cluster On / Off e Level deve ter uma cor azul?

opple2

Pelo menos ele não liga / desliga mais todas as luzes, como algumas outras pessoas relataram :)

Não há eventos de buton enviados ... Não tenho certeza do que estou fazendo de errado? Provavelmente alguns conflitos?

Você o vinculou a um mapa de botões? O que diz o log deCONZ?

O cluster On / Off e Level deve ter uma cor azul?

Não. Os clusters vêm em pares: o cluster de servidor (azul) é o atuador, mantendo o estado; o cluster de cliente (cinza) controla o atuador. Os comandos são enviados do cliente para o servidor; relatórios (e respostas) são enviados do servidor para o cliente. Na verdade, é bastante normal que os controladores tenham clusters de clientes; são os outros switches sem fio da Xiaomi que mutilam o padrão irreconhecível, enviando relatórios em vez de comandos.

Pelo menos ele não liga / desliga mais todas as luzes, como algumas outras pessoas relataram :)

Então, as ligações provavelmente estão configuradas OK. Observe também config.group .

@ebaauw ok,
Como estou fazendo isso pela primeira vez, ainda há algumas coisas que não entendo. Talvez você possa me ajudar a entender isso mais para que eu possa implementar o suporte de forma adequada ...

  1. Sobre o grupo. Nenhuma das minhas outras opções tem um group na configuração. Por que esse aqui tem um grupo e está bom assim?

  2. Eu fiz os eventos de botão funcionarem, mas apenas um ou dois cliques. O switch também deve suportar pressionamento longo, mas isso não parece funcionar. Notei que o pressionamento único vem do cluster OnOff e o pressionamento duplo vem do cluster Level. Isso significa que a impressão longa deve vir do cluster de cores? Você tem que adicionar de alguma forma o cluster de cores explicitamente ao switch?

  3. As informações da bateria sempre mostram null . Tudo bem?

  4. Só posso adicionar o switch no app phoscon quando procuro por sensores, não por switches. Por que é que? Isso pode ser alterado para encontrá-lo quando eu procuro por Switches?

  1. Sobre o grupo. Nenhum dos meus outros switches tem um grupo na configuração. Por que esse aqui tem um grupo e está bom assim?

Que outras opções você tem? Apenas switches que enviam comandos para (um grupo de) luzes têm config.group . Como eu disse acima, os outros switches Xiaomi são a exceção porque se comportam como um sensor stateful em vez de um switch wireless stateless.

  1. Eu fiz os eventos de botão funcionarem, mas apenas um ou dois cliques. O switch também deve suportar pressionamento longo, mas isso não parece funcionar. Notei que o pressionamento único vem do cluster OnOff e o pressionamento duplo vem do cluster Level. Isso significa que a impressão longa deve vir do cluster de cores? Você tem que adicionar de alguma forma o cluster de cores explicitamente ao switch?

Você precisa descobrir qual comando o switch envia ao pressionar longamente. Normalmente é _Move_ em espera e _Parar_ na liberação longa. deCONZ deve registrar esses comandos (quando iniciado com a quantidade certa de registro de depuração). Que comando ele envia ao pressionar duas vezes? _Mover para o nível_? Duvido que envie comandos do cluster _Color Control_, a menos que um toque longo seja usado para alternar entre as cores ou as temperaturas das cores.

  1. As informações da bateria sempre mostram nulo. Tudo bem?

Não. Ele é preenchido quando você lê os atributos do cluster _Power Configuration_? Em caso afirmativo, você precisa criar uma ligação deste (servidor!) Cluster para o coordenador (ponto de extremidade 0x01) e configurar o relatório de atributo para _Precentagem restante da bateria_. Isso deve relatar o valor em 0,5%, mas nem todos os fornecedores aderem a isso (principalmente IKEA).

  1. Só posso adicionar o switch no app phoscon quando procuro por sensores, não por switches. Por que é que? Isso pode ser alterado para encontrá-lo quando eu procuro por Switches?

Não tenho experiência com o Phoscon. Não é um código aberto, portanto, apenas a dresden elektronik pode alterá-lo.

  1. Sim, eu tenho alguns outros interruptores xiaomi. Mas eu também tenho interruptores Philips Hue Dimmer e acabei de notar que eles também têm um grupo. Então, estou claro agora para :)

  2. Então eu descobri que meu mapa de botões estava errado depois de olhar o log deCONZ, foi assim que eu fiz o pressionamento simples e duplo funcionar. Mas para o longo pressionamento, não há nada aparecendo no log. Para pressionar duas vezes, agora recebo button 1004 Double press ou button 2004 Double press no console. O mapa de botões é assim:

static const Sensor::ButtonMap aqaraOpple2Map[] = {
//    mode                          ep    cluster cmd   param button                                       name
    // First button Off
    { Sensor::ModeScenes,           0x01, 0x0006, 0x00, 0,    S_BUTTON_1 + S_BUTTON_ACTION_INITIAL_PRESS, "Normal press" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x02, 1,    S_BUTTON_1 + S_BUTTON_ACTION_DOUBLE_PRESS, "Double press" },
    // First button On
    { Sensor::ModeScenes,           0x01, 0x0006, 0x01, 0,    S_BUTTON_2 + S_BUTTON_ACTION_INITIAL_PRESS, "Normal press" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x02, 0,    S_BUTTON_2 + S_BUTTON_ACTION_DOUBLE_PRESS, "Double press" },

    // end
    { Sensor::ModeNone,             0x00, 0x0000, 0x00, 0,    0,                                           nullptr }
};

Não tenho certeza se isso está 100% correto.

Existe algum lugar onde eu possa depurar com algum log no toque longo? Ou como devo proceder agora para descobrir por que o pressionamento longo não está aparecendo?

  1. Aqui está como fica a configuração de energia depois de lê-la.
    opple3

  2. Entendi.

Obrigado pelo apoio.

O mapa de botões se parece com isso

Portanto, o switch envia um comando _Step_ (cluster 0x0008, comando 0x02) ao pressionar duas vezes.

Existe algum lugar onde eu possa depurar com algum log no toque longo?

Execute deCONZ com --dbg-info=2 --dbg-aps=2 --dbg-error=1 e tail -f a saída. Você deve ver mensagens como:

Dec 23 19:52:14 pi5 deCONZ[13715]: 19:52:11:389 APS-DATA.indication srcAddr: 0x7ce3, srcEp: 0x01 dstAddrMode: 1, profile: 0x0104, cluster: 0x0006, lqi: 255, rssi: -46
Dec 23 19:52:14 pi5 deCONZ[13715]: 19:52:11:389     asdu: 011601
Dec 23 19:52:14 pi5 deCONZ[13715]: 19:52:11:389 APS-DATA.indication from child 0x7CE3
Dec 23 19:52:14 pi5 deCONZ[13715]: 19:52:11:389 verify 0x000d6ffffea46abf is child node after 778788 s
Dec 23 19:52:14 pi5 deCONZ[13715]: 19:52:11:389 button 1002 On
...
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:55:635 APS-DATA.indication srcAddr: 0x7ce3, srcEp: 0x01 dstAddrMode: 1, profile: 0x0104, cluster: 0x0008, lqi: 255, rssi: -48
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:55:635     asdu: 0117050053
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:55:635 APS-DATA.indication from child 0x7CE3
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:55:636 button 1001 Move up (with on/off)
...
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:58:306 APS-DATA.indication srcAddr: 0x7ce3, srcEp: 0x01 dstAddrMode: 1, profile: 0x0104, cluster: 0x0008, lqi: 255, rssi: -48
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:58:306     asdu: 011807
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:58:306 APS-DATA.indication from child 0x7CE3
Dec 23 19:56:04 pi5 deCONZ[13715]: 19:55:58:308 button 1003 Stop (with on/off)

Isso é pressionar, segurar e soltar por muito tempo para um controlador Trådfri On / Off. A primeira mensagem em cada sequência é o APS-DATA.indication, mostrando o endereço NWK (0x7ce3 no meu caso) da fonte. Verifique o painel _Node Info_ na GUI deCONZ para encontrar o endereço NWK do seu switch. Em seguida, você vê o ponto de extremidade de origem (0x01), o perfil (0x0104 para ZHA) e o cluster (0x0006 para _On / Off_ ou 0x0008 para _Level Control_). Em asdu você vê a carga útil ZCL. O primeiro byte é algum bitmap de status, o segundo byte é o número da sequência, o terceiro byte é o comando ( 01 para _On_; 05 para _Mover com (On / Off) _; e 07 para _Parar_). Consulte a especificação da biblioteca de clusters ZigBee. Os bytes depois disso são os parâmetros do comando ( 00 para direção: _Up_ e 53 para a taxa de movimentação). Observe que o texto após button 100x é do mapa de botões.
deCONZ deve registrar um aviso quando nenhum comando correspondente for encontrado no mapa de botões, mas não tenho um exemplo em mãos.

  1. Aqui está como fica a configuração de energia depois de lê-la.

Obviamente, a Xiaomi não informa a _Precentagem de bateria restante_, embora agora tenham alguns interruptores "normais". Você precisa colocar o switch na lista de permissões aqui:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/bb47cdbc19c257e3000fdb8475aa456830e6df94/de_web_plugin.cpp#L5736
Que tipo de bateria o OPPLE possui? CR2032? O código para converter a tensão em porcentagem provavelmente deve funcionar igualmente mal para qualquer célula-botão de lítio de 3 V. Você ainda pode precisar da ligação e do relatório de atributo, mas também é possível que o switch esteja codificado para relatar isso periodicamente ao coordenador (endereço NWK 0x0000).

1

Portanto, o switch envia um comando Step (cluster 0x0008, comando 0x02) ao pressionar duas vezes.

Isso é bom ou um problema?

2
Ok, então também pressionei longamente (segure) para funcionar. Esta é a aparência do Mapa de Botões agora:

static const Sensor::ButtonMap aqaraOpple2Map[] = {
//    mode                          ep    cluster cmd   param button                                       name
    // First button Off
    { Sensor::ModeScenes,           0x01, 0x0006, 0x00, 0,    S_BUTTON_1 + S_BUTTON_ACTION_INITIAL_PRESS, "Normal press" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x02, 1,    S_BUTTON_1 + S_BUTTON_ACTION_DOUBLE_PRESS, "Double press" },
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4c, 1,    S_BUTTON_1 + S_BUTTON_ACTION_HOLD, "Hold off" },

    // First button On
    { Sensor::ModeScenes,           0x01, 0x0006, 0x01, 0,    S_BUTTON_2 + S_BUTTON_ACTION_INITIAL_PRESS, "Normal press" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x02, 0,    S_BUTTON_2 + S_BUTTON_ACTION_DOUBLE_PRESS, "Double press" },
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4c, 3,    S_BUTTON_2 + S_BUTTON_ACTION_HOLD, "Hold On" },

    // end
    { Sensor::ModeNone,             0x00, 0x0000, 0x00, 0,    0,                                           nullptr }
};

Mas, infelizmente, não importa se eu segure o botão esquerdo ou direito no switch, ele sempre dispara apenas o evento Hold off (o botão esquerdo). O que estou fazendo de errado aqui? O parâmetro é diferente e eu o tenho no mapa de botões, mas ainda não funciona ...

Aqui está a depuração:

20:56:43:000 APS-DATA.indication srcAddr: 0xf9d4, srcEp: 0x01 dstAddrMode: 1, profile: 0x0104, cluster: 0x0300, lqi: 255, rssi: -49
20:56:44:000    asdu: 11224c0345000700000000000000
20:56:44:001 button 1001 Hold off

20:56:59:307 APS-DATA.indication srcAddr: 0xf9d4, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0300, lqi: 255, rssi: -49
20:56:59:307    asdu: 11234c0145000700000000000000
20:56:59:307 button 1001 Hold off

3
Sim, ele tem uma bateria CR2032. Depois de colocar o switch na lista de permissões no local especificado, ele mostra a porcentagem da bateria, mas apenas quando leio manualmente o cluster de configuração de energia com o gui ... Por que isso?

Isso é bom ou um problema?

OK

O que estou fazendo de errado aqui? O parâmetro é diferente e eu o tenho no mapa de botões, mas ainda não funciona ...

Você precisa manipular o comando 0x4c (_Step Color Temperature_), após _Move Color Temperature_:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/bb47cdbc19c257e3000fdb8475aa456830e6df94/de_web_plugin.cpp#L3418 -L3419
A lógica é provavelmente a mesma que para _Step_:

https://github.com/dresden-elektronik/deconz-rest-plugin/blob/bb47cdbc19c257e3000fdb8475aa456830e6df94/de_web_plugin.cpp#L3384

Você não deve emitir um x001 sem o correspondente x003. Se o switch não enviar nada na liberação longa, você deve mapear esses comandos para x003.

mas só quando leio manualmente o cluster de configuração de energia com o gui ... Por que isso?

Como eu disse, talvez você precise configurar relatórios de atributos.

Ok, o evento do botão hold também funcionou corretamente. Acho que agora os eventos são enviados corretamente ...

Como eu disse, talvez você precise configurar relatórios de atributos.

Não tenho certeza de como fazer isso. Você poderia me ajudar com isso?

Então, bem, a mudança meio que funciona agora. Ainda há alguns problemas que precisam ser corrigidos, mas não tenho certeza de como proceder agora. Também não tenho certeza se o que codifiquei é a maneira correta de lidar com a mudança ...

Como eu disse, talvez você precise configurar relatórios de atributos.

Não tenho certeza de como fazer isso. Você poderia me ajudar com isso?

não tenho certeza de como proceder agora. Também não tenho certeza se o que codifiquei é a maneira correta de lidar com a mudança ...

É melhor criar uma solicitação pull, para que o código possa ser revisado.

Eu tenho tudo definido assim, mas ainda não funciona. O que é interessante é que depois de adicionar um switch, depois de alguns minutos, não consigo mais ler os atributos manualmente através do deconz gui. A leitura manual sempre atinge o tempo limite. Mas os eventos de botão funcionam a partir do switch ...

Fiz todos os 3 interruptores funcionarem (2, 4 e 6 botões) pelo menos parcialmente. Ainda existem vários problemas que eu tenho e não tenho certeza se posso corrigi-los neste momento.

  1. Os switches compartilham o mesmo grupo de fornecedores com VENDOR_115F . Suspeito que isso possa estar causando alguns dos problemas.

  2. Adicionar um switch nem sempre funciona por algum motivo. Às vezes funciona na primeira tentativa, mas às vezes tenho que tentar multiplicar vezes. Eu não tenho ideia do porquê.

  3. Só posso adicionar um switch quando procuro por sensores. Também posso pesquisar interruptores, mas isso nunca dá certo, mesmo que o interruptor continue pareado, mas esteja se comportando de maneira estranha. Também não tenho ideia do porquê ...

  4. Quando eu adiciono um switch, então sempre um novo grupo é criado para cada switch. Eu já gosto de 50 grupos agora (por causa de multiplicação vezes removendo e readicionando os interruptores). Isso pode ser feito de alguma forma para que os switches Aqara Opple sempre apenas um grupo seja criado?

  5. Às vezes, na configuração, as temperaturas aumentam na API restante. Até eu coloquei na lista negra no database.cpp ...

  6. A chave de 4 botões não possui um evento de botão de retenção. Não importa qual botão eu segure, sempre haverá um único toque.

  7. O interruptor de 6 botões doe snot tem um evento de duplo toque. Aqui, não importa onde eu pressione duas vezes, sempre vem uma única vez.

  8. Além disso, o interruptor de 6 botões para segurar envia um evento de espera quando eu seguro o botão e um evento de liberação quando eu o solto. Não importa se eu segure o botão esquerdo ou direito, ao soltar sempre ocorre o mesmo evento, não há diferença entre soltar à esquerda ou à direita. Tudo bem assim? Além disso, segurar e soltar para o 5º e 6º botão não funciona, mesmo que o mapa esteja correto. Meu mapa é assim:

static const Sensor::ButtonMap aqaraOpple6Map[] = {
//    mode                          ep    cluster cmd   param button                                       name
    // First button Off
    { Sensor::ModeScenes,           0x01, 0x0006, 0x00, 0,    S_BUTTON_1 + S_BUTTON_ACTION_INITIAL_PRESS, "Off top press" },
    // First button On
    { Sensor::ModeScenes,           0x01, 0x0006, 0x01, 0,    S_BUTTON_2 + S_BUTTON_ACTION_INITIAL_PRESS, "On top press" },
    // Third button Off
    { Sensor::ModeScenes,           0x01, 0x0008, 0x02, 1,    S_BUTTON_3 + S_BUTTON_ACTION_INITIAL_PRESS, "Off middle press" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x01, 1,    S_BUTTON_3 + S_BUTTON_ACTION_HOLD, "Off middle hold" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x03, 0,    S_BUTTON_3 + S_BUTTON_ACTION_LONG_RELEASED, "Off middle hold stop" },
    // Fourth button On
    { Sensor::ModeScenes,           0x01, 0x0008, 0x02, 0,    S_BUTTON_4 + S_BUTTON_ACTION_INITIAL_PRESS, "On middle press" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x01, 0,    S_BUTTON_4 + S_BUTTON_ACTION_HOLD, "On middle hold" },
    { Sensor::ModeScenes,           0x01, 0x0008, 0x03, 0,    S_BUTTON_4 + S_BUTTON_ACTION_LONG_RELEASED, "On middle hold stop" },
    // Fifth button Off
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4c, 1,    S_BUTTON_5 + S_BUTTON_ACTION_DOUBLE_PRESS, "Off bottom press" },
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4b, 1,    S_BUTTON_5 + S_BUTTON_ACTION_HOLD, "Off bottom hold" },
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4b, 0,    S_BUTTON_5 + S_BUTTON_ACTION_LONG_RELEASED, "Off bottom hold stop" },
    // Sixt button On
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4c, 3,    S_BUTTON_6 + S_BUTTON_ACTION_DOUBLE_PRESS, "On bottom press" },
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4b, 3,    S_BUTTON_6 + S_BUTTON_ACTION_HOLD, "On bottom hold" },
    { Sensor::ModeScenes,           0x01, 0x0300, 0x4b, 0,    S_BUTTON_6 + S_BUTTON_ACTION_LONG_RELEASED, "On bottom hold stop" },

    // end
    { Sensor::ModeNone,             0x00, 0x0000, 0x00, 0,    0,                                           nullptr }
};

Vou criar um pull request a partir do código que tenho e talvez alguém possa me ajudar a consertar os problemas que ainda estão presentes. Pelo menos eu acho que isso vai na direção certa e os interruptores já estão lentamente utilizáveis.

Mais uma vez obrigado @ebaauw eu não iria tão longe sem a sua ajuda 👍

  1. Os switches compartilham o mesmo grupo de fornecedores com VENDOR_115F. Suspeito que isso possa estar causando alguns dos problemas.

Acho que não. É apenas um dos atributos para identificar o dispositivo.

  1. Às vezes, na configuração, as temperaturas aumentam na API restante. Até eu coloquei na lista negra no database.cpp ...

O switch envia um relatório de atributo especial da Xiaomi (atributo 0xff01 ou 0xff02) no cluster _Basic_)? Nesse caso, ele reporta sua temperatura interna, provavelmente junto com a tensão da bateria. Você deve ver uma mensagem "extrair atributo especial Xiaomi" no log deCONZ.

  1. A chave de 4 botões não possui um evento de botão de retenção. Não importa qual botão eu segure, sempre haverá um único toque.

Realmente depende de quais comandos ZigBee o switch envia. Apenas um _Move_ vem com um _Stop_ correspondente; um _Step_ ou _Move to Level_ não.

  1. Além disso, o interruptor de 6 botões para segurar envia um evento de espera quando eu seguro o botão e um evento de liberação quando eu o solto. Não importa se eu segure o botão esquerdo ou direito, ao soltar sempre ocorre o mesmo evento, não há diferença entre soltar à esquerda ou à direita.

Parece o param errado no mapa de botões. Observe que o switch envia o mesmo comando _Parar_ ao liberar _Off_ ou _On_ por muito tempo. O plugin REST API lembra a direção do _Move_ anterior em sensor->previousDirection para saber qual evento x003 enviar.

  1. Além disso, o interruptor de 6 botões para segurar envia um evento de espera quando eu seguro o botão e um evento de liberação quando eu o solto. Não importa se eu segure o botão esquerdo ou direito, ao soltar sempre ocorre o mesmo evento, não há diferença entre soltar à esquerda ou à direita. Tudo bem assim? Além disso, segurar e soltar para o 5º e 6º botão não funciona, mesmo que o mapa esteja correto.

Não entendo o código para manipular param para o comando _Mover temperatura de cor_. Está aí para o interruptor de iluminação dresden elektronik. Para sunricherCCTMap , coloquei algumas instruções de depuração para ver qual seria o valor de param e coloquei esses valores no mapa de botões. Parece funcionar, embora eu não tenha certeza do porquê. Veja minha observação em https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1509#issuecomment -530545504.

  1. A chave de 4 botões não possui um evento de botão de retenção. Não importa qual botão eu segure, sempre haverá um único toque.
  2. O interruptor de 6 botões doe snot tem um evento de duplo toque. Aqui, não importa onde eu pressione duas vezes, sempre vem uma única vez.

Eu tinha os botões 4 e 6 e, quando os experimentei, em um hub Aqara, ambos individuais, duplos e retidos funcionaram em todos os botões no aplicativo Aqara e no HomeKit. Então eu acho que eles deveriam funcionar assim em Deconz também.

Você conseguiu farejar quais comandos eles enviam?

Acho que não. É apenas um dos atributos para identificar o dispositivo.

Sim, mas existem algumas verificações no código para esse id de grupo VENDOR_115F que fazem algumas coisas adicionais que eu não entendo.

O switch envia um relatório de atributo especial da Xiaomi (atributo 0xff01 ou 0xff02) no cluster Básico)? Nesse caso, ele reporta sua temperatura interna, provavelmente junto com a tensão da bateria. Você deve ver uma mensagem "extrair atributo especial Xiaomi" no log deCONZ.

Não vi essa mensagem no console. O valor da temperatura sempre permanece null quando aparece na configuração.

Realmente depende de quais comandos ZigBee o switch envia. Apenas um movimento vem com uma parada correspondente; um passo ou mover para um nível não.

Os comandos que são enviados são mapeados no mapa de botões, nada mais aparece no log de depuração.

Parece o parâmetro errado no mapa de botões. Observe que o switch envia o mesmo comando de parada ao soltar por muito tempo Off ou On. O plug-in REST API lembra a direção do movimento anterior em sensor-> previousDirection para saber qual evento x003 enviar.

Então, como devo mapear isso no mapa de botões? Como você disse, o mesmo comando _Parar_ vem do switch, não importa qual botão eu solto, então sempre consigo _Parar no meio da espera_ no log de depuração.

Não entendo o código para manipular o parâmetro para o comando Mover temperatura de cor. Está aí para o interruptor de iluminação dresden elektronik. Para o sunricherCCTMap, coloquei algumas instruções de depuração para ver qual seria o valor de param e coloquei esses valores no mapa de botões. Parece funcionar, embora eu não tenha certeza do porquê. Veja minha observação em # 1509 (comentário).

Eu também não :) Então, é necessário um tratamento especial para isso no caso do Opple Aqara?

A propósito, você pode dar uma olhada na solicitação de pull e ver se há algo que você percebe que pode estar errado ...

Quando as opções Aqara OPPLE serão suportadas no deconz?
Próximo lançamento?

O suporte inicial está incluído no # 2239
Já tenho uma versão personalizada desse código em execução na minha máquina e eles estão funcionando bem com alguns pequenos problemas. Só precisamos esperar até que @manup junte minha solicitação de pull ...

Muito obrigado a todos que fizeram essa integração acontecer tão rapidamente. Estou pronto para apertar o botão de pedido para receber alguns dos interruptores !!

Já tenho uma versão personalizada desse código em execução na minha máquina e eles estão funcionando bem com alguns pequenos problemas.

Bem feito! Quais são os problemas menores restantes?

Pode acontecer de eles não formarem pares na primeira tentativa (mas isso talvez esteja apenas relacionado ao meu ambiente de desenvolvimento).
Além disso, o botão de 4 botões, por algum motivo, não tem um evento de espera e o botão de 6 não tem o evento de duplo toque.
Além disso, eles estão funcionando bem e eu os uso diariamente sem quaisquer outros problemas.

Pode acontecer de eles não formarem pares na primeira tentativa (mas isso talvez esteja apenas relacionado ao meu ambiente de desenvolvimento).
Além disso, o botão de 4 botões, por algum motivo, não tem um evento de espera e o botão de 6 não tem o evento de duplo toque.
Além disso, eles estão funcionando bem e eu os uso diariamente sem quaisquer outros problemas.

na versão de 6 botões zigbee2mqtt também tem apenas one click evento, talvez seja feito pela Xiaomi intencionalmente?

Alguém mencionou aqui que, com o hub Aqara, todos os eventos estão em todos os 3 switches, então não tenho certeza sobre isso.

o botão um está faltando o evento de duplo toque.

De acordo com esta revisão: https://homekitnews.com/2019/12/04/aqara-opple-smart-switch-review/

Parece que cliques duplos devem estar disponíveis para a versão de 6 botões, pelo menos se usado com um hub xiaomi. É possível que o switch detecte qual coordenador é usado e limita a funcionalidade se um hub xiaomi não for usado?

Alguém mencionou aqui que, com o hub Aqara, todos os eventos estão em todos os 3 switches, então não tenho certeza sobre isso.

Sim, eu testei a versão de 4 botões + 6 botões com o hub Aqara e pressione uma vez, mantenha pressionado e pressione duas vezes em todos os botões. Ambos podem ser configurados no aplicativo Xiaomi / Aqara Home ou no HomeKit. Talvez um farejador zigbee possa resolver esta questão?

Sim, alguém precisaria farejar a comunicação zigbee desses switches com o hub Aqara. Tanto quanto eu vi, nem mesmo há pacotes chegando para deconz, indicando que houve um clique duplo no switch de 6 botões.
Então, alguém com um hub Aqara e esses switches precisaria farejar o tráfego ...

Não sou especialista em zigbee.
Mas mudar o código do Deconz para adicionar dispositivos é 1980.

Seria ótimo se fosse possível importar um arquivo para o Deconz que contenha suporte e explique / informações para novos dispositivos compatíveis com o deconz.

Isso é verdade, acho que por esse motivo eles querem trabalhar em uma API REST v2, o que deve facilitar a adição de novos dispositivos.

Sim, alguém precisaria farejar a comunicação zigbee desses switches com o hub Aqara. Tanto quanto eu vi, nem mesmo há pacotes chegando para deconz, indicando que houve um clique duplo no switch de 6 botões.
Então, alguém com um hub Aqara e esses switches precisaria farejar o tráfego ...

Que bom que você adicionou este dispositivo merdok! :)
Eu vi que o manup aprovou a solicitação de pull agora. Boas notícias :)
Já que eu não sou codificador, mas tenho o hub Aqara e os switches Opple. Posso comprar um sniffer e postar os logs se você ou outra pessoa estiver disposta a tentar fazer algum uso dele?

Quero dizer, se você já tem um stick de conbee, pode usá-lo para farejar o tráfego.

Quero dizer, se você já tem um stick de conbee, pode usá-lo para farejar o tráfego.

Eu tenho um Conbee II e, pelo que entendi, ainda não tenho suporte para o Wireshark. Eu entendo perfeitamente que os logs do farejador podem resultar em nada útil. Ainda assim, pedirei um farejador hoje e apresentarei um relatório aqui com os registros. Como tenho esses interruptores Opple em uma caixa esperando para serem instalados e integrados em toda a minha casa não posso me destacar por não saber porque todos os eventos de botões funcionam no Aqara mas não no deconz. :)

É verdade que o suporte para Conbee 2 deve vir ainda este ano ...
Mas seria ótimo se você pudesse farejar o tráfego, definitivamente ajudaria com as coisas que faltam.

É verdade que o suporte para Conbee 2 deve vir ainda este ano ...
Mas seria ótimo se você pudesse farejar o tráfego, definitivamente ajudaria com as coisas que faltam.

Eu pedi um CC2531 com depurador / programador ontem. Vou relatar os logs aqui assim que chegar.

Perfeito 👍

oi All - um progresso incrível até agora :-).
alguém pode postar aqui uma API rest compilada para ubuntu com o suporte a opple? Tentei compilar com as instruções na página principal e não consigo obter o primeiro comando (sudo apt install deconz-dev) - não consigo encontrar deconz-dev ....

Acho que você deveria ter um pouco mais de paciência, tenho certeza que @manup publicará um novo lançamento em breve :)

: sob: mas eu quero agora: sorriso:
Quero atualizar o plugin domoticz python para criá-lo e oferecer suporte, mas serei paciente.

Farejei o tráfego entre o hub Aqara e os interruptores Opple de 6 botões + 4 botões.
As diferenças que percebi são que:
Clique único:
"Uint16: 1 (0x0001)"
Duplo click:
"Uint16: 2 (0x0002)"
Segure:
"Uint16: 0 (0x0000)"
Solte a espera:
"Uint16: 255 (0x00ff)"

Não acho que você vai precisar de logs para todos os botões, pois o único valor que muda é "Ponto de extremidade de origem" apenas informa se é o botão 1, 2, 3, 4, 5 ou 6.
Os registros a seguir serão para o botão 1.

6 botão de clique único:

Frame 1072: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Network Layer Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 158
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 137
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 137
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 1
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 1 (0x0001)

Clique duplo de 6 botões:

Frame 1083: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Network Layer Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 160
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 139
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 139
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 2
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 2 (0x0002)

6 botão retido:

Frame 1086: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Network Layer Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 161
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 140
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 140
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 0
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 0 (0x0000)

6 botão de liberação segura:

Frame 1088: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Network Layer Data, Dst: 0x0000, Src: 0xa6cd
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 162
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 141
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 141
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 255
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 255 (0x00ff)

Portanto, o botão 4 parece muito semelhante, também todos os registros do primeiro botão.
4 botão de clique único:

Frame 1097: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0x19bb
ZigBee Network Layer Data, Dst: 0x0000, Src: 0x19bb
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 44
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 33
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 33
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 1
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 1 (0x0001)

4 botão duplo clique:

Frame 1099: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0x19bb
ZigBee Network Layer Data, Dst: 0x0000, Src: 0x19bb
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 45
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 34
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 34
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 2
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 2 (0x0002)

4 botão retido:

Frame 1110: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0x19bb
ZigBee Network Layer Data, Dst: 0x0000, Src: 0x19bb
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 47
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 36
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 36
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 0
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 0 (0x0000)

4 botão de liberação segura:

Frame 1112: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface \\.\pipe\zboss_sniffer, id 0
ZBOSS dump, IN, page 0, channel 11
IEEE 802.15.4 Data, Dst: 0x0000, Src: 0x19bb
ZigBee Network Layer Data, Dst: 0x0000, Src: 0x19bb
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x00)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .0.. .... = Acknowledgement Request: False
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: Multistate Input (Basic) (0x0012)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 48
ZigBee Cluster Library Frame, Command: Report Attributes, Seq: 37
    Frame Control Field: Profile-wide (0x18)
    Sequence Number: 37
    Command: Report Attributes (0x0a)
    Attribute Field, Uint16: 255
        Attribute: Present Value (0x0055)
        Data Type: 16-Bit Unsigned Integer (0x21)
        Uint16: 255 (0x00ff)

Há mais uma árvore nos logs, mas não acho que seja necessário? No entanto, se mais logs forem necessários, terei todo o gosto em fornecer.

Teve sorte com um farejador, @addellll? Eu tenho uma versão de 6 botões e acho que está agindo de forma muito estranha. Não estou convencido de que o mapa de botões esteja correto. É difícil acreditar que as coisas seriam fundamentalmente diferentes entre o hub Aqara e o deCONZ. (Editar: Ah, vejo sua nova postagem logo acima ... oportuna!)

Muito bom,

Parece que o Opple é um híbrido, assim como o interruptor do dimmer Hue: em envia ambos os comandos para controlar as luzes diretamente, bem como relatórios para informar o coordenador. O uso de _Multistate Input_ e _Present Value_ é típico para Xioami, mas geralmente eles anunciam os clusters (e terminais) nos descritores.

Estou um pouco preocupado que esses relatórios não tenham aparecido no log deCONZ. Seria atípico para a Xiaomi, mas talvez o hub Aqara faça alguma configuração quando o switch está emparelhado?

@merdok , é melhor alterar o mapa de botões para procurar esses relatórios em vez de os comandos, cf o mapa de botões para o interruptor do dimmer Hue.

@addellll obrigado por isso! Com este conhecimento podemos melhorar o suporte :)

@ebaauw mas eu não vejo o cluster multiestado no deconz gui nesses switches? Isso será um problema?

Acho que não, mas não tenho certeza. Talvez seja por isso que você não viu esses relatórios no log?

Eu sei que há outros dispositivos que não anunciam todos os clusters com suporte. Para eles, o plug-in da API REST simplesmente empurra de volta o cluster ausente para a impressão digital, após o qual a GUI irá mostrá-los. Suponho que uma abordagem semelhante poderia ser adotada para os pontos de extremidade ausentes, mas não acho que tenha visto isso antes.

https://github.com/dresden-elektronik/deconz-rest-plugin/blob/10810836905fbcd1e7c9fafcaf386702c9fed41f/de_web_plugin.cpp#L3749

Então, eu apenas tentei adicionar .push_back(MULTISTATE_INPUT_CLUSTER_ID); em vários lugares para os switches, mas isso não ajudou ... O cluster multiestado ainda não aparece no deconz gui e nenhum evento / relatório desse cluster aparece no log. Não tenho certeza de onde está o problema.

Nem eu, estou com medo. Também existe a possibilidade de que o sensor precise de uma configuração especial antes de enviar os relatórios de _Entrada Multistate_. Precisaríamos de um registro do farejador ao emparelhar o sensor com o hub Aqara para confirmar ou descartar isso.

Oh, você adicionaria o cluster ao fpSwitch.inClusters enquanto processa o cluster _Basic_, verificando com base no modelId e manufacturercode do Opple. Isso deve ser pelo menos suficiente para os relatórios do primeiro ponto de extremidade.

Fornecerei os registros de emparelhamento hoje à noite ou amanhã.

Este é um despejo completo do segundo antes de colocar o hub Aqara no modo de emparelhamento até que o emparelhamento com o switch seja bem-sucedido. Além disso, a última ação é apenas um único toque no primeiro botão.
https://anonfile.com/d9K910P9n4/OppleAqaraPairing_pcapng
Basta abri-lo no Wireshark.

Obrigado. Não vejo nada sendo configurado no Opple. No entanto, o Opple solicita o _Node Descriptor_ do coordenador. Eu não vi dispositivos fazer isso antes. Ele está tentando descobrir (a partir do _Manufacturer Code_ 0x115F) se ele está conectado a uma rede por um hub Xioami? Ou é apenas para confirmar que pode enviar relatórios de atributos ao coordenador?

@addellll você já tentou emparelhar o Opple com deCONZ, farejando se ele envia os relatórios de atributo _Multistate Input (Basic) _ para o gateway também?

Curiosamente, o hub Aqara não verifica o _Node Descriptor_ da Opple nem os _Simple Descriptors_. Isso sugere que ele codificou a impressão digital de cada dispositivo, com base no _Identificador do modelo_ e provavelmente na _Versão do aplicativo_ (já que consulta apenas esses atributos _Básicos_). O Oppla também envia um relatório de atributos para esses dois atributos.

Eu vejo um relatório de atributo para 0xfcc0 / 0x00f7 (com o código do fabricante 0x115f), que se parece muito com o relatório de atributo especial da Xiaomi, mas agora codificado como uma string octeca (tipo 0x41). A carga útil parece decodificar perfeitamente, no entanto:

  battery    temp         ?   RSSI dB             LQI         ?         ?       ?     on?
--------- ------- --------- --------- --------------- --------- --------- ------- -------
0121 e30b 0328 19 0421 a801 0521 1200 0624 0300000000 0821 1101 0a21 0000 0c20 01 6410 00
   3.043V    25°C  u16  424  u16   18  u40          3  u16  273  u16    0   u8  1   false

Acho que não vimos a tag 0c antes. 64 é usado para abrir / fechar no sensor da porta, para vazar no sensor de água e para ligar / desligar lumi.ctrl_ln2 . 04 , 08 e 0a são bastante comuns, mas não conseguimos descobrir o que significam.
Em resumo: devemos ser capazes de suportar config.battery e config.temperature para o Opple.

Você pode me dizer onde o processamento de cluster básico está acontecendo? Encontrei algo em:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/10810836905fbcd1e7c9fafcaf386702c9fed41f/de_web_plugin.cpp#L3706
mas isso nunca é chamado para nenhum dos meus dispositivos ...

Acho que devemos nos concentrar no cluster multiestado agora e fazê-lo funcionar, depois disso podemos obter a temperatura e a bateria do atributo especial

EDITAR:
Ok, descobri que isso está apenas sendo chamado ao emparelhar o dispositivo. Então, ele foi chamado e eu adicionei o cluster de vários estados em fpSwitch.inClusters mas ainda sem sorte. Nenhuma mudança na interface do usuário e nenhum evento / relatório chegando ...

Despejo completo executando o switch Aqara em meu deconz com alguns pressionamentos de botão diferentes. Mas não estou executando o código-fonte mais recente aqui com o pull mesclado. O ID da fonte é 0x4177. Não sei se isso ajuda ...
https://anonfile.com/Z34b69Pdne/OppleDeconz_pcapng

Usando deCONZ 2.05.66 com um Conbee (I). Eu sei que os interruptores Opple ainda não são suportados, mas estou me perguntando por que todas as minhas luzes zigbee (Hue e Tradfri) são ligadas / desligadas ao pressionar um botão após emparelhar o interruptor Opple 6. Algum tipo de comando breadcast está sendo enviado?

Usando deCONZ 2.05.66 com um Conbee (I). Eu sei que os interruptores Opple ainda não são suportados, mas estou me perguntando por que todas as minhas luzes zigbee (Hue e Tradfri) são ligadas / desligadas ao pressionar um botão após emparelhar o interruptor Opple 6. Algum tipo de comando breadcast está sendo enviado?

Não existe uma versão para esta atualização ainda, você precisa compilar o código-fonte para fazê-lo funcionar hoje, caso contrário, você precisa esperar até que @manup faça uma nova versão. Tenho certeza de que virá em breve.

Usando deCONZ 2.05.66 com um Conbee (I). Eu sei que os interruptores Opple ainda não são suportados, mas estou me perguntando por que todas as minhas luzes zigbee (Hue e Tradfri) são ligadas / desligadas ao pressionar um botão após emparelhar o interruptor Opple 6. Algum tipo de comando breadcast está sendo enviado?

Não existe uma versão para esta atualização ainda, você precisa compilar o código-fonte para fazê-lo funcionar hoje, caso contrário, você precisa esperar até que @manup faça uma nova versão. Tenho certeza de que virá em breve.

Eu sei :) Só estou me perguntando por que todas as luzes do meu zigbee estão ligadas / desligadas com a versão atual do deCONZ. Ele está enviando comandos de transmissão ou algo assim?

Sim, o switch envia uma transmissão que afeta as luzes em sua rede zigbee. Isso será corrigido assim que a nova versão for lançada.

Sim, o switch envia uma transmissão que afeta as luzes em sua rede zigbee. Isso será corrigido assim que a nova versão for lançada.

@merdok - Escrevi drivers de dispositivo Xiaomi / Aqara para um sistema HA diferente, Hubitat, e estou me perguntando como você contornou o problema de esses interruptores enviarem mensagens de groupcast para o grupo _todos os dispositivos_.

Sua modificação deCONZ mantém o vínculo com o coordenador, mas altera o grupo atribuído a um grupo vazio no coordenador?

Não há vínculo com o coordenador. Os dispositivos Xiaomi enviam seus relatórios ao coordenador (endereço NWK 0x0000) por padrão.

Não há grupos no coordenador. Um grupo ZigBee é como um endereço multicast, ao qual os dispositivos são assinados. Consulte o painel _Cluster Info_ na GUI deCONZ para o cluster do servidor _Groups_ (azul) para obter detalhes.

No novo estado de fábrica, o Opple envia mensagens de broadcast para controlar as luzes diretamente (sem interferência de deCONZ). Ao vincular os clusters cliente (cinza) _Ligado / Desligado_ e _Controle de nível_ a um grupo, ele envia mensagens de groupcast. deCONZ escuta as mensagens de broadcast / groupcast para fazer a engenharia reversa dos eventos do botão. Quando ele vê um groupcast, ele define config.group no recurso de sensor.

Não há vínculo com o coordenador. Os dispositivos Xiaomi enviam seus relatórios ao coordenador (endereço NWK 0x0000) por padrão.

Não há grupos no coordenador. Um grupo ZigBee é como um endereço multicast, ao qual os dispositivos são assinados. Consulte o painel _Cluster Info_ na GUI deCONZ para o cluster do servidor _Groups_ (azul) para obter detalhes.

Não sou muito versado em redes ZigBee, mas as tabelas de ligação não são armazenadas e gerenciadas pelo coordenador?

E quais dispositivos gerenciam grupos ZigBee - o coordenador, roteadores, dispositivos finais ou todos os três?

No novo estado de fábrica, o Opple envia mensagens de broadcast para controlar as luzes diretamente (sem interferência de deCONZ). Ao vincular os clusters cliente (cinza) _Ligado / Desligado_ e _Controle de nível_ a um grupo, ele envia mensagens de groupcast. deCONZ escuta as mensagens de broadcast / groupcast para fazer a engenharia reversa dos eventos do botão. Quando ele vê um groupcast, ele define config.group no recurso de sensor.

No novo estado de fábrica, entendi que os botões Aqara-Opple transmitem mensagens para todos os nós (ponto final 0xFFFF), então os clusters estão vinculados a esse ponto final, certo?

Se entendi sua explicação corretamente, a única maneira de usar os botões Aqara-Opple é vincular os clusters relevantes a um grupo, e não ao coordenador - portanto, o unicast não é possível. E os interruptores Aqara-Opple devem sempre ser configurados para controlar pelo menos um dispositivo final diretamente (como parte de um grupo).

Então, eu me pergunto como o hub Aqara gerencia a configuração dos botões Aqara-Opple para que eles não controlem todas as luzes / interruptores na malha por padrão após o emparelhamento?

mas as tabelas de ligação não são armazenadas e gerenciadas pelo coordenador?

Não, cada dispositivo ZigBee tem sua própria tabela de ligação, que é configurada por endpoint e cluster para onde enviar mensagens. Consulte a seção sobre _Binding Dropox_ no manual do usuário da GUI, no menu de ajuda.

E quais dispositivos gerenciam grupos ZigBee

Um grupo ZigBee é apenas um número, não um objeto a ser gerenciado. Cada dispositivo gerencia sua própria associação, ou seja, tem sua própria tabela de associação de grupos que escuta. Como eu disse antes, essa tabela é gerenciada por meio do cluster _Grupos_.

ponto final 0xFFFF

Esse é o endereço de transmissão NWK, não um ponto de extremidade.

portanto, os clusters estão vinculados a esse destino de terminal , certo?

Não, como eu disse, ele é codificado no caso de não haver nenhuma entrada na tabela de ligação.

a única maneira que os botões Aqara-Opple podem ser usados

Não, eu nunca disse isso. Para parar o Opple de enviar broadcasts, você precisa criar ligações dos clusters _On / Off_ e _Level Control_. A melhor prática é para um grupo. O switch não sabe nem se importa se alguma luz ouve aquele grupo.

controlar pelo menos um dispositivo final diretamente

Normalmente, os switches controlam os roteadores; dispositivos finais tendem a hibernar e não podem ser controlados, porque seu rádio está desligado (para economizar bateria).

Então, eu me pergunto como o hub Aqara gerencia a configuração dos botões Aqara-Opple para que eles não controlem todas as luzes / interruptores na malha por padrão após o emparelhamento?

Ele cria as ligações no dispositivo. E o mesmo acontecerá com o plug-in REST API, uma vez que a troca será totalmente suportada.

Obrigado pela paciência, @ebaauw! Eu entendo tudo, mas tenho mais uma pergunta:

Para parar o Opple de enviar broadcasts, você precisa criar ligações dos clusters _On / Off_ e _Level Control_. A melhor prática é para um grupo. O switch não sabe nem se importa se alguma luz ouve aquele grupo.

As ligações podem ser criadas a partir desses clusters para algo além de um grupo?

A razão pela qual estou perguntando é que eu não uso o DeCONZ, eu uso uma solução HA diferente e estou tentando descobrir o método para fazer os dispositivos de botão Aqara-Opple funcionarem de maneira semelhante a como os dispositivos de botão Aqara / Xiaomi funcionam - apenas enviando relatórios ao coordenador.

Veja a conversa acima. O Opple funciona de forma diferente de todos os outros dispositivos Xiaomi, controlando as luzes diretamente. Além disso, ele envia relatórios dos clusters do servidor _Multistate Input_ para o coordenador, novamente sem uma ligação. De alguma forma, o deCONZ não os recebe ou processa, ainda estamos descobrindo o porquê (provavelmente relacionado ao fato de que o Opple não anuncia os clusters _Multistate Input_ nem os outros terminais). Você ainda precisa criar ligações para os clusters de cliente para impedir o Opple de transmitir os comandos.

Observe que a criação de ligações não é exposta pela API REST. Isso é interno ao plug-in REST API.

Fora do tópico, não tenho certeza: o suporte para Aqara OPPLE é esperado na próxima versão?
Não vejo nenhuma referência "OPPLE" nos commits.

Sim, o suporte inicial será incluído na próxima versão.

Já está incluído no http://deconz.dresden-elektronik.de/raspbian/beta/deconz-latest-beta.deb que foi atualizado no dia 14?

Eu testei deconz-2.05.73 com interruptores Aqara OPPLE * 4 e botão * 6.
E é a possibilidade de adicionar interruptores.

A imprensa de Singel está ok.
Mas * 2 clique e o pressionamento longo são aleatórios.
Está trabalhando em algum botão.

Mas não consigo ver os interruptores no phoscon.

Os 2 cliques e o pressionamento longo são diferentes entre esses interruptores. Isso ocorre porque ainda estamos lutando para disponibilizar o endpoint correto no deconz. Sabemos que existe um cluster Multistate presente no switch, mas não é visível no deconz ...

Olá, com o último beta, tentei com sucesso incluir 4 botões e 6 botões no Phoscon, mas não mostrei como você diz ostgardh.

Interruptor de 4 botões: 1 clique ok em 4 botões, clique duas vezes em ok nos botões 3 e 4, sem cliques longos
Interruptor de 6 botões: 1 clique ok em 6 botões, cliques duplos não estão ok e clique longo em ok no botão 3, 4, 5, mas no botão 6 o clique longo retorna na liberação de 5 botões (6001 -> 5003)

Tenho uma dúvida: como abrir a chave para trocar a bateria?

Acabei de atualizar para 2.05.73 - como faço para emparelhar o switch Opple? Pressionar o botão C na parte traseira não faz nada, o LED pisca 3 vezes, mas o deconz não reconhece a chave.

deconz não reconhece o interruptor

Você não pode vê-lo na GUI do deconz após ter sido emparelhado, e ele não relatará que emparelhou algo quando você tentar emparelhá-lo. Se você usar o Assistente de casa, pode vnc em deconz para ver se o switch está no mapa do dispositivo.

@mrgreenfr

Tenho uma dúvida: como abrir a chave para trocar a bateria?

Maby está te ajudando.
https://homekitnews.com/2019/12/04/aqara-opple-smart-switch-review/
Role para baixo até O ASSUNTO DA SUBSTITUIÇÃO DE BATERIA

Se alguém estiver interessado, adicionei suporte básico para Domoticz para a variante de 6 botões - ele funciona com um único pressionamento e duplo pressionamento dos botões do meio. Isso é muito bom :-)

https://github.com/Smanar/Domoticz-deCONZ/issues/46

Olá, com o último beta, tentei com sucesso incluir 4 botões e 6 botões no Phoscon, mas não mostrei como você diz ostgardh.

Interruptor de 4 botões: 1 clique ok em 4 botões, clique duas vezes em ok nos botões 3 e 4, sem cliques longos
Interruptor de 6 botões: 1 clique ok em 6 botões, cliques duplos não estão ok e clique longo em ok no botão 3, 4, 5, mas no botão 6 o clique longo retorna na liberação de 5 botões (6001 -> 5003)

Tenho uma dúvida: como abrir a chave para trocar a bateria?

Tenho o mesmo problema com a liberação de 6 botões após um clique longo. Evento de retorno 5003 remoto em vez de 6003.
@merdok Você tem chance de examinar o problema com o sexto botão? Agradeço antecipadamente.

É que o zigbee2mqtt tem suporte para o switch Aqara Opple
https://www.zigbee2mqtt.io/devices/WXCJKG13LM.html
Eu tento cavar no código zigbee2mqtt e descobrir como eles resolveram o suporte do opple ..

@bastshoes eu sei sobre esse problema, vou tentar resolvê-lo quando eu tiver algum tempo livre
@ostgardh da última vez que verifiquei sua implementação, foi bem

Vejo no código que os switches Opple não relatam os valores buttonevent corretos, portanto, não posso adicionar suporte para homebridge-hue.

O x000 (pressione), x001 (mantenha), x002 (liberação) e x003 (liberação após retenção) vêm do interruptor do dimmer Hue. Ao pressionar / soltar um botão, ele envia x000, x002. Ao pressionar, segurar e soltar um botão, ele envia x000, x001, x001, ..., x001, x003.
A ponte Hue não oferece suporte a notificações push, portanto, os clientes API (como o homebridge-hue) precisam pesquisar a ponte. O máximo que a ponte consegue suportar é uma vez a cada 2 segundos. Isso significa que os clientes API provavelmente perderão o evento x000 e alguns dos eventos x001. Consequentemente, sua lógica é baseada em ver x002 e x003.

Portanto, certifique-se de que cada sequência de pressionar (segurar) -liberar de ações de botão termina com x002 ou x003. _Não_ emita x000 sem um x002 ou x003 correspondente e _não_ emita um x001 sem um x003 correspondente. Se um switch enviar apenas um comando ao pressionar, ele precisa ser mapeado para x002; somente se enviar um comando ao pressionar e outro ao liberar, a impressora será mapeada para x000 e a liberação para x002.

Não tenho certeza do que exatamente você quer dizer com isso, não sou especialista para os eventos e apenas fiz meu desenvolvimento com base nos eventos para outros botões. Não tive problemas desde que implementei isso (usando o HomeAssistant). Você pode me indicar o que e onde precisa ser ajustado exatamente?

Além disso, ainda não estamos vendo o cluster Multistate em deconz, que eu acho que é necessário para adicionar o suporte Opple adequado. No momento, há eventos ausentes que os switches enviam, mas não chegam em deconz por causa do cluster não disponível.

Você pode me indicar o que e onde precisa ser ajustado exatamente?

Você deseja emitir:

  • Para imprensa única: x002 ( S_BUTTON_ACTION_SHORT_RELEASED );
  • Para impressão longa: x003 ( S_BUTTON_ACTION_LONG_RELEASED );
  • Para Double Press: 0x004 ( S_BUTTON_ACTION_DOUBLE_PRESS ).

Apenas emita um x000 ( S_BUTTON_ACTION_INITIAL_PRESS ) se ele for seguido por um x002 ou x003; apenas emita um x001 ( S_BUTTON_ACTION_HOLD ) se for seguido por um x003. Ou seja, se o switch enviar mensagens diferentes para pressionar / segurar ou soltar.

Além disso, ainda não estamos vendo o cluster Multistate em deconz, que eu acho que é necessário para adicionar o suporte Opple adequado

Logo depois aqui:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/84cd1b0bdf4e66b5f244cf733c263166129fca62/de_web_plugin.cpp#L3848 -L3852
você deseja adicionar o seguinte:

else if (node->nodeDescriptor().manufacturerCode() == VENDOR_XIAOMI &&
         modelId.contains(QLatin1String("86opcn01"))) // Aqara Opple switches
{
    fpSwitch.inClusters.push_back(MULTISTATE_INPUT_CLUSTER_ID);
}

Isso deve mostrar o cluster na GUI e permitir que as mensagens sejam registradas. Não sei se o switch requer uma ligação. Normalmente, os dispositivos Xiaomi enviam relatórios para o coordenador (endereço NWK 0x0000) fora da caixa, mas esses interruptores são diferentes de quaisquer outros interruptores Xioami.

Para lidar com os relatórios _Multistate Input_, você precisaria alterar
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/84cd1b0bdf4e66b5f244cf733c263166129fca62/de_web_plugin.cpp#L3407
para

else if ((ind.clusterId() == DOOR_LOCK_CLUSTER_ID && sensor->manufacturer() == QLatin1String("LUMI")) ||
         (ind.clusterId() == MULTISTATE_INPUT_CLUSTER_ID && sensor->modelId().contains(QLatin1String("86opcn01"))))

Você pode fazer com um único buttonMap para todas as três opções:

  • ep corresponde ao botão (0x01, ... 0x06 para S_BUTTON_1 para S_BUTTON_6 ; os interruptores de 2 e 4 botões simplesmente não enviarão mensagens de pontos de extremidade superiores) ;
  • cluster é 0x0012 (_Multistate Input_);
  • cmd é 0x0a (_atributos de relatório_);
  • param é:

    • 0 por S_BUTTON_ACTION_HOLD ;

    • 1 por S_BUTTON_ACTION_SHORT_RELEASED ;

    • 2 por S_BUTTON_ACTION_DOUBLE_PRESS ;

    • 255 por S_BUTTON_ACTION_LONG_RELEASED .

Obrigado! Vou verificar isso no fim de semana e ver se consigo fazer funcionar!

@ebaauw
Tentei adicionar o cluster multiestado de acordo com sua sugestão, mas não funcionou. O código é chamado, pois também adicionei um log lá e o vejo no console, mas o cluster multiestado ainda não apareceu na interface do usuário.
Alguma outra ideia?

Atualmente não posso ajustar o mapa de botão de acordo com sua solicitação, pois o botão envia apenas S_BUTTON_ACTION_INITIAL_PRESS e é isso. Nada vem depois disso. Nenhum S_BUTTON_ACTION_SHORT_RELEASED vem.
Em alguns botões, um S_BUTTON_ACTION_LONG_RELEASED volta. Mas aqui também, quando eu espero por muito tempo e solto, então nada vem de novo.

Acho que sem fazer o cluster multiestado funcionar, não podemos obter o suporte adequado para essas opções ...

Certo, verifiquei novamente meu lumi.sensor_wleak : de fato, o cluster _IAS Zone_ adicionado não aparece na GUI, mas as mensagens desse cluster são disponibilizadas para o plug-in REST API.

Não vejo novos eventos ou mensagens depois de adicionar o cluster com seu código. Na verdade, nada mudou.

Você emparelhou novamente o switch?

Sim, eu consertei. E como eu disse, vi o código sendo chamado porque adicionei uma saída de log lá e ela apareceu no console.

Qual é a uniqueid do recurso /sensors ? Termina com -01-0012 ?

Infelizmente não:

{
"config": {
"battery": 100,
"group": "7",
"on": true,
"reachable": true
},
"ep": 1,
"etag": "3cecbb01c9daea3e7cdd67424fd87bc5",
"manufacturername": "LUMI",
"mode": 1,
"modelid": "lumi.remote.b686opcn01",
"name": "lumi.remote.b686opcn01",
"state": {
"buttonevent": 2000,
"lastupdated": "2020-03-01T21:01:58"
},
"swversion": "20190730",
"type": "ZHASwitch",
"uniqueid": "04:cf:8c:df:3c:75:b8:b9-01-0006"
}

Hm, provavelmente é porque o cluster cliente (fora) _Ligado / Desligado_ tem precedência aqui:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/69946322ade31ba98f2d0827f3dc7a8fc07a71b5/de_web_plugin.cpp#L4764

Talvez evite a adição de clusters de clientes, listando as opções aqui:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/69946322ade31ba98f2d0827f3dc7a8fc07a71b5/de_web_plugin.cpp#L4290 -L4293
Depois disso e do emparelhamento novamente, deve terminar em -01-0012 .

Eu vi o código sendo chamado porque adicionei uma saída de log lá e ela apareceu no console.

Só para verificar, seria esta linha?

    fpSwitch.inClusters.push_back(MULTISTATE_INPUT_CLUSTER_ID);

Atualmente não posso ajustar o mapa de botões de acordo com sua solicitação, pois o botão envia apenas um S_BUTTON_ACTION_INITIAL_PRESS e é isso.

O botão não envia S_BUTTON_ACTION_INITIAL_PRESS. Ele envia um comando ao pressionar, que atualmente está mapeado para S_BUTTON_ACTION_INITIAL_PRESS. Este comando deveria ter sido mapeado para S_BUTTON_ACTION_SHORT_RELEASED em vez disso, porque o botão não envia outro comando na liberação.

Talvez evite a adição de clusters de clientes, listando as opções aqui:

Ok, agora uniqueid termina com -01-0012 mas não vejo nenhuma mensagem ou evento novo no console. O switch funciona como antes, nada realmente mudou, exceto o uniqueid.

Só para verificar, seria esta linha?

Sim, essa linha.

O botão não envia S_BUTTON_ACTION_INITIAL_PRESS. Ele envia um comando ao pressionar, que atualmente está mapeado para S_BUTTON_ACTION_INITIAL_PRESS. Este comando deveria ter sido mapeado para S_BUTTON_ACTION_SHORT_RELEASED em vez disso, porque o botão não envia outro comando na liberação.

Oh, então eu tenho que mudar no mapa de botões de S_BUTTON_ACTION_INITIAL_PRESS para S_BUTTON_ACTION_SHORT_RELEASED ?

Ok, agora o uniqueid termina com -01-0012

Isso é bom.

mas não vejo nenhuma mensagem ou evento novo no console.

Isso não é bom. Olhando para zigbee2mqtt, ele faz alguma mágica para configurar o Opple:
https://github.com/Koenkk/zigbee-herdsman-converters/blob/29f6a72d56e6c93e19261e93d2de76fa7da70362/devices.js#L890

O cluster é definido aqui:
https://github.com/Koenkk/zigbee-herdsman/blob/e7050455cedc7dc8115dc1260989a666515923ed/src/zcl/definition/cluster.ts#L3651

Portanto, ele grava o valor 1 u8 no cluster

Fazemos algo semelhante para o dimmer Hue em delayedFastEnddeviceProbe() , em algum lugar ao redor:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/69946322ade31ba98f2d0827f3dc7a8fc07a71b5/de_web_plugin.cpp#L14171
Infelizmente, o arquivo é muito grande para ser listado no GitHub. Será que isso é uma dica? ;-)

Oh, então eu tenho que mudar no mapa de botões de S_BUTTON_ACTION_INITIAL_PRESS para S_BUTTON_ACTION_SHORT_RELEASED?

Sim por favor.

Portanto, ele grava o valor 1 u8 no cluster 0xFFC0, atributo 0x0009, usando o código do fabricante 0x115f. Aposto que o Opple precisa ouvir essa palavra mágica para começar a enviar mensagens de entrada multiestado.

Isso faz sentido. Mas não tenho a menor ideia de como escrever até o ponto final com o deconz. Você poderia me dizer como e onde devo fazer isso?

Fazemos algo semelhante para o dimmer Hue em delayedFastEnddeviceProbe (), em algum lugar ao redor:

Não consigo encontrar o método delayedFastEnddeviceProbe() implementação em de_web_plugin.cpp, apenas o vejo lá sendo chamado duas vezes. Tem certeza que está nesse arquivo?

Sim por favor.

Eu posso fazer essa mudança, mas faz sentido ainda ajustá-la agora, já que estamos nos aproximando de fazer o cluster multiestado funcionar?

BTW : você sabe como adicionar suporte adequado ao Home Assistant? Atualmente eu tenho que ouvir os eventos do switch e em Device for the Opple há apenas bateria listada. Outras opções têm lá todos os eventos listados ...

Não consigo encontrar o método delayedFastEnddeviceProbe() implementação em de_web_plugin.cpp, apenas o vejo lá sendo chamado duas vezes. Tem certeza que está nesse arquivo?

Vou precisar verificar quando voltar para casa. Como mencionei, o arquivo é muito grande para o GitHub exibir em sua totalidade. Os últimos 1000s (!) De linhas estão faltando.

Eu posso fazer essa mudança, mas faz sentido ainda ajustá-la agora

Eu concordo, vamos nos concentrar em fazer o _Multistate Input_ funcionar.

BTW: você sabe como adicionar suporte adequado ao Home Assistant?

Desculpe, não uso nem conheço HA.

Vou precisar verificar quando voltar para casa. Como mencionei, o arquivo é muito grande para o GitHub exibir em sua totalidade. Os últimos 1000s (!) De linhas estão faltando.

Oh, agora mesmo. Vejo o método agora em meu ambiente de desenvolvimento local.

Ok, com base em zigbee2mqtt agora sabemos o que precisa ser feito para fazer o cluster multiestado funcionar, agora devemos apenas encontrar o local certo para gravar os dados no endpoint (na inicialização, eu acho).

O lugar certo é em delayedFastEnddeviceProbe() , próximo a onde o atributo do dimmer Hue está escrito. Já se passaram alguns anos desde que escrevi isso, mas afaik ainda funciona. Consulte https://github.com/dresden-elektronik/deconz-rest-plugin/commit/82cdb3b521e3704d2c75b17eb360b334893f7bf5.

Então, eu adicionei isto:

if (sensor->modelId().contains(QLatin1String("86opcn01")))  // Aqara Opple
{
    DBG_Printf(DBG_INFO, "WRITE TO OPPLE \n");
    deCONZ::ZclAttribute attr(0x0009, deCONZ::Zcl16BitBitMap, "mode", deCONZ::ZclReadWrite, false);
    attr.setBitmap((quint64) 0x000b);
    writeAttribute(sensor, sensor->fingerPrint().endpoint, 0xFFC0, attr, VENDOR_XIAOMI);
}

O código é chamado durante o emparelhamento (vejo DBG_Printf no console), mas o cluster multistate ainda não está visível na interface do usuário e também não há novos eventos ou mensagens. O que eu fiz errado?

Aqui está alguma saída de registro:

write manufacturer specific attribute of 0x04CF8CDF3C75B8B9 ep: 0x01 cluster: 0xFFC0: 0x0009
21:11:59:078 add task 248 type 20 to 0x04CF8CDF3C75B8B9 cluster 0xFFC0 req.id 95
21:11:59:079 0x04CF8CDF3C75B8B9 (lumi.remote.b686opcn01) create binding for attribute reporting of cluster 0x0001 on endpoint 0x01
21:11:59:079 discard double entry in binding queue (size: 4) for for 0x04CF8CDF3C75B8B9, cluster 0x0001
21:11:59:079 APS-DATA.request id: 96, addrmode: 0x03, addr: 0x04cf8cdf3c75b8b9, profile: 0x0000, cluster: 0x0021, ep: 0x00 -> 0x00 queue: 1 len: 15 tx.options 0x04
21:11:59:106 APS-DATA.request id: 95, addrmode: 0x03, addr: 0x04cf8cdf3c75b8b9, profile: 0x0104, cluster: 0xFFC0, ep: 0x01 -> 0x01 queue: 2 len: 10 tx.options 0x04

Também procurei em todo o console as referências de id do cluster multiestado (0x0012), mas não há uma única entrada para isso ...

O atributo Opple é do tipo u8, então o segundo argumento para o construtor ZclAttribute deve ser deCONZ::Zcl8BitUint . Você precisa defini-lo com o valor u8 de 1 a attr.setValue((quint64) 1); .

As classes deCONZ:: são da API C ++ que o programa principal deCONZ oferece aos plug-ins. Veja os arquivos #include do pacote deconz-dev , instalado em /usr/include/deconz . O site que documenta esta API C ++ desapareceu ...

if (sensor->modelId().contains(QLatin1String("86opcn01")))  // Aqara Opple
{
    DBG_Printf(DBG_INFO, "WRITE TO OPPLE \n");
    deCONZ::ZclAttribute attr(0x0009, deCONZ::Zcl8BitUint, "mode", deCONZ::ZclReadWrite, false);
    attr.setBitmap((quint64) 0x000b);
    attr.setValue((quint64) 1);
    writeAttribute(sensor, sensor->fingerPrint().endpoint, 0xFFC0, attr, VENDOR_XIAOMI);
}

Nada ainda. Preciso deixar os hacks de ontem ou preciso removê-los?

Remova a chamada para setBitMap , apenas para ter certeza.

Nada ainda...

Verifique duas vezes e verifique três vezes as fontes zigbee2mqtt. Levei uma quarta verificação para ver se o cluster é 0xFCC0 . Foi mal.

Heh, eu copiei do seu comentário, mas mesmo depois disso eu comparei multiplique vezes com a fonte, mas também não percebi o erro ...

Ok, agora finalmente posso ver algo novo.

Cluster multiestado e 2 novos endpoints apareceram na interface do usuário:
Anmerkung 2020-03-02 224625

Meu antigo mapa de botões não funciona mais.
Novos eventos estão vindo do cluster 0x0012 (multiestado):

APS-DATA.indication srcAddr: 0x4586, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -47
22:45:20:520    asdu: 18b00a5500210100
22:45:20:520 Node data 0x04cf8cdf3c75b8b9 profileId: 0x0104, clusterId: 0x0012
22:45:20:524 Force binding of attribute reporting for sensor lumi.remote.b686opcn01
22:45:20:525 no button handler for: lumi.remote.b686opcn01 ep: 0x01 cl: 0x0012 cmd: 0x0A pl[0]: 0x55

Algumas coisas novas, como relatório de atributos ZCL:

22:50:10:693 APS-DATA.indication srcAddr: 0x4586, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -47
22:50:10:693    asdu: 18b70a5500210200
22:50:10:693 Node data 0x04cf8cdf3c75b8b9 profileId: 0x0104, clusterId: 0x0012
22:50:10:695 Force binding of attribute reporting for sensor lumi.remote.b686opcn01
22:50:10:695 no button handler for: lumi.remote.b686opcn01 ep: 0x01 cl: 0x0012 cmd: 0x0A pl[0]: 0x55
22:50:10:695 ZCL attribute report 0x04CF8CDF3C75B8B9 for cluster: 0x0012, ep: 0x01, frame control: 0x18, mfcode: 0x0000
22:50:10:695    payload: 5500210200

Alguns deles do ponto final 4 ????

22:54:04:230 Node data 0x04cf8cdf3c75b8b9 profileId: 0x0104, clusterId: 0x0012
22:54:04:233 ZCL attribute report 0x04CF8CDF3C75B8B9 for cluster: 0x0012, ep: 0x04, frame control: 0x18, mfcode: 0x0000

Não tenho certeza de como lidar com isso ...

Editar agora eu tenho 6 novos endpoints no gui, para cada botão no remoto um endpoint é criado. Eles só aparecem na interface do usuário quando eu pressiono um botão no controle remoto pela primeira vez.

Anmerkung 2020-03-02 225659

A mensagem no button handler for: no console aparece apenas para o primeiro endpoint, para todo o resto eu vejo apenas ZCL attribute report no console.

Uniqueid na API de descanso ainda termina com -01-0006

Acho que agora só preciso configurar um novo mapa de botões e ele deve funcionar. Então, como faço para criar um mapa de botão adequado agora com esses novos dados?

Cluster multiestado e 2 novos endpoints apareceram na interface do usuário:
Eles só aparecem na interface do usuário quando eu pressiono um botão no controle remoto pela primeira vez.

Ah, é verdade (claro, agora me lembro); a GUI exibe os clusters (não relatados nos _descritores detalhados_) quando vê uma mensagem do dispositivo originada desse cluster.

Meu antigo mapa de botões não funciona mais.

Você pode querer verificar novamente se as ligações para os clusters do cliente foram criadas.

No entanto, provavelmente o switch usa os clusters de cliente ou o cluster de servidor _Multistate Input_. Talvez escrever outro valor para o atributo mágico mudaria colocá-lo no modo "dual", mas acho que devemos contar nossas bênçãos e não tentar consertar o que não está quebrado.

No entanto, você deve evitar criar um grupo para essas opções, expor config.group e configurar quaisquer ligações de cluster de cliente.

Não tenho certeza de como lidar com isso ...

No buttonMap.

O nenhum manipulador de botão para: mensagem no console aparece apenas para o primeiro endpoint

É melhor criar um novo mapa de botões primeiro.

para todo o resto, vejo apenas o relatório de atributos ZCL no console.

E é isso que queremos ver!

Uniqueid na API de descanso ainda termina com -01-0006

Certifique-se de não adicionar os clusters do cliente à impressão digital fpSwitch, consulte https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061#issuecomment -593149167.

Então, como faço para criar um mapa de botão adequado agora com esses novos dados?

Veja acima, https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061#issuecomment -592617874. Li que o botão também oferece suporte ao pressionamento triplo com valor 3.

No entanto, você deve evitar criar um grupo para essas opções, expondo config.group e configurar quaisquer ligações de cluster de cliente.

Desculpe, eu não entendo isso. Você poderia ser mais específico?

Certifique-se de não adicionar os clusters do cliente à impressão digital fpSwitch, consulte # 2061 (comentário).

Fazendo isso, eu também preciso empurrar de volta o cluster multiestado ( fpSwitch.inClusters.push_back(MULTISTATE_INPUT_CLUSTER_ID); ) ou então o switch não emparelhará, está certo?

Iniciou um novo mapa de botões de acordo com sua sugestão em um comentário anterior:

static const Sensor::ButtonMap aqaraOpple6MapNew[] = {
//    mode                          ep    cluster cmd   param button                                       name
    // First button Off
    { Sensor::ModeScenes,           0x01, 0x0012 , 0x0a , 0,    S_BUTTON_1 + S_BUTTON_ACTION_HOLD, "Off top hold" },
    { Sensor::ModeScenes,           0x01, 0x0012 , 0x0a , 1,    S_BUTTON_1 + S_BUTTON_ACTION_SHORT_RELEASED, "Off top press" },
    { Sensor::ModeScenes,           0x01, 0x0012 , 0x0a , 2,    S_BUTTON_1 + S_BUTTON_ACTION_DOUBLE_PRESS, "Off top double press" },
    { Sensor::ModeScenes,           0x01, 0x0012 , 0x0a , 255,    S_BUTTON_1 + S_BUTTON_ACTION_LONG_RELEASED, "Off top long released" },
    // end
    { Sensor::ModeNone,             0x00, 0x0000, 0x00, 0,    0,                                           nullptr }
};

e isso resulta sempre com button 1001 Off top hold sendo acionado independentemente de eu pressionar uma vez, pressionar duas vezes, pressionar três vezes, segurar ou soltar.

Pressionar os outros botões ainda não resulta em no button handler for: aparecendo no console ...

Abaixo estão as mensagens para cada evento.

Pressione uma vez:

23:50:12:401 APS-DATA.indication srcAddr: 0xc394, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -49
23:50:12:401    asdu: 180d0a5500210100

Pressione duas vezes:

23:50:14:214 APS-DATA.indication srcAddr: 0xc394, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -49
23:50:14:214    asdu: 180e0a5500210200

Pressão tripla:

23:50:15:696 APS-DATA.indication srcAddr: 0xc394, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -49
23:50:15:696    asdu: 180f0a5500210300

Segure:

23:52:53:785 APS-DATA.indication srcAddr: 0xc394, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -50
23:52:53:785    asdu: 18100a5500210000

Lançamento:

23:52:54:568 APS-DATA.indication srcAddr: 0xc394, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -50
23:52:54:568    asdu: 18110a550021ff00

A única mudança entre essas mensagens é a última parte da carga útil e parece ser exatamente como você disse, mas sempre apenas button 1001 Off top hold aparece no console.
Para os outros botões, apenas a indicação APS-DATA aparece no console e button xxxx mesmo que eu ajustei o mapa de botões.

Desculpe, eu não entendo isso. Você poderia ser mais específico?

Não chame checkSensorGroup() nem checkSensorBindingsForClientClusters() nem sensor->addItem(DataTypeString, RConfigGroup);

Fazendo isso, eu também preciso empurrar de volta o cluster multiestado

Sim, isso precisa ficar.

e isso resulta sempre com o botão 1001 Off top hold sendo acionado independentemente de eu pressionar uma vez, pressionar duas vezes, três vezes, segurar ou soltar.

Você pode listar o código que alterou aqui:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/84cd1b0bdf4e66b5f244cf733c263166129fca62/de_web_plugin.cpp#L3407

Pressionar os outros botões ainda não resulta em nenhum manipulador de botão para: aparecer o console ...

Você adicionou as entradas para os outros pontos de extremidade ao buttonMap?

Não chame checkSensorGroup () nem checkSensorBindingsForClientClusters () nem sensor-> addItem (DataTypeString, RConfigGroup);

Entendi! Removi minhas chamadas para checkSensorGroup() e checkSensorBindingsForClientClusters() . Este sensor->addItem(DataTypeString, RConfigGroup); i nunca foi adicionado. A opção ainda funciona, mas o config.group ainda está presente na API restante.

Eu também removi checkClientCluster = true; Tudo bem?

Você pode listar o código que alterou aqui:

Não mudou nada lá.

Você adicionou as entradas para os outros pontos de extremidade ao buttonMap?

Sim eu fiz. O que é interessante, para os outros botões nem mesmo o método checkSensorButtonEvent() é chamado. Acabei de colocar uma saída de log lá e ela imprime no console para o botão com o ponto de extremidade 1, mas para todos os outros ele não imprime meu log, então nunca é chamado ...

O que é interessante, para os outros botões nem mesmo o método checkSensorButtonEvent () é chamado.

Sempre há mais um lugar para colocar na lista de permissões ... Você precisa colocar os switches na lista de permissões aqui, para procurá-los usando o ponto de extremidade 01.
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/c69b8323051a90dd78035025ffe174df7370f440/de_web_plugin.cpp#L715 -L718

Não mudou nada lá.

Você deveria, consulte https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061#issuecomment -592617874 acima, antes do mapa de botões.

Observe que você pode usar o mesmo mapa de botões para todas as três opções.

Também removi checkClientCluster = true; Tudo bem?

Pense assim.

Sempre há mais um lugar para colocar na lista de permissões ... Você precisa colocar os switches na lista de permissões aqui, para procurá-los usando o ponto de extremidade 01.

Então, basicamente, algo assim, se eu entendi corretamente?

else if (sensorNode->modelId().contains(QLatin1String("86opcn01")))
{
    sensorNode = getSensorNodeForAddressAndEndpoint(ind.srcAddress(), 0x01);
}

Você deveria, consulte # 2061 (comentário) acima, antes do mapa de botões.

Oh, desculpe, de alguma forma eu perdi isso.

Vou adicionar o código que falta hoje à noite e testá-lo.

Pense assim.

Acho que, como agora temos o cluster multiestado para funcionar, alguns dos códigos anteriores que adicionei não são mais necessários, então quero tentar mantê-lo o mais limpo possível ...
Está tudo bem que config.group ainda apareça na API restante? O switch ainda precisa estar em um grupo agora que o cluster multiestado está ativo ou isso não é mais necessário?

Então, basicamente, algo assim, se eu entendi corretamente?

Sim.

Oh, desculpe, de alguma forma eu perdi isso.

Como eu disse, sempre tem mais um lugar ...

Está tudo bem que config.group ainda apareça na API restante?

Não, não está tudo bem, já que o switch agora não envia nenhum comando para controlar as luzes naquele grupo. Você pode querer excluir o recurso e emparelhar novamente o switch, para verificar se config.group ainda foi criado. Provavelmente é uma sobra de antes de escrever o atributo especial.

Ok, agora todos os pressionamentos de botão vão dentro de checkSensorButtonEvent() para que isso seja resolvido.

Mas agora, depois de adicionar dentro do método checkSensorButtonEvent() :

else if ((ind.clusterId() == DOOR_LOCK_CLUSTER_ID && sensor->manufacturer() == QLatin1String("LUMI")) ||
         (ind.clusterId() == MULTISTATE_INPUT_CLUSTER_ID && sensor->modelId().contains(QLatin1String("86opcn01"))))

todos os botões pressionados exibem no button handler for: mesmo que o botão esteja correto e ajustado de acordo com sua sugestão.

Você verificou com uma impressão de depuração se o bloco então para aquele if foi executado?

Sim, é chamado. Ele ainda é chamado 5 vezes por um toque de botão.

EDIT: Desculpe, acabei de notar que estou errado se bloquear ...

Ok, a chave funciona perfeitamente agora 👍 Todos os eventos chegam e são gerenciados corretamente. Acho que entendemos!
config.group também não está mais presente na API restante!
Deixe-me verificar as variantes dos botões 4 e 2 e acho que está feito.
Eu prepararia uma solicitação de pull posteriormente. Seria bom se você pudesse dar uma olhada rápida e verificar se está tudo bem, principalmente em relação à atualização do plugin homebridge.

Acho que entendemos!

Legal!

Deixe-me verificar as variantes dos botões 4 e 2 e acho que está feito.

Basta usar o mesmo mapa de botões; eles simplesmente não enviarão relatórios dos terminais superiores.

Mais uma pequena coisa que acabei de notar sobre config.group na API restante. Então, quando eu inicialmente emparelhar o switch, config.group aparecerá na API restante e, depois de reiniciar o deconz, ele desaparecerá. Você sabe por que é assim e como posso evitar isso?

Então você tem cliques simples, duplos, longos (e triplos?) Funcionando em todos os botões agora, @merdok?

config.group mostra o valor null ? Você vê uma notificação do websocket informando que o config.group foi alterado?

Tem certeza de que não está fazendo addItem(DataTypeString, RConfigGroup) para o nó do sensor?

@ebaauw Não, há um número de grupo e este grupo foi realmente criado.
O interessante é que sob o endpoint /groups vejo esse novo grupo e o switch é um membro desse grupo.
Depois de emparelhar o switch e reiniciar o deconz, o switch não tem mais a propriedade config.group , mas o grupo sob o endpoint /groups ainda existe e o switch ainda é membro desse grupo lá.

Não, eu não chamo e nunca chamei (mesmo na minha primeira implementação) este addItem(DataTypeString, RConfigGroup)

Eu acho que pode ser executado em outro bloco if onde isso é chamado ... mas onde?

@jdberry correto, todos os eventos funcionam! Single, Double, Triple, Hold, Long Release

@ebaauw
Ok, deixa pra lá. Encontrou o local onde o grupo foi criado. Estava em bindings.cpp

Também existe atualmente este bloco de código em bindings.cpp:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/c69b8323051a90dd78035025ffe174df7370f440/bindings.cpp#L2482 -L2489

Devo também adicionar o cluster MULTISTATE agora que funciona?

Estava em bindings.cpp
Devo também adicionar o cluster MULTISTATE agora que funciona?

A maioria dos dispositivos Xiaomi (se não todos) envia relatórios para o coordenador prontos para uso. Não há necessidade de criar qualquer ligação para esses dispositivos. Você os introduziu para o Opple porque ele controla as luzes diretamente por meio desses clusters de clientes por padrão. Agora que temos o cluster _Multistate Input_ funcionando, todas as referências ao Opple precisam ser removidas de bindings.cpp (presumindo que ele também reportará a bateria ao coordenador pronto para uso). Além disso, certifique-se de que nenhum dos métodos de bindings.cpp seja chamado para o Opple. Consulte https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061#issuecomment -593671487.

Quando sei que reporta a bateria ao coordenador? Removi todas as referências aos interruptores Opple em bindings.cpp e tudo ainda funciona, exceto a bateria na API restante agora mostra null , preciso pressionar manualmente o botão de leitura no cluster de configuração de energia no deconz gui para atualizar para 100 .

EDITAR: No momento, deixei a ligação da tensão da bateria no arquivo bindings.cpp para o switch, sem isso eu obtenho o valor null para a bateria na api restante.

EDIT: No momento, deixei a ligação da tensão da bateria no arquivo bindings.cpp para o switch, sem isso eu obtenho o valor null para a bateria no api restante.

Posso não ser necessário, mas não faria mal nenhum, suponho. config.battery normalmente mostra null até a chegada do primeiro relatório. Eu não ficaria surpreso se a configuração do relatório acionasse um primeiro relatório.

Encomendei um Opple de seis botões; algum tipo de gente aqui doou algum dinheiro para mim. Assim que puder farejar o tráfego, será mais fácil verificar se a configuração é necessária. No entanto, levará algumas semanas antes que chegue ...

Ok legal 👍
Enviei a solicitação de pull com o suporte aprimorado. Tudo parece estar funcionando bem! Se tiver tempo, dê uma olhada rápida e verifique se perdi alguma coisa.

Trabalho incrível @merdok e @ebaauw !!

Trabalho incrível @merdok e @ebaauw !!

Acordado! Obrigado, vocês dois, por trabalharem para descobrir isso!

Acabei de configurar meu primeiro switch de 6 botões e me pergunto se sou o único com esse problema, mas não o vi em nenhum outro lugar em minhas pesquisas.

Olhando para os eventos, obtenho os eventos 1000, 2000,3000,4000,5000 e 6000 para um único toque nos botões correspondentes, o que é ótimo. Manter os botões 1 ou 2 me dá os mesmos eventos correspondentes (1000 e 2000), no entanto, os botões 3-6 me dão um código de espera (exemplo do botão 3) 3001 e 3003 (na liberação). o pressionamento duplo de qualquer um dos 6 botões apenas me dá o evento de pressionamento único, e o pressionamento triplo não realiza eventos em todos os 6 botões.

Esse comportamento já é conhecido / já está registrado em algum lugar ou sou o único com esse comportamento? Eu também lancei um nó de depuração no componente deconz no nó vermelho procurando por eventos, mas não há alterações lá também, os mesmos resultados acima com o Home Assistant.

desde já, obrigado

Você precisa compilar o plugin REST API por conta própria (consulte o README) ou esperar pelo próximo lançamento com essas mudanças.

@ jsnyde30 esta é a implementação antiga. Para o novo suporte aprimorado, use deconz v2.05.75 beta ou aguarde o próximo lançamento oficial.

obrigado merdok! Desculpe se eu perdi isso nas notas.

Você precisa compilar o plugin REST API por conta própria (consulte o README) ou esperar pelo próximo lançamento com essas mudanças.
@ebaauw
Leia-me é bem curto para instalar o ambiente de desenvolvimento:
sudo apt install deconz-dev

Onde está localizado o repositório de pacotes? Tentei no meu raspi, não encontra o pacote deconz-dev.
A melhor dica que obtive ao pesquisar foi:
wget http://www.dresden-elektronik.de/rpi/deconz-dev/deconz-dev-latest.deb
que não resolve.
Existem mais instruções sobre a contribuição para este projeto?

Acabei de atualizar para 2.05.75 e agora meu controle remoto Opple não envia eventos de botão. Excluí o switch e emparelhei novamente. Não ajudou. Ainda sem eventos. Perdi o grupo que foi criado para remoto.

Acabei de atualizar para 2.05.75 e agora meu controle remoto Opple não envia eventos de botão. Excluí o switch e emparelhei novamente. Não ajudou. Ainda sem eventos. Perdi o grupo que foi criado para remoto.

Você removeu e reassociou o switch à sua rede?

Você removeu e reassociou o switch à sua rede?

sim. Removai o controle remoto e passei pelo processo de emparelhamento.

Mesmo aqui. em 2.04.74 eu consegui obter eventos de botão (toque único), mas com o 2.04.75 o switch não faz nada. Já emparelhou, agora está aparecendo no gui, mas não envia nenhum estado.

@raddi
O mesmo para mim.
Atualize para 2.04.75, remova o dispositivo. Mas não está enviando nenhum estado ..

PARA SUA INFORMAÇÃO..
Se eu pressionar o botão de outros dispositivos, posso ver o botão azul piscar na GUI.
Mas não para o Aqara OPPLE eu adicionei ...

Vou verificar isso hoje à noite. Talvez algo tenha dado errado com a mesclagem ...

Ok, vejo um lugar onde algo deu errado enquanto @manup estava mesclando os commits.
Precisarei enviar uma nova solicitação pull para corrigir isso.

Parou de trabalhar aqui também após a atualização

Correção enviada: # 2561

Só para confirmar, peguei o código-fonte mais recente com minha correção, compilei, testei e tudo funciona bem. As opções aparecem na IU e todos os eventos funcionam!

@merdok Acabei de compilar o PR e testar aqui com um Opple de 6 botões totalmente novo. Para emparelhar, fui para o antigo webUI e usei "rede aberta". Em seguida, segurei o botão na parte de trás até o LED piscar. Em seguida, pressionei cada botão uma vez.

Parece que o botão superior agora é um controle "tudo ligado" / "tudo desligado", já que todas as minhas luzes se acendem ou apagam ao pressioná-lo. Eu verifiquei a API REST, mas não consigo encontrá-la (mas posso estar usando a API REST errada ...)?

Atualmente não tenho acesso à IU deCONZ (desktop) ...

Alguma ideia? Pode até ser um PEBCAK, com certeza ...! : P

Nunca tentei emparelhar com o antigo webUI. Eu recomendo que você experimente com o aplicativo Phoscon.

Ok, então entrei no aplicativo de desktop e o excluí de lá, mas minhas luzes ainda reagem a ele ...
Tentei adicioná-lo novamente indo "adicionar sensor" no Phoscon, mas o botão "pronto" não se tornou clicável. Mesmo quando for "adicionar switch". Estou fazendo errado?

Exclua a chave antes de emparelhá-la novamente.

Eu fiz. Entre no aplicativo de desktop deCONZ, selecione o nó e pressione "excluir". O nó então desapareceu.

EDITAR:
Parece que foi adicionado novamente. Vou verificar se está funcionando melhor agora. :)

"39": {
"config": {
"bateria": 100,
"on": verdadeiro,
"alcançável": verdadeiro
},
"ep": 1,
"etag": "190c1c15c8c64eea05ce4a20bad3a8b6",
"manufacturername": "LUMI",
"modo": 1,
"modelid": "lumi.remote.b686opcn01",
"nome": "Transmissor 3-gang",
"Estado": {
"buttonevent": 2002,
"última atualização": "2020-03-09T21: 43: 23"
},
"swversion": "20190730",
"tipo": "ZHASwitch",
"uniqueid": "04: cf: 8c: df: 3c: 77: b5: 89-01-0012"
}

Compilei os novos commits e agora funciona perfeitamente. Visível na GUI do Phoscon, funciona com o plug-in Homebridge-Hue e com o plug-in Node-RED. Muito obrigado pelo seu esforço e tempo!

Olá @merdok !

Pelo que entendi, de acordo com suas mudanças de código, não haverá nenhum grupo criado para o switch Opple.
Foi útil criar ligações diretas para controlar as luzes, mesmo se o coordenador estivesse desativado. Alguma mudança para mantê-lo?

O grupo foi necessário na primeira implementação para ser capaz de controlar apenas luzes específicas, sem o grupo o switch controlaria apenas todas as luzes em sua rede zigbee. Como agora, o switch tem suporte adequado, então o grupo não é mais necessário. Quer dizer, você ainda pode criar grupos sozinho usando a API REST e colocar a opção nela, se isso for algo que você deseja.

Quero dizer, você ainda pode criar grupos sozinho usando a API REST e colocar a opção nela

Isso não vai adiantar nada. Alteramos o modo de operação do Opple, para que ele envie relatórios para o coordenador, ao invés de comandos para o grupo associado. Isso era necessário para oferecer suporte aos eventos de botão rico (pressionar, segurar, soltar, soltar por muito tempo, pressionar duas vezes, pressionar três vezes).

Oi pessoal

Então, eu não namorei para 205,75. Eu tenho o mesmo problema sem eventos. Isso significa que preciso aguardar a próxima versão para fazer esse switch funcionar?

Você excluiu o recurso /sensors e emparelhou novamente o switch?

Obrigado pela resposta rápida.
Eu não excluí o recurso de sensores. Isso estará no Phoscon?

mas eu reparei, duas vezes

Sim, acho que se você excluir o switch no Phoscon, o recurso será excluído. Se você excluir o nó da GUI, no entanto, os recursos não serão alterados.

Quero dizer, você ainda pode criar grupos sozinho usando a API REST e colocar a opção nela

Isso não vai adiantar nada. Alteramos o modo de operação do Opple, para que ele envie relatórios para o coordenador, ao invés de comandos para o grupo associado. Isso era necessário para oferecer suporte aos eventos de botão rico (pressionar, segurar, soltar, soltar por muito tempo, pressionar duas vezes, pressionar três vezes).

OK, entendi.

Como obtenho suporte posterior para Aqara OPPLE?
Eu só encontro 2.05.75
http://deconz.dresden-elektronik.de/ubuntu/beta/?C=M;O=D

Espere pelo próximo lançamento, ou compile e deconze-se dos fontes.

obrigado vai fazer :)

Eu ainda só obtenho o nível da bateria quando ligo o switch. Ele também redefine todas as minhas outras luzes na conexão. Quando eu verifico o changelog, isso não deve acontecer. O que estou fazendo errado? 2.05.75 não é a versão que dará suporte aos opple switches? O assistente doméstico está mostrando a chave como

seguido: lumi.remote.b286opcn01
por LUMI

Para o Home Assistant, a integração do deconz precisa ser atualizada com o suporte Opple. Até que isso aconteça, você pode ouvir os eventos do switch Opple.

Espere pelo próximo lançamento, ou compile e deconze-se dos fontes.

Quando o próximo lançamento está planejando?

Eu não sei que. @manup está fazendo os lançamentos.

Para o Home Assistant, a integração deCONZ precisa ser atualizada com o suporte Opple. Até que isso aconteça, você pode ouvir os eventos do switch Opple.

Isso não parece funcionar aqui. Eu costumava ser capaz de receber eventos do switch com deconz 2.05.74, mas desde a atualização para .75 isso não funciona mais:

grafik
Pressionar qualquer botão no interruptor não produz nenhum evento no Home Assistant.


grafik
Parece estar conectado no aplicativo da web Phoscon ...


grafik
... bem como na GUI.


Já tentei remover o switch na interface web, bem como na GUI deCONZ, mas sem sucesso. Há mais alguma coisa que eu possa tentar?

Já foi declarado aqui várias vezes que 2.05.75 tem bugs e você precisa esperar pelo próximo lançamento ou construir o deconz por si mesmo a partir dos fontes.

Ei pessoal! Diga-me, datas de atualização aproximadas, por favor? Eu já tenho meus dois interruptores de 6 botões, mas dane-se :)

No meu caso, compilei a partir do mestre mais recente e as opções não foram adicionadas. Phoscon está exibindo atualmente a versão .75. Na GUI, eles são assim:
image
E no resto api eles não estão aparecendo.

@ mat1990dj Tenho o mesmo em 0,75.
E o interruptor liga-se a todas as luzes e interruptores Zigbee. Portanto, pressionar os botões liga / desliga faz com que todos eles liguem / desliguem.

Estou compilando errado? ou emparelhamento errado?
Compilei usando:

sudo apt install deconz-dev
git clone https://github.com/dresden-elektronik/deconz-rest-plugin.git
cd deconz-rest-plugin
qmake && make -j2
sudo cp ../libde_rest_plugin.so /usr/share/deCONZ/plugins
and then launched deCONZ as usual.

Excluí os dois sensores antigos da API de descanso, também da GUI com Delete selected Node
Eu emparelhei fazendo:
5s pressione o botão Voltar
Verificar dispositivos / verificar interruptores
Nada aconteceu

Eu também compilei, e nada aconteceu para mim e para o meu mano. Então galera temos que esperar até que haja uma integração mais próxima da galera do DE com o Mark, ou pelo menos se houver versões dev de assemblies. Para evitar situações como com opple ...

Não sei como excluir os dispositivos corretamente, eles continuam se reconectando automaticamente :(
image

Você precisa usar a API restante para excluir o dispositivo e reiniciar o deconz antes de tentar emparelhá-lo novamente. É assim que eu faço.

Já fiz isso uma vez, mas tenho três dispositivos que não param de voltar e não sei como excluí-los porque não aparecem mais na API
image

Tente colocá-lo no modo de emparelhamento e excluí-lo.

Eu já fiz isso, eles continuam pareando assim :(

Ei @ mat1990dj , acho que você tem algo parecido com esse problema, pode confirmar? Ova aqui: https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2605

Experimente, acho que não é meu problema local, ou seu, algo aconteceu depois de algumas atualizações ...

Parece algo semelhante, mas não mudei o nome dos dispositivos. Realmente parece que os velhos insetos fantasmas

Tente colocá-lo no modo de emparelhamento e excluí-lo.

Isso funcionou para mim!
Pressionei o botão "c" (aprox. 5s) na parte traseira e, em seguida, excluí-o. Depois disso, o dispositivo não é mais exibido.

THX

Ok, mas você pode repetir minha pergunta com a renomeação também? Basta renomear algum dispositivo via phoscon e reiniciar o deconz, o que é interessante. Você terá o mesmo problema ou não ... Agradecemos antecipadamente.

Tente colocá-lo no modo de emparelhamento e excluí-lo.

Isso funcionou para mim!
Pressionei o botão "c" (aprox. 5s) na parte traseira e, em seguida, excluí-o. Depois disso, o dispositivo não é mais exibido.

THX

Só para ficar claro,
Botão 5s C e, em seguida, exclua do deCONZ GUI?
Sem emparelhamento de phoscon?

Isso não funciona para mim, eles continuam vindo, eles ficam sem a linha de link e não consigo emparelhá-los corretamente novamente.
image
Eu não sei como ir daqui para parear e usá-los
Eu até os removi de zll.db e tentei emparelhá-los novamente, mas eles sempre virão assim

A situação parece que você só precisa reiniciar o stick - mas isso não é normal. Pessoalmente, na minha opinião isso é uma consequência das atualizações, tal comportamento nunca foi antes. Você remove com segurança, emparelha novamente, etc.

Eu também tenho dois fantasmas no meu raspbee ...

Tenho várias imagens no meu pi de framboesa. Um para funcionamento 24 horas por dia, 7 dias por semana e outro para desenvolvimento. Portanto, os dispositivos que vinculo no desenvolvimento também aparecem no deconz gui na minha imagem de execução diária. Mas isso não deve causar problemas e nunca tive problemas com isso.
Então, por que você quer se livrar completamente deles?

Não sei como, mas cheguei a esta situação:
image
Um dos interruptores está emparelhado (embora não relate nenhum status)
O outro é pareado, mas sem descritor, como obtê-los? Deus sabe...

Ok, mas você pode repetir minha pergunta com a renomeação também? Basta renomear algum dispositivo via phoscon e reiniciar o deconz, o que é interessante. Você terá o mesmo problema ou não ... Agradecemos antecipadamente.

Agora tentei reproduzir o seu problema.
Estou usando o stick ConBee II com a versão 2.05.75 / 8.3.2020 em Hassio.
Agora mudei o nome de uma luz, um interruptor e um sensor:
Todos os dispositivos também foram renomeados diretamente no Hassio. Depois disso, reiniciei o contêiner deCONZ. Todos os dispositivos mantiveram seus nomes. Mesmo depois de reiniciar o Hassio, não consigo reproduzir o problema descrito.

Tente colocá-lo no modo de emparelhamento e excluí-lo.

Isso funcionou para mim!
Pressionei o botão "c" (aprox. 5s) na parte traseira e, em seguida, excluí-o. Depois disso, o dispositivo não é mais exibido.
THX

Só para ficar claro,
Botão 5s C e, em seguida, exclua do deCONZ GUI?
Sem emparelhamento de phoscon?

Isso não funciona para mim, eles continuam vindo, eles ficam sem a linha de link e não consigo emparelhá-los corretamente novamente.
image
Eu não sei como ir daqui para parear e usá-los
Eu até os removi de zll.db e tentei emparelhá-los novamente, mas eles sempre virão assim

o opple switch só foi exibido para mim no deCONZ, não na GUI do phoscon.
Eu o havia excluído várias vezes no deCONZ, mas ele continuava voltando.
Somente após pressionar o botão "C" por 5 segundos. e então (após aproximadamente 5 minutos) deletando o dispositivo no deCONZ, o dispositivo realmente desapareceu permanentemente.

Apenas um pequeno pingback - como esses botões não estão funcionando no meu sistema e estou usando o Docker (devido a um ambiente muito grande com SQL, FHEM, Homebridge etc ...), gostaria de perguntar a wehn qual será a próxima versão corrigida seja publicado? Anyone an idee - enquanto eu verifico o caixa eletrônico diário do Github ...

DE guys não compartilha nenhuma data de lançamento.

Okidoki, obrigado. Estava pensando, pois cerca de um mês se passou e muitos problemas foram marcados como resolvidos - leve-me a esperança de que um lançamento esteja próximo;)

sim. como disse antes, nunca esperei uma atualização como agora.

Hoje recebi meu Opple de 6 botton (WXCJKG13LM).
Eu precisava de 3xreset antes de o phoscon configurar o switch.
Após a primeira reinicialização, o switch não foi reconhecido pelo phoscon, embora, ao clicarmos, algumas luzes aleatórias estivessem acendendo e desligando o botão 2.
após o segundo reset, o phoscon o pegou e configurou o switch como:
image
Meu entusiasmo diminuiu depois que percebi que a mudança não gera nenhum evento de canal no openhab. Estou usando a ligação openhab deCONZ que funciona bem para o existente.

Antes do teste, foi criado um novo contêiner docker baseado no http://deconz.dresden-elektronik.de/raspbian/beta/deconz-latest-beta.deb de hoje

@lukicsl eu acho que isso deve ser implementado para a integração openhab deconz.
Preciso fazer algo semelhante para o assistente doméstico. Já tenho um commit para a integração do deconz do assistente da casa preparado e apenas aguardando o próximo lançamento oficial do deonz.

@merdok Acabei de depurar a ligação deconz e parece que nenhum evento é gerado no websocket registrado

Desculpe, eu não sei nada sobre openhab ...

@merdok deconz está expondo um websocket onde você se registra para todos os tipos de eventos.
Em relação a esta opção, nenhum evento é gerado, ao menos parece.
https://dresden-elektronik.github.io/deconz-rest-doc/websocket/

Interessado em saber se podemos fazer isso funcionar com deconz e Homeassistant

Eu configurei no nó vermelho um listener do websocket:
image
Ao pressionar os botões no Opple nenhum evento é gerado!

aqui definição nodered, mude a app-key ao usar:

flows.json.txt

Como o NodeRed deve obter quaisquer eventos se deconz não os está gerando ... Problema - deconz não está gerando eventos para aqueles ATM Opple - é por isso que estamos todos esperando pelo próximo lançamento ...

Eu usei o latest-beta.deb. Eu pensei que isso tivesse todos os commits do git.
Caso contrário, tenho a última versão compilada por mim mesmo. Eu vou tentar essa.

Consegui compilar a versão mais recente que gerou o libde_rest_plugin.so. Copiei o libde_rest_plugin.so para / usr / share / deCONZ / plugins.
Infelizmente, não consegui fazer o login no Phoscon.
estranho era que o servidor VNC estava funcionando, então eu testemunhei que a rede estava crescendo.
Voltei para 0,75 e aguardando o lançamento oficial.

@lukicsl Eu tenho o mesmo resultado com o último plugin compilado por mim. Então .. é só esperar pelo novo lançamento.

1 para integração. Não verifiquei se eles eram suportados antes e fiquei feliz, quando meus switches chegaram hoje.
Muito cedo...

1 para integração. Não verifiquei se eles eram suportados antes e fiquei feliz, quando meus switches chegaram hoje.
Muito cedo...

O mesmo aqui .... Espero uma integração muito em breve ... Tenho 2 dessas 6 peças de botão ...

Nossa, não acredito que já se passaram 5 meses.

... não há atualizações no horizonte. : |

... não há atualizações no horizonte. : |

Droga .. Alguma idéia de por que não há atualizações chegando? É um grande problema integrar esses switches? Mesmo meu botão Osram 4 não está funcionando ... :-(

Acho que as atualizações estão mais lentas agora devido ao corona.

Recebi uma informação sobre uma atualização futura nos próximos dias.

Acho que as atualizações estão mais lentas agora devido ao corona.

Bem, eles deveriam parar de beber 🤣 desculpe por isso 🧥

É uma vergonha. :( @merdok talvez possamos tentar um contêiner de desenvolvimento? Talvez você precise de ajuda com isso? :( Droga, eu já estou tão cansado de esperar, só estanho.

Recebi uma informação sobre uma atualização futura nos próximos dias.

Junho ... agosto? : D

Bem, sinta-se à vontade para compilar por conta própria;)

Não fui tímido e compilei ... vc pode ler o resultado acima. :)

A versão compilada deve funcionar (estou usando-a o tempo todo sem problemas, todos os eventos funcionam), apenas certifique-se de emparelhar novamente seus interruptores.

Quando você emparelha seus switches com deconz 2.05.75 e, em seguida, instala qualquer outra versão sem emparelhar novamente os switches, os eventos ainda não funcionarão.

@merdok eu tenho que consertar todos os dispositivos ou apenas os interruptores opple?

Estou tentando me compilar em um raspi 4, mas sempre recebo um erro:

{entrada padrão}: Mensagens do Assembler:
{entrada padrão}: 10900: Aviso: fim do arquivo não no fim de uma linha; nova linha inserida
{entrada padrão}: 11309: Erro: pseudo-op desconhecido: .l' {standard input}:11276: Error: invalid operands (*UND* and .ARM.extab.text._ZN5QListIN6deCONZ16SimpleDescriptorEE13detach_helperEi sections) for - '
{entrada padrão}: 11279: Erro: operandos inválidos ( UND e .ARM.extab.text._ZN5QListIN6deCONZ16SimpleDescriptorEE13detach_helperEi seções) para `- '
g ++: erro fatal: programa finalizado sinal morto cc1plus
compilação encerrada.
make [1]: * [Makefile.

make [1]: Saindo do diretório '/ home / pi / deconz-rest-plugin'
make: ** [ Makefile: 40 : release] Erro 2

Apenas interruptores Opple.

Aqui está uma ideia. Aqara, Opple, Lumi, Xiaomi ou o que quer que eles se chamem. Uma coisa que notei é que embora sejam baseados em zigbee, a empresa não segue o procedimento padrão. Com cada versão, eles estão dificultando a integração de seus produtos com o uso de seu hub e, portanto, forçando você a usar o serviço de nuvem e coletar dados sobre você?

@merdok Marcin, você poderia compartilhar seu plugin compilado?

@SAOPP não tenho certeza se tenho permissão para fazer isso ...

Estou executando o instalador all-in hass.io. É correto que não consigo compilar com esta versão?

Não, o Hass usa complementos pré-compilados, o que leva dias / semanas / meses após uma nova versão ser liberada.

@SAOPP não tenho certeza se tenho permissão para fazer isso ...

oh, isto é, o plugin compilado não pode ser distribuído? :(

Não tenho certeza, mas é muito fácil compilá-lo sozinho. Literalmente, leva apenas 5 minutos.

Não tenho certeza, mas é muito fácil compilá-lo sozinho. Literalmente, leva apenas 5 minutos.

Você compilou no raspbian?
Estou recebendo um erro e não consigo compilar

Sim, eu compilei no raspbian, apenas siga o guia, não há nada que você possa errar.

Eu mesmo compilei, mas não funciona totalmente, veja os comentários acima. Não consigo fazer o login no phoscon e no REST.

Sim, eu compilei no raspbian, apenas siga o guia, não há nada que você possa errar

Fiz tudo exatamente como descrito. Mas sempre recebo um erro:

{entrada padrão}: Mensagens do Assembler:
{entrada padrão}: 38943: Aviso: fim do arquivo não no fim de uma linha; nova linha inserida
{entrada padrão}: 39934: Aviso: zero assumido para a expressão ausente
{entrada padrão}: 39904: Erro: operandos inválidos (seções UND e .ARM.extab) para `- '
g ++: erro fatal: programa finalizado sinal morto cc1plus
compilação encerrada.
make [1]: * [Makefile.

make [1]: Saindo do diretório '/ home / pi / deconz-rest-plugin'
make: ** [ Makefile: 40 : release] Erro 2

EDIT: Consegui compilar em uma nova imagem deconz. os interruptores são reconhecidos como eu esperava.

Sim, eu compilei no raspbian, apenas siga o guia, não há nada que você possa errar.

Eu gostaria de esperar pelo novo lançamento regular. Há uma data de lançamento planejada para v2.05.76?

Há certeza, mas quando exatamente será lançado, apenas @manup saberá!

Faz tanto tempo que comprei os interruptores que nem sei mais onde os coloquei ....

Compilei o plugin com sucesso sem nenhum problema. Consegui integrar o switch com sucesso. No Phoscon, não há possibilidade de link com uma luz, mas os eventos são disparados na API (tentado com node-red, home Assistant e também com o app android hue essentials). Agora posso vincular todos os botões (toque curto, toque longo, toque múltiplo) com grupos, luzes, etc. no Hue Essentials.

Eu também compilei. Tudo está funcionando até agora com a iobroker.

Agora posso dizer que esses oppel Switches valem cada centavo. 😁

Então, qual é a minha melhor solução? Tenho um interruptor pronto no quarto do bebê. O dia é definido para 12 de maio. Estou executando o hass.io de instalação fácil em um raspberry pi 4. Esperar e usar um switch Ikea até que as atualizações cheguem? Ou reinstalar o raspbian com o assistente doméstico, compilar a última versão e esperar que meu conhecimento seja suficiente?

Use coisas que já funcionem, seja o ikea ou experimente o dimmer de matiz Phillips. Ambos estão disponíveis na maioria dos países e são baratos.

Use coisas que já funcionem, seja o ikea ou experimente o dimmer de matiz Phillips. Ambos estão disponíveis na maioria dos países e são baratos.

É verdade, mas na Holanda o dimmer Hue não cabe no rocker normal. Este switch van deve ser colocado no mesmo local onde o antigo balancim estava localizado. Essa é a beleza :). O plano é usar essa opção em todos os cômodos, eventualmente.

Achei que Phillips fizesse uma capa para caber no painel frontal. Eles fazem para o Reino Unido.

EDIT: Consegui compilar em uma nova imagem deconz. os interruptores são reconhecidos como eu esperava.

Consigo compilar, mas o plugin não carrega ...

20:22:30:985 HTTP Server listen on address 0.0.0.0, port: 80, root: /usr/share/deCONZ/webapp/
20:22:31:008 CTRL. 3.16.220:22:31:340 dev /dev/ttyAMA0
20:22:31:340 ZCLDB init file /root/.local/share/dresden-elektronik/deCONZ/zcldb.txt
20:22:31:436 found node plugin: libde_signal_plugin.so - Signal Monitor Plugin
20:22:31:453 found node plugin: libstd_otau_plugin.so - STD OTAU Plugin
20:22:31:727 dev /dev/ttyAMA0

(Não há linha como 20:26:58:519 found node plugin: libde_rest_plugin.so - REST API Plugin , que está lá quando eu uso o contêiner do docker sem modificação)

Estou usando a imagem oficial do docker, algo que estou perdendo aqui?

Edit: Parece que não sou o único com o problema: https://github.com/marthoc/docker-deconz/issues/114

Obrigado equipe de desenvolvimento pelo trabalho que você está colocando nisso. Mal posso esperar para que isso seja marcado e faça parte do próximo lançamento. Não consegui encontrar outro dispositivo de que goste que se aproxime dessa opção de 6 gangues.

Fiquei um pouco desapontado ao descobrir que isso ainda não está funcionando (comprei com base na lista de compatibilidade no wiki).

Não me oponho a fugir do repo, mas não tenho certeza de como (ou se) isso funciona com uma configuração HassOS / HassIO com supervisor.

Acho que vou precisar descobrir isso ou esperar pacientemente por uma liberação.

@ luke3butler Não funcionará com a solução do supervisor. Estou no mesmo barco, tentando descobrir se desejo reinstalar o RaspPI com Rasbian e, em seguida, instalar o Home Assistant.

A mesma história aqui: parece o único dispositivo que atende às minhas necessidades (exceto para o quad ZWAVE aeotec wallmote).
Mas rodar HAssOS em VM, então não vou (e não gosto de mudar isso logo, já que a casa inteira agora está rodando nele)

@annetimdegraaf @ bramv101
Acho que na verdade é possível com um pouco de trabalho. Bifurque o plug-in do supervisor existente, modifique-o para construir uma versão do master, então simplesmente crie um novo repositório no Github aqui para ele e chame-o de "deCONZ-dev" ou algo assim.

Uma vez instalado, qualquer um poderia simplesmente adicionar o repositório customizado e migrar para usá-lo se quiserem usar o canal instável. Pode até permitir a configuração manual do comando checkout para clonar e construir.

Edit: Eu ia esperar e ser paciente por uma liberação, mas quando alguém diz que não é possível, eu só tenho que encontrar uma solução 😄
Não tenho certeza se vou continuar com isso, mas é definitivamente possível.

Acabei de pedir um raspbee como eu quero para o meu rádio zigbee longe do meu PC HASS.

Existe algum tutorial sobre como compilar o software mais recente, agora eu tenho um conbee stick sobressalente. Eu preciso tentar algo no switch opple?

@ luke3butler

Acabei de lançar todos os dispositivos, instalei e compilei o estado real. Mas, infelizmente, nenhum dos meus interruptores opple funcionou estável. Como a compilação não gerou mensagens de erro, acho que parece haver (no ponto em que compilei) alterações no código que afetam a estabilidade. Assim, se alguém foi capaz de compilar uma versão dev estável - concordo, seria bom trocá-la ou os próprios arquivos de dados em um hoster de compartilhamento ou outro lugar ...

Eu tenho um problema estranho. Eu tinha dois switches 6x conectados e mostrados no add-on deconz. Pressionar botões etc não mostrou nenhuma atividade no diagrama VNC, então removi ambos de dentro do add-on. Então quis adicioná-los novamente como switch. O aplicativo não os encontrou e não os mostra como interruptores, mas funcionou de alguma forma:

image

É claro que essas opções não são apresentadas ao HA como opções, tornando-as inúteis.
Alguma ideia do que posso fazer?

EDIT: Lendo todos os posts de volta, parece que não sou nem o primeiro nem o único. Então eu acho que tenho que esperar o próximo lançamento do deconz.

No assistente de casa, usando a integração de deconz, todos os eventos de pressionamento único, pressionamento duplo e retenção funcionam, mas nenhum evento para liberação após retenção

No assistente de casa, usando a integração de deconz, todos os eventos de pressionamento único, pressionamento duplo e retenção funcionam, mas nenhum evento para liberação após retenção

Com a versão de lançamento no momento? Versão 2.05.75 FW 264A0700?
Não está funcionando aqui ... Os interruptores Opple não são reconhecidos como interruptores.

Desculpe, eu quis dizer que os eventos são reconhecidos se você ouvir por eles no assistente de casa usando "deconz_event" na seção de ferramentas do desenvolvedor, o que significa que você pode fazer automações com base neles, mas você está correto, nenhuma entidade de switch disponível ainda.

Desculpe, eu quis dizer que os eventos são reconhecidos se você ouvir por eles no assistente de casa usando "deconz_event" na seção de ferramentas do desenvolvedor, o que significa que você pode fazer automações com base neles, mas você está correto, nenhuma entidade de switch disponível ainda.

Você configurou / instalou algo especial para isso? Eu tenho o plug-in de supervisor Deconz, vinculei meu dispositivo de 6 botões em Deconz, o interruptor aparece em dispositivos com porcentagem de bateria, mas não vejo nada no log deconz_event ao pressionar os botões :(

Em primeiro lugar, você pode ver todos os eventos que estão sendo acionados pelo plug-in deconz acessando ferramentas do desenvolvedor -> eventos (no assistente inicial) e, na parte inferior da página, você tem uma seção chamada 'ouvir eventos'. insira deconz_event no campo 'evento para se inscrever' e pressione começar a ouvir.
Agora, quando você pressiona uma tecla em seu controle remoto, na parte inferior da tela, você verá os eventos que estão sendo acionados pelo plug-in deconz.
Por exemplo, um único clique no botão um dá a você um evento com id 1002. Este é o id que você pode usar como um gatilho para ligar uma luz, por exemplo.
Você pode criar essas automações adicionando uma automação, como pode ver em uma entrada nesta página: https://community.home-assistant.io/t/deconz-switch-configuration/93346/2

Uma alternativa às automações no yaml é usar o plugin node-red para o assistente de casa, que é onde tenho todas as minhas automações no assistente de casa. Node-red é ótimo de várias maneiras e você pode dar uma olhada em como ele funciona no youtube se ainda não souber, por exemplo aqui https://www.youtube.com/results?search_query=home+assistant+event + gatilho + nó-vermelho

Qual versão do Phoscon você está usando @joggs ? Com a versão mais recente, você não receberá nenhum evento com o switch Opple no Home Assistant. Portanto, muitas pessoas estão esperando por uma atualização, pois ela corrigirá o problema.

2.05.75. Não é o mais recente?

Essa é a última versão, estranho. Eu mesmo tenho um switch de 6 vias e não recebo eventos no Home Assistant.

2.05.75. Não é o mais recente?

Rodar a mesma versão também, mas ouvir eventos deconz_event não dá nenhum evento. Não ao pressionar os botões, mas também não ao acionar sensores de movimento ou alternar as luzes. Talvez haja uma configuração que causa esses eventos? @joggs você adicionou o botão a um grupo no phoscon?

Só para constar, tenho que construir o novo plug-in na imagem do docker. Parece funcionar. https://github.com/marthoc/docker-deconz/issues/114

Eu finalmente consegui fazer a compilação da maneira certa, antes de fazer uma bagunça em ter Pi (armhf) e obter o pacote dev para amd64. A biblioteca agora é coletada pelo contêiner. Minhas instruções detalhadas estão em: docker-deconz / issues / 114 .

Iniciei o container e consegui acessar o Phoscon, o REST também funcionou. Verifiquei no contêiner em execução qual biblioteca está presente. Tudo bem conforme o esperado.

Tirei a chave e tentei adicioná-la novamente. Adicionar como switch não funcionou, adicionar como sensor funcionou na primeira tentativa.

Embora eu ainda não receba nenhum evento na interface REST, nada, nada, nichts.
Ao pressionar qualquer um dos botões, não vejo nenhuma atividade no LED:
image

Finalmente, finalmente estou funcionando.
Excluí várias vezes a chave do Phoscon e reiniciei a chave, sem resultado positivo. Eu não estava renomeando o switch no Phoscon. Na última tentativa, mudei o nome dele e ele começou a funcionar.
Não estou totalmente certo do que o fez wkn.

2.05.75. Não é o mais recente?

Rodar a mesma versão também, mas ouvir eventos deconz_event não dá nenhum evento. Não ao pressionar os botões, mas também não ao acionar sensores de movimento ou alternar as luzes. Talvez haja uma configuração que causa esses eventos? @joggs você adicionou o botão a um grupo no phoscon?

Acabei de adicionar o opple para deconz e ainda uso o nome padrão para ele (Transmissor 3-gang). Não adicionado a nenhum grupo em Foscon.
Na integração de deconz no assistente de casa, habilitei 'permitir grupos de luzes de deconz', mas isso não deve importar neste caso.
Talvez você possa tentar reinstalar a integração deconz no assistente de casa

Olá!

Notei um comportamento incomum nos meus interruptores opple e não tenho ideia de como resolvê-lo ...

Toda vez que eu reinicio o Raspbery Pi com o software Conbee instalado ou o adaptador Deconz em meu iobroker, o Opple parece atingir as 4 seguintes ordens:

1x "Botão 1: Solte após pressionar = verdadeiro"
1x "Botão 4: Solte após pressionar = verdadeiro"
2x "Botão 4: Liberar após pressionar triplo = verdadeiro"

O estado "True" não é visível para mim na visualização Objetos do iobroker. Eles permanecem "falsos".

Esse é um problema muito grande porque o botão "1" liga minha TV, o que não é muito legal se o framboesa reiniciar no meio da noite ....

Alguém tem problemas semelhantes ou talvez uma pista de como resolver isso?

THX!

Finalmente recebi o Opple de 6 botões que encomendei em 2 de março. Ele emparelhou sem problemas e vejo eventos de botão x002, x004, x005 e x001 / x003 para pressionar, pressionar duas vezes, pressionar três vezes e segurar / soltar para todos os 6 botões. Os descritores são um pouco confusos, mas o switch funciona mesmo assim. Farei algumas experiências no fim de semana que vem, para ver se o switch pode ser seduzido no modo dual, relatando os eventos do botão por meio dos clusters _Multistate Input_ e, ao mesmo tempo, controlando as luzes por meio dos clusters _On / Off_.

Alguém já descobriu se a bateria pode ser substituída?

Aparentemente Aqara não queria que os usuários pudessem facilmente substituir a bateria dos interruptores Opple, mas mesmo assim é possível substituir a bateria com algum trabalho.

Obrigado, @merdok. Você precisa abrir os roqueiros para isso? Eles parecem bastante frágeis ao tentar abri-los.

Sim, você precisa desmontá-los. Ainda não fiz isso sozinho, mas vi um guia online.

Tenho uma vara de conbee sobressalente agora. Como faço para obter esta versão de pré-lançamento? Esta será minha plataforma de teste para dispositivos deconz futuros em minha rede.

Você precisa abrir os roqueiros para isso? Eles parecem bastante frágeis ao tentar abri-los.

Fiquei curioso quando recebi pela primeira vez a chave de seis botões, @ebaauw , e encontrei as instruções online sobre como expor a bateria. Pelo que me lembro, não foi difícil depois que descobri o que fazer e não hesitaria em fazê-lo novamente. Não me lembro exatamente do procedimento e não tenho o interruptor na minha frente. Sim, eu precisava arrancar os botões, pelo que me lembro, e embora achasse que iria quebrá-lo ao fazer isso, eles acabaram saindo com bastante facilidade e suavidade para mim. Feito isso, era trivial acessar a bateria.

@manup Olá manuel, muitos de nós aguardamos o próximo lançamento. Parece não ser possível compilar manualmente para a solução de supervisor / hassio / assistente doméstico. Tenho olhado para as datas de lançamento das versões anteriores e, desta vez, parece que vai demorar mais. Você pode iluminar a data de lançamento da v2.05.76?

Talvez alguém que o compilou para o Raspberry possa compartilhar os arquivos, e nós os copiamos manualmente para os locais apropriados? Ou não funcionaria.
Eu, pessoalmente, não gostaria de colocar pressão sobre os desenvolvedores ... mas gostaria de brincar com os interruptores, menos ainda;)

Talvez alguém que o compilou para o Raspberry possa compartilhar os arquivos, e nós os copiamos manualmente para os locais apropriados?

libde_rest_plugin.so (armhf)
para raspi

Obrigado, mas onde esse arquivo está localizado?

/usr/share/deCONZ/plugins/libde_rest_plugin.so

Então tentei o arquivo @lukicsl aqui. Ele é coletado e carregado no contêiner, mas o comportamento não parece ser diferente.

Não consigo remover a chave da lista, ela reaparece imediatamente quando eu atualizo. Ele ainda desliga todas as minhas luzes e interruptores. Tentar emparelhar também não funciona. Não há eventos da mudança no assistente de casa.

/usr/share/deCONZ/plugins/libde_rest_plugin.so

Obrigado, mas isso não está acessível em HASSIO

Claro. Você pode simplesmente estender o complemento oficial:

  1. Baixe https://github.com/home-assistant/hassio-addons/tree/master/deconz
  2. Copie a pasta deconz para o diretório de complementos do assistente doméstico (usando SMB ou SCP)
  3. Modifique config.yml e altere o nome para, por exemplo, deconz-master
  4. Copie libde_rest_plugin.so para o diretório deconz.
  5. Altere o Dockerfile para
FROM homeassistant/armhf-addon-deconz:5.3.2
COPY libde_rest_plugin.so /usr/share/deCONZ/plugins/
  1. Instale seu addon local, pare o deconz oficial e inicie o novo.

Mas, como eu disse, ainda não parece funcionar corretamente.

acaba de chegar um Opple 6 botões, conectado para deconz através do app como um switch, conecta mas não retorna nenhum evento ao Home Assistant, versão 2.05.75

Opple
Opple2
Opple3

@ Luke95vl este é um bug conhecido. Espere até o próximo lançamento para a correção

Alguém conhece pessoalmente @manup ?

Espero que ele esteja bem, você sabe com tudo que está acontecendo. Não consigo encontrar nenhuma atividade dele desde 5 de abril, temo que possamos estar por nossa conta para compilar. Eu uso a imagem do docker e não consigo descobrir como compilá-la e fazê-la funcionar. Alguém fez isso com sucesso?

Eu acho que há grandes mudanças chegando, eles só querem ter certeza de que a atualização é estável. Há muitos problemas com o deconz ultimamente e está se tornando um pouco instável

@djashjones ahh isso faz sentido.

@djashjones se eles estão fazendo grandes mudanças, é um pouco estranho não submeter nenhum código por 4 semanas. Com grandes mudanças, geralmente é aconselhável fazer commits com frequência ...

Deconz não é totalmente de código aberto. O código de back-end é fechado e de propriedade da dresden elektronik. O restante da API é de código aberto e mantido por programadores externos, ou seja, voluntários.

Se você deseja os melhores e mais recentes dispositivos zigbee com suporte na configuração de sua casa inteligente, zigbee2mqtt é o caminho a percorrer.

@djashjones Tenho 99% de certeza de que @manup funciona para Dresden.

@svenove Se for esse o caso, WTF está acontecendo !!!!! 🤣

também tenho esse problema com um switch de 2 vias aqara opple. existe uma maneira de resolver isso?

Aqara Opple 2-gang não funciona
O switch sem fio inteligente Aqara WXKG11LM 2016 funciona perfeitamente

zigbee2mqtt funcionaria, mas é mais dyi?

Eu tenho a versão 2-gang deste switch opple aqara (WXCJKG12LM) e tentei emparelhá-lo com o phoscon e ele falhou, MAS, ao ouvir deconz_events no Home Assistant, ele mostra! Mostra-se como:

{
"event_type": "deconz_event",
"dados": {
"id": "lumi_remote_b486opcn01_30",
"unique_id": "04: cf: 8c: df: 3c: 75: c2: 25",
"evento": 3000
},
"origem": "LOCAL",
"time_fired": "2020-05-08T10: 34: 52,733044 + 00: 00",
"contexto": {
"id": "2213df60b1a24be09c93bec99e1b1276",
"parent_id": null,
"user_id": null
}
}

No entanto, a mudança está longe de ser vista no aplicativo da web da phoscon ...

dois botões com o mesmo evento?

dois botões com o mesmo evento?

Não, todos os botões têm ids de eventos diferentes, só não iria postá-los todos aqui!

Por favor, Dresden Elektronik, integre os dispositivos Aqara OPPLE! Estamos todos esperando ansiosamente por isso!
Existe uma área de solicitação de recursos onde podemos votar?

dois botões com o mesmo evento?

Não, todos os botões têm ids de eventos diferentes, só não iria postá-los todos aqui!

Diferente, quer dizer cada evento diferente do mesmo botão? Ou?

dois botões com o mesmo evento?

Não, todos os botões têm ids de eventos diferentes, só não iria postá-los todos aqui!

Diferente, quer dizer cada evento diferente do mesmo botão? Ou?

Eu não entendo sua pergunta. O switch funciona perfeitamente normalmente no Home Assistant. Eu tenho que mudar algumas luzes agora. Cada botão no switch cria um evento no Home Assistant como você esperaria: 1000 para o botão um, 2000 para o botão dois, 3000 para o botão três e assim por diante. Também existem IDs de eventos para segurar os botões. Exatamente como você esperaria. Portanto, posso fazer uso total do switch Opple com o deconz e o Home Assistant. A opção simplesmente não aparece no aplicativo da web Phoscon, então não posso renomeá-la nem nada, mas isso não é grande coisa.

Exatamente. Você também tem eventos de clique duplo. Eu lido com todos os eventos de node-red em homeassistant e funciona perfeitamente. Também vejo a mudança no app phoscon depois de emparelhá-lo normalmente com o app phoscon
Capture

Eu tenho a versão 2-gang deste switch opple aqara (WXCJKG12LM) e tentei emparelhá-lo com o phoscon e ele falhou, MAS, ao ouvir deconz_events no Home Assistant, ele mostra! Mostra-se como:

{
"event_type": "deconz_event",
"dados": {
"id": "lumi_remote_b486opcn01_30",
"unique_id": "04: cf: 8c: df: 3c: 75: c2: 25",
"evento": 3000
},
"origem": "LOCAL",
"time_fired": "2020-05-08T10: 34: 52,733044 + 00: 00",
"contexto": {
"id": "2213df60b1a24be09c93bec99e1b1276",
"parent_id": null,
"user_id": null
}
}

No entanto, a mudança está longe de ser vista no aplicativo da web da phoscon ...

Eu confiei neste post. Ok, talvez eu esteja errado, entendi. 'kay tudo funciona bem.

O README afirma que essas opções também suportam eventos de três cliques e 6 tipos de eventos diferentes no total. Alguém poderia confirmar isso?

Sim, na configuração do meu iobroker, posso acertar um evento tripple pressionando para cada botão.

Estou muito interessado na nova versão. Eu tenho o WXCJKG11LM e tenho o mesmo problema que quase todo mundo aqui. Mostra em deconz (por engano como Dimmer), mas não em Phoscon. Eu vi no log de deconz que uma vez ele atribuiu o evento correto (botão 1000 pressionado e assim por diante) e ele ainda mostrou na Eva ambos os botões com clique simples / duplo e clique longo. Mas nenhum evento aconteceu. Depois de excluir o dispositivo e entrar novamente, aparece o botão não mapeado. e por padrão ele liga e desliga todas as minhas luzes. em NodeRed, vejo apenas o último evento (em buffer), mas nenhum evento novo chega. Se alguma entrada for necessária, me avise.

Eu pessoalmente não vou experimentar mais antes de uma versão estável conhecida ser lançada. O problema que tenho: minha impressora 3D está atrás de um botão liga / desliga zigbee e esqueci que estava funcionando quando testei o botão opple. E sim, claro, ele foi desligado no meio da impressão;)
Isso nunca deve acontecer novamente. Esperei tanto agora (acho que fui um dos primeiros a receber quando eu estava usando o zigbee2mqtt naquela época), então posso esperar mais um mês ou dois.
Se alguém quiser que eu depure algo fico feliz em ajudar, mas até então eu deixo como está ...

Ok, agora eu tenho a chave de quatro botões e está na gaveta :(
é mostrado em phoscon e é isso. nenhum evento de botão mostrado.

{"config": {"battery": 100, "on": true, "alcançável": true}, "ep": 1, "etag": "7e15482cb98d58da8f76543da706a5d9", "manufacturername": "LUMI", "modo" : 1, "modelid": "lumi.remote.b486opcn01", "name": "Paradies", "state": { "buttonevent": null, "lastupdated": "none" }, "swversion": "20190730" , "tipo": "ZHASwitch", "uniqueid": "04: cf: 8c: df: 3c: 77: bb: 42-01-0012"}

por que está na lista de dispositivos suportados?
https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Supported-Devices#supported -wireless-switches

Eu experimentei o mesmo com o termostato Euronics. funciona, mas é apenas parcialmente suportado e o emparelhamento não é nada para todos.

Eu posso esperar, mas para alguns pode ser muito chato.

POR FAVOR, PARE DE ADICIONAR DISPOSITIVOS À LISTA DE DISPOSITIVOS COM SUPORTE QUE NÃO SÃO TOTALMENTE SUPORTADOS! OU ADICIONE UMA COLUNA "em desenvolvimento / em construção / beta / alfa".
A coluna "problemas" não se aplica neste caso, na minha opinião

Oi lex

O seu está na lista de suporte? Recentemente comprei um e tem o código de tipo: WXCJKG11LM, que, como você pode ver nos itens suportados, NÃO está listado.

Então, qual código está em seu switch?

De: lex [email protected]
Enviado: 15 de maio de 2020 09:37
Para: dresden-elektronik / deconz-rest-plugin [email protected]
Cc: mhin76 [email protected] ; Comentário [email protected]
Assunto: Re: [dresden-elektronik / deconz-rest-plugin] Suporte a opções Aqara OPPLE (# 2061)

Ok, agora eu tenho a chave de quatro botões e está na gaveta :(
é mostrado em phoscon e é isso. nenhum evento de botão mostrado.

{"config": {"battery": 100, "on": true, "alcançável": true}, "ep": 1, "etag": "7e15482cb98d58da8f76543da706a5d9", "manufacturername": "LUMI", "modo" : 1, "modelid": "lumi.remote.b486opcn01", "name": "Paradies", "state": {"buttonevent": null, "lastupdated": "none"}, "swversion": "20190730" , "tipo": "ZHASwitch", "uniqueid": "04: cf: 8c: df: 3c: 77: bb: 42-01-0012"}

por que está na lista de dispositivos suportados?
https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Supported-Devices#supported -wireless-switches

Eu experimentei o mesmo com o termostato Euronics. funciona, mas é apenas parcialmente suportado e o emparelhamento não é nada para todos.

POR FAVOR, PARE DE ADICIONAR DISPOSITIVOS À LISTA DE DISPOSITIVOS COM SUPORTE QUE NÃO SÃO TOTALMENTE SUPORTADOS!

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2061#issuecomment-629081857 ou cancele a inscrição https://github.com/notifications/unsubscribe- auth / ALXOFW2O7YLCUNZZL2CBIW3RRTWKPANCNFSM4JLW7MBQ . https://github.com/notifications/beacon/ALXOFW2BBQXYWOQUSLY4KJTRRTWKPA5CNFSM4JLW7MB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWS.g7

DROGA! o meu é WXCJKG12LM. Aprendi algo sobre como comprar coisas zigbee.
desculpe pelo meu discurso!

o que fazer a seguir? esperando ou vendendo?

Tenho a versão de 6 botões desde novembro do ano passado. Estava meio que funcionando antes da última atualização (toque único), então a atualização de 0,75 quebrou tudo. Tenho vários controles remotos de botão IKEA 5 e agora os dimmers de matiz. Ambos valem muito bem. Não tenho nenhuma razão para comprar mais interruptores opple, mesmo que eles sejam suportados. Posso comprar Ikea e Philips localmente com entrega rápida!

Eu tenho dois interruptores adicionados e um funciona (à esquerda) e outro tem o comportamento estranho descrito que liga / desliga tudo.
Os eventos são repassados ​​ao homeassistant à esquerda, mas não à direita.
(Não há multiestado no estado certo)
image

@ mat1990dj tente reiniciar e reparar o switch com o problema.

@ mat1990dj tente reiniciar e reparar o switch com o problema.

Eu tentei várias vezes, ele continua voltando sem o cluster multiestado

Reinicialize a chave, remova-a do deconz, reinicie o deconz e emparelhe novamente.

Reinicialize a chave, remova-a do deconz, reinicie o deconz e emparelhe novamente.

Continua vindo sem esse descritor, é realmente estranho, também estou tendo problemas para emparelhar um switch IKEA de 5 botões, embora o dimmer funcionou perfeitamente.

@ mat1990dj a primeira vez que emparelhei meu switch WXCJKG11LM sem suporte (depois de redefinir várias vezes porque o phoscon não apresentou nenhum sucesso), de repente vi o switch no meu homekit (e Eve) app, com botões e ações a serem aplicados primeiro, segundo e clique longo. Mas nenhum evento aconteceu. Depois de pesquisar na internet li algo sobre o nome do dispositivo não deve ter um espaço no nome. Então, mudei o nome dele via REST API (bc via deconz renomear não funciona e o switch ainda não mostra no phoscon). Mas renomear não resolveu o problema. Então eu apaguei o nó via deconz e até apaguei quaisquer entradas no banco de dados deconz (via cliente SQLIGHT). Depois de emparelhar novamente, percebi que o novo nome apareceu. E a partir de então o switch nunca mais apareceu no meu homekit (bem, nesse meio tempo eu atualizei o deconz para a versão 2.05.75).
Longstory short: mesmo quando você deleta um nó em deconz incl. DB de alguma forma no Zigbee Stick (ConBee II) ou em outro lugar uma entrada permanece. Vou esperar até que esse swtich seja compatível. Vi no código-fonte do 2.05.75 que poucas áreas já estão preparadas para esta versão. Dedos cruzados será concluído em breve. :)

Sim, vamos esperar :)
Obrigada

Bem, agora estou confuso. Acabei de ler por acaso na nota de lançamento de 2.05.75 que essa opção é compatível. Mas não funciona para mim. Código tão cheio de erros? Nota de lançamento em alemão:
F1C9700B-15A3-42E1-95FB-B4371EF0F11A

Estava funcionando um pouco antes de .75, mas apenas um evento de pressionar um único botão. Desde 0,75 nada! Estou esperando há mais de 2 meses por uma correção.

Por que as pessoas não leem com atenção que 2.05.75 é uma versão beta e não deve ser usado ...
Quer dizer, se alguém instalar uma versão beta, é claro que haverá problemas ...
2.05.74 tem suporte básico para os interruptores Opple, o suporte completo chegará na próxima versão, então seja paciente.

O problema (no caso do Home Assistant) é que a maioria das pessoas está executando o add-on, que inclui a versão 2.05.75. Talvez seja melhor indicar claramente com cada versão que é uma versão beta ou estável. No Github você pode indicar isso. ( mais informações )

@klaasnicolaas eles já fazem isso. Aqueles sem “_stable” são considerados beta, eu acho. https://github.com/dresden-elektronik/deconz-rest-plugin/tags

Mesmo assim, há espaço para melhorias 😉

76 está aí! Quem está tentando primeiro?

Também disponível para deconz / HomeAssistant. Bati 19 minutos atrás!

Lembre-se: parece ser uma "versão beta"!

@gysman Wooohoo, obrigado pela informação!
Agora, apenas esperando a nova imagem do docker para testá-la :)

A imagem docker Fyi deve ser lançada em breve!
https://github.com/marthoc/docker-deconz/pull/225

Acabei de atualizar para a nova versão. Mas meu switch Opple 3-gang ainda não está funcionando. Estou fazendo algo errado? Emparelhei com sucesso o switch no Phoscon. Posso vê-lo como uma unidade no Home Assistant. Mas se eu escuto para deconz_event, isso não me dá nada. Estava funcionando em uma das versões anteriores do Deconz - acho que vas 5.3.1

Meu interruptor de 6 botões foi emparelhado com o Deconz e aparece no aplicativo Phoscon. Quando ouço deconz_event no Home Assistant, vejo os eventos de pressionamento de botão sem problemas.

Não está funcionando para mim. Versão com 6 botões.

{"buttonevent": null, "lastupdated": "none"} carga útil completa de node-red

atualização: também não há eventos em HA.

Meu interruptor de 6 botões foi emparelhado com o Deconz e aparece no aplicativo Phoscon. Quando ouço deconz_event no Home Assistant, vejo os eventos de pressionamento de botão sem problemas.

Você está usando o Home Assistant?

Sim, eu mencionei isso em meu post anterior :)

Meu interruptor de 6 botões foi emparelhado com o Deconz e aparece no aplicativo Phoscon. Quando ouço deconz_event no Home Assistant, vejo os eventos de pressionamento de botão sem problemas.

Você tem alguma sugestão sobre o que eu poderia estar fazendo de errado?

Meu interruptor de 6 botões foi emparelhado com o Deconz e aparece no aplicativo Phoscon. Quando ouço deconz_event no Home Assistant, vejo os eventos de pressionamento de botão sem problemas.

Você tem alguma sugestão sobre o que eu poderia estar fazendo de errado?

Na verdade não, mas da última vez, quando adicionei um interruptor de dimmer Philips Hue, tive que reiniciar meu Pi antes de ver os eventos em deconz_event

Você também pode verificar a GUI por meio do VNC para ver se ele foi adicionado corretamente

Também quero mencionar que eu nunca tentei emparelhar meu Opple até 2.05.76, eu sabia que havia problemas, então esperei pela versão de trabalho

Quando você atualiza para 2.05.76 a partir de 2.05.75, você precisa primeiro remover completamente as opções de deconz e, em seguida, reiniciar o deconz e emparelhá-los novamente com a nova versão. Sem essas etapas, as opções ainda não funcionarão, pois você terá o emparelhamento quebrado em seu banco de dados de 2.05.75

Tente emparelhar o switch novamente

reinicie e um re-emparelhamento funciona. Meu dispositivo não foi adicionado até .76

Quando você atualiza para 2.05.76 a partir de 2.05.75, você precisa primeiro remover completamente as opções de deconz e, em seguida, reiniciar o deconz e emparelhá-los novamente com a nova versão. Sem essas etapas, as opções ainda não funcionarão, pois você terá o emparelhamento quebrado em seu banco de dados de 2.05.75

Isso funcionou. Muito obrigado :-) Estou esperando por isso há tanto tempo

Não vejo liberação após espera (x003)
Eu vejo isso no deconz cluster info (255), mas não no evento HA.
Eu reiniciei o switch, removi e reiniciei, em seguida, incluí o switch novamente.

Não vejo liberação após espera (x003)
Eu vejo isso no deconz cluster info (255), mas não no evento HA.
Eu reiniciei o switch, removi e reiniciei, em seguida, incluí o switch novamente.

Sem problemas aqui com os 6 botões.

Evento 1 disparado 17:27:
{
"event_type": "deconz_event",
"dados": {
"id": "lumi_remote_b686opcn01_22",
"unique_id": "xxxxxxxxxxxxxxxxxxxxxx",
"evento": 3003
},
"origem": "LOCAL",
"time_fired": "2020-05-23T15: 27: 08.018072 + 00: 00",
"contexto": {
"id": "xxxxxxxxxxxxxxxxxxxxxxx",
"parent_id": null,
"user_id": null
}
}

Estranho, também tenho o botão 6.
Todo o resto está funcionando 1 2 3 cliques e segure, mas não solte após segurar.
Tudo bem, eu tenho que tentar um pouco mais.
Obrigado por confirmar que deve funcionar.

@mickeman eu tenho o mesmo problema.
No log, vejo isso:

nenhum manipulador de botão para: lumi.remote.b686opcn01 ep: 0x06 cl: 0x0012 cmd: 0x0A pl [0]: 0x55

@ L3H0
Ok, eu tenho tentado exatamente como abaixo mais uma vez, mas não ajuda
Estou executando o deconz no ubuntu sob WMware.
Eu atualizei o conbee II para o firmware 0x26580700

Quando você atualiza para 2.05.76 a partir de 2.05.75, você precisa primeiro remover completamente as opções de deconz e, em seguida, reiniciar o deconz e emparelhá-los novamente com a nova versão. Sem essas etapas, as opções ainda não funcionarão, pois você terá o emparelhamento quebrado em seu banco de dados de 2.05.75

Eu adicionei o switch 2 vezes, reinicie o docker com deconz, mas ainda o mesmo: /
Não atualizo o FW do conbee II, ainda tenho 264A0700

@ L3H0
Ok, então não é o firmware.
Talvez o @merdok possa ajudar?

Gostaria, mas não vejo nenhum pacote deb para instalação nem um arquivo make para compilação própria. Não estou muito familiarizado com o github, mas usei “$ wget http://deconz.dresden-elektronik.de/raspbian/beta/deconz-latest-beta.deb “ para obter a última versão beta disponível, mas isso me traz de volta 2.05 0,75
Você pode me dar uma dica?

Am 23/05/2020 um 14:45 schrieb Adrian [email protected] :


A imagem docker Fyi deve ser lançada em breve!
marthoc / docker-deconz # 225

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub ou cancele a inscrição.

Ok, instalei a versão mais recente e consertei meu Opple com sucesso. Agora ele mostra no phoscon e no deconz corretamente, mas nenhum evento foi visto no nó vermelho naquele dispositivo, infelizmente.

Am 23/05/2020 um 20:52 schrieb Martin Hinz [email protected] :


Gostaria, mas não vejo nenhum pacote deb para instalação nem um arquivo make para compilação própria. Não estou muito familiarizado com o github, mas usei “$ wget http://deconz.dresden-elektronik.de/raspbian/beta/deconz-latest-beta.deb “ para obter a última versão beta disponível, mas isso me traz de volta 2.05 0,75
Você pode me dar uma dica?

Am 23/05/2020 um 14:45 schrieb Adrian [email protected] :


A imagem docker Fyi deve ser lançada em breve!
marthoc / docker-deconz # 225

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub ou cancele a inscrição.

Funciona, mas não há longo mapeamento de cliques no Phoscon?
image

@Kroeliemonster : Qual firmware? Eu tenho o mesmo problema como Mikeman sem informações de liberação em HA: (não vejo liberação após espera (x003)), Quanto tempo você esperou?

@Kroeliemonster : Qual firmware? Eu tenho o mesmo problema como Mikeman sem informações de liberação em HA: (não vejo liberação após espera (x003)), Quanto tempo você esperou?
Firmware: 26490700
Eu posso segurar por um tempo curto ou mais longo e ainda dá o evento x003

Eu instalei o Firmware 26490700 para Conbee II e atualizei o deConz para 2.05.76, mas ainda não consigo ver meu interruptor de 4 botões. No Domoticz vejo a mesma coisa. Quando eu o deletar do domoticz, ele retornará após reiniciar meu pi.
Capture
Eu acho que tenho que remover o switch de deConz, mas como posso fazer isso com deConz no modo sem cabeça?

Tive 264a0700 e nenhum evento x003 e atualizei para 26580700 e nenhum evento x003 em HA.

@Havym : via API? você não tem uma interface web? como você os adicionou?

Recebo o log do addon de deconz HA a seguir:

13:22:48:598 no button handler for: lumi.remote.b686opcn01 ep: 0x01 cl: 0x0012 cmd: 0x0A pl[0]: 0x55

HA 0.110.1 deconz .76 CB II 26580700

@Havym : via API? você não tem uma interface web? como você os adicionou?
A primeira vez que os adicionei através do app phoscon como tantos usuários. O interruptor não era suportado e ligava e desligava todas as luzes. Mas a chave ainda não está visível no app phoscon.
Mas sem o deConz Gui não consigo deletar o switch.

Tente no app phoscon -> switch -> adicionar novo switch -> other -> pressione c no opple até que pisque três vezes -> aguarde 30 seg.
Se o switch estiver agora no app phoscon, exclua-o, reinicie o deconz e adicione-os novamente.

O engraçado é ... eu tentei do seu jeito e apareceu no phoscon e eu apaguei o switch novamente e reiniciei o deconz. Agora não consigo mais conectar o switch.
Capture

EDIT: Tentei de novo e aparece no deconz e no domoticz! Obrigada.

Posso confirmar que depois de instalar a atualização do plug-in e reiniciar o HA, agora posso adicionar os dois switches 6x e todos dão resultados adequados para o estado de clique e liberação de 1,2,3x. ÓTIMO TRABALHO. Obrigada.

Agora acho que preciso descobrir qual é o melhor método para preencher todas essas opções possíveis (18 para cada chave de hardware) com as ações adequadas. Qual seria a melhor forma de o fazer? Eu acho que você precisa escrever 18 automações para cada evento, correto?

Você tem 5 estados para cada switch? 1 (x002), 2 (x004), 3 (x005) x clique, pressione e segure (x001) e solte (x003)? Na automação, há cinco para cada estado, mas a liberação do x003 após um pressionamento longo não vem do deconz.

Hmmm. Estranho, pensei que x003 também estava lá, mas não posso fazer com que apareça agora. Todos os outros estão funcionando bem.

Através do node-red obtenho 1,2,3,4,5. Pena que demorou 6 meses para chegar tão longe e é Beta

Tentei HA e componentes de nó vermelho, mas ainda não recebo os eventos x003 (lançamento). Eu removi o nó e removi o switch da interface da web e o adicionei novamente algumas vezes, mas os mesmos resultados. Vou continuar brincando com isso até que alguém poste uma solução. Até agora, tudo está funcionando perfeitamente, o que é ótimo, considerando que foi um peso de papel na minha parede por alguns meses😁

Você pode verificar novamente na GUI se o atributo _Present Value_ (0x0055) do cluster _Multistate Input_ (0x0012), no endpoint correspondente ao botão, reflete as ações do botão? Deve ser 0 para espera, 255 para liberação longa e 1, 2, 3 para pressionamento simples, duplo ou triplo.

@ebaauw

Você pode verificar novamente na GUI se o atributo _Present Value_ (0x0055) do cluster _Multistate Input_ (0x0012), no endpoint correspondente ao botão, reflete as ações do botão? Deve ser 0 para espera, 255 para liberação longa e 1, 2, 3 para pressionamento simples, duplo ou triplo.

No meu caso, posso ver todas as ações do botão na GUI, como você afirmou acima.
Mas no Home Assistant só consigo ver x001 x002 x004 x005.
Estou executando o deCONZ no ubuntu e atualizei o firmware do Conbee II para 26580700.

@ebaauw

Você pode verificar novamente na GUI se o atributo _Present Value_ (0x0055) do cluster _Multistate Input_ (0x0012), no endpoint correspondente ao botão, reflete as ações do botão? Deve ser 0 para espera, 255 para liberação longa e 1, 2, 3 para pressionamento simples, duplo ou triplo.

No meu caso, posso ver todas as ações do botão na GUI, como você afirmou acima.
Mas no Home Assistant só consigo ver x001 x002 x004 x005.
Estou executando o deCONZ no ubuntu e atualizei o firmware do Conbee II para 26580700.

Sim, posso confirmar. Tudo é visível no VNC GUI.

Os únicos eventos que recebo em HA são x001, x002, x004 e x005.
Posso usar meu switch agora, o que é fantástico! Alguns eventos ausentes são melhores do que nenhum evento :-)

Obrigado devs, seu trabalho é muito apreciado.

No meu caso, posso ver todas as ações do botão na GUI, como você afirmou acima.
Sim, posso confirmar. Tudo é visível no VNC GUI.

Nesse caso, o evento do botão x003 teria que ser emitido pelo plug-in REST API. Não vejo como não pode.

Eu começaria a suspeitar de HA, mas como também há um relatório sobre Node-red:

  • Você poderia verificar novamente na API, após aguardar / liberar por muito tempo, se state.buttonevent é de fato x003?
  • Você poderia verificar novamente com dc_eventlog (incluído no Homebridge Hue) ou com outro cliente de soquete da web se o evento x003 é emitido no soquete da web?

Eu tentei fazer regra com Hue Essentials (app android) diretamente com API deconz e isso não funciona com 1003.
1002, por exemplo, funciona como deveria.
Screenshot_20200525-001517

@ebaauw Present Value (0x0055) está relatando "255" para liberação de espera longa.
Parece que está relatando "1" para pressionamento único (liberação?), "0" para retenção, "2" para pressionamento duplo, "3" para pressionamento triplo e "255" para liberação prolongada.

Isso pode ser irrelevante, mas também reporta 255 após um longo lançamento no clique final de um duplo ou triplo pressionamento (ainda reporta 2 ou 3 para aqueles eventos anteriores ao lançamento longo)

Editar: incluindo captura de tela
Screen Shot 2020-05-24 at 7 09 21 PM

Isso pode ser irrelevante, mas também reporta 255 após um longo lançamento no clique final de um duplo ou triplo pressionamento (ainda reporta 2 ou 3 para aqueles eventos anteriores ao lançamento longo)

É um tanto incomum ver um x003 sem um x001 anterior, mas os clientes API devem ser capazes de lidar com isso (ao consultar a ponte Hue, o x001 poderia até ter sido perdido). Não acho que seja relevante para o caso de eventos ausentes / não tratados.

Precisamos realmente determinar onde está o problema. Até onde podemos dizer, o switch relata os eventos bem, relatando 255 para _Valor atual_. A próxima etapa é verificar se a API atualiza state.buttonevent e emite uma notificação de soquete da web.

Novamente, não entendo como poderia ser para os outros valores, mas não para 255. Eu odiaria jogar a carta “funciona para mim” e culpar cegamente os clientes API, então verifique isto.

No HA AddOn, deconz log após pressionar o botão 1 no botão Opple 6 (WXCJKG13LM) por 4 segundos:

07: 51: 35: 742 botão 1001 Desligado
07: 51: 35: 742 Relatório de atributo ZCL 0x04CF8CDF3Cxxxxxx para cluster: 0x0012, ep: 0x01, controle de quadro: 0x18, mfcode: 0x0000
07: 51: 39: 719 nenhum manipulador de botão para: lumi.remote.b686opcn01 ep: 0x01 cl: 0x0012 cmd: 0x0A pl [0]: 0x55
07: 51: 39: 719 Relatório de atributo ZCL 0x04CF8CDF3Cxxxxxx para cluster: 0x0012, ep: 0x01, controle de quadro: 0x18, mfcode: 0x0000

Parece que não há manipulador de botão em deconz .76 para x003

Você poderia executar o deconz com --dbg-info=2 e capturar a carga útil asdu também? Acho que 0x55 pode se referir ao lsb da id do atributo _Present Value_ (0x0055). O switch envia o mesmo relatório de atributo (comando 0x0A) para todas as ações, apenas o valor na carga útil difere.

No meu caso, segui os passos para adicionar, remover, reiniciar e adicionar novamente, e um dos meus interruptores funcionou perfeitamente, mas o outro ainda é adicionado sem a entrada multiestado e faz a coisa estranha controlando todas as luzes na rede.

Espero ter pegado todos os relevantes, se precisar de mais me avise ...

08: 13: 16: 503 APS-DATA.indicação do filho 0x3B01
08: 13: 16: 504 verifique se 0x04cf8cdf3cxxxxxx é um nó filho após 94 s
08: 13: 16: 504 Dados do nó 0x04cf8cdf3cxxxxxx profileId: 0x0104, clusterId: 0x0012
08: 13: 16: 505 0x04CF8CDF3Cxxxxxx: atualize o valor ZCL 0x01 / 0x0012 / 0x0055 após 0 s
08: 13: 16: 507 botão 1001 Desligado
08: 13: 16: 508 Força vinculação de relatório de atributo para sensor OPPLE Schalter 3-fach
08: 13: 16: 508 Relatório de atributo ZCL 0x04CF8CDF3Cxxxxxx para cluster: 0x0012, ep: 0x01, controle de quadro: 0x18, mfcode: 0x0000
08: 13: 16: 510 carga útil: 5500210000
08: 13: 16: 515 Websocket 172.30.32.1:34146 enviar mensagem: {"e": "alterado", "id": "66", "r": "sensores", "estado": {"buttonevent": 1001, "lastupdated": "2020-05-25T06: 13: 16.507"}, "t": "event", "uniqueid": "04: cf: 8c: df: 3c: xx: xx: xx-01- 0012 "} (ret = 165)
08: 13: 16: 516 Websocket 172.30.32.1:34172 enviar mensagem: {"e": "alterado", "id": "66", "r": "sensores", "estado": {"buttonevent": 1001, "lastupdated": "2020-05-25T06: 13: 16.507"}, "t": "event", "uniqueid": "04: cf: 8c: df: 3c: xx: xx: xx-01- 0012 "} (ret = 165)
08: 13: 16: 517 Websocket 172.30.32.1:34182 enviar mensagem: {"e": "alterado", "id": "66", "r": "sensores", "estado": {"buttonevent": 1001, "lastupdated": "2020-05-25T06: 13: 16.507"}, "t": "event", "uniqueid": "04: cf: 8c: df: 3c: xx: xx: xx-01- 0012 "} (ret = 165)
08: 13: 16: 518 Websocket 192.168.76.92:43698 enviar mensagem: {"e": "alterado", "id": "66", "r": "sensores", "estado": {"buttonevent": 1001, "lastupdated": "2020-05-25T06: 13: 16.507"}, "t": "event", "uniqueid": "04: cf: 8c: df: 3c: xx: xx: xx-01- 0012 "} (ret = 165)
08: 13: 16: 521 verificar o status do vizinho: APP_SUCCESS (0x00)
08: 13: 16: 521 descartar push de estado do sensor para 66: state / lastupdated (já empurrado)
08: 13: 16: 544 APS-DATA.indicação do filho 0x3B01
08: 13: 16: 544 Dados do nó 0x04cf8cdf3cxxxxxx profileId: 0x0104, clusterId: 0x0012
08: 13: 16: 545 0x04CF8CDF3Cxxxxxx: atualize o valor ZCL 0x01 / 0x0012 / 0x0055 após 0 s
08: 13: 16: 546 Força vinculação de relatório de atributo para sensor OPPLE Schalter 3-fach
08: 13: 16: 546 nenhum manipulador de botão para: lumi.remote.b686opcn01 ep: 0x01 cl: 0x0012 cmd: 0x0A pl [0]: 0x55
08: 13: 16: 546 Relatório de atributo ZCL 0x04CF8CDF3Cxxxxxx para cluster: 0x0012, ep: 0x01, controle de quadro: 0x18, mfcode: 0x0000
08: 13: 16: 546 carga útil: 550021ff00

Estou totalmente perdido. Não há código para lidar com os diferentes valores na carga útil de maneira diferente. Funciona para mim:

May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:443 APS-DATA.indication srcAddr: 0xee72, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0012, lqi: 255, rssi: -38
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:443     asdu: 18cb0a550021ff00
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:444 Node data 0x04cf8cdf3c79744f profileId: 0x0104, clusterId: 0x0012
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:444 0x04CF8CDF3C79744F: update ZCL value 0x01/0x0012/0x0055 after 0 s
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:446 button 1003 Off long released
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:446 don't create binding for attribute reporting of sensor Opple
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:446 Force binding of attribute reporting for sensor Opple
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:446 ZCL attribute report 0x04CF8CDF3C79744F for cluster: 0x0012, ep: 0x01, frame control: 0x18, mfcode: 0x0000
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:446     payload: 550021ff00
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:448 Websocket 127.0.0.1:52216 send message: {"e":"changed","id":"7","r":"sensors","state":{"buttonevent":1003,"lastupdated":"2020-05-25T20:17:08.445"},"t":"event","uniqueid":"04:cf:8c:df:3c:79:74:4f-01-0012"} (ret = -1092095048)
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:449 Websocket 127.0.0.1:52260 send message: {"e":"changed","id":"7","r":"sensors","state":{"buttonevent":1003,"lastupdated":"2020-05-25T20:17:08.445"},"t":"event","uniqueid":"04:cf:8c:df:3c:79:74:4f-01-0012"} (ret = -1092095048)
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:451 discard sensor state push for 7: state/lastupdated (already pushed)

Eu reiniciei e emparelhei novamente o Opple, só para ter certeza. Eu tentei um Pi 4B sob Raspbian buster com ConBee II em v2.05.76 e um Pi 3B + sob Raspbian stretch com RaspBee em v2.05.77.

Em qual plataforma você está rodando? A única explicação que consigo pensar seria um bug do compilador.

Acabei de tentar v2.05.77 com os interruptores de botões 2/4/6 e tudo parece funcionar como esperado.

A única coisa que não tenho certeza é que, quando seguro um botão por um longo tempo (mais de 6 segundos), o evento de lançamento não acontece mais. @ebaauw você sabe se deveria ser assim?

Se deveria ser assim, não posso responder, mas experimento o mesmo. Ao que parece, o switch não envia mais a mensagem de liberação quando você o segura por muito tempo. Não relacionado ao problema de "nenhum manipulador de botão".

Ok, pensei assim também.
Sobre o problema de "nenhum manipulador de botão", ele está me perguntando também por que alguns usuários obtêm uma carga útil 0x55 em vez de 0x255

É 255 (decimal) ou 0xFF.

Veja os logs acima: a carga útil é para o comando _Report_ Attributes 550021xx00 , ou: 0x0055 - atributo _Present Value_; 0x21 - tipo de dados uint16 ; 0x00xx o valor. O log mostra a carga útil [0], que é o primeiro byte, ou 0x55; o manipulador de botão olha para a carga útil [3], que é o quarto byte, ou xx.
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/2a26b78f4139a179968e61aa0e0caf3fd1917162/de_web_plugin.cpp#L3581 -L3591

Oh, certo. Desculpe, já é tarde ... Agora eu vejo. Então, por que ele analisa o primeiro byte para alguns usuários?

Eu experimentei o mesmo se você segurar o botão por muito tempo, após 6 seg não haverá mais mensagem, mas o x001 após 1 seg por um toque longo, como mostrado acima.
Eu uso um NUC com caixa virtual e Home Assistant 0.110.2 (ou mais recente) com AddOn deconz .76 ConBee II 26580700.
A mensagem parece ter sido enviada, pois só existe para um toque longo ou muito longo ;-):

08: 13: 16: 546 nenhum manipulador de botão para: lumi.remote.b686opcn01 ep: 0x01 cl: 0x0012 cmd: 0x0A pl [0]: 0x55
08: 13: 16: 546 Relatório de atributo ZCL 0x04CF8CDF3Cxxxxxx para cluster: 0x0012, ep: 0x01, controle de quadro: 0x18, mfcode: 0x0000
08: 13: 16: 546 carga útil: 550021ff00

Você precisa de mais alguma coisa? Avise.

Muito obrigado pela ajuda!

como caputar os dados de adsu ? Se eu ativar --dbg-info=2 tenho algo assim no log:
May 25 22:17:10 pi5 deCONZ[28578]: 22:17:08:443 asdu: 18cb0a550021ff00
Então, qual parâmetro ativa essa saída para registrar?

Provavelmente --dbg-aps=2 . Precisa coletar e documentar tudo isso algum dia ...

Muito obrigado por todo o seu trabalho árduo.
Eu tenho essa mudança há seis meses e tenho lido muito aqui.
Acabei de adicionar a opção para homeassistant. Agora tenho 16 novos eventos para lidar ...
Muito obrigado

Mas porque, um dos melhores eventos não está funcionando. É tão triste. ; (

Você quer dizer liberação após espera?

Você quer dizer liberação após espera?

sim

Liberação após suspensão está funcionando ... aparentemente, o switch não envia o evento de liberação após mais de 6 segundos é um problema com o próprio switch.

Liberação após suspensão está funcionando ... aparentemente, o switch não envia o evento de liberação após mais de 6 segundos é um problema com o próprio switch.

Não, não está funcionando em HA. Sim, o evento está disponível na GUI, mas esta não é uma solução de trabalho. Você diz que o próprio switch está funcionando mal, mas não vejo nenhum problema no zigbee2mqtt com esse switch.

Ele está funcionando em HA. Uso desde que implementei em março com HA ...
Por que para algumas pessoas não está funcionando, precisa ser investigado.

@merdok : Mesmo o switch está enviando isso em 6 segundos, a liberação após a espera NÃO está funcionando em deconz, nem em HA, nem em NodeRED.

Deconz NÃO está enviando evento x003 para liberação após espera em 6 segundos.

Eu tentei isso hoje com três novos botões opple 6 gang e uma nova instalação limpa de deconz (0,77) com ConBee II 264A0700 e 26580700.

17: 45: 50: 322 APS-DATA.indication srcAddr: 0x0494, srcEp: 0x03 dstAddrMode: 2, perfil: 0x0104, cluster: 0x0012, lqi: 255, rssi: -42
17: 45: 50: 322 asdu: 18040a550021ff00
17: 45: 50: 322 APS-DATA.indicação do filho 0x0494
17: 45: 50: 322 Dados do nó 0x04cf8cdf3c797497 profileId: 0x0104, clusterId: 0x0012
17: 45: 50: 322 Força vinculação de relatório de atributo para sensor OPPLE Schalter 3-fach
17: 45: 50: 322 sem manipulador de botão para: lumi.remote.b686opcn01 ep: 0x03 cl: 0x0012 cmd: 0x0A pl [0]: 0x55
17: 45: 50: 322 Relatório de atributo ZCL 0x04CF8CDF3C797497 para cluster: 0x0012, ep: 0x03, controle de quadro: 0x18, mfcode: 0x0000
17: 45: 50: 322 carga útil: 550021ff00

O problema do comunicado de imprensa longo pode ser um bug do compilador.
Posso estar errado, e essa teoria teria que ser testada, mas parece estar funcionando no Raspberry Pi (ARM), e não no x86.

Estou executando HA / deconz em um PC sem cabeça e percebi que alguém acima com esse problema está usando um NUC. As pessoas que estão tendo sucesso parecem estar usando um Raspberry Pi.

Alguém tem feedback sobre o que você está realizando e seu sucesso em conseguir esses eventos?

Edit: Não tenho certeza como, ou se, o código difere para diferentes tipos de switches, mas eu obtenho eventos de lançamento para outros switches, mas não este switch Opple (lumi.remote).

poderia ser uma explicação, eu uso um NUC com Win10, VB.
Vou tentar no meu rpi3b ...

@ luke3butler bom argumento. Isso pode ser. Eu também uso Raspberry Pi (ARM) e funciona.

Sim, Deconz no docker da Synology.

Para mim, o evento x003 funciona em um rpi3-something

x003 NÃO está funcionando na minha configuração.
Executando em Intel i5 com WMware (ESXI) e Ubuntu Desktop 18.04

RPi3 aqui com HA e embora eu só use a liberação após eventos de espera antes que os 6secs terminem, eu tenho que confirmar que depois de 6s o evento x003 não encontra seu caminho para Deconz.

No meu RPi3B ele funciona, com o mesmo Opple 6-gang e o mesmo ConBee II 264A0700 e ConBee II 26580700
No meu NUC i7 win10 VB HA 0.110.3 AddOn Deconz .77 isso não acontece.

@Kroeliemonster este é um problema diferente, provavelmente relacionado à própria troca.
Você tem que diferenciar isso, porque isso só confunde as pessoas aqui!

Com base no feedback até agora, parece um bug do compilador ou pelo menos algo relacionado à arquitetura da CPU.

Com base no feedback até agora, parece um bug do compilador ou pelo menos algo relacionado à arquitetura da CPU.

Essa parece ser a explicação mais plausível, como observei anteriormente.

A única explicação que consigo pensar seria um bug do compilador.

A expressão errática parece ser:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/2a26b78f4139a179968e61aa0e0caf3fd1917162/de_web_plugin.cpp#L3586

zclParam0 é um quint16 ; zclFrame.payload() retorna um QByteArray . QByteArray::at() retorna um char . Portanto, estamos comparando um valor inteiro de 16 bits sem sinal de 255 com um valor, suponho, de 8 bits, possivelmente assinado, char . Suponho que esteja procurando problemas.

O único outro lugar nos mapas de botões onde usamos um zclParam0 de 255 é para 1002 (curva acentuada à direita) do dimmer IKEA. Se importa em adivinhar o que vemos lá? Dica: # 2787. Talvez tenhamos sido um pouco prematuros convocando o dimmer para ser amaldiçoado?

@manup , qual é a sua opinião sobre isso?

@ebaauw , você acha que talvez usar 0xFF no mapa de botões para o parâmetro possa consertar isso?

A maioria dos usos de "payload (). At (" nesse arquivo são lançados ou atribuídos a temporários não assinados. Parece-me que todos os usos que são comparados a um valor não assinado deveriam ser tratados da mesma forma, para consistência, mesmo se eles não parece estritamente ter bandeiras vermelhas sobre eles como esta instância de uso faz, onde 255 pode ser tratado como o valor assinado -1.

você acha que talvez usar 0xFF no mapa de botões para o parâmetro poderia consertar isso?

Não. O compilador traduziria 255 e 0xFF para exatamente o mesmo valor. Alterar o zclParam0 para 65535 (0xFFFF) pode ser para x86, mas interromperá no ARM.

Alterar a comparação para buttonMap->zclParam0 == zclFrame.payload().at(3) & 0xFF pode resolver o problema em ambas as arquiteturas. Usar uma maneira mais decente de decodificar a carga útil seria a melhor solução imho.

char é assinado em x86 e não assinado em ARM, consulte:
https://www.linuxtopia.org/online_books/an_introduction_to_gcc/gccintro_71.html

Portanto, no x86, o valor de 8 bits -1 (0xFF) é provavelmente convertido para o valor sem sinal de 16 bits 65535 (0xFFFF), que seria -1 como um valor de 16 bits com sinal. No ARM, o valor sem sinal de 8 bits 255 (0xFF) seria convertido para o valor 255 sem sinal de 16 bits (0x00FF).

Talvez buttonMap->zclParam0 == static_cast<quint8>(zclFrame.payload().at(3)) ?

Também pode funcionar. Não consigo compilar em x86 para verificar.

Existem mais alguns lugares com zclParam0 > 127: o 1010 (muitas pressões) no lumi.sensor_switch e o 7002, 8002, 9002 (_4_, _5_, _6_) no RC110 remoto interno. Adivinha: https://github.com/dresden-elektronik/deconz-rest-plugin/issues/635#issuecomment-534519677).

Também pode funcionar. Não consigo compilar em x86 para verificar.

Eu também não posso. Eu estaria mais apto a usar um elenco para um int de 8 bits sem sinal de alguma variedade, então static_cast a quint8 ou uint8_t seria bom. Se você usar a abordagem de manipulação de bits, eu me sentiria mais seguro para AND com 0x0ff vez de 0xff , só porque não posso dizer que o último necessariamente produzirá um resultado sem sinal, embora eu acho que provavelmente sim.

Eu tentaria, mas infelizmente também não consigo compilar para x86.

@ebaauw aqui, potencialmente resolvendo o problema por trás de uma série de bugs.
Seu trabalho é muito apreciado. 🥇

Se ninguém for capaz de fazer o teste x86, reservarei um tempo para configurar um ambiente de teste dedicado. Estou usando a integração HA (supervisionada), mas consigo ativar outra VM.

Eu nuvem até ajudo, mas preciso de ajuda como ...

Parece que este problema foi encontrado (e resolvido) antes, para o 1010 (muitas pressões) do lumi.sensor_switch :
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/720a324f33dcb31efc086f2f052b35eba3948794/de_web_plugin.cpp#L3546
Com uma quantidade respeitável de força bruta, devo acrescentar.

Acabei de atribuir payload().at( _n_ ) a quint8 para o Lutron Aurora, mas não sei se alguém o testou em x86 (ou outra plataforma com assinatura char ).

Você poderia testar meu commit acima em x86?

Para que conste: não é um bug do compilador, afinal, apenas um código ruim e não portável.

Parabéns por todo o trabalho árduo em andamento, por enquanto parece que não consigo enviar eventos para o meu HassOS através do deconz.
Existe algum outro switch de 6 gangues por esse preço / qualidade?

Testando o mais recente "beta", tudo funciona bem. No meu caso, podemos encerrar o problema após o lançamento final.

Podemos _Finalmente_ fechar este 😄?

Não pude testá-lo, já que o beta não está disponível para complementos HA e não tenho a possibilidade de testá-lo em VM x86 ou x86.

@ebaauw , @Mimiix Muito obrigado pelo trabalho árduo.

Vou testar, o mais rápido possível o release em HA está disponível.

@thecem não fiz muito, @ebaauw é o único a elogiar aqui;)
Se o complemento HA estiver lançado e atualizado, entre em contato aqui se houver algum problema :)

_Mimiix gosta de se livrar de velhos problemas de longa duração 😄_

Existe algum procedimento especial para casais? Instalei a versão mais recente do deconz, mas não consigo acoplar a chave de 6 botões. Funciona, porque liga as luzes diretamente, mas não está conectado ao deconz.

Testei o x003 e funciona no NUC WIN10 HA 0.110.4 Addon Deconz 2.05.08:

grafik

@ebaauw : Obrigado pelo tremendo trabalho!

Existe algum procedimento especial para casais? Instalei a versão mais recente do deconz, mas não consigo acoplar a chave de 6 botões. Funciona, porque liga as luzes diretamente, mas não está conectado ao deconz.

Tive o mesmo problema no início. Então eu brinquei com o botão C (segure por 5 segundos, espere, pressione por 1 segundo, espere, repita tudo) e em algum momento ele conectou ao deconz. Tentativa e erro muito insatisfatória. _Além disso, não dispara um deconz_event, por isso é inútil para mim neste momento._

Edit: Eu atualizei o deconz e agora recebo os eventos. :-)

Você precisa de pelo menos a versão 2.05.77, se você se conectou antes, repare com a mais recente.
Em deconz:

  • conecte um novo interruptor
  • pressione o botão c (curto // 1seg, se você o reinicializou antes, pressionando-o por 15seg, se não, pressione-o por 15seg)
  • esperar

Eu tenho 2.05.78 / 22.05.2020 - a versão mais recente ontem, mas hoje ela desapareceu de https://phoscon.de/en/changelog/ por algum motivo?

Pressionei c por 15 segundos. a cada 5 segundos, o LED pisca.
Pressionei Add Switch no Phoscon Web App
Pressionei C para 1 (também tentei 5) ... o LED pisca novamente, mas sem emparelhamento :(

Como este problema vai acabar com pessoas que precisam de ajuda em pequenos assuntos e os opple switches são suportados, estou encerrando este problema.

Para pequenas questões, Discord é o lugar para estar! você pode encontrar o URL no readme.md

Pessoal, hoje estou tentando emparelhar opple 6 buttons com meu raspbee com firmware 26350500, e me deparo com um comportamento interessante. Ao clicar no botão Adicionar, comecei a tocar no botão C emparelhado e nada acontece, mas, cliquei em um botão no botão e o botão começou a controlar minhas três lâmpadas E27 aqara, liga / desliga, temperatura de cor e brilho. Depois disso, repito vários modos de emparelhamento de tempo e, finalmente, o switch foi adicionado ao foscono, mas no HA eu não recebi nenhum evento dele.

Então, a questão é: o raspbee funciona com opções opple?

Botão 1, canto superior esquerdo, ação = Desliga todas as minhas luzes e tomadas.
Botão 2, canto superior direito, ação = Liga todas as minhas luzes e meias.
Botão 3, meio esquerdo, ação = Diminui o brilho das lâmpadas.
Botão 4, meio à direita, ação = Aumenta o brilho das lâmpadas.

Peguei meu opple 6-way hoje e tenho exatamente o mesmo comportamento.

Estou em 2.5.79 com Firmware 26350500 em um ConBee 1

Tudo o que posso aconselhar é que tente adicionar novamente. Como escrevi anteriormente em outro tópico, fui capaz de adicionar sem pressionar botões durante o processo de emparelhamento, apenas iniciei o processo de emparelhamento e coloquei o dispositivo no modo de emparelhamento. Então, para dizer, tente sua sorte. ;)

Aqui está o tópico sobre o que estou falando: https://github.com/dresden-elektronik/deconz-rest-plugin/issues/3074

Reparei o switch várias vezes.
Excluído o switch no Phoscon.
Iniciando a descoberta no Phoscon.
Segure o botão C na chave por ~ 13 seg até que o LED pisque pela segunda vez.
......
......
O interruptor é descoberto sem pressionar nenhum dos 6 botões.
Todas as luzes e plugues são ligados automaticamente.

image

Bem ... ok. De novo e de novo e de novo. Agora funciona. Não sei porque

Bem, também não posso dar uma resposta detalhada sobre este assunto. Estou feliz que você fez isso no final.

Hoje recebi essa chave e, por experiência própria, ajuda se você ainda pressiona o botão C depois que o LED pisca. Quando comecei a fazer isso, consegui emparelhar.

Tenho a mesma versão que @ saxn-paule e quase a mesma no Phoscon - apenas uma pequena diferença, tenho a versão em detalhes.

image

É necessário coletar informações e o máximo possível para descrever o processo de emparelhamento o mais detalhado possível para os usuários na página de suporte do deconz em git ...

Prezados
Recebi o mesmo switch e consegui incluí-lo no Phoscon. Agora, estou tentando criar algumas ações para esses seis botões, infelizmente apenas os dois botões superiores são identificados por meio de automações. Como gerar automações para os botões do meio e para baixo?

Oi
qual versão do deconz você está executando. Houve alguns problemas no início. Se você estiver em 2.5.82, sugiro excluir o switch novamente e ingressar novamente pressionando o botão Voltar por mais de 15 segundos. Depois que ele se juntar e você receber a mensagem de que ele foi unido com sucesso, pressione o botão superior esquerdo. É assim que funcionou para mim e todos os 6 botões mostram eventos agora.

Oi
Já fiz esse processo novamente, mas quando passo pela configuração (Hassio), tenho apenas uma entidade (bateria) e nenhuma entidade de botões?

image

Ok, mas talvez isso não seja um problema de desconexão. Você pode postar uma solicitação no fórum de suporte do hassio?

Estou usando o ioBroker e está funcionando bem.

Consegui gerar todas as automações necessárias
thks

Oi
Já fiz esse processo novamente, mas quando passo pela configuração (Hassio), tenho apenas uma entidade (bateria) e nenhuma entidade de botões?

Você provavelmente já encontrou, mas com certeza. No Home Assistant, você deve trabalhar com eventos (digite deconz_event) - os botões não são adicionados como entidades de troca.

Se você tiver todos os dispositivos que deseja controlar por meio desse switch no deCONZ Zigbee, para mim, o mais conveniente é usar as ações do Phoscon.
image

Olá,

como posso realmente atualizar o Phoscon rodando no raspberry? Ele diz que a versão 2.05.71 é up2date sem possibilidade de atualização para 2.05.77 para colocar o Opple em execução.

THX
Jakub

@ elpaso666 Depende do seu método de instalação. Se você tiver apenas uma instalação nativa, use a forma de atualização do Linux. Informações aqui: https://www.cyberciti.biz/faq/ubuntu-upgrade-update-single-package-using-apt-get/

Funciona da mesma forma se você executar o Raspbian.

Para todos os usuários aqui com perguntas genéricas: O dispositivo está implementado corretamente e está funcional.

Para perguntas: use o Discord ou abra um problema (com o modelo de pergunta do usuário!)

@Mimiix Eu
Configurando deconz (2.05.81-raspbian-buster-stable) ...
como sempre em phoscon eu vejo 2.05.71 / 9/14/2020 - versão antiga, mas nova data :)

@Mimiix Eu
Configurando deconz (2.05.81-raspbian-buster-stable) ...
como sempre em phoscon eu vejo 2.05.71 / 9/14/2020 - versão antiga, mas nova data :)

Exatamente o mesmo aqui ... Eu atualizei para a versão mais recente, mas o aplicativo phoscon ainda mostra 2.05.71 com uma mais recente
data como elpaso666 mencionada.
Verifiquei novamente via shell para atualizar, mas agora diz que estou na versão mais recente.

Oi,
tente reiniciar o RPI. após a reinicialização eu tinha a versão mais recente em Phoscon gui com botão disponível para atualizar o FW, o que eu fiz e agora estou no mais recente phoscon e mais recente FW onde o botão Aquara Opple confirma que está atualizado enquanto funciona.

Jakub

Oi,
tente reiniciar o RPI. após a reinicialização eu tinha a versão mais recente em Phoscon gui com botão disponível para atualizar o FW, o que eu fiz e agora estou no mais recente phoscon e mais recente FW onde o botão Aquara Opple confirma que está atualizado enquanto funciona.

Jakub

Obrigado Jakub .... essa foi a solução !! Aqara Opple funciona agora.

Botão 1, canto superior esquerdo, ação = Desliga todas as minhas luzes e tomadas.
Botão 2, canto superior direito, ação = Liga todas as minhas luzes e meias.
Botão 3, meio esquerdo, ação = Diminui o brilho das lâmpadas.
Botão 4, meio à direita, ação = Aumenta o brilho das lâmpadas.

Peguei meu opple 6-way hoje e tenho exatamente o mesmo comportamento.

Estou em 2.5.79 com Firmware 26350500 em um ConBee 1

oi, estou com o mesmo problema, como você corrigiu?
Estou no 2.05.88 com FW 26660700 (firmware mais recente), Conbee 2

Botão 1, canto superior esquerdo, ação = Desliga todas as minhas luzes e tomadas.
Botão 2, canto superior direito, ação = Liga todas as minhas luzes e meias.
Botão 3, meio esquerdo, ação = Diminui o brilho das lâmpadas.
Botão 4, meio à direita, ação = Aumenta o brilho das lâmpadas.

Peguei meu opple 6-way hoje e tenho exatamente o mesmo comportamento.
Estou em 2.5.79 com Firmware 26350500 em um ConBee 1

oi, estou com o mesmo problema, como você corrigiu?
Estou no 2.05.88 com FW 26660700 (firmware mais recente), Conbee 2

O mesmo para mim. O emparelhamento com o Phoscon está funcionando bem, mas sempre ativa todos os dispositivos Zigbee sem que nenhuma cena seja configurada no ioBroker. Ele apenas faz o que quer, então acho que essa opção é inútil ...

Switch funciona bem aqui, mas tenho que admitir que não estou atribuindo ações por meio da interface do Phoscon. Estou lidando com os pressionamentos de botão via node-red (e o addon deconz correspondente).

Hmm, então eu me pergunto se isso está relacionado ao ioBroker, que eu uso com o deconz. Embora eu não tenha configurado nenhum comando para ativar tudo em um gatilho ... meio estranho

Oi
Eu tenho vários interruptores opple Aqara e eles funcionam bem. Também no início tive problemas em emparelhá-los. Eu segui essas etapas.

  1. Exclua a chave no app phoscon se já estiver lá
  2. Iniciar modo de pareamento
  3. pressione o botão de reset por pelo menos 13 segundos no opple switch e solte
  4. Esperar!!! até que esteja completamente emparelhado e você possa ver que o fabricante e o nome do switch mudaram no Phoscon
  5. Feche o processo
  6. pressione o botão superior esquerdo 1x
    Com esse processo sempre funcionou.

Espero que isto ajude.

Atenciosamente
Bater

@easybeat thx por sua postagem. Você é capaz de receber eventos via websockets do opple switch? No meu caso, o emparelhamento funciona, mas não há eventos no websocket. (Conbee 2: 2.06.00 Firmware 26660700)

Oi

sim, estou usando-os no ioBroker sem problemas com o adaptador deconz mais recente 2.06.

Isso ajuda?

Obrigado
Bater

@easybeat thx por sua postagem. Você é capaz de receber eventos via websockets do opple switch? No meu caso, o emparelhamento funciona, mas não há eventos no websocket. (Conbee 2: 2.06.00 Firmware 26660700)

Você tentou reiniciar a instância do adaptador deconz? E uma reinicialização do ioBroker? Essa foi a etapa de solução no meu caso com o switch Opple.

@easybeat thx por sua postagem. Você é capaz de receber eventos via websockets do opple switch? No meu caso, o emparelhamento funciona, mas não há eventos no websocket. (Conbee 2: 2.06.00 Firmware 26660700)

Desculpe, não vi que você mencionou que já está na versão do deconz 2.06. Não estou, estou no 2.5.86 com Firmware anterior.

Você tentou reiniciar a instância do adaptador deconz? E uma reinicialização do ioBroker? Essa foi a etapa de solução no meu caso com o switch Opple.

Sim, reiniciei o deconz. Não há nenhum ioBroker envolvido do meu lado. Eu só estava checando o WebSocket.

Eu fiz algumas pesquisas sobre as versões:

  • Ao emparelhar em 2.06.00 -> Sem Eventos
  • Ao emparelhar em 2.05.88 -> Sem Eventos
  • Ao emparelhar em 2.05.85 -> Os eventos estão funcionando

    • Atualizar para 2.06.00: eventos ainda funcionando ( sem novo emparelhamento)

Parece que o emparelhamento está quebrado> = 2.05.88 (o emparelhamento funciona, mas sem eventos)

@easybeat Thx, sua dica sobre sua versão me apontou na direção certa.

Eu fiz algumas pesquisas sobre as versões:

  • Ao emparelhar em 2.06.00 -> Sem Eventos
  • Ao emparelhar em 2.05.88 -> Sem Eventos
  • Ao emparelhar em 2.05.85 -> Os eventos estão funcionando

    • Atualizar para 2.06.00: eventos ainda funcionando ( sem novo emparelhamento)

Parece que o emparelhamento está quebrado> = 2.05.88 (o emparelhamento funciona, mas sem eventos)

@easybeat Thx, sua dica sobre sua versão me apontou na direção certa.

OK. muito interessante. Por favor, crie um relatório de bug e bom que você os colocou para funcionar. Eu acho que essas são as melhores opções no momento compatíveis com o deconz.

Obrigado
Bater

Eu geralmente uso o phoscon e deconz gui e faço o seguinte ao emparelhar o oppleswitch:

  1. Clique em 'Adicionar novo switch'
  2. Pressione o botão oppleswitch C localizado na parte traseira por 6s
  3. Vá para deconz, clique em cluster básico e leia os atributos
  4. O Phoscon deve mostrar 'o composto foi preparado', não o feche ainda.
  5. Se o seu dispositivo mostra em deconz assim, é bem sucedido e não está emparelhado com todos os dispositivos zigbee
    image
  6. Se não, clique no dispositivo oppleswitch em deconz gui e pressione F5 (nó Reset) até chegar aos clusters acima. Repita até obter sucesso, geralmente faço isso 2 a 3 vezes.
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

qm3ster picture qm3ster  ·  3Comentários

philko123 picture philko123  ·  3Comentários

horchi picture horchi  ·  5Comentários

1onar picture 1onar  ·  5Comentários

salopette picture salopette  ·  4Comentários