Open magx2 opened 2 months ago
The binding works by detecting device services, and then trying to create channels based on what it finds. If the device works in a non-standard way, then of course this won't work. Without detailed information on the device, it's pretty much impossible for me to know what this device does and how it works. If we can find out how it works, then in principal someone could create a static definition (as XML) so that this overrides the automatic discovery.
I have this device. What do you want me to do?
śr., 17 kwi 2024, 00:05 użytkownik Chris Jackson @.***> napisał:
The binding works by detecting device services, and then trying to create channels based on what it finds. If the device works in a non-standard way, then of course this won't work. Without detailed information on the device, it's pretty much impossible for me to know what this device does and how it works. If we can find out how it works, then in principal someone could create a static definition (as XML) so that this overrides the automatic discovery.
— Reply to this email directly, view it on GitHub https://github.com/openhab/org.openhab.binding.zigbee/issues/832#issuecomment-2059993245, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAWTLHSERDUTMUK3B6OCJWDY5WOCPAVCNFSM6AAAAABGJC3LDOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJZHE4TGMRUGU . You are receiving this because you authored the thread.Message ID: @.***>
We need to find out how it works. You can try the fingerprint command, but again, this uses standard mechanisms to discover the services and if the device is doing something non-standard, then it probably won't discover it.
You can also set up a sniffer using a second Ember dongle to try and sniff the data on the network to see what happens when the button is pressed.
Or maybe there's information elsewhere on the web that describes how it works?
Is this the fingerprint you are talking about? https://community.openhab.org/t/ikea-styrbar-only-2-of-4-buttons-show-up-as-channels/153793/5?u=magx2
I know zigbee2mqtt supports all 4 buttons: https://www.zigbee2mqtt.io/devices/E2001_E2002.html
From zigbee2mqtt docs:
Zigbee-herdsman handles the core Zigbee communication. The module zigbee-herdsman-converters handles the mapping from individual device models to the Zigbee clusters they support.
Here is the mapping:
The fingerprint seems to indicate there's only 1 endpoint, so I'd expect only 1 button.
I had a quick look at the herdsman converters - it seems (if I understand them right) that the buttons just break down the different parts of the level control functionality. Is anything received at all when you press these buttons? (ie is anything displayed in the log if you have debug logging enabled).
For reference
|>| Node Descriptor
| |> Logical Type END_DEVICE
| |> MAC Capabilities [REDUCED_FUNCTION_DEVICE]
| |> Stack Compliance 22
| |> Server Capabilities []
| |> Buffer Size 82
| |> Incoming Transfer Size 82
| |> Outgoing Transfer Size 82
|
|>| Power Descriptor
| |> Available Power Sources [MAINS]
| |> Current Power Source MAINS
| |> Current Power Mode RECEIVER_ON_IDLE
| |> Power Level FULL
|
|>| ZDO
| |> ManagementBindRequest TIMEOUT
| |> IeeeAddressRequest SUCCESS
| |> ManagementLqiRequest SUCCESS
| |> ManagementRoutingRequest NOT_SUPPORTED
|
|>| Basic Information
| |> Generic Device Class 0
| |> Generic Device Type 226
| |> Manufacturer Name IKEA of Sweden
| |> Model Indentifier RODRET Dimmer
| |> Product Code ByteArray [value=45 32 32 30 31]
| |> Product URL
| |> Date Code 20221114
| |> Application Version 1
| |> Software Build ID 1.0.47
| |> Hardware Version 1
| |> Zcl Version 8
| |> Stack Version 113
| |
| |>| Endpoint 1
| | |> Profile 0104 ZIGBEE_HOME_AUTOMATION
| | |> Device Type 0820 NON_COLOR_CONTROLLER
| | |> Device Version 1
| | |
| | |>| Input Clusters
| | | |
| | | |>| Cluster 0000 Basic
| | | | |> Type Server [Input]
| | | | |> Manufacturer Spec. No
| | | | |
| | | | |>| Commands Generated
| | | | |
| | | | |>| Commands Received
| | | | | |> 0000 ResetToFactoryDefaultsCommand
| | | | |
| | | | |>| Attributes Supported
| | | | | |> 0000 ZCL Version >> UNSIGNED_8_BIT_INTEGER 8
| | | | | |> 0001 Application Version >> UNSIGNED_8_BIT_INTEGER 1
| | | | | |> 0002 Stack Version >> UNSIGNED_8_BIT_INTEGER 113
| | | | | |> 0003 HW Version >> UNSIGNED_8_BIT_INTEGER 1
| | | | | |> 0004 Manufacturer Name >> CHARACTER_STRING IKEA of Sweden
| | | | | |> 0005 Model Identifier >> CHARACTER_STRING RODRET Dimmer
| | | | | |> 0006 Date Code >> CHARACTER_STRING 20221114
| | | | | |> 0007 Power Source >> ENUMERATION_8_BIT 3
| | | | | |> 0008 Generic Device Class >> ENUMERATION_8_BIT 0
| | | | | |> 0009 Generic Device Type >> ENUMERATION_8_BIT 226
| | | | | |> 000A Product Code >> CHARACTER_STRING ByteArray [value=45 32 32 30 31]
| | | | | |> 000B Product URL >> CHARACTER_STRING
| | | | | |> 4000 SW Build ID >> CHARACTER_STRING 1.0.47
| | | | | |> FFFD Cluster Revision >> UNSIGNED_16_BIT_INTEGER 3
| | | |
| | | |>| Cluster 0001 Power Configuration
| | | | |> Type Server [Input]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0003 Identify
| | | | |> Type Server [Input]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0020 Poll Control
| | | | |> Type Server [Input]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 1000
| | | | |> Type Server [Input]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster FC7C
| | | | |> Type Server [Input]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
| | |
| | |>| Output Clusters
| | | |
| | | |>| Cluster 0003 Identify
| | | | |> Type Client [Output]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0004 Groups
| | | | |> Type Client [Output]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0006 On/Off
| | | | |> Type Client [Output]
| | | | |> Manufacturer Spec. No
| | | | |
| | | | |>| Commands Generated
| | | | | |> 0000 OffCommand
| | | | | |> 0001 OnCommand
| | | | | |> 0002 ToggleCommand
| | | | |
| | | | |>| Commands Received
| | | | |
| | | | |>| Attributes Supported
| | | | | |> FFFD Cluster Revision >> UNSIGNED_16_BIT_INTEGER 2
| | | |
| | | |>| Cluster 0008 Level Control
| | | | |> Type Client [Output]
| | | | |> Manufacturer Spec. No
| | | | |
| | | | |>| Commands Generated
| | | | | |> 0000 MoveToLevelCommand
| | | | | |> 0001 MoveCommand
| | | | | |> 0002 StepCommand
| | | | | |> 0003 StopCommand
| | | | | |> 0004 MoveToLevelWithOnOffCommand
| | | | | |> 0005 MoveWithOnOffCommand
| | | | | |> 0006 StepWithOnOffCommand
| | | | | |> 0007 StopWithOnOffCommand
| | | | |
| | | | |>| Commands Received
| | | | |
| | | | |>| Attributes Supported
| | | | | |> FFFD Cluster Revision >> UNSIGNED_16_BIT_INTEGER 3
| | | |
| | | |>| Cluster 0019 Ota Upgrade
| | | | |> Type Client [Output]
| | | | |> Manufacturer Spec. No
| | | | |
| | | | |>| Commands Generated
| | | | | |> 0001 QueryNextImageCommand
| | | | | |> 0003 ImageBlockCommand
| | | | | |> 0006 UpgradeEndCommand
| | | | |
| | | | |>| Commands Received
| | | | |
| | | | |>| Attributes Supported
| | | | | |> 0000 Upgrade Server ID >> IEEE_ADDRESS E0798DFFFEA7C935
| | | | | |> 0001 File Offset >> UNSIGNED_32_BIT_INTEGER -1
| | | | | |> 0002 Current File Version >> UNSIGNED_32_BIT_INTEGER 16777287
| | | | | |> 0006 Image Upgrade Status >> ENUMERATION_8_BIT 0
| | | | | |> 0007 Manufacturer ID >> UNSIGNED_16_BIT_INTEGER 4476
| | | | | |> 0008 Image Type ID >> UNSIGNED_16_BIT_INTEGER 65535
| | | | | |> FFFD Cluster Revision >> UNSIGNED_16_BIT_INTEGER 4
| | | |
| | | |>| Cluster 1000
| | | | |> Type Client [Output]
| | | | |> Manufacturer Spec. No
| | | | |> Unsupported locally
<Logger name="org.openhab.binding.zigbee" level="debug" additivity="false">
<AppenderRef ref="ZIGBEE"/>
</Logger>
I've added this for logging but I didn't get anything meaningful. Any advice?
Doo you see anything when you press the other buttons - ie the ones that do work ok?
Yes, if I press on/off I'm getting some logs
czw., 18 kwi 2024, 00:30 użytkownik Chris Jackson @.***> napisał:
Doo you see anything when you press the other buttons - ie the ones that do work ok?
— Reply to this email directly, view it on GitHub https://github.com/openhab/org.openhab.binding.zigbee/issues/832#issuecomment-2062587154, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAWTLHWXPQ33YLHJJLRKNL3Y53ZXDAVCNFSM6AAAAABGJC3LDOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRSGU4DOMJVGQ . You are receiving this because you authored the thread.Message ID: @.***>
As far as I can tell, this probably ought to work. What channels are actually provided for the two buttons that work?
The next step will be to enable TRACE level debugging for the binding and reinitialise the device. This will allow me to see what's going on with the device discovery and the initialisation, but first please let me know what the channels are and also please provide the logs showing the data received for the buttons that work.
Up and down works as dimmer, left/right do not work
I will provide you logs this week
Ok, thanks.
From looking at the fingerprint, I'd assumed that the 2 that worked were on and off and the other 2 were brightness. So what do you expect the other two buttons should do?
<Logger name="org.openhab.binding.zigbee" level="trace" additivity="false">
<AppenderRef ref="ZIGBEE"/>
</Logger>
Should I add something more?
From looking at the fingerprint, I'd assumed that the 2 that worked were on and off and the other 2 were brightness. So what do you expect the other two buttons should do?
I had this paired to smart bulb that could change brightness and color temp. The usage can be described as:
In general both up/down and left/right works the same, the change only different properties of the bulb. With OH+rules I've already copied the up/down functionality.
Hmmm - were these functions handled through some sort of rule? I don't think there's a direct way to control the colour temp in this way, so either there's a rule involved, or there's some way to program the remote to send very specific commands. I also just noted that the device doesn't seem to support the colour control cluster, so I guess you use some other command (probably one of the level control commands?) and this triggers a rule?
I somehow need to work out what the low level commands are...
Check this video: https://www.youtube.com/watch?v=NF5G5wziwso . There are no rules or Ikea gateway, just pure connection Styrbar-Bulb
Ok, then I don't know. According to the fingerprint, the device does not support colour control which I think is the way it should be controlling the colour temp.
<Logger name="org.openhab.binding.zigbee" level="trace" additivity="false"> <AppenderRef ref="ZIGBEE"/> </Logger>
Should I add something more?
Should I click styrbar with this enabled?
I think this logging should be fine, but I'd need to see the initialisation to get a bit more detail. You've already said that nothing is received when you click the buttons, so changing to TRACE logging won't change that. I need to find out what commands are being used so I can configure the device.
As I said above, the device (apparently) doesn't support colour control, so I'm not sure what commands it sends to change the bulb colour. The other option is to find a sniffer and sniff what's happening on a working system.
Do you want me to turn off trace logging and pair styrbar one more time?
We need TRACE logging on for the pairing/discovery to see fully what's happening with the channel discovery. However, my thinking around looking at the discovery was when I thought the channels were around on/off and level control - not colour control. I'm not sure this will really help though as it probably won't tell us how the colour control is managed given that the device doesn't seem to be reporting the colour control cluster.
Still, getting the full log, with TRACE, won't hurt.
However...
I just found this issue -: https://github.com/Koenkk/zigbee2mqtt/issues/1232
And this comment -:
This seems to indicate that the Ikea bridge is programming the device to do something "special". I'll continue to read this thread (tonight - I need to go out and do some work in the garden now) as I suspect it might have the info I'm looking for so for now let's hold off - no sense wasting your time just yet :)
I can confirm what Cplant wrote here that IKEA Styrbar has only 2 buttons available in OH instead of 4.
source: https://community.openhab.org/t/ikea-styrbar-only-2-of-4-buttons-show-up-as-channels/153793
What info you would like to get in order to be able to fix this bug?