Skip to content
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

Ikea Symfonisk Controller #1898

Open
kmplngj opened this issue Sep 23, 2019 · 41 comments

Comments

@kmplngj
Copy link

@kmplngj kmplngj commented Sep 23, 2019

Yesterday I bought an Ikea Symfonisk Controller. Is there already support for it in Deconz?

Could I help to add support?

Bye
Jan

@Kane610

This comment has been minimized.

Copy link

@Kane610 Kane610 commented Sep 23, 2019

Follow the wiki to share what relevant information is needed to add support for it

@kmplngj

This comment has been minimized.

Copy link
Author

@kmplngj kmplngj commented Sep 23, 2019

What if I could not connect the device to Deconz?

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Sep 23, 2019

Could I help to add support?

Yes, please provide the info described here: https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Request-Device-Support.

Intriguing little device: apparently it talks ZigBee, as it requires a Trådfri gateway, but the Symfonisk (Sonos) speakers talk SOAP over http. I wonder how much intelligence is in the device versus the gateway. You won’t be able to use the device to control the speakers through deCONZ (instead of through the Trådfri gateway), but it should be able to get some button events for click and double click. Not sure where we are on exposing turn gesture (with angle). Otherwise we could expose an analogue button event value, cf. the second endpoint of the Xiaomi cube.

@kmplngj

This comment has been minimized.

Copy link
Author

@kmplngj kmplngj commented Sep 24, 2019

Turning works for dimming the Ikea Lights here, that is connect right now.

@kmplngj

This comment has been minimized.

Copy link
Author

@kmplngj kmplngj commented Sep 24, 2019

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

Do you need anything else?

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Sep 25, 2019

The Basic cluster. Please read the attributes before taking the screenshot.

@kmplngj

This comment has been minimized.

Copy link
Author

@kmplngj kmplngj commented Sep 25, 2019

Bildschirmfoto 2019-09-25 um 10 13 39

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Sep 25, 2019

I found (the last?) one at IKEA Amsterdam today, even thought they're not yet on ikea.nl. It joins deCONZ's ZigBee network without issues. However, it's only responsive for a very brief period after joining the network, and then goes incommunicado. It won't wake on click, turn, or briefly pressing the reset button.

After several attempts, bombarding it with Read Attributes commands to keep it awake after joining the network, I managed to bind the client OnOff cluster to a group. And then the client Level Control cluster. After that, it now behaves normally, waking up to send commands on click and turn. It sends the following commands:

  • Toggle on click;
  • Step Up on double click;
  • Step Down on treble click;
  • Move Up when starting a right (clockwise) turn;
  • Move Down when starting a left (counter-clockwise) turn;
  • Stop when stopping a turn.

Exposing click (1002), double click (1004) and treble click (1005) will be straightforward.
As far as I can tell, the move rate is constant. The timing between the Move and Stop commands seems to indicate how long you're turning, but not how quickly nor how far. Probably easiest to expose left/right turning as two long press buttons (2001/2003 and 3001/3003).

It's far from trivial to translate these ZigBee commands to Sonos commands. There's no Sonos equivalent of Toggle, to the Trådfri hub needs to keep the play/pause state of the Sonos player. Also there's no Move / Stop equivalent for volume. There's a RampToVolume command, but I don't think that can be interrupted.

I think I managed to touchlink it to my Trådfri hub (the IKEA Home Smart app showed a popup that a new controller was found). However, the app won't find my Sonos speakers, so I cannot setup the controller to sniff the (SOAP over HTTP) commands the Trådfri hub sends to the Sonos player.

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Sep 27, 2019

Commit below adds support for the sound controller.

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

For reference, here's the Basic cluster with all attributes read:
Screenshot 2019-09-27 at 11 15

ebaauw added a commit to ebaauw/deconz-rest-plugin that referenced this issue Sep 27, 2019
manup added a commit that referenced this issue Sep 27, 2019
@Kane610

This comment has been minimized.

Copy link

@Kane610 Kane610 commented Sep 27, 2019

@ebaauw would you mind giving a detailed description of what button events the different actions generate?

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Sep 27, 2019

As I mentioned above:

  • 1002 click;
  • 1004 double click;
  • 1005 treble click;
  • 2001/2003 start/stop counter clockwise turn;
  • 3001/3003 start/stop clockwise turn.
@Kane610

This comment has been minimized.

Copy link

@Kane610 Kane610 commented Sep 27, 2019

Thanks Erik! There are no events between start and stop rotate?

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Sep 27, 2019

No, as far as I can tell, the controller only sends Move when starting to turn and Stop when ending it. Depending how smoothly you turn (or not), you get multiple Move/Stop combos per turn. 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 ;-).

I’m dying to find out what Sonos commands the Trådfri hub sends, but the IKEA Home Smart app doesn’t find my Sonos (nor Symfonisk) players, even though the Sonos app does. Also the app crashes on my iPhone Xr (I think since iOS 13.1), but not on my iPad (iPadOS 13.1).

@Kane610

