-
Notifications
You must be signed in to change notification settings - Fork 699
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Device Support Request] Ikea E2123: Symfonisk sound remote Gen2 #2223
Comments
Where did you geeing it ?? Edit: Its coming next week to Westbahnhoff in Vienna :-((( |
Got it at an Ikea in the Netherlands which is in the EU, they didn't have a lot of them so I was sure to grab one. 2 extra buttons for a total of 7 is nice to have |
Its looks very standard of the cluster and is clean but we must getting all the commands its sending. One interesting thing its only Dirigera compatible and TF but shall testing that 2. |
Do you having ZHA-Toolkit https://github.com/mdeweerd/zha-toolkit installed ?? If yes bind the cluster Id: |
No I haven't. I just did, don't know how to use it yet. I'd appreciate if you could spoon-feed/help me what to do. Otherwise it will take me a while to understand the docs Are you asking me to zha_toolkit.bind_ieee like this? I don't know what to set as ieee as the remote only has battery and identify as entities service: zha_toolkit.bind_ieee
data:
dst_endpoint: 2
ieee: ????????
command_data: 0
cluster: 0xfc80 |
I have the same device, these are the debug logs for the 'dot' buttons: 1 dot button
2 dot button
|
For both is the remote on original / factory firmware or is it updated by Dirigera ?
|
Mine has definitely been updated to the latest firmware. I first connected it to the dirigera hub and then it automatically started updating. |
I did not connect it to a dirigera hub since I don't have one. |
OK then its logic way @MrDodojo is having different configuration. |
@TheJulianJES I have getting the signature working OK and the quirk is loading for both device classes. From the V1 log:
The V2 is not reporting then its need EP 2 and 3 being bound and i dont knowing how to do that. The next problems is the DA is crazy dim up is not triggered and left and right is triggered for both. Can you taking one look if you can see what i have doing wrong ? Thanks in advance ! |
I've just opened a pull request with a basic implementation for the E2123 with (probably) V1. Every button should work as a trigger for automations (and some buttons even with long press and double press). @MattWestb I'm quite new to creating device handlers and I don't have an updated E2123 at hand to test my theories, but maybe the event listener approach might be a way to make implementing V2 easier? (i.e. passing the command actions from EP2 and 3 to the custom LevelControlCluster) |
Great thanks for working on the quirk for our devices @MichelBrodatzki !! I have not testing it only looking how you have doing things and im not one code warier so i cant saying it its working or how good / bad it is only testing and see if its working OK or not. You is having In the INIT you is making one device class The device automatons shall working with only putting one of more args / parms but my test DAs is spinning completely but i getting the right events from the device and its likely we is hitting one bug in HA that braking some functions (very deep and not oft seen but its there) so take it with "little salt" for the moment until we have testing it more or finding other versions that working OK. I starting sniffing Dirigera an then i installing your quirk and testing the V1 functions. |
Also Also i think the |
V2 looks using complete different commends but its having release after long press implanted and is sent from EP 2 and 3 for button 1 and 2. It can being the command is the same as V1 then wireshark is little outdated but i dont have the knowledge analyzing that. |
Anything for me to test atm? I could test the quirk MichelBrodatzki made but I don't understand how to. I added a custom quirk location to my configuration, do I need to add the whole repo or just the changed files? |
Yes, that's a great idea. To be perfectly honest with you, I've only seen this issue and your contribution after working on it for some time, so this wasn't even on my radar!
True, that's just an oversight and was not intended. Will be fixed!
I've tried both rechargeable NiMH AAA and Alkaline AAA, all new or fully charged. Both showed a battery state of 50%. Maybe that was just a ZigBee thing and the info hasn't yet truly arrived/updated. I'll first fix the other things and then I'll play around with battery reporting :-) @MrDodojo If you're still on the old version of the sound remote, my files should work for you. To add them as a custom quirk after enabling the custom quirk location, you can follow these steps:
|
I have getting all the V2 commands working from the network but i cant getting them being sent to zha_events. The command part looks like this:
The last part i have not touched then i dont understanding it. @javicalle do you knowing how getting the command to events ?
|
I was looking how we have doing the TS004X implementation that is only sending events and not using strange cluster and also is doing the arg and parms OK and i like that but i cant doing the coding for Symfonisk 2. |
Maybe implementing the class ShortcutV2Cluster(CustomCluster, EventableCluster): You will need to add the import like: from zhaquirks import EventableCluster, ... |
Let me take a look at the args part... |
(CustomCluster, EventableCluster) was not working so i was trying with (EventableCluster) and its loading but i dont knowing if its working. I have copy from the tuya but i dont know how to do it working:
I do only having different commands 1-6 and the data looks being not interesting then can see from witch EP its coming. |
Sorry for the radio silence, I've been quite busy with university. But I think I just solved the args part! Let me just test one last thing, then I'll push it and comment what I did! Give me 10min :D |
For V2 commands looks like this: 01 first frame Command 0x06 is the data length 2 all other is data length 1. And the device is sending one command 1 and then one command 2-6. |
Only for information i was reading that IKEA is forcing update of version 1 to new firmware and user and we cant reversing it (chip is debug locked) so V1 is only one "factory delivered version" and not one production version. |
So, after testing I can say that V1 should work now. The solution actually was pretty simple, I just haven't interpreted to underlying code correctly. So for argument passing to work properly, you just have to create a new class which inherits from CommandSchema (which in turn is a subclass of t.Struct) and then you can pass an object of that class to listener_event. The method handles CommandSchema differently to dicts and lists. |
That's an interesting information, thanks! I'd say that supporting V1 is still pretty important, as OTA is not on by default for ZHA, so there might still be some people on V1 when adding their E2123 to Home Assistant. |
I think that was one TF user that was not getting the OTA then TF dont have it then Dirigera is forcing update in the background. And i think Vindstyrka is not being supported by TF GW only Dirigera. |
@MattWestb I have looked at some |
Yeah, and can you also send a screenshot of the "reconfiguration page" (with the quirk applied)? A channel for the manufacturer specific cluster might need to be added to ZHA here: https://github.com/home-assistant/core/blob/dev/homeassistant/components/zha/core/channels/manufacturerspecific.py |
@javicalle ZHA-Toolkit in yaml mode looks like this:
Symfonisk 2 V2 IEEE
For @TheJulianJES: |
Sorry for the late reply, do you still want me to test on my v1 remote ? |
If you like then more testing is always good and for my is the V1 working OK i only have problem getting V2 getting the extra EP getting bonded. Likely i can posting one updated version later with updated naming but the V1 functionality is not changed but i need testing i is not braking it :-)) |
Was looking how we is doing with the famous tuya
And was testing importing OnOff and putting it in like this class ShortcutV2Cluster(OnOff, EventableCluster): and deleting the device and restarting HA adding the device and it was binding the clusters !!! I think OnOff is not so good so i was testing using scene cluster but the binding was not working so back to OnOff and doing more testing if getting errors then the quirk is doing it work. Its working but it can later being one braking thing if we need changing the cluster type. I think its little sad that ZHA is not having What was making it not making extra switches in ZHA GUI i think is the device type |
Updated with better naming for both V1 and V2.
Also possible making the |
Symfonis2 RC2 with all common constants moved to quirk constants. I think i have getting all out of the device we can getting at this point. Test is more then welcome and use the privius instruction for local quirk for getting the right file structure (all 3 files in the same folder). Also dont forgetting deleting the custom quirks then its being merged in HA and you is updating to it for not getting problem in n the future !! |
@MattWestb THX |
Great @dieneuser !! I have not testing if the device like binding to devices for controlling devices but is one secondary thing then its one sound controller and 100% group bindings is not working then its new gen firmware. Thanks for testing the quirk !! |
No sure why the So all the clusters have it. Maybe is not doing the why we need here, so my first recommendation would be to check the normal implementation values, since there are no logs in the methods we want to validate, I suggest adding them in the cluster like: class ShortcutV2Cluster(EventableCluster):
"""Ikea Shortcut Button Cluster Variant 2."""
name = "ShortcutClusterV2"
cluster_id = IKEA_MSWITCH_CLUSTER_ID
async def bind(self):
"""Bind cluster."""
result = await super().bind()
_LOGGER.debug(
f"Binding values: device.ieee {self._endpoint.device.ieee!r}, endpoint_id: {self._endpoint.endpoint_id!r}, cluster_id: {self.cluster_id!r}, dst_address: {self._endpoint.device.application.get_dst_address(self)!r}"
)
return result
.../... If the method is not called, why can try to trigger it from another cluster (ie: OnOff or LevelControl). I haven't found which is the reason some clusters reports the binding greencheck and others don't. |
I think manufacturer specific clusters have to be added here in order for ZHA to call the See |
So, we need just to add the @registries.BINDABLE_CLUSTERS.register(0xFC80)
@registries.CHANNEL_ONLY_CLUSTERS.register(0xFC80)
@registries.ZIGBEE_CHANNEL_REGISTRY.register(0xFC80)
class IkeaRemote(ZigbeeChannel):
"""Ikea Mater remote channel."""
REPORT_CONFIG = () @MattWestb, can you test? If working, then we can add the PS: here is were the magic happens: |
Thanks @javicalle !! The #2223 (comment) was not working after deleting and restart and adding ZHA was not binding the cluster and reconfigure was also not trying doing it. With The good thing is its easy if IKEA is doing changes to Matter ZCL standard cluster numbering and i dont like making PR in HA that is also not being merged (my experience of tuya TRVs) and not getting the devices working OK for our users then one is not being merged with the other. Then i is having 3 devices under test for one week and for 2 PR and 3 PRs not being merged (they is ready for deletion from my side) and need times doing some other things 2 so i posting the PR and some that like doing it different can redoing it or not getting the devices supported if not getting accepted. Edit: One PR is deleted so one less to care off for some.. |
This works for me on the GEN2 firmware 1, though everything appears to be lower case apart from "Shortcut_Button" |
Thanks for testing and reporting back @cooljimy84 !! Is is some users with updated firmware that can testing the updated quirk ?? |
Hola @javicalle !! For my is one cleaner way than using OnOff cluster that is not the true cluster and making things crappy. My thinking is making But if IKEA is releasing the ShortCut button Gen 2 in some weeks i think implanting your ZHA patch and hoping IKEA is using the same cluster number for the shortcutt commands and not doing one new version of it so i think we shall going your way. And as normal thanks ! |
One not so good thing of the ZHA binding is for users with other systems that is using zigpy is the cluster not being bonded and is not working so the devs of other systems must implanting it in there system and very likely its working out of the box with the dirty OnOff version. |
PR made for both firmware versions :-))) |
I have updating HA to 2023.4.0 and deleting the local quirks and the V2 looks working well but i gave not testing all DA with real automation but its coming. The V1 is reporting 160% battery renaming and ZHA is not showing the battery icon. I shall see if i can sniffing and see is its reporting Zigbee standard or old IKEA way. Edit: I have testing all DA for both V1 and 2 and all is working OK so its no problems here. |
Was doing one fast sniffing and the device is reporting 80% and ZHA is doubling it as it shall and its being 160%.
So its looks like we is doing it wrong and shall not doubling the battery renaming. Pleas reporting back how your V1 device is reporting the battery status then i dont like braking devices that is working OK if my device is not doing it right. |
Have you checked if device reports as battery powered? |
Hola :-)) |
I paired my new gen2 remote yesterday, and it worked perfectly. But since today, I just does not work anymore. Pressing on the buttons does not send anything to ZHA, but "Press" - Identify does light up the LED. |
Restarting HA |
Is your feature request related to a problem? Please describe.
Ikea released a new Symfonisk sound remote (gen2) and it is not yet supported by ZHA. The device when added to homeassistant does not have triggers for pressing the various buttons seperately. The only triggers it has are: Device offline, has been pressed and battery level changed(while the battery level does not indicate correctly either).
Describe the solution you'd like
Support for all the buttons: Volume up & down, next & previous, play/pause and 2 custom "shortcut" buttons.
Device signature
Diagnostic information
Additional logs
Additional context
^This is the device, it has a lot of buttons and would be quite nice to use with homeassistant.
The text was updated successfully, but these errors were encountered: