Deconz-rest-plugin: Ikea Symphonic Controller

Criado em 23 set. 2019  ·  121Comentários  ·  Fonte: dresden-elektronik/deconz-rest-plugin

Ontem comprei um controlador Ikea Symfonisk. Já existe suporte para ele no Deconz?

Posso ajudar a adicionar suporte?

Tchau
Jan

Comentários muito úteis

Para sua informação

Agora uso o controlador para controlar meu amplificador IOTAVX com NodeRed e Home Assistant por meio de um controlador remoto Broadlink. Obrigado pelo trabalho.

Bildschirmfoto 2019-12-21 um 16 19 36

Todos 121 comentários

Siga o wiki para compartilhar quais informações relevantes são necessárias para adicionar suporte para ele

E se eu não conseguir conectar o dispositivo ao Deconz?

Posso ajudar a adicionar suporte?

Sim, forneça as informações descritas aqui: https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Request-Device-Support.

Pequeno dispositivo intrigante: aparentemente ele fala ZigBee, já que requer um gateway Trådfri, mas os alto-falantes Symfonisk (Sonos) falam SOAP sobre http. Eu me pergunto quanta inteligência existe no dispositivo em relação ao gateway. Você não poderá usar o dispositivo para controlar os alto-falantes por meio de deCONZ (em vez de por meio do gateway Trådfri), mas deve ser capaz de obter alguns eventos de botão para clique e clique duplo. Não tenho certeza de onde estamos expondo o gesto de virada (com ângulo). Caso contrário, poderíamos expor um valor de evento de botão analógico, cf. o segundo ponto final do cubo Xiaomi.

Turning funciona para escurecer as luzes Ikea aqui, que estão conectadas agora.

Bildschirmfoto 2019-09-24 um 20 01 31
Bildschirmfoto 2019-09-24 um 20 01 16

Bildschirmfoto 2019-09-24 um 20 11 58
Bildschirmfoto 2019-09-24 um 20 11 53
Bildschirmfoto 2019-09-24 um 20 11 47
Bildschirmfoto 2019-09-24 um 20 11 43
Bildschirmfoto 2019-09-24 um 20 11 26
Bildschirmfoto 2019-09-24 um 20 11 20
Bildschirmfoto 2019-09-24 um 20 11 10
Bildschirmfoto 2019-09-24 um 20 11 00
Bildschirmfoto 2019-09-24 um 20 10 41

Você precisa de mais alguma coisa?

O cluster _Basic_. Leia os atributos antes de fazer a captura de tela.

Bildschirmfoto 2019-09-25 um 10 13 39

Encontrei (o último?) Um no IKEA Amsterdam hoje, embora ainda não esteja no ikea.nl. Ele se junta à rede ZigBee da deCONZ sem problemas. No entanto, ele responde apenas por um breve período após entrar na rede, e então fica incomunicável. Ele não será ativado ao clicar, virar ou pressionar brevemente o botão de reinicialização.

Depois de várias tentativas, bombardeando-o com comandos _Read Attributes_ para mantê-lo ativo após entrar na rede, consegui vincular o cluster cliente _OnOff_ a um grupo. E então o cluster cliente _Level Control_. Depois disso, agora ele se comporta normalmente, acordando para enviar comandos ao clicar e girar. Ele envia os seguintes comandos:

  • _Toggle_ ao clicar;
  • _Step Up_ com um clique duplo;
  • _Step Down_ no clique agudo;
  • _Mover para cima_ ao iniciar uma curva à direita (sentido horário);
  • _Mover para baixo_ ao iniciar uma curva à esquerda (sentido anti-horário);
  • _Pare_ ao parar uma curva.

Expor o clique (1002), o clique duplo (1004) e o clique triplo (1005) será direto.
Pelo que eu posso dizer, a taxa de movimento é constante. O tempo entre os comandos _Move_ e _Stop_ parece indicar quanto tempo você está virando, mas não a velocidade ou a distância. Provavelmente mais fácil de expor o giro à esquerda / direita com dois botões pressionados longamente (2001/2003 e 3001/3003).

Está longe de ser trivial traduzir esses comandos ZigBee em comandos Sonos. Não há Sonos equivalente a Toggle, pois o hub Trådfri precisa manter o estado de reprodução / pausa do reprodutor Sonos. Também não há equivalente _Move_ / _Stop_ para o volume. Existe um comando _RampToVolume_, mas não acho que possa ser interrompido.

Acho que consegui fazer um touchlink para meu hub Trådfri (o aplicativo IKEA Home Smart mostrou um pop-up informando que um novo controlador foi encontrado). No entanto, o aplicativo não encontrará meus alto-falantes Sonos, então não posso configurar o controlador para detectar os comandos (SOAP sobre HTTP) que o hub Trådfri envia para o reprodutor Sonos.

Commit abaixo adiciona suporte para o controlador de som.

{
  "config": {
    "alert": "none",
    "battery": 16,
    "group": "1",
    "on": true,
    "reachable": true
  },
  "ep": 1,
  "etag": "390a8f3dfff393f27db48b6d845550a4",
  "manufacturername": "IKEA of Sweden",
  "mode": 1,
  "modelid": "SYMFONISK Sound Controller",
  "name": "SYMFONISK Sound Controller ",
  "state": {
    "buttonevent": 2003,
    "lastupdated": "2019-09-27T09:15:06"
  },
  "swversion": "2.1.022",
  "type": "ZHASwitch",
  "uniqueid": "14:b4:57:ff:fe:66:48:62-01-1000"
}

Para referência, aqui está o cluster _Basic_ com todos os atributos lidos:
Screenshot 2019-09-27 at 11 15

@ebaauw , você se importaria de dar uma descrição detalhada de quais eventos de botão as diferentes ações geram?

Como mencionei acima:

  • 1002 clique;
  • 1004 clique duplo;
  • 1005 cliques agudos;
  • 2001/2003 liga / desliga no sentido anti-horário;
  • 3001/3003 iniciar / parar giro no sentido horário.

Obrigado Erik! Não há eventos entre iniciar e parar a rotação?

Não, pelo que eu posso dizer, o controlador só envia _Move_ quando começa a girar e _Pare_ quando termina. Dependendo da suavidade com que você gira (ou não), você obtém vários combos _Move _ / _ Stop_ por turno. Eu vi algumas mensagens no log deCONZ informando que as notificações de evento do botão foram descartadas porque elas aconteceram muito rapidamente em sucessão, mas não sei o que fazer sobre isso (além de ignorá-las ;-).

Estou morrendo de vontade de descobrir quais comandos Sonos o hub Trådfri envia, mas o aplicativo IKEA Home Smart não encontra meus reprodutores Sonos (nem Symfonisk), embora o aplicativo Sonos encontre. Além disso, o aplicativo trava no meu iPhone Xr (acho que desde o iOS 13.1), mas não no meu iPad (iPadOS 13.1).

Bem, você pode emparelhar sonos com assistente doméstico e uni-los :)

Tenho feito o mesmo com o HomeKit; Eu controlo minhas caixas de som Sonos (por meio de homebridge-zp) usando o controle remoto Trådfri de 5 botões (por meio de homebridge-hue).

Como exatamente você emparelha isso com o deCONZ?
Eu não sou capaz de fazer isso funcionar

O Symfonisk Controller dispara um evento no pressionamento longo?

quando isso estará na versão de lançamento?

Como exatamente você emparelha isso com o deCONZ?
Eu não sou capaz de fazer isso funcionar

Também não consigo conectar meu controle remoto. Alguém pode ajudar?

@ Noah-UI - pelo que eu sei, você pode se conectar a ele e ver que ele 'funciona' no deconz, mas você não pode realmente agir sobre isso agora. Isso só funciona se você tiver a ponte IKEA e partir daí.

Screenshot 2019-11-01 at 10 27 56

mas você não pode realmente agir sobre isso agora

Embora não seja possível controlar reprodutores Symfonisk / Sonos sem o hub Trådfri, o controlador pode ser usado perfeitamente com o deCONZ para controlar outros dispositivos ZigBee. Ele envia comandos ZigBee regulares, que são escolhidos por deCONZ v2.05.70 para criar buttonevent valores, que podem ser usados ​​em regras de gateway. Além disso, você pode adicionar luzes ao grupo do controlador e controlá-los diretamente (mesmo quando o deCONZ estiver desativado).

O Symfonisk Controller dispara um evento no pressionamento longo?

Não, consulte https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -536069107.

Como exatamente você emparelha isso com o deCONZ?

Observe que deCONZ não suporta emparelhamento de touchlink (que é o que o hub Trådfri usa). Você precisa procurar novos dispositivos no Phoscon / abrir a rede no antigo aplicativo da web e redefinir o dispositivo (pressionando o botão de redefinição quatro vezes - o LED deve piscar).

Como mencionei antes (https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment-535090364), o dispositivo desliga seu rádio muito rapidamente depois de entrar na rede - é fundamental que deCONZ tenha configure as ligações antes que isso aconteça, ou o dispositivo não ligará o rádio ao clicar / girar. As chances de emparelhamento bem-sucedido podem ser aumentadas desligando todos os roteadores e emparelhando o controlador próximo ao RaspBee / ConBee. Se necessário, mantenha o rádio ativo enviando comandos a partir da GUI deCONZ durante o emparelhamento.

@Keesromkes em sua captura de tela, deCONZ não recebeu os descritores simples, fazendo com que o botão suspenso direito desaparecesse. Consulte https://github.com/dresden-elektronik/deconz-rest-plugin/pull/2002#issuecomment -547985838 para obter detalhes.

Olá, acabei de atualizar para a última versão do deconz (270), mas não consigo descobrir como adicionar a opção.
Estou usando a IU, em alternar, adicionar outro. 4x clique rapidamente, mas não adiciona desconforto.
Você poderia me ajudar ?

Na verdade foi adicionado, só que não aparece no novo aplicativo Phoscon na minha lista de dispositivos. Eu encontrei no aplicativo antigo.

Que aparelho interessante!

Embora não seja possível controlar reprodutores Symfonisk / Sonos sem o hub Trådfri

Não é verdade. você pode fazer com que o Node-Red observe os cliques / giros do evento e, em seguida, tenha um fluxo que ajusta seus dispositivos Sonos com base na ação detectada.

Embora não seja possível controlar reprodutores Symfonisk / Sonos sem o hub Trådfri

Não é verdade. você pode fazer com que o Node-Red observe os cliques / giros do evento e, em seguida, tenha um fluxo que ajusta seus dispositivos Sonos com base na ação detectada.

Estou tentando fazer usando appdaemon e automação hass, está quase tudo funcionando, só estou procurando o volume agora, pois é apenas 1 evento para iniciar / parar ... ( veja aqui )

Estou tentando fazer usando appdaemon e automação hass, está quase tudo funcionando, só estou procurando o volume agora, pois é apenas 1 evento para iniciar / parar ... ( veja aqui )

Para isso, você deve aumentar / diminuir o volume repetidamente até que o evento de parada seja disparado.

Optei por +/- 7% do volume a cada 500 ms. Funciona muito bem.

