Deconz-rest-plugin: Контроллер Ikea Symphonic

Созданный на 23 сент. 2019  ·  121Комментарии  ·  Источник: dresden-elektronik/deconz-rest-plugin

Вчера купил Ikea Symfonisk Controller. Есть ли уже поддержка в Deconz?

Могу я помочь добавить поддержку?

до свидания
Янв

Самый полезный комментарий

К вашему сведению

Теперь я использую контроллер для управления своим усилителем IOTAVX с помощью NodeRed и Home Assistant с помощью пульта дистанционного управления Broadlink. Спасибо за работу.

Bildschirmfoto 2019-12-21 um 16 19 36

Все 121 Комментарий

Следите за вики, чтобы поделиться необходимой информацией, чтобы добавить поддержку

Что делать, если я не могу подключить устройство к Deconz?

Могу я помочь добавить поддержку?

Да, предоставьте информацию, описанную здесь: https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Request-Device-Support.

Небольшое интригующее устройство: очевидно, оно использует ZigBee, поскольку для этого требуется шлюз Trådfri, но динамики Symfonisk (Sonos) передают протокол SOAP через http. Интересно, сколько интеллекта в устройстве по сравнению со шлюзом. Вы не сможете использовать устройство для управления динамиками через deCONZ (вместо шлюза Trådfri), но оно должно иметь возможность получать некоторые события кнопок для щелчка и двойного щелчка. Не уверен, где мы находимся при экспонировании жеста поворота (с углом). В противном случае мы могли бы выставить значение события аналоговой кнопки, см. вторая конечная точка куба Xiaomi.

Поворот работает для затемнения Ikea Lights здесь, то есть подключается прямо сейчас.

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

Тебе нужно что-то еще?

Кластер _Basic_. Пожалуйста, прочтите атрибуты, прежде чем делать снимок экрана.

Bildschirmfoto 2019-09-25 um 10 13 39

Я нашел (последний?) Сегодня в IKEA Amsterdam, даже подумал, что их еще нет на ikea.nl. Он без проблем присоединяется к сети ZigBee deCONZ. Однако он реагирует только на очень короткий период после присоединения к сети, а затем переходит в режим без связи с внешним миром. Он не просыпается при нажатии, повороте или кратковременном нажатии кнопки сброса.

После нескольких попыток, бомбардируя его командами _Read Attributes_, чтобы он не спал после подключения к сети, мне удалось привязать клиентский кластер _OnOff_ к группе. И затем клиентский кластер _Level Control_. После этого он теперь ведет себя нормально, просыпаясь для отправки команд при нажатии и повороте. Он отправляет следующие команды:

  • _Toggle_ при нажатии;
  • _Step Up_ по двойному щелчку;
  • _Step Down_ на тройной щелчок;
  • _Move Up_ при начале поворота вправо (по часовой стрелке);
  • _Move Down_ при начале поворота влево (против часовой стрелки);
  • _Stop_ при остановке поворота.

Осуществить щелчок (1002), двойной щелчок (1004) и тройной щелчок (1005) будет просто.
Насколько я могу судить, скорость передвижения постоянная. Время между командами _Move_ и _Stop_, кажется, указывает, как долго вы поворачиваете, но не как быстро и как далеко. Наверное, проще всего показать поворот влево / вправо в виде двух кнопок длительного нажатия (2001/2003 и 3001/3003).

Преобразовать эти команды ZigBee в команды Sonos далеко не так просто. В Sonos нет эквивалента Toggle, так как хаб Trådfri должен поддерживать состояние воспроизведения / паузы плеера Sonos. Также нет эквивалента _Move_ / _Stop_ для громкости. Есть команда _RampToVolume_, но я не думаю, что ее можно прервать.

Думаю, мне удалось связать его с моим концентратором Trådfri (приложение IKEA Home Smart показало всплывающее окно, что был найден новый контроллер). Однако приложение не может найти мои колонки Sonos, поэтому я не могу настроить контроллер для прослушивания команд (SOAP через HTTP), которые концентратор Trådfri отправляет проигрывателю Sonos.

Фиксация ниже добавляет поддержку звукового контроллера.

{
  "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"
}

Для справки, вот кластер _Basic_ со всеми прочитанными атрибутами:
Screenshot 2019-09-27 at 11 15

@ebaauw, не

Как я уже упоминал выше:

  • 1002 клика;
  • 1004 двойной щелчок;
  • 1005 тройных щелчков;
  • 2001/2003 старт / стоп против часовой стрелки;
  • 3001/3003 пуск / стоп по часовой стрелке.

Спасибо, Эрик! Нет событий между запуском и остановкой поворота?

Нет, насколько я могу судить, контроллер отправляет _Move_ только при начале поворота и _Stop_ при его завершении. В зависимости от того, насколько плавно вы поворачиваете (или нет), вы получаете несколько комбинаций _Move _ / _ Stop_ за ход. Я действительно видел несколько сообщений в журнале deCONZ о том, что он отбрасывал уведомления о событиях, потому что они происходили слишком быстро, но я не знаю, что с этим делать (кроме как игнорировать их ;-).

Я очень хочу узнать, какие команды Sonos отправляет концентратор Trådfri, но приложение IKEA Home Smart не находит мои плееры Sonos (или Symfonisk), хотя приложение Sonos находит. Также приложение вылетает на моем iPhone Xr (я думаю, начиная с iOS 13.1), но не на моем iPad (iPadOS 13.1).

Что ж, вы можете соединить sonos с домашним помощником и связать их вместе :)

Я делал то же самое с HomeKit; Я управляю своими колонками Sonos (через homebridge-zp) с помощью 5-кнопочного пульта дистанционного управления Trådfri (через homebridge-hue).

Как именно вы сочетаете это с deCONZ?
Я не могу заставить это работать

Контроллер Symfonisk запускает событие при длительном нажатии?

когда это будет в сборке релиза?

Как именно вы сочетаете это с deCONZ?
Я не могу заставить это работать

Я тоже не могу подключить пульт. Кто-нибудь может помочь?

@ Noah-UI - насколько я знаю, вы можете подключиться к нему и увидеть, что он «работает» в деконзальном режиме, но вы не можете действовать в соответствии с ним прямо сейчас. Это работает, только если у вас есть мост IKEA и вы берете его оттуда.

Screenshot 2019-11-01 at 10 27 56

но вы не можете действовать на этом прямо сейчас

