Deconz-rest-plugin: 宜家交响控制器

创建于 2019-09-23  ·  121评论  ·  资料来源: dresden-elektronik/deconz-rest-plugin

昨天我买了一个宜家Symfonisk控制器。 Deconz已经支持它了吗?

我可以帮助增加支持吗?

再见
一月

最有用的评论

费耶

我现在使用控制器通过Broadlink遥控器通过NodeRed和Home Assistant控制IOTAVX放大器。 谢谢你的工作

Bildschirmfoto 2019-12-21 um 16 19 36

所有121条评论

按照Wiki共享需要哪些相关信息以添加对它的支持

如果无法将设备连接到Deconz怎么办?

我可以帮助增加支持吗?

是的,请提供此处描述的信息: https :

引人入胜的小型设备:显然,它会使用ZigBee,因为它需要Trådfri网关,但是Symfonisk(Sonos)的讲者会通过http来使用SOAP。 我想知道设备相对于网关有多少智能。 您将无法使用设备通过deCONZ(而不是通过Trådfri网关)来控制扬声器,但是它应该能够获得一些单击和双击的按钮事件。 不确定我们要在哪里显示转弯手势(带有角度)。 否则,我们可以公开一个模拟按钮事件值,请参见。 小米立方体的第二个端点。

车削工程在这里使宜家灯光变暗,即刻连接。

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.nl。 它毫无问题地加入了deCONZ的ZigBee网络。 但是,它在加入网络后仅在很短的时间内做出响应,然后不进行通信。 单击,旋转或短暂按下“重置”按钮都不会唤醒。

经过几次尝试,加入_Read Attributes_命令对其进行轰炸以使其保持清醒状态,然后设法将客户端_OnOff_群集绑定到一个组。 然后是客户端_Level Control_集群。 此后,它现在可以正常工作,在单击并转动时醒来以发送命令。 它发送以下命令:

  • _Toggle_点击;
  • _Up_双击;
  • _踩下_,高音单击;
  • _向右(顺时针)转弯时向上移动;
  • _向左移动(逆时针旋转);
  • 停止转弯时_Stop_。

暴露点击(1002),双击(1004)和高音(1005)会很简单。
据我所知,移动速度是恒定的。 _Move_和_Stop_命令之间的计时似乎表明您要转弯多长时间,而不是多快或多远。 使用两个长按按钮(2001/2003和3001/3003)暴露左/右转弯最容易。

将这些ZigBee命令转换为Sonos命令绝非易事。 Trådfri集线器需要保持Sonos播放器的播放/暂停状态,因此没有Sonos相当于Toggle。 同样,没有_Move_ / _Stop_等同于音量。 有一个_RampToVolume_命令,但我认为这不能被打断。

我认为我设法将其链接到我的Trådfri集线器(IKEA Home Smart应用显示了一个弹出窗口,表明已找到新控制器)。 但是,该应用程序找不到我的Sonos扬声器,因此我无法设置控制器来嗅探Trådfri集线器发送给Sonos播放器的(HTTP上的SOAP)命令。

下面的Commit添加了对声音控制器的支持。

{
  "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 _ / _ St​​op_连击。 我确实在deCONZ日志中看到一些消息,它确实丢弃了buttonevent通知,因为它们连续发生得太快了,但是我不知道该怎么办(除了忽略它们;-)。

我很想知道Trådfri集线器发送的Sonos命令是什么,但是IKEA Home Smart应用程序找不到我的Sonos(也不是Symfonisk)播放器,即使Sonos应用程序找到了。 此外,该应用程序在我的iPhone Xr(我认为是从iOS 13.1开始)上崩溃,但在我的iPad(iPadOS 13.1)上却没有崩溃。

好吧,您可以将Sonos与家庭助理配对,然后将它们绑定在一起:)

我一直在用HomeKit做同样的事情。 我使用5按钮Trådfri遥控器(通过homebridge-hue)控制Sonos扬声器(通过homebridge-zp)。

您如何将其与deCONZ配对?
我无法正常工作

长按时,Symfonisk Controller是否会触发事件?

什么时候发布版本中?

您如何将其与deCONZ配对?
我无法正常工作

也无法连接我的遥控器。 有人可以帮忙吗?