This comment has been minimized.

Copy link

@Kane610 Kane610 commented Sep 27, 2019

Well you can pair sonos with home assistant and bind them together :)

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Sep 27, 2019

I've been doing the same with HomeKit; I control my Sonos speakers (through homebridge-zp) using the 5-button Trådfri remote (through homebridge-hue).

ebaauw added a commit to ebaauw/homebridge-hue that referenced this issue Sep 28, 2019
- Support Ikea Symfonisk sound controller, see dresden-elektronik/deconz-rest-plugin#1898;
- Add _Long Press_ support for `lumi.sensor_switch`, see #535.
@gforschi

This comment has been minimized.

Copy link

@gforschi gforschi commented Oct 4, 2019

How exactly do you pair this with deCONZ?
I'm not able to get that working

@paolotremadio

This comment has been minimized.

Copy link

@paolotremadio paolotremadio commented Oct 12, 2019

Does the Symfonisk Controller fire an event on long press?

@stoneobscurity

This comment has been minimized.

Copy link

@stoneobscurity stoneobscurity commented Oct 24, 2019

when will this be in the release build?

@Noah-UI

This comment has been minimized.

Copy link

@Noah-UI Noah-UI commented Oct 31, 2019

How exactly do you pair this with deCONZ?
I'm not able to get that working

Can't get my remote connected either. Can anyone help?

@Keesromkes

This comment has been minimized.

Copy link

@Keesromkes Keesromkes commented Nov 1, 2019

@Noah-UI - as far as I know, you can connect to it and see that it 'works' in deconz, but you can't really act on it just now. That only works if you have the IKEA bridge and take it from there.

Screenshot 2019-11-01 at 10 27 56

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Nov 1, 2019

but you can't really act on it just now

While it's not possible to control Symfonisk/Sonos players without the Trådfri hub, the controller can be used just fine with deCONZ to control other ZigBee devices. It sends regular ZigBee commands, which are picked up by deCONZ v2.05.70 to create buttonevent values, which can be used in gateway rules. In addition, you can add lights to the controller's group and control them directly (even when deCONZ is down).

Does the Symfonisk Controller fire an event on long press?

No, see #1898 (comment).

How exactly do you pair this with deCONZ?

Note that deCONZ doesn't support touchlink-pairing (which is what the Trådfri hub uses). You need to search for new devices in Phoscon/open the network in the old web app, and reset the device (pressing the reset button four times - the LED should blink).