Хотя невозможно управлять проигрывателями Symfonisk / Sonos без концентратора Trådfri, контроллер можно использовать с deCONZ для управления другими устройствами ZigBee. Он отправляет обычные команды ZigBee, которые собираются deCONZ v2.05.70 для создания значений buttonevent , которые можно использовать в правилах шлюза. Кроме того, вы можете добавлять источники света в группу контроллера и управлять ими напрямую (даже когда deCONZ выключен).

Контроллер Symfonisk запускает событие при длительном нажатии?

Нет, см. Https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -536069107.

Как именно вы сочетаете это с deCONZ?

Обратите внимание, что deCONZ не поддерживает сопряжение сенсорных ссылок (это то, что использует концентратор Trådfri). Вам нужно найти новые устройства в Phoscon / открыть сеть в старом веб-приложении и перезагрузить устройство (нажав кнопку сброса четыре раза - светодиод должен мигать).

Как я уже упоминал ранее (https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment-535090364), устройство очень быстро отключает радио после подключения к сети - очень важно, чтобы deCONZ имел настройте привязки до того, как это произойдет, иначе устройство не включится снова при нажатии / повороте. Шансы на успешное сопряжение можно увеличить, выключив все маршрутизаторы и подключив контроллер рядом с RaspBee / ConBee. Если необходимо, не включайте радио, отправляя ему команды из графического интерфейса deCONZ во время сопряжения.

@Keesromkes на вашем https://github.com/dresden-elektronik/deconz-rest-plugin/pull/2002#issuecomment -547985838.

Здравствуйте, я только что обновился до последней версии deconz (270), но, похоже, не могу понять, как добавить переключатель.
Я использую пользовательский интерфейс, в переключателе добавьте другое. Быстрый щелчок 4 раза, но это не добавляет к деконсу.
Не могли бы вы помочь мне ?

На самом деле он был добавлен, просто его нет в новом приложении Phoscon в моем списке устройств. Нашел в старом приложении.

Какая интересная штуковина!

Хотя невозможно управлять проигрывателями Symfonisk / Sonos без хаба Trådfri

не правда. у вас может быть Node-Red, отслеживающий щелчки / поворот события, а затем поток, который настраивает ваши устройства Sonos в зависимости от того, какое действие он обнаружил.

Хотя невозможно управлять проигрывателями Symfonisk / Sonos без хаба Trådfri

не правда. у вас может быть Node-Red, отслеживающий щелчки / поворот события, а затем поток, который настраивает ваши устройства Sonos в зависимости от того, какое действие он обнаружил.

Я пытаюсь сделать это с помощью appdaemon и hass automation, все почти работает, я просто ищу объем сейчас, так как это всего лишь одно событие для запуска / остановки ... ( см. Здесь )

Я пытаюсь сделать это с помощью appdaemon и hass automation, все почти работает, я просто ищу объем сейчас, так как это всего лишь одно событие для запуска / остановки ... ( см. Здесь )

Для этого вам нужно многократно увеличивать / уменьшать громкость, пока не сработает событие остановки.

Я выбрал +/- 7% громкости каждые 500 мс. Работает неплохо.