@ Noah-UI-据我所知,您可以连接到它,并在deconz中看到它“起作用”,但是您现在不能真正对其执行操作。 只有拥有IKEA桥并将其从那里拿走时,这才起作用。

Screenshot 2019-11-01 at 10 27 56

但是你现在不能真正采取行动

尽管没有Trådfri集线器就无法控制Symfonisk / Sonos播放器,但该控制器可以与deCONZ一起使用来控制其他ZigBee设备。 它发送常规的ZigBee命令,这些命令由deCONZ v2.05.70拾取以创建buttonevent值,该值可在网关规则中使用。 此外,您可以将灯光添加到控制器的组中并直接对其进行控制(即使deCONZ处于关闭状态)。

长按时,Symfonisk Controller是否会触发事件?

不,请参见https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment -536069107。

您如何将其与deCONZ配对?

请注意,deCONZ不支持触摸链接配对(这是Trådfri集线器使用的配对)。 您需要在Phoscon中搜索新设备/在旧的Web应用程序中打开网络,然后重置设备(四次按下重置按钮-LED应当闪烁)。

正如我之前提到的(https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898#issuecomment-535090364),设备在加入网络后很快关闭了无线电-至关重要请先设置绑定,否则单击/转动设备将无法重新打开收音机的电源。 通过关闭所有路由器的电源并将控制器与RaspBee / ConBee靠近配对,可以增加成功配对的机会。 如果需要,在配对时通过从deCONZ GUI发送命令使其保持无线电唤醒。

@Keesromkes在您的屏幕截图中,deCONZ没有收到简单的描述符,导致缺少右侧的下拉按钮。 有关详细信息,请参见https://github.com/dresden-elektronik/deconz-rest-plugin/pull/2002#issuecomment -547985838。

您好,我刚刚更新到deconz的最新版本(270),但是我似乎无法弄清楚如何添加开关。
我正在使用UI,在切换中添加其他。 快速单击4次,但不会添加到deconz中。
你可以帮帮我吗 ?

实际上是添加了它,只是它没有出现在我的设备列表中的新Phoscon应用中。 我在旧应用中找到它。

多么有趣的小发明!

如果没有Trådfri集线器,则无法控制Symfonisk / Sonos播放器

不对。 您可以让Node-Red监视事件的点击/旋转,然后有一个流程可以根据检测到的操作来调整Sonos设备。

如果没有Trådfri集线器,则无法控制Symfonisk / Sonos播放器

不对。 您可以让Node-Red监视事件的点击/旋转,然后有一个流程可以根据检测到的操作来调整Sonos设备。

我正在尝试使用appdaemon和hass自动化来完成它,一切都差不多了,我现在只是在寻找音量,因为它只是一个开始/停止的事件...(请参阅此处

我正在尝试使用appdaemon和hass自动化来完成它,一切都差不多了,我现在只是在寻找音量,因为它只是一个开始/停止的事件...(请参阅此处

为此,您必须反复提高/降低音量,直到触发stop事件为止。

我选择每500ms +/- 7%的音量。 它工作得很好。

看来我已经成功配对了Sonos控制器,可以在phoscon应用程序(通过VNC)和旧版Webapp中看到它。
但是,当我监听事件(在HASSIO中)时,我什么也没得到:(

哦! 它突然起作用了! 在对Phoscon进行了很多摆弄并尝试多次包含它之后。
不确定如何操作,但现在可以使用了,我在HASSIO中得到了事件

哦! 它突然起作用了! 在对Phoscon进行了很多摆弄并尝试多次包含它之后。
不确定如何操作,但现在可以使用了,我在HASSIO中得到了事件

您是否有解决方案来正确解释HASSIO中的旋转运动,例如增加/减小音量?

哦! 它突然起作用了! 在对Phoscon进行了很多摆弄并尝试多次包含它之后。
不确定如何操作,但现在可以使用了,我在HASSIO中得到了事件

您是否有解决方案来正确解释HASSIO中的旋转运动,例如增加/减小音量?

不,那是接下来的事情。 希望看到其他人为此提出something

参见#2040。 最好解决这个问题。

哦! 它突然起作用了! 在对Phoscon进行了很多摆弄并尝试多次包含它之后。
不确定如何操作,但现在可以使用了,我在HASSIO中得到了事件

您是否有解决方案来正确解释HASSIO中的旋转运动,例如增加/减小音量?

不,那是接下来的事情。 希望看到其他人为此提出something

试试这个: https :
对我来说效果很好

有人知道如何使开关出现在phoscon新应用程序中吗?
我已完成所有切换,但symfonisk仅出现在旧应用程序中。

不能在phoscon中获得交响曲。 我正在使用deconz 2.5.70和conbee与26330500。当我尝试作为宜家开关进行连接时,只需显示5按钮遥控器和旧的调光器即可。 当我尝试以“其他”身份连接时,它不起作用。 (在symfonisk遥控器上按4次连接按钮,直到led闪烁)。
我究竟做错了什么? 我配对了其他几个设备(宜家和小米),以前没有这些问题。 :/ 请帮忙。
编辑:似乎是由deconz学习到的,但未在phoscon应用程序中显示。 我可以看到iobroker的开关正在根据REST获取设备。 但是在Web界面中未显示该开关。 这怎么工作?

@ siggi85 @lbouriez -总之,它不会你在新的phoscon显示(直到他们会支持它)。 您可以通过hass.io或NodeRed(我都忙于设置其他东西)来寻址设备

@Keesromkes感谢您的回答。 是的,你是对的。 直接在deconz中,我可以看到该开关并可以通过API使用它。

但不幸的是,目前无法使用轮子。 当您开始旋转并停止旋转时发生事件3001,事件3003。另外,并非每次停止时都会发生事件3003。 而且您无法检查旋转的时间或速度。 仅仅是启动和停止不足以使用它有效。 不知道如何直接与Symfonisk扬声器配合使用。

@ siggi85检查我的appdaemon脚本,它不是完美的,有时我仍然会遇到麻烦,但是它会告诉您如何做,直到有人提出更好的解决方案为止。

但不幸的是,目前无法使用轮子。

buttonevent是从控制器发送的消息中以1:1派生的。 它不会报告您旋转了多长时间。 请参阅上面的我的帖子。

直到有人提出更好的解决方案。

宜家必须为IKEA提供Symfonisk控制器的新固件,从而使其行为有所不同。 我估计不太可能。

我以为旋转的价值可能是停止事件。 也许3001开始,而3500半旋转或类似的东西。 但事实并非如此。 我将尝试+2选项,但是使用它的想法是另一个。 我会看看这是否适合我。 谢谢你们的答复。

另一个问题。 我得到了其中两个,并成功将它们配对。

symfonsik

但是现在它们具有相同的名称,我不知道如何更改名称,因为它们在HomeAssistant和Phoscon Web App中都没有显示为实体。 也许以某种方式通过Rest API?

费耶

我现在使用控制器通过Broadlink遥控器通过NodeRed和Home Assistant控制IOTAVX放大器。 谢谢你的工作

Bildschirmfoto 2019-12-21 um 16 19 36

嗨,大家好,
此主题是否有任何更新?
我还具有hassio / conbee2 / deconz / symfonisk遥控器的设置,并且想控制我的Sonos扬声器。
问候,
多米尼克

另一个问题。 我得到了其中两个,并成功将它们配对。

symfonsik

但是现在它们具有相同的名称,我不知道如何更改名称,因为它们在HomeAssistant和Phoscon Web App中都没有显示为实体。 也许以某种方式通过Rest API?

您是否已经针对该主题找到了解决方案?

另一个问题。 我得到了其中两个,并成功将它们配对。
symfonsik
但是现在它们具有相同的名称,我不知道如何更改名称,因为它们在HomeAssistant和Phoscon Web App中都没有显示为实体。 也许以某种方式通过Rest API?

您是否已经针对该主题找到了解决方案?

您可以尝试使用API​​,是的。https: //dresden-elektronik.github.io/deconz-rest-doc/sensors/“更新传感器”,但是deconz中的1个设备可以在API中有多个条目,因此IDK将如何工作。

如果仍然可以访问旧应用程序(在“帮助”>“旧应用程序”中),则会看到您的设备。
我不知道为什么我们不能在新应用程序中看到它:(

如果仍然可以访问旧应用程序(在“帮助”>“旧应用程序”中),则会看到您的设备。
我不知道为什么我们不能在新应用程序中看到它:(

我将通过API进行尝试。
我的旧应用看上去与新应用完全一样,我在做什么错?

另一个问题。 我得到了其中两个,并成功将它们配对。
symfonsik
但是现在它们具有相同的名称,我不知道如何更改名称,因为它们在HomeAssistant和Phoscon Web App中都没有显示为实体。 也许以某种方式通过Rest API?

您是否已经针对该主题找到了解决方案?

您可以尝试使用API​​,是的。https: //dresden-elektronik.github.io/deconz-rest-doc/sensors/“更新传感器”,但是deconz中的1个设备可以在API中有多个条目,因此IDK将如何工作。

我通过API进行了尝试,但未成功,也许我太笨了。
我已在deconz中启用了端口40850。 如果我在浏览器中键入它,我将进入新的Web应用程序。
我缺少hass.io实体与deconz symfonisk Controller之间的连接。
我试图阅读该文档,但没有正确完成。
您能否给我一些提示,或者简短的教程,我需要这样做吗?
先感谢您!

您能否给我一些提示,或者简短的教程,我需要这样做吗?

我昨天设法配对了另一个控制器,但不得不通过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" (列出所有传感器以找出要重命名的传感器的ID)

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 Web App中都没有显示为实体。 也许以某种方式通过Rest API?

我通过App Hue Essentials将其重命名

费耶

我现在使用控制器通过Broadlink遥控器通过NodeRed和Home Assistant控制IOTAVX放大器。 谢谢你的工作

Bildschirmfoto 2019-12-21 um 16 19 36

您可以发布NodeRed代码吗?

费耶
我现在使用控制器通过Broadlink遥控器通过NodeRed和Home Assistant控制IOTAVX放大器。 谢谢你的工作
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 Web界面。 这是我在做什么:

  • 设备>开关>添加新开关>其他
  • 然后我插入了电池,按了旁边的按钮4次。
  • Symfonisk就在Conbee 2旁边,几乎可以触摸它(插入pi4的usb3端口)
  • 指示灯闪烁几次,然后保持稳定。

用户界面中没有任何反应。 即使发出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摇杆吗?

插入pi4的usb3端口

那是在问问题。 屏蔽不足(阅读:几乎所有)的USB-3控制器和电缆会干扰2.4GHz无线电,而ZigBee对此尤为敏感。 插上ConBee成USB-2端口和使用USB-3端口。 我已经看到一些报告,其中人们设法使用USB-3 SSD,而ConBee使用延长线连接到USB-2,而其他报告则没有。 无论如何,使用延长线都是一个好主意,就像在Raspberry Pi上关闭WiFi和蓝牙一样。

我附近有Aeotech zwave摇杆吗?

不知道ZWave是否也使用2.4GHz,但是“附近”听起来不太好。 再次使用USB延长线与ConBee保持一定距离。

用户界面中没有任何反应。

您是在Phoscon中还是在deCONZ GUI中? 您要查看GUI。 我不知道Phoscon是否还支持Symfonisk控制器(我不使用Phoscon),但是如果API中未列出该控制器,Phoscon仍然不会看到它。

感谢您的快速回复,虐待尝试所有这些!
您如何连接到GUI(我一直在使用Phoscon Web界面)? 我知道Hassio Deconz插件有一个VNC端口,但是当我尝试使用HA ip时似乎无法正常工作。

您需要在启用GUI的情况下运行deCONZ。 使用deconz-gui服务而不是deconz服务。

是的,成功了,现在全部配对了。 我认为这是关闭wifi,使用USB扩展在pi4 +上的bt和启用GUI的deCONZ的组合。 我将遥控器放置在conbee2旁边约一分钟,如果您将其移开,它将无法完全配对。 再次感谢您的快速帮助!

我注意到,尤其是在短时间旋转时,我没有收到STOP事件。
这是宜家硬件的问题,还是我们可以用deconz对此做点什么?

Theres也#2195报告了宜家硬件的类似问题

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,如果在0.5秒内再次发出相同的buttonevent值,则将其丢弃:
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/b3086c6009154aa1b5cdb89febb5f177912952e9/de_web_plugin.cpp#L3647 -L3657

我不确定为什么有此代码。 如果发送了组命令,也许deCONZ会收到多条消息,并发出多个buttonevents ? 也许是针对特定设备的防弹跳功能?

也许将此特定设备列入白名单?

不知道这是否行得通(取决于为什么代码首先出现在其中)。 如果与设备相关,我宁愿将需要此代码的设备列入白名单。

不知道如何解决此问题,我宁愿花时间实现适当的ZHARelativeRotary支持(请参阅#2305)。

不确定如何解决此问题

目前,symfonisk控制器不可用,因为它有时会不停地增加音乐音量。 如果您不想失去听力,那么除了快速关闭整个声音系统之外,您什么也做不了。

感谢您指向代码。 有趣的是,我无法通过github搜索找到它。 我将尝试看看该行被注释掉后会发生什么。

我注意到当您进行细微调整或将转盘移动得太快或太慢时,都会发生这种情况。 我的解决方法:5秒后停止增加/减小音量。 说实话,这不是很好。 但是对我而言,这不是一个大问题,不值得为此专门安装宜家桥梁。

目前,symfonisk控制器不可用,因为它有时会不停地增加音乐音量。

与此代码无关:它检查相同的buttonevent值,因此它不会在2001年之后丢弃2003年。

您如何控制音乐音量?

您如何控制音乐音量?

我正在启动一个500ms的计时器循环,该循环在2001/3001上将音量增加/减少1%,并在其他所有事件上将其停止。

有时(尤其是短时间旋转,方向改变以及不久后的多次调整)没有其他事件。

你是对的。 修补该检查无济于事(显然)。
这是我重现问题时的一些调试输出:

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支持的人

您如何控制音乐音量?
我正在启动一个500ms的计时器循环,该循环在2001/3001上将音量增加/减少1%,并在其他所有事件上将其停止。

最好在每个2001/3001上更改音量。

盯着deconz调试日志时,我注意到的另一件事是看起来确实经常出现的那些行。

有趣的是,控制器正在发送另一个命令。 需要检查。

最好在每个2001/3001上更改音量。

但是以恒定速度旋转时,您不会有任何音量变化

您的控制器使用什么固件?

控制器当前正在运行FW 2.1.022
OTAU插件报告版本0x21022631 ,图像类型0x11ca和制造商ID 0x117C

此图像类型的最新固件似乎是10043101-3.1-TRADFRI-dimmer-2.1.024.ota.ota.signed ,在otau插件中报告为版本0x21024631

我应该更新控制器吗?

编辑:
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_命令时才会发生这种情况。 我需要运行嗅探器以查看此处发生的情况。 我将首先更新控制器的固件。

45分钟后更新为4.07%。 男人这东西很慢。

同时,我在美国宜家商店中找到了对该设备的评论:

这是个很棒的概念,但是在“失控”音量水平上存在多个问题,扬声器只能大声疾呼,以至于我不得不争先恐后地拔下插头。 买了其中的四个,但计划全部归还给他们-笨拙。 另外,设置过程完全让人不知所措-可能是由于双频路由器需要暂时停用5ghz通道。

那不应该阻止我们尝试解决此问题,但是知道它与官方网桥一起发生确实很有趣。 ..虽然他没有提到他正在使用那个

您使用什么扬声器和音量? 您使用什么软件将按钮事件映射到音量变化?

45分钟后更新为4.07%。 男人这东西很慢。

它可能会在90%左右失败:-(

我倾向于从我的测试网络(流量较少)更新IKEA电池供电的设备,以确保协调员充当父级。 仍然通常需要3.5到4个小时。 现在在00:32:30达到14%。 电源供电的设备通常需要10到30分钟。

我已经修改了粘贴在此线程中的节点红流,该线程与ro home助手对话,后者又与Logitech媒体服务器对话,最终控制了几个squeezebox扬声器的音量。

目前,我将最大音量限制为70%。 那仍然很大声,但没有那么大的灾难。

是的,您倾向于得到这些长链。 我可以使用控制器-> deCONZ-> Homebridge Hue-> HomeKit Automation-> Homebridge ZP-> Sonos从控制器控制Sonos扬声器。 Homebridge Hue将每个x001,x001,...,x003系列转换为HomeKit中的_Long Press_,并且Homebridge ZP公开了Sonos的相对音量设置。

我前一段时间在IKEATrådfri集线器上尝试过控制器。 Trådfri集线器充当Sonos客户端,因此链条非常短:控制器->集线器-> Sonos。 从我的记忆中可以看出,它工作起来比较流畅,但并非完美无缺。

这种级联设置固有地易受攻击,提供了太多可能丢失消息且命令无法停止的地方。 在这些情况下,我强烈建议您不要使用启动/停止逻辑,而只是在每个buttonevent中发送命令。 当按住Hue调光器的_DimUp_或_DimDown_按钮时,即使是标准的Hue应用程序也会创建像这样的Hue桥接规则。 当单独使用(不使用网桥)时,调光器会发送_Move_和_Stop_。

这种级联设置固有地易受攻击,提供了太多可能丢失消息且命令无法停止的地方。

我正在运行控制器> deCONZ>自动化中心> Sonos。 我仍然有问题。 我敢肯定这是控制器的错误,因为其他所有自动化操作均正常进行

当按住Hue调光器的DimUp或DimDown按钮时,即使是标准的Hue应用程序也会创建像这样的Hue桥接规则。

您是对的,但是色调调光器会每秒发送_Hold_事件,直到您释放。 宜家symfonisk控制器不会定期发送新事件; 我仍然不了解逻辑,但是我猜想它只有在旋转速率改变时才发送新事件。 但这是一个猜测。 唯一的解决方案是监听开始/停止。

升级成功,一夜之间没有问题。 现在在2.1.024。 电池电量从60%降至16%-我见过更糟。 控制器的可靠性似乎更加可靠,但是我仍然缺少偶尔的x003事件。

经过一夜安眠,我重新阅读了有关SYMFONISK控制器的“所有”注释和其他问题。 似乎控制器与deCONZ之间的通信不可靠,导致来自控制器的消息无序到达deCONZ,或者根本不到达。 “ no button handler”消息是由两个连续接收到的_Stop_命令引起的。 连续接收两个_Move_命令导致的“丢弃速度过快事件”。 控制器和协调器之间的Zigbee跳越多,这些问题就越严重。

控制器似乎连续发送命令太快,以至于Zigbee网络无法处理广播。 有效地,控制器在Zigbee网络上发起了拒绝服务攻击。 表示最多建议每秒广播一次,并且Hue桥的Zigbee网络往往比deCONZ小。 请注意,Hue调光器,Hue按钮和Lutron Aurora仅针对x001事件(有效地充当传感器)发送单播消息。 充当控制器时,它们仅在按下/按住时发送_Move_并在释放时发送_Stop_。

为了确认,我用与协调器的单播绑定替换了控制器上的组绑定。 这似乎是奇迹。

确保按下_Bind_或_Unbind_时唤醒控制器。 创建或删除绑定后,_Bind Dropbox_显示成功。 如果需要,请重试。 确保在删除旧绑定之前添加新绑定,否则控制器将让您“沉睡”,不再在输入时醒来。

请注意,我仍然看到“丢弃太快的事件”和“没有按钮处理程序”。 如果测试成功,我将更改检查以免丢弃单播事件。 并更改控制器的配对逻辑,而不要创建组和相应的绑定。 我认为牺牲直接的灯光控制来代替工作的声音控制是有道理的。

我认为Trådfri无线调光器也会发生类似的问题。 显然,那时候,我决定将_Move_映射到x002并忽略_Stop_。 但是那是三年前的事,我不记得细节了。

@paolotremadio@Hypfer以及其他人,请您重复我的测试并确认吗?

  • 在deCONZ GUI的_Binding dropbox_面板中,将控制器上的客户端(灰色)_On / Off_集群绑定到协调器上的端点0x01;
  • 并将控制器上的客户端(灰色)_Level Control_集群绑定到协调器上的端点0x01;
  • 检查控制器使用的组:在API查找中,控制器的ZHASwitch /sensors资源的值config.group 。 将此值转换为十六进制。
  • 在deCONZ GUI的_Binding dropbox_面板中,将控制器上的客户端(灰色)_On / Off_集群与该组解除绑定(十六进制);
  • 并从组(以十六进制表示)中取消绑定控制器上的客户端(灰色)_Level Control_群集。

@paolotremadio@Hypfer以及其他人,请您重复我的测试并确认吗?

  • 在deCONZ GUI的_Binding dropbox_面板中,将控制器上的客户端(灰色)_On / Off_集群绑定到协调器上的端点0x01;
  • 并将控制器上的客户端(灰色)_Level Control_集群绑定到协调器上的端点0x01;
  • 检查控制器使用的组:在API查找中,控制器的ZHASwitch /sensors资源的值config.group 。 将此值转换为十六进制。
  • 在deCONZ GUI的_Binding dropbox_面板中,将控制器上的客户端(灰色)_On / Off_集群与该组解除绑定(十六进制);
  • 并从组(以十六进制表示)中取消绑定控制器上的客户端(灰色)_Level Control_群集。

做到了。 一个控制器似乎工作更可靠。 另一个错过了一些停靠点,但是感觉不像以前那么频繁。 我将测试一两天。

稍后我会尝试一下。
感谢您的调查和工作@ebaauw
也许我们应该为此问题保留#2195的权限?

也许我们应该为此问题保留#2195的权限?

是的,这似乎与这个问题无关。

好,拿出嗅探器。 当绑定到协调器时,Trådfri无线调光器会将广播发送到组0x0000。 因此,该解决方法不能与该设备一起使用。

当绑定到协调器时,控制器似乎在每个操作中发送多个单播消息。 它们具有相同的ZCL序列号,但具有不同的MAC和NWK序列号。 现在仅在组消息上检查重复的buttonevent值将导致每个系列三个x001和一个x003。 我将尝试检查ZCL序列号并过滤出重复的消息。

添加了对ZCL序列号的检查。 现在,它的行为符合我的预期。 转弯时,我看到x001 / x003 buttonevent对的连续流。 我仔细检查了嗅探器日志:_Move_似乎总是在300ms之内跟着_Stop_。 我认为曝光x001和x003并没有附加价值,因此建议将其更改为单个x002,就像Trådfri无线调光器一样。

请注意,按钮事件的数量反映了转弯的持续时间,而不是角度或速度。 没有特殊消息指示您停止转弯。 以下_Move _ / _ St​​op_对不存在。

请注意,以毫秒为单位的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_似乎总是在300ms之内跟着_Stop_。 我认为曝光x001和x003并没有附加价值,因此建议将其更改为单个x002,就像Trådfri无线调光器一样。

请注意,按钮事件的数量反映了转弯的持续时间,而不是角度或速度。 没有特殊消息指示您停止转弯。 以下_Move _ / _ St​​op_对不存在。

请注意,以毫秒为单位的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控制器。 但这似乎不是问题:/

否,该消息表明同一stateconfig对象的多个属性已更改。 每个属性更改都会生成一个内部事件。 处理第一个事件后,它将发出所有(或取决于websocketnofityall )所有属性的Web套接字通知。 其他事件不需要发出通知,因为更改已被推送。 因此我们改为发出此消息。

还有什么需要寻找的吗?

您在websocket上看到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端口? 附近是否有任何可能使用或干扰2.4 GHz频段的Wifi,蓝牙,USB3,DECT等设备?

与市电相连的设备的固件更新正常运行(阅读: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

按下或转动控制器时,您会看到这些。 希望转弯时每300ms左右。

无法确认。 我一直在触发按钮事件。

我需要调试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,因此单播绑定似乎有效。 我在.719处看到_Move_(第三字节01 ),然后在.838和.931处看到_Stop_(第三字节03 )。 请注意,对于_Stop_命令(67),ZCL序列(第二个字节, 67 )是相同的,控制器将每个命令发送3次(请参阅https://github.com/dresden-elektronik/deconz-其余插件/问题/ 1898#issuecomment-615154288)。

deCONZ日志记录确实糟透了,没有简单的方法可以仅将单个设备的消息grep ,因为它们混合了mac地址,nwk地址,资源和资源名称。 但是,您能否看到_Move_命令的APS-DATA.indication后面是button 2002 Move Up还是button 3002 Move Down

您想分析日志中是否缺少消息,以了解从控制器到协调器的流量的可靠性。 如果您在序列号中看到较大的空白,则可以解释为什么您没有得到重复的按钮事件。

以下是我的日志的摘录。 您会看到一个_Move _ / _ St​​op_对,彼此之间相隔几百毫秒,然后在几10ms内看到下一个_Move _ / _ St​​op_对。 您会看到两条消息(序列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"

太酷了,不知道grep-A选项。

因此,您的控制器发送:

  • 6c:_Move Up_导致2002按钮事件;
  • 6c:重复_Move Up_,正确地将其忽略;
  • 6d:_Move Down_导致3002按钮事件;
  • 6d:重复_Move Down_,正确地将其忽略;
  • 6e:_Move Up_,导致2002按钮事件;
  • 6e:向上移动,重复并正确地绕过;
  • 6f:_Stop_,现在忽略了,因为我们不再使用x001 / x003了;
  • 6f:_Stop_,重复并正确忽略。

好消息:没有丢失的消息(顺序编号),因此您的网络看起来不错。

坏消息:与我的控制器的行为截然不同。 另外,我对_Move Up_消息之间的_Move Down_感到困惑。 只是要确保:固件升级后是否更换了电池?

控制器背面印有什么类型(我说E1744 )。 您可以仔细检查_Basic_群集属性吗?
Screenshot 2020-04-19 at 12 54

设备上似乎没有任何魔术设置,这会改变其行为。 我开始怀疑设备有故障。 很难说那是您的,还是我的,只有两个设备可以比较,但是当与Trådfri集线器配对时,我的确实按预期工作。

image
lgtm。 背面的文字也显示TYPE E1744,即使使用新的按钮单元格(实际上是第四个),它的行为也仍然是这样。

您的直接连接到控制器吗?

快速连拍短时间工作。 只是连续旋转似乎被打断了

我确实订购了其中两个,所以我只是从包装中取出了第二个,并将其与网络配对。

行为完全相同,可能排除了有缺陷的硬件以及固件版本
image

恐怕我没主意了。 还是与颜色有关? 我的是黑色的。 我自己几乎想得到第二个控制器。

您的直接连接到控制器吗?

它当前已连接到inrr SP 120智能插头。 它已连接到我的测试网络中的协调器(Conbee II)(用于最快的固件升级)。

希望从@paolotremadio@rchl和其他人那里听到他们的控制器的行为。

无论如何,我默认情况下已还原为x001 / x003按钮事件,但是如果错过了_Stop_,它将无法解决您的失控更改问题。

使用API​​将mode为4(ModeDimmer,也由Trådfri无线调光器使用)来获取x002事件。 若要恢复为默认值,请将mode为1(ModeScenes)。

不幸的是,它们也都是黑色的。
〜我似乎已经将其与Raspbee模块配对。〜仍然是相同的行为。
编辑:
否。它与raspbee模块旁边的ikea灯配对

电池旁边有一个数字: 1938-1 。 我不知道这意味着什么,但可能会有所不同?

但是如果错过了Stop,它将无法解决您的失控变更问题。

真? 我认为这些是由于网络无法跟上而发生的。 从理论上讲应该使用单播解决,对吗?

我认为这些是由于网络无法跟上而发生的。 从理论上讲应该使用单播解决,对吗?

你说的没错,当然。 如果确实如此,那就应该解决。 我比单个消息仍然会丢失更担心。 但是,随着协调员似乎收到了多份副本,这样做的可能性很小。

看起来它正在像人们期望的那样工作。
我无法引起任何失控的体积问题。

大!
延迟也非常好。 总体来说是一个不错的解决方案。

感谢您关注@ebaauw

https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1898执行以下步骤后,我看到与@Hypfer相同的行为(请注意,我使用的是最新的deconz版本,而不是@ebaauw的分支):

  • 向右缓慢旋转时,我会看到重复出现的2001、2003事件
  • 当快速并稳定地旋转时,我看到一开始是2001年的事件,然后是我完成旋转后的2003年事件。 我要旋转多长时间,只要它快速稳定就没有关系。

但是我再也无法再现丢失的“停止”(* 3)事件! :)

我认为#2658已合并后可以解决此问题

不断变化而不触发事件的问题又如何呢? 那与上述PR正常工作吗?

@rchl

通过不使用模式4而不是像以前一样保留x001 / x003事件,可以避免该问题。
https://github.com/dresden-elektronik/deconz-rest-plugin/pull/2658/commits/7035ee72624e9765d1573f343480208ccefec468

我认为#2658已合并后可以解决此问题

它似乎已经在10天前合并了。 👍

是否需要采取任何必要的措施才能利用此修复程序?
更新deconz是否足够?是否有必要重置并重新绑定控制器?

是否需要采取任何必要的措施才能利用此修复程序?

我也会对此答案感兴趣。 我的家庭助理Raspberry Pi中装有Deconz棍子,它说我的固件版本为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 docker版本。

@kmplngj可能是绑定。 尝试重新配对几次。

此页面是否有帮助?
0 / 5 - 0 等级