As I mentioned before (#1898 (comment)), the device shuts off it's radio very quickly after joining the network - it's critical that deCONZ has setup the bindings before that happens, or the device won't power back on its radio on clicking/turning. The chances of successful pairing can be increased by powering down all routers, and pair the controller close to the RaspBee/ConBee. If needed, keep the radio awake by sending commands to it from the deCONZ GUI while pairing.

@Keesromkes in your screenshot, deCONZ didn't receive the simple descriptors, causing the right dropdown button to be missing. See #2002 (comment) for details.

@lbouriez

This comment has been minimized.

Copy link

@lbouriez lbouriez commented Nov 5, 2019

Hello, I just updated to the last version of deconz (270), but I cant seems to figure how to add the switch.
I am using the UI, in switch, add other. 4x click quickly but it doesnt add to deconz.
Could you help me ?

Actually it was added, it's just that it doesn't appear in the new Phoscon app in my devices list. I found it in the old app.

@ACrazyConcept

This comment has been minimized.

Copy link

@ACrazyConcept ACrazyConcept commented Nov 6, 2019

What an interesting gizmo!

@stoneobscurity

This comment has been minimized.

Copy link

@stoneobscurity stoneobscurity commented Nov 6, 2019

While it's not possible to control Symfonisk/Sonos players without the Trådfri hub

not true. you can have Node-Red watch for the event clicks/rotate, and then have a flow that adjusts your Sonos devices based on which action it detected.

@lbouriez

This comment has been minimized.

Copy link

@lbouriez lbouriez commented Nov 6, 2019

While it's not possible to control Symfonisk/Sonos players without the Trådfri hub

not true. you can have Node-Red watch for the event clicks/rotate, and then have a flow that adjusts your Sonos devices based on which action it detected.

I am trying to do it using appdaemon and hass automation, everything is almost working, I am just looking for the volume now, since it's just 1 event to start/stop... (see here)

@paolotremadio

This comment has been minimized.

Copy link

@paolotremadio paolotremadio commented Nov 6, 2019

I am trying to do it using appdaemon and hass automation, everything is almost working, I am just looking for the volume now, since it's just 1 event to start/stop... (see here)

For that you have to up/lower the volume repeatedly until the stop event is fired.

I’ve opted for +/- 7% of volume every 500ms. It works quite nicely.

@gforschi

This comment has been minimized.

Copy link

@gforschi gforschi commented Nov 6, 2019

It seems I have successfully paired my sonos controller, can see it in phoscon app (via VNC) and in the old webapp.
However when I listen for events (in HASSIO) I get nothing :(

@gforschi

This comment has been minimized.

Copy link

@gforschi gforschi commented Nov 6, 2019

Oh! It suddenly works! After fiddling a lot in Phoscon and trying to include it several times.
Not really sure how, but now it works and I get the events in HASSIO

@stoneobscurity

This comment has been minimized.

@Noah-UI

This comment has been minimized.

Copy link

@Noah-UI Noah-UI commented Nov 7, 2019

Oh! It suddenly works! After fiddling a lot in Phoscon and trying to include it several times.
Not really sure how, but now it works and I get the events in HASSIO

Do you have a solution to correctly interpret the rotational movement in HASSIO, for example to increase/ decrease volume?

@gforschi

This comment has been minimized.

Copy link

@gforschi gforschi commented Nov 7, 2019

Oh! It suddenly works! After fiddling a lot in Phoscon and trying to include it several times.
Not really sure how, but now it works and I get the events in HASSIO

Do you have a solution to correctly interpret the rotational movement in HASSIO, for example to increase/ decrease volume?

No, that's the next thing. Hoping to see others come up with something for that 😊

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Nov 8, 2019

See #2040. Better close this issue.

@lbouriez

This comment has been minimized.

Copy link

@lbouriez lbouriez commented Nov 11, 2019

Oh! It suddenly works! After fiddling a lot in Phoscon and trying to include it several times.
Not really sure how, but now it works and I get the events in HASSIO

Do you have a solution to correctly interpret the rotational movement in HASSIO, for example to increase/ decrease volume?

No, that's the next thing. Hoping to see others come up with something for that 😊

Try this: https://github.com/lbouriez/hassio-home-assistant_config/blob/master/appdaemon/apps/modules/symfonisk_sonos.py
For me it works pretty well

@lbouriez

This comment has been minimized.

Copy link

@lbouriez lbouriez commented Nov 11, 2019

Does someone know how to make the switch appears in the phoscon new app ?
I have all my switch but the symfonisk just appears in the old app.

@siggi85

This comment has been minimized.

Copy link

@siggi85 siggi85 commented Nov 16, 2019

Cant get the symfonisk in phoscon. I am using deconz 2.5.70 and conbee with 26330500. When I try to connect as an ikea switch just show the 5 button remote and the old dimmer. When i try to connect as "other" it doesn't work. (push connect button 4 times on symfonisk remote until led is blinking).
What am I doing wrong? I paired several other devices (ikea and xiaomi) and had not these problems before. :/ Please help.
EDIT: Seems that it is learned by deconz but not shown in phoscon app. I can see the switch in iobroker wich is getting the devices per REST. But in the webinterface the switch is not shown. How can this work?

@Keesromkes

This comment has been minimized.

Copy link

@Keesromkes Keesromkes commented Nov 17, 2019

@siggi85 @lbouriez - in short, it won't you show up in the new phoscon (until they will support it). You can address the device through hass.io or NodeRed (both I've been too busy with other things to set up)

@siggi85

This comment has been minimized.

Copy link

@siggi85 siggi85 commented Nov 19, 2019

@Keesromkes Thanks for your answer. Yes you are right. In deconz directly i can see the switch and can use it via API.

But unfortunatly the usage of the wheel is not usable at the moment. Event 3001 when you start spining and when it stops event 3003. Additionaly Event 3003 comes not every time when you stop. And you can't check how long or fast you spin. Just start and stop is not enough to use it effective. Don't know how it work smooth with Symfonisk speakers directly.

@lbouriez

This comment has been minimized.

Copy link

@lbouriez lbouriez commented Nov 19, 2019

@siggi85 check my appdaemon script, it's not perfect, I still have trouble with the wheel sometimes but it gives you an idea on how to do until someone comes with a better solution.

@ebaauw

This comment has been minimized.

Copy link
Contributor

@ebaauw ebaauw commented Nov 19, 2019

But unfortunatly the usage of the wheel is not usable at the moment.

The buttonevents are derived 1:1 from messages sent by the controller. It doesn’t report how long you spin. See my post above.

until someone comes with a better solution.

That some-one will have to be IKEA delivering new firmware for the Symfonisk controller, making it behave differently. Not very likely, in my estimation.

@stoneobscurity

This comment has been minimized.

Copy link

@stoneobscurity stoneobscurity commented Nov 19, 2019

@siggi85 you are being too literal. it simply does not send a continuous signal as you turn it. and it probably never will. all you need to look for is a START spin code. like i said above, if you turn slowly, you get multiple START and STOP spin codes. for each START code then do volume up. (i do a +2 in my NodeRed flow, works great.)

edit: it was in this ticket #2040

@siggi85

This comment has been minimized.

Copy link

@siggi85 siggi85 commented Nov 19, 2019

I thought maybe of a stop event with the value of the spin. Maybe 3001 for start and 3500 for a half spin or something like that. But it is not. I will try the +2 Option but my idea of using it was another. I will see wether this is suitable for me. Thanks for your replys guys.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.