Parece que emparelhei com sucesso meu controlador sonos, posso vê-lo no app phoscon (via VNC) e no webapp antigo.
No entanto, quando ouço eventos (em HASSIO), não recebo nada :(

Oh! De repente funciona! Depois de mexer muito no Phoscon e tentar incluí-lo várias vezes.
Não tenho certeza como, mas agora funciona e recebo os eventos no HASSIO

Oh! De repente funciona! Depois de mexer muito no Phoscon e tentar incluí-lo várias vezes.
Não tenho certeza como, mas agora funciona e recebo os eventos no HASSIO

Você tem uma solução para interpretar corretamente o movimento rotacional no HASSIO, por exemplo, para aumentar / diminuir o volume?

Oh! De repente funciona! Depois de mexer muito no Phoscon e tentar incluí-lo várias vezes.
Não tenho certeza como, mas agora funciona e recebo os eventos no HASSIO

Você tem uma solução para interpretar corretamente o movimento rotacional no HASSIO, por exemplo, para aumentar / diminuir o volume?

Não, isso é a próxima coisa. Esperando ver outras pessoas inventarem algo para isso 😊

Veja # 2040. Melhor fechar este assunto.

Oh! De repente funciona! Depois de mexer muito no Phoscon e tentar incluí-lo várias vezes.
Não tenho certeza como, mas agora funciona e recebo os eventos no HASSIO

Você tem uma solução para interpretar corretamente o movimento rotacional no HASSIO, por exemplo, para aumentar / diminuir o volume?

Não, isso é a próxima coisa. Esperando ver outras pessoas inventarem algo para isso 😊

Experimente: https://github.com/lbouriez/hassio-home-assistant_config/blob/master/appdaemon/apps/modules/symfonisk_sonos.py
Para mim funciona muito bem

Alguém sabe como fazer a troca aparecer no novo app da phoscon?
Tenho todos os meus switches, mas o symfonisk apenas aparece no aplicativo antigo.

Não é possível obter o symfonisk em phoscon. Estou usando deconz 2.5.70 e conbee com 26330500. Quando tento conectar como um switch ikea é só mostrar o controle remoto de 5 botões e o dimmer antigo. Quando tento conectar como "outro", não funciona. (pressione o botão de conexão 4 vezes no controle remoto do symfonisk até que o LED comece a piscar).
O que estou fazendo errado? Emparelhei vários outros dispositivos (ikea e xiaomi) e não tinha esses problemas antes. :/ Por favor ajude.
EDIT: Parece que é aprendido por deconz, mas não mostrado no app phoscon. Eu posso ver a mudança no iobroker que está recebendo os dispositivos por REST. Mas na webinterface, o switch não é mostrado. Como isso pode funcionar?

@ siggi85 @lbouriez - resumindo, você não aparecerá no novo phoscon (até que eles o suportem). Você pode endereçar o dispositivo por meio de hass.io ou NodeRed (ambos, tenho estado muito ocupado com outras coisas para configurar)

@Keesromkes Obrigado pela sua resposta. Sim você está certo. No deconz diretamente, posso ver o switch e posso usá-lo via API.

Mas, infelizmente, o uso da roda não pode ser usado no momento. Evento 3001 quando você começa a girar e quando para o evento 3003. Adicionalmente, o Evento 3003 não ocorre sempre que você para. E você não pode verificar quanto tempo ou rápido você gira. Apenas iniciar e parar não é suficiente para usá-lo de forma eficaz. Não sei como funciona diretamente com alto-falantes Symfonisk.

@ siggi85 verifique meu script appdaemon, não é perfeito, ainda tenho problemas com a roda às vezes, mas dá uma ideia de como fazer até que alguém apareça com uma solução melhor.

Mas, infelizmente, o uso da roda não pode ser usado no momento.

Os eventos de botão são derivados 1: 1 de mensagens enviadas pelo controlador. Não informa quanto tempo você gira. Veja minha postagem acima.

até que alguém chegue com uma solução melhor.

Esse alguém terá que ser a IKEA entregando novo firmware para o controlador Symfonisk, fazendo com que ele se comporte de maneira diferente. Não é muito provável, na minha opinião.

@ siggi85 você está sendo literal demais. ele simplesmente não envia um sinal contínuo quando você o gira. e provavelmente nunca será. tudo o que você precisa é procurar um código de rotação START. como eu disse acima, se você virar devagar, obterá vários códigos de rotação START e STOP. para cada código START, aumente o volume. (eu faço +2 no meu fluxo NodeRed, funciona muito bem.)

editar: estava neste tíquete https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2040

Pensei em um evento de parada com o valor do giro. Talvez 3001 para início e 3500 para meia volta ou algo parecido. Mas não é. Vou tentar a opção +2, mas minha ideia de usá-la era outra. Vou ver se isso é adequado para mim. Obrigado por suas respostas pessoal.

Outra pergunta. Peguei dois desses e os emparelhei com sucesso.

symfonsik

Mas agora eles têm o mesmo nome e não consigo descobrir como alterar o nome porque eles não aparecem como uma entidade no HomeAssistant e também não no Phoscon Web App. Talvez através da API Rest?

Para sua informação

Agora uso o controlador para controlar meu amplificador IOTAVX com NodeRed e Home Assistant por meio de um controlador remoto Broadlink. Obrigado pelo trabalho.

Bildschirmfoto 2019-12-21 um 16 19 36

Oi pessoal,
Existe alguma atualização neste tópico?
Eu também tenho a configuração hassio / conbee2 / deconz / symfonisk remoto e gostaria de controlar meus alto-falantes Sonos.
Saudações,
Dominik

Outra pergunta. Peguei dois desses e os emparelhei com sucesso.

symfonsik

Mas agora eles têm o mesmo nome e não consigo descobrir como alterar o nome porque eles não aparecem como uma entidade no HomeAssistant e também não no Phoscon Web App. Talvez através da API Rest?

Você já tem uma solução para este tópico?

Outra pergunta. Peguei dois desses e os emparelhei com sucesso.
symfonsik
Mas agora eles têm o mesmo nome e não consigo descobrir como alterar o nome porque eles não aparecem como uma entidade no HomeAssistant e também não no Phoscon Web App. Talvez através da API Rest?

Você já tem uma solução para este tópico?

Você pode tentar usar a API sim https://dresden-elektronik.github.io/deconz-rest-doc/sensors/ "Atualizar sensor", mas 1 dispositivo em deconz pode ter várias entradas na API, então IDK como funcionará.

Se você ainda puder acessar o aplicativo antigo (em ajuda> aplicativo antigo), verá seu dispositivo.
Não sei por que não podemos ver no novo aplicativo :(

Se você ainda puder acessar o aplicativo antigo (em ajuda> aplicativo antigo), verá seu dispositivo.
Não sei por que não podemos ver no novo aplicativo :(

Vou experimentar pela API.
Meu aplicativo antigo parece exatamente igual ao novo. O que estou fazendo de errado?

Outra pergunta. Peguei dois desses e os emparelhei com sucesso.
symfonsik
Mas agora eles têm o mesmo nome e não consigo descobrir como alterar o nome porque eles não aparecem como uma entidade no HomeAssistant e também não no Phoscon Web App. Talvez através da API Rest?

Você já tem uma solução para este tópico?

Você pode tentar usar a API sim https://dresden-elektronik.github.io/deconz-rest-doc/sensors/ "Atualizar sensor", mas 1 dispositivo em deconz pode ter várias entradas na API, então IDK como funcionará.

Eu tentei através da API, mas não tive sucesso, talvez eu seja muito burro.
Habilitei a porta 40850 em deconz. Se eu digitar no navegador, chego ao novo webapp.
Estou perdendo a conexão entre a entidade hass.io para deconz controlador symfonisk.
Tentei ler o documento, mas não acertei.
Você pode me dar algumas dicas ou um pequeno tutorial do que eu preciso?
Agradeço antecipadamente!

Você pode me dar algumas dicas ou um pequeno tutorial do que eu preciso?

Consegui emparelhar um segundo controlador ontem, mas tive que renomear o dispositivo por meio da API. Experimente algo assim:

curl -u 'username:password' http://x.x.x.x:7080/api -X POST -H "Content-Type: application/json" -d '{ "devicetype": "curl" }' (busca token API, retornado como "nome de usuário")

curl http://x.x.x.x:7080/api/<api token>/sensors -X GET -H "Content-Type: application/json" (liste todos os sensores para descobrir o ID do sensor a ser renomeado)

curl http://x.x.x.x:7080/api/<api token>/sensors/<sensor id> -X PUT -H "Content-Type: application/json" -d '{ "name": "<new name>" }' (renomear sensor)

Outra pergunta. Peguei dois desses e os emparelhei com sucesso.

symfonsik

Mas agora eles têm o mesmo nome e não consigo descobrir como alterar o nome porque eles não aparecem como uma entidade no HomeAssistant e também não no Phoscon Web App. Talvez através da API Rest?

Eu mudei o nome por meio do App Hue Essentials

Para sua informação

Agora uso o controlador para controlar meu amplificador IOTAVX com NodeRed e Home Assistant por meio de um controlador remoto Broadlink. Obrigado pelo trabalho.

Bildschirmfoto 2019-12-21 um 16 19 36

Você pode postar seu código NodeRed?

Para sua informação
Agora uso o controlador para controlar meu amplificador IOTAVX com NodeRed e Home Assistant por meio de um controlador remoto Broadlink. Obrigado pelo trabalho.
Bildschirmfoto 2019-12-21 um 16 19 36

Você pode postar seu código NodeRed?

Certo. Copiei apenas o que é realmente necessário.

[ { "id": "d952ec68.792e6", "type": "deconz-input", "z": "cac2275d.5aab68", "name": "Symfonisk Controller", "server": "9705a63e.b575c", "device": "14:b4:57:ff:fe:69:37:45-01-1000", "device_name": "SYMFONISK Sound Controller : ZHASwitch", "state": "0", "output": "always", "outputAtStartup": false, "x": 110, "y": 440, "wires": [ [ "a1449ad.1aa1068" ], [] ] }, { "id": "a1449ad.1aa1068", "type": "switch", "z": "cac2275d.5aab68", "name": "Events", "property": "payload.buttonevent", "propertyType": "msg", "rules": [ { "t": "eq", "v": "1005", "vt": "num" }, { "t": "eq", "v": "1004", "vt": "num" }, { "t": "eq", "v": "1002", "vt": "str" }, { "t": "eq", "v": "2001", "vt": "num" }, { "t": "eq", "v": "2003", "vt": "num" }, { "t": "eq", "v": "3001", "vt": "num" }, { "t": "eq", "v": "3003", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 7, "x": 290, "y": 460, "wires": [ [ "3a5dcdc8.481b92" ], [ "1f8c9412.286444" ], [ "2ca5c685.4dabba" ], [ "acbd3ab8.036f08" ], [ "a4e4c412.1a3fb" ], [ "b0800e96.d8f64" ], [ "a4e4c412.1a3fb" ] ], "outputLabels": [ "Triple", "Double", "Single", "Spin Left Start", "Spin Left Stop", "Spin Right Start", "Spin Right Stop" ] }, { "id": "a4e4c412.1a3fb", "type": "function", "z": "cac2275d.5aab68", "name": "Stop", "func": "var newMsg = { payload: \"stop\" };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 490, "y": 600, "wires": [ [ "b0800e96.d8f64", "acbd3ab8.036f08" ] ] }, { "id": "acbd3ab8.036f08", "type": "looptimer", "z": "cac2275d.5aab68", "duration": "1", "units": "Second", "maxloops": "10", "maxtimeout": "1", "maxtimeoutunits": "Minute", "name": "", "x": 680, "y": 560, "wires": [ [ "ec10c519.7484a8" ], [] ] }, { "id": "b0800e96.d8f64", "type": "looptimer", "z": "cac2275d.5aab68", "duration": "1", "units": "Second", "maxloops": "10", "maxtimeout": "1", "maxtimeoutunits": "Minute", "name": "", "x": 680, "y": 600, "wires": [ [ "18b688c.60c6877" ], [] ] }, { "id": "9705a63e.b575c", "type": "deconz-server", "z": "", "name": "Deconz", "ip": "192.168.188.122", "port": "80", "apikey": "91E977E002", "ws_port": "443", "secure": false, "polling": "15" } ]

@kmplngj você mudou algo nesse código quando tento importá-lo diz que não é um formato json válido

@ebaauw você fez algo especial para conectar Symfonisk ao Deconz? Estou tendo problemas para emparelhar. Estou usando o complemento do Home Assistant e a interface da web Phoscon. Aqui está o que estou fazendo:

  • Dispositivos> Switches> Adicionar novo switch> Other
  • Então eu inseri a bateria, pressionei o botão próximo a ela 4 vezes.
  • Symfonisk está ao lado do Conbee 2, praticamente tocando nele (conectado à porta usb3 do pi4)
  • A luz pisca algumas vezes e depois permanece sólida.

Nada acontece na IU. Mesmo se fizer uma solicitação de API
curl http://core-deconz:40850/api/\F04AC28AFD/sensors -X GET -H "Content-Type: application/json"
Só recebo o dispositivo Phillips, que presumo ser o virtual que já está lá
{"1":{"config":{"configured":true,"on":true,"sunriseoffset":30,"sunsetoffset":-30},"etag":"36afb24d0ddea3297e6077583506aee3","manufacturername":"Philips","modelid":"PHDL00","name":"Daylight","state":{"dark":false,"daylight":true,"lastupdated":"2020-03-26T13:52:46","status":160,"sunrise":"2020-03-26T13:20:22","sunset":"2020-03-27T01:40:48"},"swversion":"1.0","type":"Daylight","uniqueid":"00:21:2e:ff:ff:05:a1:3e-01"}}#

Tenho 2 controles remotos Symfonisk e nenhum deles pode se conectar. Alguma ideia de qual poderia ser o problema? É que tenho um stick Aeotech zwave por perto?

conectado à porta usb3 de pi4

Isso é pedir problemas. Os controladores e cabos USB-3 com blindagem inadequada (leia-se: quase todos) interferem no rádio de 2,4 GHz, e o ZigBee é especialmente sensível a isso. Conecte o ConBee a uma porta USB-2 e não use as portas USB-3. Já vi alguns relatos em que as pessoas conseguiram usar um SSD USB-3 enquanto ConBee se conectou a USB-2 usando um cabo de extensão e outros em que não. Usar um cabo de extensão é uma boa ideia de qualquer maneira, assim como desligar o WiFi e o Bluetooth no Raspberry Pi.

É que tenho um stick Aeotech zwave por perto?

Não tenho certeza se ZWave também usa 2,4 GHz, mas “próximo” não soa bem. Novamente, use um cabo de extensão USB para criar alguma distância para o ConBee.

Nada acontece na IU.

Você quer dizer no Phoscon ou na GUI deCONZ? Você quer olhar para a GUI. Não sei se Phoscon ainda suporta o controlador Symfonisk (eu não uso Phoscon), mas se não estiver listado na API, Phoscon não o verá de qualquer maneira.

Obrigado pela resposta rápida, tentarei tudo isso!
Como você se conecta à GUI (tenho usado a interface da web do Phoscon)? Eu sei que há uma porta VNC para o complemento Hassio Deconz, mas parece que não está funcionando quando tento usar o meu ip HA.

Você precisa estar executando o deCONZ com a GUI habilitada. Use o serviço deconz-gui em vez do serviço deconz.

Sim, isso funcionou, todos emparelhados agora. Acho que foi a combinação de desligar o wi-fi, bt no pi4 + usando extensão USB e deCONZ com habilitação GUI. Deixei o controle remoto ao lado de conbee2 por cerca de um minuto, se você afastá-lo, ele não emparelhará totalmente. Obrigado novamente pela ajuda rápida!

Percebi que, especialmente em rotações curtas, não estou recebendo um evento STOP.
Isso é um problema com o hardware ikea ou podemos fazer algo sobre isso com o deconz?

Também há # 2195 relatando problemas semelhantes com hardware ikea

https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -536075055

I did see some messages in the deCONZ log that it did drop buttonevent notifications because they happened too quickly in succession, but I don’t know what to do about that (other than ignore them ;-).

Esse é provavelmente o culpado aqui. Eu acho que isso só pode ser corrigido por @manup então?

Editar:

Pode confirmar. Isso acontece o tempo todo

16:24:49:627 button 2001 Move Up
16:24:49:627 button 2001 Move Up, discard too fast event (dt = 25)

Quer colocar este dispositivo específico na lista de permissões?

UTSL, se o mesmo buttonevent for emitido novamente dentro de 0,5 segundos, ele será descartado:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/b3086c6009154aa1b5cdb89febb5f177912952e9/de_web_plugin.cpp#L3647 -L3657

Não sei por que esse código está lá. Talvez o deCONZ recebesse várias mensagens se um comando de grupo fosse enviado e emitisse vários buttonevents ? Talvez seja algum tipo de debouncing para um determinado dispositivo?

Quer colocar este dispositivo específico na lista de permissões?

Não tenho certeza se isso vai funcionar (depende do motivo pelo qual o código está lá em primeiro lugar). Se for relacionado ao dispositivo, prefiro colocar na lista de permissões o dispositivo que precisa desse código.

Não tenho certeza de quão relevante é corrigir isso, prefiro gastar meu tempo implementando o suporte ZHARelativeRotary adequado (consulte # 2305).

Não tenho certeza de quão relevante é corrigir isso

Atualmente, o controlador symfonisk é inutilizável, já que ocasionalmente aumenta o volume da música sem nunca parar. Não há nada que você possa fazer quando isso acontecer, além de desligar rapidamente todo o sistema de som se não quiser perder sua capacidade auditiva: /

Obrigado por apontar para o código. Curiosamente, não consegui encontrar isso por meio da pesquisa no github. Vou tentar ver o que acontece quando essa linha é comentada.

Percebi que isso acontece quando você faz pequenos ajustes ou move o dial muito rápido ou muito devagar. Minha solução alternativa: pare de aumentar / diminuir o volume após 5 segundos. Não é ótimo para ser honesto. Mas não é um grande problema para mim, não vale a pena instalar a ponte ikea apenas para isso.

Atualmente, o controlador symfonisk é inutilizável, já que ocasionalmente aumenta o volume da música sem nunca parar.

Isso não está relacionado a este código: ele verifica o mesmo buttonevent , portanto, não descarta um 2003 após um 2001.

Como você controla o volume da música?

Como você controla o volume da música?

Estou iniciando um loop de cronômetro de 500ms que aumenta / diminui o volume em 1% em 2001/3001 e o interrompe a cada dois eventos.

Às vezes (especialmente em rotações curtas, mudança de direção e vários ajustes logo após o outro) não há nenhum outro evento.

Você está certo. Corrigir essa verificação não ajuda (obviamente).
Aqui estão algumas saídas de depuração enquanto eu reproduzia o problema:

20:02:50:971 button 3001 Move Down
20:02:50:993 button 3001 Move Down
20:02:50:993 button 3001 Move Down, would discard too fast event (dt = 21)
20:02:51:775 button 3003 Stop
20:02:51:808 no button handler for: SYMFONISK Sound Controller ep: 0x01 cl: 0x0008 cmd: 0x03 pl[0]: 0x00
20:02:56:024 button 3001 Move Down
20:02:56:045 button 3001 Move Down
20:02:56:045 button 3001 Move Down, would discard too fast event (dt = 22)
20:02:56:237 button 2001 Move Up
20:02:56:258 button 2001 Move Up
20:02:56:258 button 2001 Move Up, would discard too fast event (dt = 22)

Outra coisa que observei ao olhar para o log de depuração do deconz são as linhas que parecem aparecer com bastante frequência.

20:00:42:344 no button handler for: SYMFONISK Sound Controller ep: 0x01 cl: 0x0008 cmd: 0x03 pl[0]: 0x00
20:00:47:150 no button handler for: SYMFONISK Sound Controller ep: 0x01 cl: 0x0008 cmd: 0x03 pl[0]: 0x00
20:00:47:171 no button handler for: SYMFONISK Sound Controller ep: 0x01 cl: 0x0008 cmd: 0x03 pl[0]: 0x00

0x0008 - Controle de Nível (Dimmer)

Esses são provavelmente aqueles de que você estava falando sobre o suporte ZHARelativeRotary

Como você controla o volume da música?
Estou iniciando um loop de cronômetro de 500ms que aumenta / diminui o volume em 1% em 2001/3001 e o interrompe a cada dois eventos.

Melhor mudar o volume em cada 2001/3001.

Outra coisa que observei ao olhar para o log de depuração do deconz são as linhas que parecem aparecer com bastante frequência.

Interessante, o controlador está enviando outro comando. Precisa verificar.

Melhor mudar o volume em cada 2001/3001.

Mas então você não obterá nenhuma mudança de volume ao girar com uma velocidade constante

Em qual firmware está o seu controlador?

O controlador está executando FW 2.1.022 .
O plug-in OTAU relata a versão 0x21022631 , o tipo de imagem 0x11ca e o id do fabricante 0x117C .

O firmware mais recente para este tipo de imagem parece ser 10043101-3.1-TRADFRI-dimmer-2.1.024.ota.ota.signed que relata como versão 0x21024631 no plugin otau

Devo atualizar o controlador?

Editar:
image
Bem. Veremos amanhã se esse novo firmware muda alguma coisa.
O changelog oficial afirma o seguinte:

SYMFONISK Sound Controller V-2.1.024.
Improvement Disconnected state issue.
Improvement Performance.

Essa é a mesma versão do meu controlador. Eles devem ter lançado a nova versão recentemente.

Ao girar constantemente (pelo menos na minha percepção), vejo vários eventos de 2001/2003. Mas às vezes, não vejo nenhum evento ao girar.

20:00:47:171 no button handler for: SYMFONISK Sound Controller ep: 0x01 cl: 0x0008 cmd: 0x03 pl[0]: 0x00

O comando 0x03 é _Stop_. O problema com esse comando é que ele não contém a direção (para cima ou para baixo), então não sabemos se devemos enviar 2003 ou 3003. Para lidar com isso, o plugin REST API armazena o diretório do comando _Move_ anterior . Isso funcionou perfeitamente para todos os dispositivos, desde que o introduzi, há muitos anos.

A mensagem seria exibida, quando nenhuma direção anterior foi salva. Acho que isso só pode acontecer ao receber dois comandos _Stop_ em uma linha. Preciso executar o farejador para ver o que está acontecendo aqui. Vou atualizar o firmware do controlador primeiro.

Atualize em 4,07% após 45 minutos. Cara, essa coisa tá lenta.

Enquanto isso, encontrei uma análise do dispositivo na loja Ikea dos

Ótimo conceito, mas tive vários problemas com níveis de volume "descontrolados", onde os alto-falantes simplesmente giravam ao máximo a ponto de eu ter que lutar para desconectá-los. Comprei quatro deles, mas pretendo devolver todos - que chatice. Além disso, a configuração foi uma dor total, você sabe o quê - provavelmente devido a um roteador de banda dupla que precisava ter o canal de 5 GHz desativado temporariamente.

Isso não deve nos impedir de tentar consertar isso, mas certamente é interessante saber que está acontecendo com a ponte oficial como caminho. .. embora ele não mencione que está usando isso 🤔

Quais alto-falantes e volume você usa? Qual software você usa para mapear os eventos de botão para alterações de volume?

Atualize em 4,07% após 45 minutos. Cara, essa coisa tá lenta.

E provavelmente irá falhar em 90% ou mais :-(

Costumo atualizar os dispositivos IKEA alimentados por bateria da minha rede de teste (menos tráfego), garantindo que o coordenador atue como pai. Ainda assim, normalmente leva 3,5 a 4 horas. Agora em 14% em 00:32:30. Dispositivos alimentados pela rede elétrica geralmente levam entre 10 e 30 minutos.

Eu adaptei o fluxo de nó vermelho que foi colado neste tópico que fala com o assistente doméstico que, por sua vez, se comunica com o servidor de mídia da Logitech, controlando em última instância o volume de alguns booms de squeezebox.

Por enquanto, estou limitando o volume máximo a 70%. Ainda está muito alto, mas não é tão catastrófico.

Sim, você tende a obter essas correntes longas. Eu controlo meus alto-falantes Sonos a partir do controlador, usando controlador -> deCONZ -> Homebridge Hue -> Automação HomeKit -> Homebridge ZP -> Sonos. O Homebridge Hue traduz cada série x001, x001, ..., x003 para uma _Long Press_ no HomeKit, e o Homebridge ZP expõe a configuração do volume relativo do Sonos.

Experimentei o controlador com o hub IKEA Trådfri há algum tempo. O hub Trådfri atua como cliente Sonos, então a cadeia é consideravelmente mais curta: controlador -> hub -> Sonos. Pelo que me lembro, funcionou um pouco mais suave, mas não perfeitamente.

Essa configuração em cascata é inerentemente vulnerável, fornecendo muitos lugares onde uma mensagem pode ser perdida e um comando não pode ser interrompido. Eu recomendo fortemente não usar a lógica start / stop nesses casos, mas simplesmente envie um comando por evento de botão. Até mesmo o aplicativo Hue padrão cria regras de ponte Hue como esta, ao segurar os botões _DimUp_ ou _DimDown_ do dimmer Hue. Quando usado autônomo (sem a ponte), o dimmer envia _Move_ e _Stop_.

Essa configuração em cascata é inerentemente vulnerável, fornecendo muitos lugares onde uma mensagem pode ser perdida e um comando não pode ser interrompido.

Estou executando controlador> deCONZ> hub de automação> Sonos. E ainda tenho o problema. Tenho certeza que é a falha do controlador, pois todas as outras automações funcionam perfeitamente

Até mesmo o aplicativo Hue padrão cria regras de ponte Hue como esta, ao segurar os botões DimUp ou DimDown do dimmer Hue.

Você está certo, mas o dimmer de matiz envia eventos _Hold_ a cada segundo até você liberar. O controlador Symfonisk Ikea não envia um novo evento em intervalos regulares; Ainda não entendi a lógica, mas acho que ele envia um novo evento apenas quando a taxa de rotação muda. Mas isso é um palpite. A única solução é ouvir start / stop.

A atualização foi bem-sucedida sem problemas durante a noite. Agora em 2.1.024. Bateria reduzida para 16% (de 60%) - Já vi pior. A confiabilidade do controlador parece um pouco mais confiável, mas ainda estou perdendo um evento x003 ocasional.

Eu reli "todos" os comentários e outras questões relacionadas ao controlador SYMFONISK, depois de uma boa noite de sono. Parece que a comunicação entre o controlador e o deCONZ não é confiável, fazendo com que as mensagens do controlador cheguem ao deCONZ fora de serviço ou nem cheguem. A mensagem "sem manipulador de botão" é causada por dois comandos _Stop_ recebidos em sucessão; o "evento descartar muito rápido" de receber dois comandos _Move_ em sucessão. Quanto mais o Zigbee pular entre o controlador e o coordenador, piores serão esses problemas.

Parece que o controlador envia comandos em sucessão muito rapidamente para a rede Zigbee lidar com as transmissões. Efetivamente, o controlador lança um ataque de negação de serviço na rede Zigbee. A Signify recomenda no máximo uma transmissão por segundo, e a ponte Hue tende a ter redes Zigbee menores do que deCONZ. Observe que o dimmer Hue, o botão Hue e o Lutron Aurora enviam apenas mensagens unicast para eventos x001 (atuando efetivamente como sensores). Quando atuam como controladores, eles apenas enviam um _Move_ ao pressionar / segurar e um _Parar_ ao liberar.

Para confirmar, substituí as ligações de grupo no controlador por ligações unicast para o coordenador. Isso parece fazer milagres.

Certifique-se de despertar o controlador ao pressionar _Bind_ ou _Unbind_. O _Bind Dropbox_ exibe sucesso quando a vinculação é criada ou removida. Tente novamente, se necessário. Certifique-se de adicionar as novas ligações antes de remover as antigas, ou o controlador irá "adormecer" com você, não despertando mais com a entrada.

Observe que ainda estou vendo "descartar eventos muito rápidos" e "nenhum manipulador de botão". Se os testes forem bem-sucedidos, alterarei a verificação para não descartar eventos unicast. E altere a lógica de emparelhamento para o controlador, para não criar um grupo e ligação correspondente. Eu acho que faz sentido sacrificar o controle de luz direta em favor do controle de som de trabalho.

Acho que um problema semelhante ocorre com o dimmer sem fio Trådfri. Aparentemente, naquela época, decidi mapear _Move_ para x002 e ignorar _Parar_. Isso foi há três anos, porém, não me lembro dos detalhes.

@paolotremadio , @Hypfer , outros, vocês poderiam repetir meu teste e confirmar isso?

  • No painel _Binding dropbox_ na GUI deCONZ, ligue o cluster do cliente (cinza) _On / Off_ no controlador ao ponto final 0x01 no coordenador;
  • e vincule o cluster _Level Control_ do cliente (cinza) no controlador ao ponto final 0x01 no coordenador;
  • Verifique qual grupo o controlador está usando: na pesquisa da API, o valor config.group para o recurso ZHASwitch /sensors para o controlador. Converta esse valor em hexadecimal.
  • No painel _Binding dropbox_ na GUI deCONZ, desassocie o cluster cliente (cinza) _On / Off_ no controlador desse grupo (em hex);
  • E desassocie o cluster cliente (cinza) _Level Control_ no controlador do grupo (em hexadecimal).

@paolotremadio , @Hypfer , outros, vocês poderiam repetir meu teste e confirmar isso?

  • No painel _Binding dropbox_ na GUI deCONZ, ligue o cluster do cliente (cinza) _On / Off_ no controlador ao ponto final 0x01 no coordenador;
  • e vincule o cluster _Level Control_ do cliente (cinza) no controlador ao ponto final 0x01 no coordenador;
  • Verifique qual grupo o controlador está usando: na pesquisa da API, o valor config.group para o recurso ZHASwitch /sensors para o controlador. Converta esse valor em hexadecimal.
  • No painel _Binding dropbox_ na GUI deCONZ, desassocie o cluster cliente (cinza) _On / Off_ no controlador desse grupo (em hex);
  • E desassocie o cluster cliente (cinza) _Level Control_ no controlador do grupo (em hexadecimal).

Fiz isso. Um controlador parece funcionar de forma muito mais confiável. O outro perde algumas paradas, mas parece que não com tanta frequência como antes. Vou testar por um ou dois dias.

Vou experimentar em algum momento mais tarde.
Obrigado por sua investigação e trabalho @ebaauw
Talvez devêssemos manter o # 2195 aberto para esse problema.

Talvez devêssemos manter o # 2195 aberto para esse problema.

Sim, não parece estar relacionado a esse problema.

OK, tirei o farejador. Quando vinculado ao coordenador, o dimmer sem fio Trådfri envia transmissões para o grupo 0x0000. Portanto, esta solução alternativa não pode ser usada com esse dispositivo.

O controlador parece enviar várias mensagens unicast por ação, quando vinculado ao coordenador. Eles têm o mesmo número de sequência ZCL, mas diferentes números de sequência MAC e NWK. Verificar valores de evento de botão de repetição apenas em mensagens de grupo agora resulta em três x001 e um x003 por série. Vou tentar verificar o número de sequência ZCL e filtrar mensagens duplicadas.

Adicionada a verificação do número de sequência ZCL. Agora ele se comporta como eu esperava. Ao virar, vejo um fluxo contínuo de pares x001 / x003 buttonevent . Verifiquei novamente o log do sniffer: o _Move_ sempre parece ser seguido por um _Parar_, dentro de 300ms. Acho que não há valor agregado em expor x001 vs x003, e proponho alterá-lo para um único x002, assim como para o dimmer sem fio Trådfri.

Observe que o número de eventos de botão reflete a _duração_ da curva, não o ângulo nem a velocidade. Não há nenhuma mensagem especial para indicar que você parou de girar. Apenas a ausência do seguinte par _Move _ / _ Stop_.

Observe como é legal ver milissegundos em lastupdated ;-)

Apr 17 14:53:13 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:13.126"}
Apr 17 14:53:13 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:13.309"}
Apr 17 14:53:13 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:13.329"}
Apr 17 14:53:13 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:13.509"}
Apr 17 14:53:13 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:13.523"}
Apr 17 14:53:13 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:13.884"}
Apr 17 14:53:13 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:13.917"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:14.102"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:14.118"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:14.305"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:14.357"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:14.547"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:14.617"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:14.806"}
Apr 17 14:53:14 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:14.892"}
Apr 17 14:53:15 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:15.079"}
Apr 17 14:53:15 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:15.283"}
Apr 17 14:53:15 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:15.472"}
Apr 17 14:53:15 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:15.641"}
Apr 17 14:53:15 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:15.823"}
Apr 17 14:53:15 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:15.923"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:16.104"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:16.194"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:16.378"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:16.459"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:16.663"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:16.691"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:16.876"}
Apr 17 14:53:16 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:16.904"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:17.071"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:17.102"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:17.292"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:17.353"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:17.537"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:17.553"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:17.734"}
Apr 17 14:53:17 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2001,"lastupdated":"2020-04-17T12:53:17.746"}
Apr 17 14:53:18 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":2003,"lastupdated":"2020-04-17T12:53:18.102"}

Apr 17 14:53:22 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:22.936"}
Apr 17 14:53:23 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:23.122"}
Apr 17 14:53:23 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:23.234"}
Apr 17 14:53:23 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:23.424"}
Apr 17 14:53:23 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:23.593"}
Apr 17 14:53:23 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:23.776"}
Apr 17 14:53:23 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:23.899"}
Apr 17 14:53:24 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:24.088"}
Apr 17 14:53:24 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:24.186"}
Apr 17 14:53:24 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:24.370"}
Apr 17 14:53:24 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:24.456"}
Apr 17 14:53:24 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:24.641"}
Apr 17 14:53:24 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:24.750"}
Apr 17 14:53:24 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:24.938"}
Apr 17 14:53:25 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:25.086"}
Apr 17 14:53:25 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:25.271"}
Apr 17 14:53:25 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:25.401"}
Apr 17 14:53:25 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:25.586"}
Apr 17 14:53:25 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:25.670"}
Apr 17 14:53:25 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:25.860"}
Apr 17 14:53:25 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:25.968"}
Apr 17 14:53:26 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:26.147"}
Apr 17 14:53:26 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:26.338"}
Apr 17 14:53:26 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:26.522"}
Apr 17 14:53:26 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:26.705"}
Apr 17 14:53:26 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:26.889"}
Apr 17 14:53:27 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:27.093"}
Apr 17 14:53:27 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:27.276"}
Apr 17 14:53:27 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:27.442"}
Apr 17 14:53:27 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:27.635"}
Apr 17 14:53:27 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3001,"lastupdated":"2020-04-17T12:53:27.776"}
Apr 17 14:53:27 pi5 dc_eventlog[879]: /sensors/7/state: {"buttonevent":3003,"lastupdated":"2020-04-17T12:53:27.957"}

Adicionada a verificação do número de sequência ZCL. Agora ele se comporta como eu esperava. Ao virar, vejo um fluxo contínuo de pares x001 / x003 buttonevent . Verifiquei novamente o log do sniffer: o _Move_ sempre parece ser seguido por um _Parar_, dentro de 300ms. Acho que não há valor agregado em expor x001 vs x003, e proponho alterá-lo para um único x002, assim como para o dimmer sem fio Trådfri.

Observe que o número de eventos de botão reflete a _duração_ da curva, não o ângulo nem a velocidade. Não há nenhuma mensagem especial para indicar que você parou de girar. Apenas a ausência do seguinte par _Move _ / _ Stop_.

Observe como é legal ver milissegundos em lastupdated ;-)

Isso é realmente bom. Isso permitiria um controle de volume muito melhor. Existe um ramo para ser testado?

Veja o commit acima. Observe que este envia eventos x002 em vez de pares x001 / x003. É melhor excluir o recurso /sensors atual (também deve limpar o grupo associado) e emparelhar novamente o controlador. O plug-in deve configurar o vínculo com o coordenador no emparelhamento.

Droga. config.group foi recriado ao carregar o sensor do banco de dados.

O controlador foi atualizado com sucesso. Demorou apenas> 24h para terminar.
Enfim. Eu o removi do deconz, construí o último branch ebaauw / master rest-plugin e emparelhei novamente o controlador.

Infelizmente, estou vendo apenas um único evento x002, não importa quanto tempo giro o botão :(

Estou vendo alguns desses:

19:26:31:324 discard sensor state push for 70: state/lastupdated (already pushed)
19:27:44:051 discard sensor state push for 70: state/lastupdated (already pushed)

Editar:
Comentar essa verificação não resolveu o problema. Agora ele apenas envia o mesmo evento único duas vezes

E /sensors/70 é o controlador?

Sim, /sensors/70 é o controlador symfonisk. Esse não parece ser o problema: /

Não, a mensagem indica que vários atributos do mesmo objeto state ou config foram alterados. Cada mudança de atributo gera um evento interno. Quando o primeiro evento é tratado, ele emite uma notificação de soquete da web de todos (ou, dependendo de websocketnofityall , todos os atributos alterados). Os outros eventos não precisam emitir uma notificação, uma vez que a alteração já foi enviada. Portanto, eles emitem esta mensagem.

Mais alguma coisa para procurar?

Você está vendo um fluxo constante de eventos x002 no websocket?

Sim. 328 é o controlador:

Apr 18 19:54:14 pi2 dc_eventlog[860]: /sensors/452/state: {"lastupdated":"2020-04-18T17:54:14.069"}
Apr 18 19:54:19 pi2 dc_eventlog[860]: /sensors/452/state: {"lastupdated":"2020-04-18T17:54:19.539"}
Apr 18 19:54:20 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:20.636"}
Apr 18 19:54:21 pi2 dc_eventlog[860]: /sensors/426/state: {"lastupdated":"2020-04-18T17:54:21.397","power":23}
Apr 18 19:54:21 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:21.417"}
Apr 18 19:54:21 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:21.758"}
Apr 18 19:54:22 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:21.991"}
Apr 18 19:54:22 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:22.233"}
Apr 18 19:54:24 pi2 dc_eventlog[860]: /sensors/453/state: {"lastupdated":"2020-04-18T17:54:23.967"}
Apr 18 19:54:24 pi2 dc_eventlog[860]: /sensors/314/state: {"lastupdated":"2020-04-18T17:54:24.821"}
Apr 18 19:54:25 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:25.194"}
Apr 18 19:54:25 pi2 dc_eventlog[860]: /sensors/426/state: {"lastupdated":"2020-04-18T17:54:25.294","power":21}
Apr 18 19:54:26 pi2 dc_eventlog[860]: /sensors/426/state: {"lastupdated":"2020-04-18T17:54:26.329","power":23}
Apr 18 19:54:26 pi2 dc_eventlog[860]: /sensors/454/state: {"lastupdated":"2020-04-18T17:54:26.449"}
Apr 18 19:54:27 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:27.931"}
Apr 18 19:54:27 pi2 dc_eventlog[860]: /sensors/453/state: {"lastupdated":"2020-04-18T17:54:27.953"}
Apr 18 19:54:28 pi2 dc_eventlog[860]: /sensors/426/state: {"current":247,"lastupdated":"2020-04-18T17:54:28.294"}
Apr 18 19:54:29 pi2 dc_eventlog[860]: /sensors/426/state: {"lastupdated":"2020-04-18T17:54:29.291","power":21}
Apr 18 19:54:31 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:31.675"}
Apr 18 19:54:31 pi2 dc_eventlog[860]: /sensors/296/state: {"lastupdated":"2020-04-18T17:54:31.736"}
Apr 18 19:54:31 pi2 dc_eventlog[860]: /sensors/296/state: {"lastupdated":"2020-04-18T17:54:31.756"}
Apr 18 19:54:31 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:31.954"}
Apr 18 19:54:32 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:32.245"}
Apr 18 19:54:32 pi2 dc_eventlog[860]: /sensors/426/state: {"lastupdated":"2020-04-18T17:54:32.304","power":23}
Apr 18 19:54:32 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:32.529"}
Apr 18 19:54:32 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:32.816"}
Apr 18 19:54:33 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:33.228"}
Apr 18 19:54:33 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:33.605"}
Apr 18 19:54:34 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:34.019"}
Apr 18 19:54:34 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:34.606"}
Apr 18 19:54:34 pi2 dc_eventlog[860]: /sensors/112/state: {"lastupdated":"2020-04-18T17:54:34.730"}
Apr 18 19:54:35 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:35.147"}
Apr 18 19:54:35 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:35.408"}
Apr 18 19:54:35 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:35.679"}
Apr 18 19:54:36 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":3002,"lastupdated":"2020-04-18T17:54:35.955"}
Apr 18 19:54:36 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:36.668"}
Apr 18 19:54:36 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:36.948"}
Apr 18 19:54:37 pi2 dc_eventlog[860]: /sensors/113/state: {"lastupdated":"2020-04-18T17:54:37.876"}
Apr 18 19:54:38 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:38.409"}
Apr 18 19:54:38 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:38.611"}
Apr 18 19:54:38 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:38.778"}
Apr 18 19:54:39 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:39.139"}
Apr 18 19:54:39 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:39.386"}
Apr 18 19:54:39 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:39.572"}
Apr 18 19:54:40 pi2 dc_eventlog[860]: /sensors/328/state: {"buttonevent":2002,"lastupdated":"2020-04-18T17:54:40.242"}
Apr 18 19:54:42 pi2 dc_eventlog[860]: /sensors/426/state: {"lastupdated":"2020-04-18T17:54:42.298","power":21}
Apr 18 19:54:45 pi2 dc_eventlog[860]: /sensors/434/state: {"lastupdated":"2020-04-18T17:54:45.049","voltage":237}

Hm. Excluir e emparelhar novamente também não resolveu

Você pode verificar o log deCONZ para algo como:

Apr 18 20:01:23 pi2 deCONZ[19662]: 20:01:22:713 APS-DATA.indication srcAddr: 0x56b2, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 255, rssi: -49
Apr 18 20:01:23 pi2 deCONZ[19662]: 20:01:22:713     asdu: 117f0100c30000
Apr 18 20:01:23 pi2 deCONZ[19662]: 20:01:22:716 button 2002 Move Up

O scrAddr é o endereço NWK do controlador. Pelo que entendi dstAddrMode: 2 indica um endereço NWK, portanto, um unicast para o coordenador. Para os grupos de transmissão é 1.

Mais de 24h para uma atualização de firmware é mais de quatro vezes mais do que o normal. Talvez seja indicativo de problemas de rede (interferência)?

Qual o tamanho da sua rede? A que distância (quantos saltos) está o controlador do coordenador? Você executa alguma automação que pode estar obstruindo a rede (> 1 transmissão por segundo)?

E quanto a interferência? Quaisquer códigos de erro no log (consulte https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Zigbee-Error-Codes-in-the-Log). Você está usando um RaspBee ou um ConBee? Se for o caso: conectado à porta USB2 usando um cabo de extensão? Algum dispositivo Wifi, bluetooth, USB3, DECT, ... próximo que possa usar ou interferir na banda de 2,4 GHz?

As atualizações de firmware dos dispositivos conectados à rede elétrica funcionam normalmente (leia: 30-45 minutos).
Atualmente é uma rede de 73 nós que está praticamente ociosa. Módulo Raspbee. Nenhum erro registrado.

Atualmente, está a um salto do coordenador. O referido lúpulo é uma barra de reprodução de tonalidade, se isso importa

Emparelhei novamente o dispositivo e recebi mensagens APS. Nada como APS-DATA.indication embora

20:13:23:171 APS-DATA.indication from unknown node 0xCCCCCCFFFEE084E5
20:13:23:171 ZDP device announce: 0xCCCCCCFFFEE084E5, 0x9E24, 0x80
20:13:23:186 void deCONZ::zmNode::setFetched(deCONZ::RequestId, bool) fetched item: 2, node: 0x9E24
20:13:23:186 void deCONZ::zmNode::setFetched(deCONZ::RequestId, bool) fetched item: 1, node: 0x9E24
20:13:23:186 new node - ext: 0xccccccfffee084e5, nwk: 0x9E24
20:13:23:187 device announce 0xCCCCCCFFFEE084E5 (0x9E24) mac capabilities 0x8020:13:23:187 set fast probe address to 0xCCCCCCFFFEE084E5 (0x9E24)
20:13:23:187 FP indication 0x0000 / 0x0013 (0xCCCCCCFFFEE084E5 / 0x9E24)
20:13:23:187                       ...     (0xCCCCCCFFFEE084E5 / 0x9E24
20:13:23:187 device announce 0xCCCCCCFFFEE084E5 (0x9E24) mac capabilities 0x80

20:13:30:335 FP indication 0x0104 / 0x0019 (0xCCCCCCFFFEE084E5 / 0x9E24)
20:13:30:335                       ...     (0xCCCCCCFFFEE084E5 / 0x9E24)

20:13:31:945 FP indication 0x0104 / 0x0003 (0xCCCCCCFFFEE084E5 / 0x9E24)
20:13:31:945                       ...     (0xCCCCCCFFFEE084E5 / 0x9E24)

20:13:39:757 ZDP status = 0x00 -> SUCCESS
20:13:39:757 ZDP Node_Descriptor_rsp 0xCCCCCCFFFEE084E5 - 0x9E24
20:13:39:757 void deCONZ::zmNode::setFetched(deCONZ::RequestId, bool) fetched item: 3, node: 0x9E24
20:13:39:757 DB pushZdpDescriptorDb()
20:13:39:757 DB save zll database items 0x00000800
20:13:39:757 DB sql exec UPDATE devices SET nwk = 40484 WHERE mac = 'cc:cc:cc:ff:fe:e0:84:e5';INSERT INTO devices (mac,nwk,timestamp) SELECT 'cc:cc:cc:ff:fe:e0:84:e5', 40484, strftime('%s','now') WHERE (SELECT changes() = 0);
20:13:39:921 DB saved in 164 ms
20:13:39:923 DB UPDATE device_descriptors SET data = x'0240807c11525200002c520000', timestamp = 1587233619 WHERE device_id = (SELECT id FROM devices WHERE mac = 'cc:cc:cc:ff:fe:e0:84:e5') AND endpoint = 0 AND type = 2
20:13:39:923 DB INSERT INTO device_descriptors (device_id, endpoint, type, data, timestamp) SELECT id, 0, 2, x'0240807c11525200002c520000', 1587233619 FROM devices WHERE mac = 'cc:cc:cc:ff:fe:e0:84:e5'
20:13:40:302 don't close database yet, keep open for 900 seconds
20:13:40:309 FP indication 0x0000 / 0x8002 (0xCCCCCCFFFEE084E5 / 0x9E24)
20:13:40:309                       ...     (0xCCCCCCFFFEE084E5 / 0x9E24)
20:13:40:309 ZDP indication search sensors 0xCCCCCCFFFEE084E5 (0x9E24) cluster 0x8002
20:13:40:309 ZDP indication search sensors 0xCCCCCCFFFEE084E5 (0x9E24) clear timeout on cluster 0x8002

20:13:41:812 void deCONZ::zmNode::setFetched(deCONZ::RequestId, bool) fetched item: 7, node: 0x9E24
20:13:41:817 FP indication 0x0000 / 0x8005 (0xCCCCCCFFFEE084E5 / 0x9E24)
20:13:41:817                       ...     (0xCCCCCCFFFEE084E5 / 0x9E24)
20:13:41:817 ZDP indication search sensors 0xCCCCCCFFFEE084E5 (0x9E24) cluster 0x8005
20:13:41:817 ZDP indication search sensors 0xCCCCCCFFFEE084E5 (0x9E24) clear timeout on cluster 0x8005
20:13:41:828 don't use deleted sensor and node 0xCCCCCCFFFEE084E5 as candidate

Nada como APS-DATA.indication embora

Você os veria ao empurrar ou girar o controlador. Esperançosamente a cada ~ 300ms ao girar.

Não posso confirmar. Eu estava disparando eventos de botão o tempo todo.

Eu preciso de um sinalizador de depuração cli ou algo assim para que apareça? Eu estava usando esta linha de comando deCONZ --dbg-info=2 --dbg-zdp=1 --dbg-zcl=1 --db-aps=1 --dbg-http=1

Definitivamente, você deseja adicionar --dbg-error=1 . Não sei por que eles não exibem erros por padrão.

Para ver a carga útil do APS ( asdu ), defina --dbg-aps=2 .

Ainda preciso documentar esses parâmetros de linha de comando no WIki ...

Ah sim. Agora posso ver esses eventos.

21:25:37:225 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 127, rssi: -67
21:25:37:307 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:38:312 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:38:402 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:38:512 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:38:599 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:40:397 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:40:507 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:42:748 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:42:875 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:44:635 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:44:740 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:44:851 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:44:939 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:52:764 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:52:846 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:56:046 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:25:56:129 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:26:01:008 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67
21:26:01:069 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 191, rssi: -67

Aqui estão alguns com a carga útil asdu também:

21:24:46:719 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 95, rssi: -79
21:24:46:719    asdu: 11660101c30000
21:24:46:719 APS-DATA.request id: 179 erase from queue
21:24:46:838 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 103, rssi: -78
21:24:46:838    asdu: 1167030000
21:24:46:931 APS-DATA.indication srcAddr: 0x9e24, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 95, rssi: -79
21:24:46:931    asdu: 1167030000

OK, isso é esperançoso. AddrMode 2, portanto, a ligação unicast parece estar em vigor. Vejo um _Move_ (terceiro byte 01 ) em .719 seguido por um _Stop_ (terceiro byte 03 ) em .838 e .931. Observe que a sequência ZCL (segundo byte, 67 ) é a mesma para os comandos _Stop_ (67), o controlador envia cada comando três vezes (consulte https://github.com/dresden-elektronik/deconz- rest-plugin / issues / 1898 # issuecomment-615154288).

O log deCONZ é realmente uma merda, não há maneira fácil de grep apenas as mensagens para um único dispositivo, já que elas combinam endereço mac, endereço nwk, recurso e nome do recurso. Mas você pode ver se APS-DATA.indication para o comando _Move_ é seguido por um button 2002 Move Up ou button 3002 Move Down ?

Você deseja analisar seu log em busca de mensagens perdidas, para ter uma ideia da confiabilidade do tráfego do controlador ao coordenador. Se você vir grandes lacunas nos números da sequência, isso explicaria por que você não obtém os eventos de botão repetidos.

Abaixo está um extrato do meu log. Você vê um par _Move _ / _ Stop_, vários 100 ms após o outro, seguido pelo próximo par _Move _ / _ Stop_ dentro de vários 10 ms. Você vê que duas mensagens (sequência 4b e 5b) não chegaram ao coordenador. De alguma forma, não vejo nenhuma mensagem repetida, talvez um dos roteadores entre o controlador e o coordenador tenha percebido que não iria encaminhar duplicatas?

Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:379 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:379     asdu: 11460100c30000
Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:379 button 2002 Move Up
Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:963 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:963     asdu: 1147030000

Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:992 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:992     asdu: 11480100c30000
Apr 18 21:56:05 pi2 deCONZ[19662]: 21:56:04:992 button 2002 Move Up
Apr 18 21:56:06 pi2 deCONZ[19662]: 21:56:06:113 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:06 pi2 deCONZ[19662]: 21:56:06:113     asdu: 1149030000

Apr 18 21:56:06 pi2 deCONZ[19662]: 21:56:06:186 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:06 pi2 deCONZ[19662]: 21:56:06:186     asdu: 114a0100c30000
Apr 18 21:56:06 pi2 deCONZ[19662]: 21:56:06:186 button 2002 Move Up

Apr 18 21:56:07 pi2 deCONZ[19662]: 21:56:07:632 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:07 pi2 deCONZ[19662]: 21:56:07:632     asdu: 114c0100c30000
Apr 18 21:56:07 pi2 deCONZ[19662]: 21:56:07:633 button 2002 Move Up
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:08:739 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:08:739     asdu: 114d030000

Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:08:771 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:08:771     asdu: 114e0100c30000
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:08:772 button 2002 Move Up
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:08:974 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:08:974     asdu: 114f030000

Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:009 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:009     asdu: 11500100c30000
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:010 button 2002 Move Up
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:346 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:346     asdu: 1151030000

Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:429 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:429     asdu: 11520100c30000
Apr 18 21:56:09 pi2 deCONZ[19662]: 21:56:09:429 button 2002 Move Up
Apr 18 21:56:10 pi2 deCONZ[19662]: 21:56:09:614 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 106, rssi: -71
Apr 18 21:56:10 pi2 deCONZ[19662]: 21:56:09:614     asdu: 1153030000

Apr 18 21:56:10 pi2 deCONZ[19662]: 21:56:09:824 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:10 pi2 deCONZ[19662]: 21:56:09:824     asdu: 11540100c30000
Apr 18 21:56:10 pi2 deCONZ[19662]: 21:56:09:824 button 2002 Move Up
Apr 18 21:56:10 pi2 deCONZ[19662]: 21:56:10:004 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:10 pi2 deCONZ[19662]: 21:56:10:004     asdu: 1155030000

Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:090 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 159, rssi: -71
Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:090     asdu: 11560100c30000
Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:090 button 2002 Move Up
Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:363 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:364     asdu: 1157030000

Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:432 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:432     asdu: 11580100c30000
Apr 18 21:56:12 pi2 deCONZ[19662]: 21:56:12:433 button 2002 Move Up
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:632 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:632     asdu: 1159030000

Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:662 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:662     asdu: 115a0100c30000
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:662 button 2002 Move Up

Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:928 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 151, rssi: -72
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:928     asdu: 115c0100c30000
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:12:929 button 2002 Move Up
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:13:049 APS-DATA.indication srcAddr: 0xd46b, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 106, rssi: -71
Apr 18 21:56:13 pi2 deCONZ[19662]: 21:56:13:049     asdu: 115d030000

Nunca há dois eventos de botão iguais em uma linha, mesmo enquanto gira constantemente, pois não parece haver um fluxo constante de APS-DATA.indication .

Isso é 10s de rotação constante no sentido horário:

12:29:58:665 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
12:29:58:665    asdu: 116c0100c30000
12:29:58:666 button 2002 Move Up
--
12:29:58:686 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 175, rssi: -69
12:29:58:686    asdu: 116c0100c30000
12:29:58:723 APS-DATA.indication srcAddr: 0x463a, srcEp: 0x0B dstAddrMode: 2, profile: 0x0104, cluster: 0x0006, lqi: 167, rssi: -70
--
12:30:01:545 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
12:30:01:545    asdu: 116d0101c30000
12:30:01:546 button 3002 Move Down
--
12:30:01:574 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
12:30:01:574    asdu: 116d0101c30000
12:30:01:603 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
12:30:01:603    asdu: 116e0100c30000
12:30:01:604 button 2002 Move Up
--
12:30:01:624 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
12:30:01:624    asdu: 116e0100c30000
12:30:02:219 poll node 00:17:88:01:06:92:7e:a0-0b
--
12:30:07:328 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
12:30:07:328    asdu: 116f030000
12:30:07:328 Force binding of attribute reporting for sensor SYMFONISK controller
12:30:07:351 APS-DATA.indication srcAddr: 0x48c0, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 167, rssi: -70
12:30:07:351    asdu: 116f030000

Para referência:
Usar grep com -A2 para mostrar as duas linhas a seguir de uma correspondência parece funcionar muito bem.
deCONZ --dbg-error=1 --dbg-aps=2 --dbg-info=2 | grep -A2 -E -i "APS-DATA.indication srcAddr: 0x48c0"

Legal, não conhecia a opção -A para grep .

Portanto, seu controlador envia:

  • 6c: _Move Up_ que resulta em um evento de botão de 2002;
  • 6c: _Mover Up_ repetido, o que é corretamente ignorado;
  • 6d: _Mover Down_ que resulta em um evento de botão 3002;
  • 6d: _Mover Down_ repetido, o que é corretamente ignorado;
  • 6e: _Move Up_, que resulta em um evento de botão de 2002;
  • 6e: _Move Up_, repetido e corretamente ignorado;
  • 6f: _Parar_, agora ignorado, uma vez que não queremos mais x001 / x003;
  • 6f: _Parar_, repetido e corretamente ignorado.

A boa notícia: nenhuma mensagem faltando (números de sequência sequenciais), portanto, sua rede parece estar bem.

A má notícia: comportamento muito diferente do meu controlador. Além disso, estou confuso com o _Move Down_ entre as mensagens _Move Up_. Só para ter certeza: você trocou a bateria após a atualização do firmware?

Que tipo está impresso na parte de trás do seu controlador (o meu diz E1744 ). Você pode verificar novamente os atributos do cluster _Basic_?
Screenshot 2020-04-19 at 12 54

Não parece haver nenhuma configuração mágica no dispositivo, que mudaria seu comportamento. Estou começando a suspeitar de um dispositivo com defeito. É difícil dizer se é seu ou meu, com apenas dois dispositivos para comparar, mas o meu funcionou como esperado quando emparelhado com o hub Trådfri.

image
lgtm. O texto no verso também diz TIPO E1744 e mesmo com uma nova célula de botão (a quarta na verdade) ela ainda se comporta assim.

O seu está conectado diretamente ao controlador?

Fazer rajadas curtas em rápida sucessão funciona aliás. É apenas a rotação contínua que parece estar quebrada

Na verdade, encomendei dois desses, então simplesmente tirei o segundo da embalagem e emparelhei com a rede.

O comportamento é exatamente o mesmo, o que provavelmente exclui hardware com defeito, bem como a versão do firmware
image

Estou sem ideias, infelizmente. Ou talvez esteja relacionado à cor? O meu é preto. Quase tentado a conseguir um segundo controlador para mim.

O seu está conectado diretamente ao controlador?

Atualmente está conectado a um plugue inteligente innr SP 120. Ele foi conectado ao coordenador (Conbee II) em minha rede de teste (para atualização de firmware mais rápida).

Gostaria de ouvir de @paolotremadio , @rchl e outros como seus controladores se comportam.

De qualquer forma, reverti para eventos de botão x001 / x003 por padrão, mas isso não resolverá seu problema de mudanças precipitadas no caso de um _Stop_ ser perdido.

Use a API para definir mode para 4 (ModeDimmer, também usado pelo dimmer sem fio Trådfri) para obter eventos x002. Para reverter para o padrão, defina mode para 1 (ModeScenes).

Ambos são pretos também, infelizmente.
~ Parece que emparelhei com o módulo Raspbee. ~ Continua o mesmo comportamento.
Editar:
Não. É emparelhado com a luz ikea ao lado do módulo raspbee

Há um número próximo à bateria: 1938-1 . Não tenho ideia do que isso pode significar, mas poderia ser diferente?

mas não resolverá seu problema de mudanças precipitadas no caso de uma parada ser perdida.

Mesmo? Pensei que isso acontecesse devido à rede não conseguir acompanhar. Isso deveria, em teoria, ser resolvido usando unicast, certo?

Pensei que isso acontecesse devido à rede não conseguir acompanhar. Isso deveria, em teoria, ser resolvido usando unicast, certo?

Você está certo, é claro. Se essa era de fato a causa, deveria ser resolvida. Eu estava mais preocupado do que uma mensagem individual poderia desaparecer. Mas, como várias cópias parecem chegar até você, coordenador, as chances disso são mínimas.

Parece que está funcionando como esperado.
Não consigo causar nenhum problema de volume descontrolado.

Ótimo!
A latência também é muito boa. No geral, uma boa solução.

Obrigado por olhar para @ebaauw

Estou vendo o mesmo comportamento de @Hypfer após seguir as etapas de https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898 (observe que estou na versão mais recente de deconz e não no @ebaauw filial de):

  • ao girar lentamente para a direita, vejo pares repetidos de eventos de 2001, 2003
  • ao girar bem rápido e com ritmo constante, estou vendo um evento de 2001 no início e, em seguida, um evento de 2003 depois de terminar a rotação. Não importa quanto tempo estou girando, desde que seja rápido e estável.

Mas não consigo mais reproduzir eventos "stop" (* 3) perdidos! :)

Acho que este problema pode ser resolvido após o # 2658 ter sido mesclado

E o que dizer do problema das mudanças constantes que não geram eventos? Isso é algo que funciona corretamente com o PR mencionado anteriormente?

@rchl

Esse problema é evitado por não usar o modo 4 e, em vez disso, manter os eventos x001 / x003 como antes.
https://github.com/dresden-elektronik/deconz-rest-plugin/pull/2658/commits/7035ee72624e9765d1573f343480208ccefec468

Acho que este problema pode ser resolvido após o # 2658 ter sido mesclado

E parece ter sido fundido há 10 dias. 😄 👍

Existe alguma ação necessária para tirar proveito da correção?
É o suficiente para atualizar o deconz ou é necessário redefinir e religar o controlador?

Existe alguma ação necessária para tirar proveito da correção?

Eu também estaria interessado nesta resposta. Eu tenho um stick Deconz em meu Home Assistant Raspberry Pi e ele diz que tenho a versão 2.5.75 do FW e que está atualizado.

Eu tenho o Symfonisk conectado, mas recebo apenas um evento em que direção ele está sendo girado (2001/3001) e quando ele parou de girar (2003/3003) e pressionamentos de botão (1001, 1004, 1005). Mas não há eventos repetidos ou algo que diga por quanto foi girado.

Pelo que entendi, o PR enviará os eventos de direção continuamente conforme eu giro o botão. Mas on event representa um certo número de graus de rotação?

Você provavelmente precisará emparelhar novamente o controlador Symfonisk ou atualizar manualmente a ligação para que ele use unicast conforme descrito aqui https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -615078454

As outras perguntas também são respondidas neste tópico.

Mas on event representa um certo número de graus de rotação?

Veja aqui:
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -535090364

Por favor, considere ler o tópico completo antes de comentar.

Parece que o problema foi resolvido ou está inativo. Se não estiver, reabra!

Eu atualizei o deCONZ, reparei o controlador e fiz manualmente a ligação (não tenho certeza se isso ainda é necessário). Ambos são incrivelmente confiáveis. A única coisa que notei: os códigos para horário e anti-horário foram invertidos. Mas foi fácil para mim consertar a automação, então não me importo.

Obrigado pelo trabalho incrível, como de costume!

Eu tenho um segundo controlador. Eu tenho os dois conectados à rede, mas parece que o novo não dispara nenhum evento no Node-RED. Alguma ideia de qual poderia ser o problema?

Estou no mais novo lançamento do docker Deconz.

@kmplngj Provavelmente a ligação. Tente emparelhá-lo novamente algumas vezes.

Esta página foi útil?
0 / 5 - 0 avaliações