Somfy-Developer / Somfy-TaHoma-Developer-Mode

A collection of requests to use a local API with Somfy TaHoma gateways
134 stars 12 forks source link

One ZigBee Device does not deliver events. #38

Open ChristianRiedl opened 2 years ago

ChristianRiedl commented 2 years ago

One of my Zigbee 3.0 devices (GLEDOPTO GL-C-002P - 5 in 1 Zigbee mini ultra thin LED-Controller) does not deliver StateChange events. Other devices like Philips HUE are delivering the events, so event registration was properly done.

I found out that the device which does not send events defines an attribute "zigbee:NotificationEnable" inside the device definition. But this attribute is not present in the device attributes (it is only inside definition.attributes).

Maybe it is required to enable the notification for this device somehow. The API does not contain access to the attributes. The Tahome software could set this attribute if it is defined.

What else could be the reason that specific devices do not deliver state change events ?

ChristianRiedl commented 2 years ago

I realized now that status changes are also not shown in the Tahoma Android App. Is the event feature mandatory for the Zigbee 3 devices ? It would be great to publish a list of Tahoma compatible / tested ZigBee devices. The current bug with the GetDeviceStates (setup/devices//states) makes it difficult to implemet a workarround. Interesting: Even with GetDevice (setup/devices//states) I cannot get updated states. Maybe a problem of the ZigBee device, that it does not update states.

ChristianRiedl commented 2 years ago

To ensure that the controller is not defective, I tested it with the DeConz USB Bridge. It is recognized as GLEDOPTO GL-C-008P, but it works normally (including events).

On the Tahoma switch the controller is recognized as GLEDOPTO GL-C-007P. The commands are working, but the events do not. As I stated above, also the Tahoma app doesn't show the status properly. device_json.txt

_### devicejson.txt shows the whole device object.

ChristianRiedl commented 2 years ago

I continued to test GLEDOPTO GL-C-002P and compared the behavior with Deconz USB Bridge.

Here the initial states as delivered by setup :

TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:StatusState : available 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:ColorTemperatureState : 5000 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:CieColorSpaceYState : 0,329 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:CieColorSpaceXState : 0,322 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:OnOffState : off 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:LightIntensityState : 100 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:ColorModeState : cieXYZ 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:ColorHueState : 0 
TRC : 2022-07-06 15:45:39 Tahoma Device Testlicht => core:ColorSaturationState : 0 

Then I sent several commands, they all are executed correctly, LED strip reacts as intended :

INFO: 2022-07-06 15:45:45 Tahoma Execute command Testlicht-on 
TRC : 2022-07-06 15:45:46 Tahoma Device Testlicht => core:OnOffState : on 

INFO: 2022-07-06 15:45:50 Tahoma Execute command Testlicht-setIntensity 20 
!!!!!!!!!!!  No event !!!!!!!!

INFO: 2022-07-06 15:46:01 Tahoma Execute command Testlicht-setColorTemperature 3000 
TRC : 2022-07-06 15:46:01 Tahoma Device Testlicht => core:ColorTemperatureState : 3003 
TRC : 2022-07-06 15:46:03 Tahoma Device Testlicht => core:CieColorSpaceYState : 0 
TRC : 2022-07-06 15:46:03 Tahoma Device Testlicht => core:CieColorSpaceXState : 0 

INFO: 2022-07-06 15:46:11 Tahoma Execute command Testlicht-setColor Color [A=255, R=255, G=0, B=0] => X:0,7006062331309042 Y:0,2993009868421053
TRC : 2022-07-06 15:46:12 Tahoma Device Testlicht => core:CieColorSpaceYState : 0,299 
TRC : 2022-07-06 15:46:13 Tahoma Device Testlicht => core:CieColorSpaceXState : 0,7 

INFO: 2022-07-06 15:46:31 Tahoma Execute command Testlicht-off 
TRC : 2022-07-06 15:46:33 Tahoma Device Testlicht => core:OnOffState : off 

When I set the color using Hue and Saturation, I get no events.

NFO: 2022-07-06 13:07:57 Tahoma Execute command Testlicht-setColor Color [A=255, R=0, G=255, B=0] => Hue:120 Sat:100
!!!!!!!!!!!  No event !!!!!!!!

First, setIntensity is executed correctly but never delivers an event. Second, setColor is executed correctly but delivers an event only when colorCoordinates X,Y are used. Third, but not easy reproducable, the sending of events stopped completely. I believe the problems are related with core:ColorModeState : cieXYZ. On DeConz the mode changes to hsv when sending Hue and Saturation. This should be done on the Tahoma Switch too. The commands are executed independent of the colormode, but also the associated events must be delivered.
Anyhow also the behavior of the Tahoma App is wrong.

ChristianRiedl commented 2 years ago

Great that you classified the problem as a bug. GLEDOPTO GL-C-002P is very new and a very attractive LED strip controller because of its compactness. I was unable to find an alternative. In order to be able to analyze such problems better, it might be useful for developers to have access to Tahoma Switch internal logs. Tahoma Switch has the potential to become a truly universal smart home device, integrating many popular protocols.

ChristianRiedl commented 2 years ago

Today I got API Version 2022.4.4-10 installed. I had some hope that my problem with the GLEDOPTO GL-C-002P is fixed. But the behavior is still the same. Commands are working but no state changes are delivered. The GetDeviceStates API function now does not fail but it does not deliver any state change from the GLEDOPTO GL-C-002P.

llavorel-somfy commented 1 year ago

Hi @ChristianRiedl Do you know where we can order such product ? At the moment we don't understand where the problem comes from.

ChristianRiedl commented 1 year ago

Hi @llavorel-somfy You can order it here : https://www.gledopto.eu/5in1-zigbee-controller-mini-thin-gledopto-eng In the meanwhile I also tested with API Version: 2022.5.4-9 - no success.

ChristianRiedl commented 1 year ago

Today I tested with Tahoma Update 1.19, API Version 2023.3.4-5 . The behavior is still the same. Command setIntensity works, but no Intensity-Change is sent.