Кажется, я успешно подключил свой контроллер sonos, могу увидеть его в приложении фоскон (через VNC) и в старом веб-приложении.
Однако когда я слушаю события (в HASSIO), я ничего не получаю :(

Ой! Внезапно работает! После того, как много возился с Phoscon и несколько раз пытался его включить.
Не совсем уверен, как, но теперь это работает, и я получаю события в HASSIO

Ой! Внезапно работает! После того, как много возился с Phoscon и несколько раз пытался его включить.
Не совсем уверен, как, но теперь это работает, и я получаю события в HASSIO

У вас есть решение, как правильно интерпретировать вращательное движение в HASSIO, например, для увеличения / уменьшения громкости?

Ой! Внезапно работает! После того, как много возился с Phoscon и несколько раз пытался его включить.
Не совсем уверен, как, но теперь это работает, и я получаю события в HASSIO

У вас есть решение, как правильно интерпретировать вращательное движение в HASSIO, например, для увеличения / уменьшения громкости?

Нет, это следующее. Надеюсь, что другие придумают что-нибудь для этого 😊

См. №2040. Лучше закройте этот вопрос.

Ой! Внезапно работает! После того, как много возился с Phoscon и несколько раз пытался его включить.
Не совсем уверен, как, но теперь это работает, и я получаю события в HASSIO

У вас есть решение, как правильно интерпретировать вращательное движение в HASSIO, например, для увеличения / уменьшения громкости?

Нет, это следующее. Надеюсь, что другие придумают что-нибудь для этого 😊

Попробуйте это: https://github.com/lbouriez/hassio-home-assistant_config/blob/master/appdaemon/apps/modules/symfonisk_sonos.py
Для меня это работает очень хорошо

Кто-нибудь знает, как сделать так, чтобы переключатель появился в новом приложении фоскон?
У меня есть все переключатели, но symfonisk просто появляется в старом приложении.

Невозможно получить симфониск в фосконе. Я использую deconz 2.5.70 и conbee с 26330500. Когда я пытаюсь подключиться как переключатель ikea, просто показываю 5-кнопочный пульт и старый диммер. Когда я пытаюсь подключиться как «другой», это не работает. (нажмите кнопку подключения 4 раза на пульте дистанционного управления Symfonisk, пока светодиод не начнет мигать).
Что я делаю неправильно? Я подключил несколько других устройств (ikea и xiaomi), и раньше этих проблем не было. :/ Пожалуйста помоги.
РЕДАКТИРОВАТЬ: Похоже, что это изучается deconz, но не отображается в приложенииhoscon. Я вижу переключатель в iobroker, который получает устройства через REST. Но в веб-интерфейсе переключатель не отображается. Как это может работать?

@ siggi85 @lbouriez - короче говоря, в новом фосконе не появится (пока не поддержат). Вы можете обращаться к устройству через hass.io или NodeRed (оба я был слишком занят другими вещами, чтобы настроить)

@Keesromkes Спасибо за ответ. Да ты прав. В deconz я вижу переключатель и могу использовать его через API.

Но, к сожалению, на данный момент колесо невозможно использовать. Событие 3001 при запуске раскрутки и при остановке событие 3003. Дополнительно Событие 3003 наступает не каждый раз при остановке. И вы не можете проверить, как долго или быстро вы крутитесь. Просто начать и остановиться недостаточно, чтобы использовать его эффективно. Не знаю, как это работает напрямую с динамиками Symfonisk.

@ siggi85 проверьте мой скрипт appdaemon, он не идеален, иногда у меня все еще возникают проблемы с колесом, но он дает вам представление о том, как это сделать, пока кто-то не придет с лучшим решением.

Но, к сожалению, на данный момент колесо невозможно использовать.

Кнопочные события выводятся 1: 1 из сообщений, отправленных контроллером. Он не сообщает, как долго вы вращаете. Смотрите мой пост выше.

пока кто-нибудь не предложит лучшее решение.

Это должен быть IKEA, поставляющий новую прошивку для контроллера Symfonisk, заставляя его вести себя по-другому. На мой взгляд, маловероятно.

@ siggi85, вы слишком буквальны. он просто не посылает непрерывный сигнал при повороте. и, вероятно, никогда не будет. все, что вам нужно искать, это код запуска START. как я уже сказал выше, если вы будете медленно поворачивать, вы получите несколько кодов вращения START и STOP. для каждого кода START увеличивайте громкость. (Я делаю +2 в моем потоке NodeRed, отлично работает.)

изменить: это было в этом билете https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2040

Я подумал, может быть, о событии остановки со значением вращения. Может быть, 3001 для начала и 3500 для пол-спина или что-то в этом роде. Но это не так. Я попробую вариант +2, но моя идея использовать его была другая. Я посмотрю, подходит ли это мне. Спасибо за ответы, ребята.

Другой вопрос. Я взял два из них и успешно соединил их.

symfonsik

Но теперь у них то же имя, и я не могу понять, как изменить имя, потому что они не отображаются как объект в HomeAssistant, а также не в веб-приложении Phoscon. Может быть, как-нибудь через Rest API?

К вашему сведению

Теперь я использую контроллер для управления своим усилителем IOTAVX с помощью NodeRed и Home Assistant с помощью пульта дистанционного управления Broadlink. Спасибо за работу.

Bildschirmfoto 2019-12-21 um 16 19 36

Привет, ребята,
Есть ли обновление в этой теме?
У меня также есть настройка hassio / conbee2 / deconz / symfonisk remote, и я хотел бы управлять своими колонками Sonos.
С Уважением,
Доминик

Другой вопрос. Я взял два из них и успешно соединил их.

symfonsik

Но теперь у них то же имя, и я не могу понять, как изменить имя, потому что они не отображаются как объект в HomeAssistant, а также не в веб-приложении Phoscon. Может быть, как-нибудь через Rest API?

У вас уже есть решение по этой теме?

Другой вопрос. Я взял два из них и успешно соединил их.
symfonsik
Но теперь у них то же имя, и я не могу понять, как изменить имя, потому что они не отображаются как объект в HomeAssistant, а также не в веб-приложении Phoscon. Может быть, как-нибудь через Rest API?

У вас уже есть решение по этой теме?

Вы можете попробовать использовать API да https://dresden-elektronik.github.io/deconz-rest-doc/sensors/ «Обновить датчик», но 1 устройство в deconz может иметь несколько записей в API, поэтому IDK, как это будет работать.

Если вы все еще можете получить доступ к старому приложению (в разделе «Справка»> «Старое приложение»), вы увидите свое устройство.
Не знаю, почему мы не видим его в новом приложении :(

Если вы все еще можете получить доступ к старому приложению (в разделе «Справка»> «Старое приложение»), вы увидите свое устройство.
Не знаю, почему мы не видим его в новом приложении :(

Я попробую через API.
Мое старое приложение выглядит точно так же, как новое, что я делаю не так?

Другой вопрос. Я взял два из них и успешно соединил их.
symfonsik
Но теперь у них то же имя, и я не могу понять, как изменить имя, потому что они не отображаются как объект в HomeAssistant, а также не в веб-приложении Phoscon. Может быть, как-нибудь через Rest API?

У вас уже есть решение по этой теме?

Вы можете попробовать использовать API да https://dresden-elektronik.github.io/deconz-rest-doc/sensors/ «Обновить датчик», но 1 устройство в deconz может иметь несколько записей в API, поэтому IDK, как это будет работать.

Я пробовал это через API, но мне это не удалось, возможно, я слишком тупой.
Я включил порт 40850 в deconz. Если я наберу его в браузере, я перейду к новому веб-приложению.
Мне не хватает связи между объектом hass.io и деконзирующим контроллером Symfonisk.
Я попытался прочитать документ, но не понял.
Не могли бы вы дать мне несколько советов или короткое руководство, что мне для этого нужно?
Заранее спасибо!

Не могли бы вы дать мне несколько советов или короткое руководство, что мне для этого нужно?

Вчера мне удалось подключить второй контроллер, но мне пришлось переименовать устройство через API. Попробуйте что-то вроде этого:

curl -u 'username:password' http://x.x.x.x:7080/api -X POST -H "Content-Type: application/json" -d '{ "devicetype": "curl" }' (получить токен API, возвращенный как "имя пользователя")

curl http://x.x.x.x:7080/api/<api token>/sensors -X GET -H "Content-Type: application/json" (перечислите все датчики, чтобы узнать идентификатор датчика, который нужно переименовать)

curl http://x.x.x.x:7080/api/<api token>/sensors/<sensor id> -X PUT -H "Content-Type: application/json" -d '{ "name": "<new name>" }' (переименовать датчик)

Другой вопрос. Я взял два из них и успешно соединил их.

symfonsik

Но теперь у них то же имя, и я не могу понять, как изменить имя, потому что они не отображаются как объект в HomeAssistant, а также не в веб-приложении Phoscon. Может быть, как-нибудь через Rest API?

Я переименовал его через приложение Hue Essentials

К вашему сведению

Теперь я использую контроллер для управления своим усилителем IOTAVX с помощью NodeRed и Home Assistant с помощью пульта дистанционного управления Broadlink. Спасибо за работу.

Bildschirmfoto 2019-12-21 um 16 19 36

Можете ли вы опубликовать свой код NodeRed?

К вашему сведению
Теперь я использую контроллер для управления своим усилителем IOTAVX с помощью NodeRed и Home Assistant с помощью пульта дистанционного управления Broadlink. Спасибо за работу.
Bildschirmfoto 2019-12-21 um 16 19 36

Можете ли вы опубликовать свой код NodeRed?

Конечно. Я скопировал только то, что действительно нужно.

[ { "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 вы что-то изменили в этом коде, когда я пытаюсь импортировать, он говорит, что это недопустимый формат json.

@ebaauw вы сделали что-то особенное, чтобы подключить Symfonisk к Deconz? У меня проблемы с сопряжением. Я использую аддон Home Assistant и веб-интерфейс Phoscon. Вот что я делаю:

  • Устройства> Коммутаторы> Добавить новый переключатель> Другое
  • Потом вставил аккум, 4 раза нажал кнопку рядом.
  • Symfonisk находится прямо рядом с Conbee 2, почти касаясь его (подключен к порту usb3 pi4)
  • Индикатор мигнет несколько раз, а затем останется постоянным.

В пользовательском интерфейсе ничего не происходит. Даже если сделать запрос API
curl http://core-deconz:40850/api/\F04AC28AFD/sensors -X GET -H "Content-Type: application/json"
Я получаю только устройство Phillips, которое, как я полагаю, уже есть виртуальное
{"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"}}#

У меня есть 2 пульта Symfonisk, и ни один из них не может подключиться. Есть идеи, в чем может быть проблема? Это из-за того, что у меня поблизости есть флешка Aeotech zwave?

подключен к порту usb3 пи4

Это требует проблем. Плохо экранированные (читай: почти все) контроллеры и кабели USB-3 мешают работе радио на частоте 2,4 ГГц, и ZigBee особенно чувствителен к этому. Подключите ConBee к порту USB-2 и не используйте порты USB-3. Я видел несколько отчетов, в которых людям удавалось использовать SSD-накопитель USB-3, в то время как ConBee подключался к USB-2 с помощью удлинительного кабеля, а в других - нет. В любом случае рекомендуется использовать удлинительный кабель, как и отключение Wi-Fi и Bluetooth на Raspberry Pi.

Это из-за того, что у меня поблизости есть флешка Aeotech zwave?

Не уверен, что ZWave также использует 2,4 ГГц, но «рядом» звучит не очень хорошо. Снова используйте удлинительный кабель USB, чтобы увеличить расстояние до ConBee.

В пользовательском интерфейсе ничего не происходит.

Вы имеете в виду Phoscon или графический интерфейс deCONZ? Вы хотите посмотреть на графический интерфейс. Я не знаю, поддерживает ли Phoscon контроллер Symfonisk (я не использую Phoscon), но если он не указан в API, Phoscon его все равно не увидит.

Спасибо за быстрый ответ, я попробую все это!
Как вы подключаетесь к графическому интерфейсу (я использовал веб-интерфейс Phoscon)? Я знаю, что есть порт VNC для надстройки Hassio Deconz, но похоже, что он не работает, когда я пытаюсь использовать свой IP-адрес HA.

Вам необходимо запустить deCONZ с включенным графическим интерфейсом. Используйте службу deconz-gui вместо службы deconz.

Ага, это сработало, теперь все соединились. Я думаю, это была комбинация отключения Wi-Fi, bt на pi4 + с использованием расширения USB и deCONZ с включением графического интерфейса. Я оставил пульт рядом с conbee2 примерно на минуту, если вы его уберете, он не сможет полностью соединиться. Еще раз спасибо за быструю помощь!

Я заметил, что, особенно на коротких поворотах, я не получаю сообщение STOP.
Это проблема с оборудованием ikea или мы можем что-то с этим поделать с помощью deconz?

Также # 2195 сообщает о подобных проблемах с оборудованием 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 ;-).

Вероятно, в этом и виноват. Полагаю, это может исправить только @manup ?

Редактировать:

Могу подтвердить. Это происходит все время

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

Может быть, занести это конкретное устройство в белый список?

UTSL, если то же значение buttonevent выдается снова в течение 0,5 секунды, оно отбрасывается:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/b3086c6009154aa1b5cdb89febb5f177912952e9/de_web_plugin.cpp#L3647 -L3657

Я не уверен, зачем там этот код. Может быть, deCONZ примет несколько сообщений, если будет отправлена ​​групповая команда, и выдаст несколько buttonevents ? Может это какой-то дребезг под конкретный девайс?

Может быть, занести это конкретное устройство в белый список?

Не уверен, что это сработает (зависит от того, зачем вообще нужен код). Если это связано с устройством, я бы предпочел внести в белый список устройство, которому нужен этот код.

Не уверен, насколько актуально это исправление, я бы предпочел потратить свое время на реализацию надлежащей поддержки ZHARelativeRotary (см. №2305).

Не уверен, насколько актуально это исправление

В настоящее время контроллер Symfonisk непригоден для использования, так как он время от времени увеличивает громкость музыки без остановки. Когда это происходит, вы ничего не можете сделать, кроме быстрого выключения всей звуковой системы, если вы не хотите потерять слух: /

Спасибо, что указали на код. Что интересно, я не смог найти это через поиск по github. Я попробую посмотреть, что произойдет, когда эта строка будет закомментирована.

Я заметил, что это происходит, когда вы делаете небольшие корректировки или слишком быстро или слишком медленно перемещаете циферблат. Мое решение: прекратить увеличивать / уменьшать громкость через 5 секунд. Честно говоря, не здорово. Но для меня это не проблема, не стоит устанавливать мост ikea только для этого.

В настоящее время контроллер Symfonisk непригоден для использования, так как он время от времени увеличивает громкость музыки без остановки.

Это не связано с этим кодом: он проверяет то же значение buttonevent , поэтому не отбрасывает 2003 после 2001.

Как вы регулируете громкость музыки?

Как вы регулируете громкость музыки?

Я запускаю цикл таймера 500 мс, который увеличивает / уменьшает громкость на 1% в 2001/3001 и останавливаю его при каждом втором событии.

Иногда (особенно при коротких поворотах, изменении направления и нескольких корректировках вскоре после другого) другого события нет.

Вы правы. Исправление этой проверки не помогает (очевидно).
Вот некоторые результаты отладки, пока я воспроизводил проблему:

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)

Еще одна вещь, которую я заметил, глядя в журнал отладки deconz, - это те строки, которые, кажется, появляются довольно часто.

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 - Контроль уровня (Диммер)

Так что это, вероятно, те, о которых вы говорили о поддержке ZHARelativeRotary

Как вы регулируете громкость музыки?
Я запускаю цикл таймера 500 мс, который увеличивает / уменьшает громкость на 1% в 2001/3001 и останавливаю его при каждом втором событии.

Лучше меняйте громкость на каждом 2001/3001.

Еще одна вещь, которую я заметил, глядя в журнал отладки deconz, - это те строки, которые, кажется, появляются довольно часто.

Интересно, что контроллер отправляет другую команду. Нужно проверить.

Лучше меняйте громкость на каждом 2001/3001.

Но тогда вы не получите никакого изменения громкости при вращении с постоянной скоростью.

На какой прошивке стоит ваш контроллер?

Контроллер в настоящее время выполняет FW 2.1.022 .
Плагин OTAU сообщает версию 0x21022631 , тип изображения 0x11ca и идентификатор производителя 0x117C .

Последняя прошивка для этого типа образа выглядит как 10043101-3.1-TRADFRI-dimmer-2.1.024.ota.ota.signed которая отображается как версия 0x21024631 в плагине otau.

Стоит ли обновлять контроллер?

Редактировать:
image
Хорошо. Посмотрим, изменится ли что-нибудь в новой прошивке.
В официальном журнале изменений указано следующее:

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

Это та же версия, что и мой контроллер. Должно быть, они выпустили новую версию совсем недавно.

Постоянно поворачиваясь (по крайней мере, в моем восприятии), я вижу несколько событий 2001/2003 годов. Но иногда при повороте я вообще не вижу событий.

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

Команда 0x03 - _Stop_. Проблема с этой командой в том, что она не содержит направления (вверх или вниз), поэтому мы не знаем, следует ли отправлять 2003 или 3003. Чтобы справиться с этим, плагин REST API сохраняет каталог предыдущей команды _Move_ . Это работало безупречно для всех устройств с тех пор, как я представил это много лет назад.

Сообщение будет отображаться, если предыдущее направление не было сохранено. Я думаю, это может произойти только при получении двух команд _Stop_ подряд. Мне нужно запустить сниффер, чтобы посмотреть, что здесь происходит. Сначала обновлю прошивку контроллера.

Обновление на 4,07% через 45 минут. Блин, эта штука медленная.

Тем временем в магазине Ikea в

Отличная концепция, но у меня было несколько проблем с «убегающими» уровнями громкости, когда динамики просто выкручивались на полную мощность до такой степени, что мне приходилось изо всех сил отключать их. Купил их четыре но планирую вернуть все - облом. Кроме того, настройка была непростой задачей - вероятно, из-за двухдиапазонного маршрутизатора, которому необходимо было временно деактивировать канал 5 ГГц.

Это не должно удерживать нас от попыток исправить это, но, безусловно, интересно знать, что это происходит с официальным мостом. ..хотя он не упоминает, что использует это 🤔

Какие динамики и громкость вам использовать? Какое программное обеспечение вы используете для сопоставления событий кнопок с изменениями громкости?

Обновление на 4,07% через 45 минут. Блин, эта штука медленная.

И это, вероятно, выйдет из строя на 90% или около того :-(

Я стараюсь обновлять устройства IKEA с батарейным питанием из своей тестовой сети (меньше трафика), чтобы координатор работал как родитель. Тем не менее, это обычно занимает от 3,5 до 4 часов. Сейчас на 14% в 00:32:30. Устройства с питанием от сети обычно занимают от 10 до 30 минут.

Я адаптировал поток node-red, который был вставлен в этот поток, который говорит о домашнем помощнике, который, в свою очередь, обращается к медиа-серверу Logitech, в конечном итоге контролируя громкость нескольких штанг squeezebox.

А пока я ограничиваю максимальную громкость до 70%. Это все еще очень громко, но не так катастрофично.

Да, вы, как правило, получаете эти длинные цепи. Я управляю своими колонками Sonos с контроллера, используя контроллер -> deCONZ -> Homebridge Hue -> Автоматизация HomeKit -> Homebridge ZP -> Sonos. Homebridge Hue переводит каждую серию x001, x001, ..., x003 в _Long Press_ в HomeKit, а Homebridge ZP предоставляет относительную настройку громкости Sonos.

Некоторое время назад я попробовал контроллер с концентратором IKEA Trådfri. Хаб Trådfri действует как клиент Sonos, поэтому цепочка значительно короче: контроллер -> концентратор -> Sonos. Насколько я помню, он работал немного плавнее, но не безупречно.

Такая каскадная установка по своей сути уязвима, поскольку предоставляет слишком много мест, где сообщение может быть потеряно, и выполнение команды не будет остановлено. Я настоятельно рекомендую не использовать логику запуска / остановки в этих случаях, а просто отправлять команду для каждого события. Даже стандартное приложение Hue создает такие правила моста Hue, удерживая кнопки _DimUp_ или _DimDown_ диммера Hue. При автономном использовании (без моста) диммер отправляет _Move_ и _Stop_.

Такая каскадная установка по своей сути уязвима, поскольку предоставляет слишком много мест, где сообщение может быть потеряно, и выполнение команды не будет остановлено.

Я запускаю контроллер> deCONZ> хаб автоматизации> Sonos. И у меня все еще есть проблема. Я уверен, что это ошибка контроллера, так как вся остальная автоматика работает безупречно

Даже стандартное приложение Hue создает такие правила моста Hue, удерживая кнопки DimUp или DimDown на диммере Hue.

Вы правы, но диммер оттенка отправляет события _Hold_ каждую секунду, пока вы не отпустите. Контроллер Ikea Symfonisk не отправляет новое событие через определенные промежутки времени; Я до сих пор не понимаю логики, но предполагаю, что он отправляет новое событие только тогда, когда скорость вращения изменилась. Но это предположение. Единственное решение - это прослушивание старт / стоп.

Обновление прошло без проблем в одночасье. Сейчас на 2.1.024. Батарея до 16% (с 60%) - хуже видел. Надежность контроллера кажется немного более надежной, но мне все еще не хватает случайного события x003.

Я перечитал "все" комментарии и другие вопросы, касающиеся контроллера SYMFONISK, после хорошего ночного сна. Кажется, что связь между контроллером и deCONZ ненадежна, из-за чего сообщения от контроллера приходят в deCONZ не по порядку или вообще не поступают. Сообщение «no button handler» вызывается последовательным получением двух команд _Stop_; "отменить слишком быстрое событие" от получения двух команд _Move_ подряд. Чем больше Zigbee перескакивает между контроллером и координатором, тем хуже становятся эти проблемы.

Кажется, что контроллер отправляет команды слишком быстро, чтобы сеть Zigbee могла обрабатывать широковещательные рассылки. Фактически, контроллер запускает атаку отказа в обслуживании в сети Zigbee. Signify рекомендует не более одного вещания в секунду, а мост Hue обычно имеет меньшие сети Zigbee, чем deCONZ. Обратите внимание, что диммер Hue, кнопка Hue и Lutron Aurora отправляют одноадресные сообщения только для событий x001 (эффективно действуя как датчики). Действуя как контроллеры, они отправляют только _Move_ при нажатии / удержании и _Stop_ при отпускании.

Для подтверждения я заменил групповые привязки на контроллере привязками одноадресной рассылки к координатору. Кажется, это творит чудеса.

Обязательно выводите контроллер из спящего режима при нажатии _Bind_ или _Unbind_. _Bind Dropbox_ показывает успех, когда привязка была создана или удалена. При необходимости повторите попытку. Не забудьте добавить новые привязки перед тем, как удалять старые, иначе контроллер будет «спящей красавицей» на вас, больше не просыпаясь при вводе.

Обратите внимание, что я все еще вижу «отбрасывать слишком быстрые события» и «нет обработчика кнопок». Если тесты пройдут успешно, я изменю проверку, чтобы не сбрасывать одноадресные события. И измените логику сопряжения для контроллера, чтобы не создавать группу и соответствующую привязку. Думаю, есть смысл пожертвовать прямым управлением светом в пользу рабочего управления звуком.

Я думаю, что похожая проблема возникает с беспроводным диммером Trådfri. Очевидно, тогда я решил сопоставить _Move_ с x002 и игнорировать _Stop_. Но это было три года назад, подробностей не помню.

@paolotremadio , @Hypfer , другие, не могли бы вы повторить мой тест и подтвердить это?

  • На панели _Binding dropbox_ в графическом интерфейсе deCONZ привяжите клиентский (серый) кластер _On / Off_ на контроллере к конечной точке 0x01 на координаторе;
  • и привяжите клиентский (серый) кластер _Level Control_ на контроллере к конечной точке 0x01 на координаторе;
  • Проверьте, какую группу использует контроллер: в поиске API значение config.group для ресурса ZHASwitch /sensors для контроллера. Преобразуйте это значение в шестнадцатеричное.
  • В панели _Binding dropbox_ в графическом интерфейсе deCONZ отвяжите клиентский (серый) _On / Off_ кластер на контроллере от этой группы (в шестнадцатеричном формате);
  • И отвязать клиентский (серый) _Level Control_ кластер на контроллере от группы (в шестнадцатеричном формате).

@paolotremadio , @Hypfer , другие, не могли бы вы повторить мой тест и подтвердить это?

  • На панели _Binding dropbox_ в графическом интерфейсе deCONZ привяжите клиентский (серый) кластер _On / Off_ на контроллере к конечной точке 0x01 на координаторе;
  • и привяжите клиентский (серый) кластер _Level Control_ на контроллере к конечной точке 0x01 на координаторе;
  • Проверьте, какую группу использует контроллер: в поиске API значение config.group для ресурса ZHASwitch /sensors для контроллера. Преобразуйте это значение в шестнадцатеричное.
  • В панели _Binding dropbox_ в графическом интерфейсе deCONZ отвяжите клиентский (серый) _On / Off_ кластер на контроллере от этой группы (в шестнадцатеричном формате);
  • И отвязать клиентский (серый) _Level Control_ кластер на контроллере от группы (в шестнадцатеричном формате).

Готово. Один контроллер вроде работает намного надежнее. Другой пропускает несколько остановок, но похоже, что не так часто, как раньше. Буду тестировать день-два.

Я попробую это сделать позже.
Спасибо за расследование и работу @ebaauw
Может, нам стоит оставить номер 2195 открытым для решения этой проблемы?

Может, нам стоит оставить номер 2195 открытым для решения этой проблемы?

Да, похоже, это не связано с этой проблемой.

ОК, достал сниффер. При привязке к координатору беспроводной диммер Trådfri отправляет широковещательные сообщения группе 0x0000. Таким образом, этот обходной путь нельзя использовать с этим устройством.

Контроллер, похоже, отправляет несколько одноадресных сообщений за действие, когда он привязан к координатору. У них одинаковый порядковый номер ZCL, но разные порядковые номера MAC и NWK. Проверка повторяющихся значений кнопок-событий только для групповых сообщений теперь дает три x001 и один x003 на серию. Я попробую проверить порядковый номер ZCL и отфильтровать повторяющиеся сообщения.

Добавлена ​​проверка порядкового номера ZCL. Теперь он ведет себя так, как я ожидал. При повороте я вижу непрерывный поток пар x001 / x003 buttonevent . Я дважды проверил журнал сниффера: кажется, что за _Move_ всегда следует _Stop_ в пределах 300 мс. Я думаю, что нет никакой пользы в демонстрации x001 vs x003, и предлагаю заменить его на один x002, как и в случае с беспроводным диммером Trådfri.

Обратите внимание, что количество событий на кнопках отражает _длительность_ поворота, а не угол или скорость. Специального сообщения о прекращении поворота нет. Просто отсутствие следующей пары _Move _ / _ Stop_.

Обратите внимание, как здорово видеть миллисекунды в 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"}

Добавлена ​​проверка порядкового номера ZCL. Теперь он ведет себя так, как я ожидал. При повороте я вижу непрерывный поток пар x001 / x003 buttonevent . Я дважды проверил журнал сниффера: кажется, что за _Move_ всегда следует _Stop_ в пределах 300 мс. Я думаю, что нет никакой пользы в демонстрации x001 vs x003, и предлагаю заменить его на один x002, как и в случае с беспроводным диммером Trådfri.

Обратите внимание, что количество событий на кнопках отражает _длительность_ поворота, а не угол или скорость. Специального сообщения о прекращении поворота нет. Просто отсутствие следующей пары _Move _ / _ Stop_.

Обратите внимание, как здорово видеть миллисекунды в lastupdated ;-)

Это действительно здорово. Это позволило бы лучше регулировать громкость. Есть ветка для тестирования?

См. Выше коммит. Обратите внимание, что этот отправляет события x002 вместо пар x001 / x003. Лучше всего удалить текущий ресурс /sensors (также следует очистить связанную группу) и повторно соединить контроллер. Плагин должен настроить привязку к координатору при сопряжении.

Черт. config.group было воссоздано при загрузке датчика из базы данных.

Контроллер обновился успешно. На завершение ушло> 24 часа.
В любом случае. Я удалил его из deconz, построил последнюю ветку ebaauw / master rest-plugin и повторно подключил контроллер.

К сожалению, я вижу только одно событие x002 независимо от того, как долго я вращаю циферблат :(

Я вижу довольно много из них:

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)

Редактировать:
Комментирование этой проверки не решило проблему. Теперь он просто дважды отправляет одно и то же событие

А /sensors/70 - это контроллер?

Да, /sensors/70 - это контроллер Symfonisk. Но это не похоже на проблему: /

Нет, сообщение указывает, что несколько атрибутов одного и того же объекта state или config были изменены. Каждое изменение атрибута вызывает внутреннее событие. Когда первое событие обрабатывается, оно выдает уведомление веб-сокета обо всех (или, в зависимости от websocketnofityall , об изменении всех) атрибутов. Другим событиям не нужно отправлять уведомление, поскольку изменение уже отправлено. Поэтому мы вместо этого отправляем это сообщение.

Что еще нужно искать?

Вы видите постоянный поток событий x002 в веб-сокете?

Да. 328 - это контроллер:

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}

Хм. Удаление и повторное сопряжение снова не помогло

Можете ли вы проверить журнал deCONZ на что-нибудь вроде:

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

scrAddr - это NWK-адрес контроллера. Насколько я понимаю, dstAddrMode: 2 указывает адрес NWK, поэтому одноадресная передача координатору. Для групповых трансляций это 1.

Более 24 часов для обновления прошивки более чем в четыре раза дольше обычного. Может быть, это указывает на проблемы с сетью (помехи)?

Насколько велика ваша сеть? Как далеко (сколько переходов) находится контроллер от координатора? Используете ли вы какие-либо средства автоматизации, которые могут засорить сеть (> 1 вещание в секунду)?

А как насчет вмешательства? Любые коды ошибок в журнале (см. Https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Zigbee-Error-Codes-in-the-Log). Вы используете RaspBee или ConBee? В последнем случае: подключен к порту USB2 с помощью удлинительного кабеля? Есть ли поблизости устройства Wi-Fi, Bluetooth, USB3, DECT, ..., которые могут использовать или создавать помехи в диапазоне 2,4 ГГц?

Обновления прошивки устройств, подключенных к сети, работают нормально (читай: 30-45 минут).
В настоящее время это сеть из 73 узлов, которая практически не используется. Модуль Raspbee. Ошибок не зарегистрировано.

В настоящее время это один прыжок от координатора. Сказанный хмель - это панель воспроизведения оттенков, если это важно.

Я снова выполнил сопряжение устройства и получил сообщения APS. Ничего подобного APS-DATA.indication хотя

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

Хотя ничего похожего на APS-DATA.indication

Вы увидите это при нажатии или повороте контроллера. Надеюсь, каждые ~ 300 мс при повороте.

Не могу подтвердить. Я все время запускал события кнопок.

Нужен ли мне флаг debug cli или что-то еще для его появления? Я использовал эту командную строку deCONZ --dbg-info=2 --dbg-zdp=1 --dbg-zcl=1 --db-aps=1 --dbg-http=1

Вы определенно хотите добавить --dbg-error=1 . Не знаю, почему они не отображают ошибки по умолчанию.

Чтобы увидеть полезную нагрузку APS ( asdu ), установите --dbg-aps=2 .

Все еще нужно задокументировать эти параметры командной строки в WIki ...

О да. Теперь я вижу эти события.

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

Вот несколько с полезной нагрузкой asdu:

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

Хорошо, это обнадеживает. AddrMode 2, поэтому, похоже, действует одноадресная привязка. Я вижу _Move_ (третий байт 01 ) на .719, за которым следует _Stop_ (третий байт 03 ) на .838 и .931. Обратите внимание, что последовательность ZCL (второй байт, 67 ) одинакова для команд _Stop_ (67), контроллер отправляет каждую команду три раза (см. Https://github.com/dresden-elektronik/deconz- rest-plugin / issues / 1898 # issuecomment-615154288).

Ведение журнала deCONZ действительно отстой, нет простого способа grep только сообщений для одного устройства, поскольку они смешивают MAC-адрес, адрес nwk, ресурс и имя ресурса. Но можете ли вы увидеть, следует ли за APS-DATA.indication для команды _Move_ button 2002 Move Up или button 3002 Move Down ?

Вы хотите проанализировать свой журнал на предмет пропущенных сообщений, чтобы получить представление о надежности трафика от контроллера к координатору. Если вы видите большие пробелы в порядковых номерах, это объясняет, почему вы не получаете повторяющихся контрольных событий.

Ниже приведена выдержка из моего журнала. Вы видите пару _Move _ / _ Stop_ через несколько 100 мс друг за другом, за которой следует следующая пара _Move _ / _ Stop_ в течение нескольких 10 мс. Вы видите, что два сообщения (последовательность 4b и 5b) не дошли до координатора. Почему-то я не вижу повторяющихся сообщений, может быть, один из маршрутизаторов между контроллером и координатором решил, что они не будут пересылать дубликаты?

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

Никогда не бывает двух одинаковых событий кнопки подряд, даже при постоянном вращении, поскольку, похоже, нет постоянного потока APS-DATA.indication вообще.

Это 10 секунд постоянного вращения по часовой стрелке:

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

Для справки:
Использование grep с -A2 для отображения следующих двух строк совпадения, похоже, работает достаточно хорошо.
deCONZ --dbg-error=1 --dbg-aps=2 --dbg-info=2 | grep -A2 -E -i "APS-DATA.indication srcAddr: 0x48c0"

Круто, не знал, что -A опция grep .

Итак, ваш контроллер отправляет:

  • 6c: _Move Up_, что приводит к событию кнопки 2002 года;
  • 6c: повторяется _Move Up_, что справедливо игнорируется;
  • 6d: _Move Down_, что приводит к событию кнопки 3002;
  • 6d: _Move Down_ повторяется, что справедливо игнорируется;
  • 6e: _Move Up_, что приводит к событию кнопки 2002 года;
  • 6e: _Move Up_, повторенный и справедливо отмеченный;
  • 6f: _Stop_, теперь игнорируется, так как мы больше не используем x001 / x003;
  • 6f: _Stop_, повторяется и игнорируется.

Хорошие новости: нет пропущенных сообщений (последовательные порядковые номера), поэтому с вашей сетью все в порядке.

Плохая новость: поведение моего контроллера сильно отличается. Также меня озадачивает _Move Down_ между сообщениями _Move Up_. На всякий случай: вы меняли батарею после обновления прошивки?

Какой тип напечатан на задней панели вашего контроллера (мой говорит E1744 ). Можете ли вы дважды проверить атрибуты кластера _Basic_?
Screenshot 2020-04-19 at 12 54

Похоже, на устройстве нет никаких волшебных настроек, которые бы изменили его поведение. Я начинаю подозревать неисправное устройство. Трудно сказать, ваше или мое, поскольку для сравнения достаточно всего двух устройств, но мое работало должным образом при подключении к концентратору Trådfri.

image
lgtm. Текст на обратной стороне также указывает ТИП E1744, и даже с новой ячейкой кнопки (на самом деле четвертой) она все еще ведет себя так.

Ваш напрямую подключен к контроллеру?

Между прочим, можно делать короткие очереди в быстрой последовательности. Это просто непрерывное вращение, которое кажется сломанным

На самом деле я заказал два из них, поэтому я просто достал второй из упаковки и подключил его к сети.

Поведение точно такое же, что, вероятно, исключает неисправное оборудование, а также версию прошивки
image

Боюсь, у меня нет идей. А может это связано с цветом? Мой черный. Я почти хотел купить себе второй контроллер.

Ваш напрямую подключен к контроллеру?

В настоящее время он подключен к интеллектуальной розетке INNR SP 120. Он был подключен к координатору (Conbee II) в моей тестовой сети (для максимально быстрого обновления прошивки).

Хотелось бы услышать от @rchl и других, как ведут себя их контроллеры.

В любом случае, я вернулся к событиям кнопок x001 / x003 по умолчанию, но это не решит вашу проблему неконтролируемых изменений в случае пропуска _Stop_.

Используйте API, чтобы установить mode равным 4 (ModeDimmer, также используется беспроводным диммером Trådfri), чтобы вместо этого получать события x002. Чтобы вернуться к значениям по умолчанию, установите для mode значение 1 (ModeScenes).

К сожалению, они оба черные.
~ Кажется, я подключил его к модулю Raspbee. ~ По-прежнему такое же поведение.
Редактировать:
Нет. Он подключен к свету ikea рядом с модулем raspbee.

Рядом с батареей есть цифра: 1938-1 . Понятия не имею, что это может означать, но могло быть иначе?

но это не решит вашу проблему неконтролируемых изменений в случае пропуска Stop.

В самом деле? Я думал, что это произошло из-за того, что сеть не успевала за ними. Теоретически это должно быть решено с помощью одноадресной рассылки, верно?

Я думал, что это произошло из-за того, что сеть не успевала за ними. Теоретически это должно быть решено с помощью одноадресной рассылки, верно?

Вы, конечно, правы. Если это действительно причина, ее следует устранить. Я волновался больше, чем могло пропасть отдельное сообщение. Но поскольку кажется, что вам, координатору, дойдут несколько копий, шансов на это очень мало.

Похоже, он работает, как и следовало ожидать.
Я не могу вызвать проблемы с чрезмерной громкостью.

Большой!
Задержка тоже неплохая. В целом хорошее решение.

Спасибо, что заглянули в

Я наблюдаю то же поведение, что и @Hypfer, после выполнения шагов из https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898 (обратите внимание, что я использую последнюю версию deconz, а не @ebaauw ветка):

  • при медленном вращении вправо я вижу повторяющиеся пары событий 2001, 2003 гг.
  • когда вращаюсь вправо быстро и в стабильном темпе, я вижу одно событие 2001 года в начале, а затем одно событие 2003 года после того, как я закончу вращение. Неважно, как долго я вращаюсь, главное - это быстро и устойчиво.

Но я больше не могу воспроизводить пропущенные события «стоп» (* 3)! :)

Думаю, этот вопрос можно закрыть после слияния # 2658

А как насчет того, что постоянные изменения не вызывают событий? Это что-то, что правильно работает с вышеупомянутым PR?

@rchl

Этой проблемы можно избежать, если не использовать режим 4 и вместо этого сохранить события x001 / x003, как раньше.
https://github.com/dresden-elektronik/deconz-rest-plugin/pull/2658/commit/7035ee72624e9765d1573f343480208ccefec468

Думаю, этот вопрос можно закрыть после слияния # 2658

И вроде слился 10 дней назад. 😄 👍

Требуются ли какие-либо действия, чтобы воспользоваться исправлением?
Достаточно ли обновить deconz или необходимо сбросить и заново привязать контроллер?

Требуются ли какие-либо действия, чтобы воспользоваться исправлением?

Мне тоже был бы интересен этот ответ. У меня есть палка Deconz в моем Home Assistant Raspberry Pi, и на ней написано, что у меня FW версии 2.5.75 и что она актуальна.

У меня подключен Symfonisk, но я получаю только одно событие, в котором он поворачивается (2001/3001) и когда он перестал вращаться (2003/3003), и нажатия кнопок (1001, 1004, 1005). Но никаких повторяющихся событий или чего-то еще, что говорит о том, насколько это было повернуто.

Насколько я понимаю, PR будет отправлять события направления непрерывно, когда я поворачиваю ручку. Но представляет ли событие событие определенное количество градусов вращения?

Вероятно, вам нужно повторно подключить контроллер Symfonisk или вручную обновить привязку, чтобы он использовал одноадресную передачу, как описано здесь https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -615078454

Ответы на другие вопросы также можно найти в этой ветке.

Но представляет ли событие событие определенное количество градусов вращения?

Глянь сюда:
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -535090364

Пожалуйста, прочтите всю ветку перед тем, как комментировать.

Кажется, эта проблема решена или неактивна. Если это не так, пожалуйста, откройте снова!

Я обновил deCONZ, отремонтировал оба контроллера и вручную выполнил привязку (не уверен, что это еще нужно). Оба они невероятно надежны. Единственное, что заметил: коды по часовой стрелке и против часовой стрелки были перевернуты. Но мне было легко исправить автоматику, так что я не возражаю.

Спасибо за отличную работу, как всегда!

Приобрел второй контроллер. Я оба подключились к сети, но похоже, что новый не запускает никаких событий в Node-RED. Есть идеи, в чем может быть проблема?

Я использую последнюю версию докера Deconz.

@kmplngj Наверное привязка. Попробуйте повторить сопряжение несколько раз.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги