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

Closed
kmplngj opened this issue Sep 23, 2019 · 129 comments
Closed

Ikea Symfonisk Controller #1898

kmplngj opened this issue Sep 23, 2019 · 129 comments

Comments

@kmplngj
Copy link

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
Copy link

Kane610 commented Sep 23, 2019

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

@kmplngj
Copy link
Author

kmplngj commented Sep 23, 2019

What if I could not connect the device to Deconz?

@ebaauw
Copy link
Collaborator

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
Copy link
Author

kmplngj commented Sep 24, 2019

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

@kmplngj
Copy link
Author

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
Copy link
Collaborator

ebaauw commented Sep 25, 2019

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

@kmplngj
Copy link
Author

kmplngj commented Sep 25, 2019

Bildschirmfoto 2019-09-25 um 10 13 39

@ebaauw
Copy link
Collaborator

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
Copy link
Collaborator

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

@Kane610
Copy link

Kane610 commented Sep 27, 2019

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

@ebaauw
Copy link
Collaborator

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
Copy link

Kane610 commented Sep 27, 2019

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

@ebaauw
Copy link
Collaborator

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
Copy link

Kane610 commented Sep 27, 2019

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

@ebaauw
Copy link
Collaborator

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
Copy link

gforschi commented Oct 4, 2019

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

@paolotremadio
Copy link

Does the Symfonisk Controller fire an event on long press?

@stoneobscurity
Copy link

when will this be in the release build?

@Noah-UI
Copy link

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?

@CaseyRo
Copy link

CaseyRo 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
Copy link
Collaborator

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
Copy link

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
Copy link

What an interesting gizmo!

@stoneobscurity
Copy link

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.

@Hypfer
Copy link

Hypfer commented Apr 19, 2020

I think this issue can be closed after #2658 has been merged

@rchl
Copy link

rchl commented Apr 20, 2020

And what about the issue with constant changes not triggering events? Is that something that works correctly with the afore-mentioned PR?

@Hypfer
Copy link

Hypfer commented Apr 20, 2020

@rchl

That issue is avoided by not using mode 4 and instead keeping the x001/x003 events like before.
7035ee7

@TheHaf
Copy link

TheHaf commented May 14, 2020

I think this issue can be closed after #2658 has been merged

And it seems to have been merged 10 days ago. 😄 👍

@rchl
Copy link

rchl commented May 14, 2020

Is there any action necessary to take advantage of the fix?
Is it enough to update deconz or it's necessary to reset and re-bind controller?

@maxkueng
Copy link

Is there any action necessary to take advantage of the fix?

I would also be interested in this answer. I have a Deconz stick in my Home Assistant Raspberry Pi and it says that I have FW version 2.5.75 and that it's up-to-date.

I have the Symfonisk connected but I only get one event on which direction it's being turned (2001/3001) turned and when it stopped turning (2003/3003), and button presses (1001, 1004, 1005). But no repeated events or something that says by how much it was turned.

From what I understand, the PR will send the direction events continuously as I turn the knob. But does on event represent a certain number of degrees of rotation?

@Hypfer
Copy link

Hypfer commented May 15, 2020

You probably need to re-pair the Symfonisk controller or manually update the binding so that it's using unicast as described here #1898 (comment)

@Hypfer
Copy link

Hypfer commented May 15, 2020

The other questions are also all answered in this thread.

But does on event represent a certain number of degrees of rotation?

See here:
#1898 (comment)

Please consider reading the full thread before commenting.

@Mimiix
Copy link
Collaborator

Mimiix commented Jun 6, 2020

It seems this issue is resolved or otherwise inactive. If it is not, please re-open!

@Mimiix Mimiix closed this as completed Jun 6, 2020
@paolotremadio
Copy link

I’ve updated deCONZ, repaired both the controller and manually done the binding (not sure if that’s still needed). They are both incredibly reliable. The only thing I’ve noticed: the codes for clockwise and anti-clockwise have been inverted. But it was easy for me to fix the automation so I don’t mind.

Thanks for the amazing work, as usual!

@kmplngj
Copy link
Author

kmplngj commented Jun 24, 2020

I got a second controller. I have both connected to the network but it seem the new one does not fire any events in Node-RED. Any idea what the problem could be?

I'm on the newest Deconz docker release.

@Mimiix
Copy link
Collaborator

Mimiix commented Jun 24, 2020

@kmplngj Probably the binding. Try re-pairing it a few times.

@Thyraz
Copy link

Thyraz commented Nov 27, 2020

I still get the 2001/2003 and 3001/3003 events for start turning and stop turning instead of the continuous events while turning.

I'm on 2.06.00 / 15.11.2020 with firmware 26670700 (Conbee II).
Apt-get tells me this should be the newest version.

Anything else I have to do beside the pairing?

The Symfonisk remote is brand new, and was't paired before updating deconz / Conbee II.

@matthias-burgfried
Copy link

I got a second controller. I have both connected to the network but it seem the new one does not fire any events in Node-RED. Any idea what the problem could be?

I'm on the newest Deconz docker release.

I have the same problem. Yesterday everything worked and today nothing.

The battery indicator is updated. (I changed the battery.)
The events are not displayed in the API.

Deleting and reconnecting did not help.

System: Conbee II (Docker)
Version: 2.08.00 / 8.12.2020
Firmware: 26660700

08:13:19:709 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000
08:13:19:798 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000
08:13:21:101 [INFO] - No button map for: SP 120 endpoint: 0x01 cluster: 0x0B04 command: 0x0A payload[0]: 008
08:13:21:102 ZCL attribute report 0x00158D000356AAF9 for cluster: 0x0B04, ep: 0x01, frame control: 0x18, mfcode: 0x0000
08:13:22:101 [INFO] - No button map for: SP 120 endpoint: 0x01 cluster: 0x0B04 command: 0x0A payload[0]: 008
08:13:22:101 ZCL attribute report 0x00158D000356AAF9 for cluster: 0x0B04, ep: 0x01, frame control: 0x18, mfcode: 0x0000
08:13:22:469 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: MOVE (0x01) payload[0]: 001
08:13:22:568 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: MOVE (0x01) payload[0]: 001
08:13:24:536 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000
08:13:24:620 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000

  "76": {
    "config": {
      "alert": "none",
      "battery": 60,
      "on": true,
      "reachable": true
    },
    "ep": 1,
    "etag": "a24fb8fc7d2b178383899afe07bffaf9",
    "lastseen": "2020-12-17T07:38Z",
    "manufacturername": "IKEA of Sweden",
    "mode": 1,
    "modelid": "SYMFONISK Sound Controller",
    "name": "SYMFONISK Wohnzimmer",
    "state": {
      "buttonevent": null,
      "lastupdated": "none"
    },
    "swversion": "2.1.022",
    "type": "ZHASwitch",
    "uniqueid": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
  }

@matthias-burgfried
Copy link

I got a second controller. I have both connected to the network but it seem the new one does not fire any events in Node-RED. Any idea what the problem could be?
I'm on the newest Deconz docker release.

I have the same problem. Yesterday everything worked and today nothing.

The battery indicator is updated. (I changed the battery.)
The events are not displayed in the API.

Deleting and reconnecting did not help.

System: Conbee II (Docker)
Version: 2.08.00 / 8.12.2020
Firmware: 26660700

08:13:19:709 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000
08:13:19:798 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000
08:13:21:101 [INFO] - No button map for: SP 120 endpoint: 0x01 cluster: 0x0B04 command: 0x0A payload[0]: 008
08:13:21:102 ZCL attribute report 0x00158D000356AAF9 for cluster: 0x0B04, ep: 0x01, frame control: 0x18, mfcode: 0x0000
08:13:22:101 [INFO] - No button map for: SP 120 endpoint: 0x01 cluster: 0x0B04 command: 0x0A payload[0]: 008
08:13:22:101 ZCL attribute report 0x00158D000356AAF9 for cluster: 0x0B04, ep: 0x01, frame control: 0x18, mfcode: 0x0000
08:13:22:469 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: MOVE (0x01) payload[0]: 001
08:13:22:568 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: MOVE (0x01) payload[0]: 001
08:13:24:536 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000
08:13:24:620 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000

  "76": {
    "config": {
      "alert": "none",
      "battery": 60,
      "on": true,
      "reachable": true
    },
    "ep": 1,
    "etag": "a24fb8fc7d2b178383899afe07bffaf9",
    "lastseen": "2020-12-17T07:38Z",
    "manufacturername": "IKEA of Sweden",
    "mode": 1,
    "modelid": "SYMFONISK Sound Controller",
    "name": "SYMFONISK Wohnzimmer",
    "state": {
      "buttonevent": null,
      "lastupdated": "none"
    },
    "swversion": "2.1.022",
    "type": "ZHASwitch",
    "uniqueid": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
  }

The problem concerns only "Testing". The stable Docker image works.

@cs42
Copy link

cs42 commented Dec 19, 2020

Stopped working for me as well with 2.08.* (stable and beta).

@ebaauw
Copy link
Collaborator

ebaauw commented Dec 19, 2020

Confirmed:

Dec 19 15:02:18 pi2 deCONZ[21000]: 15:02:17:941 APS-DATA.indication srcAddr: 0x1c8e, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0x0008, lqi: 255, rssi: -58
Dec 19 15:02:18 pi2 deCONZ[21000]: 15:02:17:943 	asdu: 1174030000
Dec 19 15:02:18 pi2 deCONZ[21000]: 15:02:17:947 [INFO] - No button map for: SYMFONISK Sound Controller endpoint: 0x01 cluster: LEVEL_CONTROL (0x0008) command: STOP (0x03) payload[0]: 000

@ebaauw ebaauw reopened this Dec 19, 2020
@close-issue-app
Copy link

Hi there.

Thank you for filing this issue. Unfortunately, we cannot help you, as you haven't sticked to the provided template and/or have not provided all information requested. Consequently, this issue has been closed.
We're more than happy to help out where we can once you raise a new issue containing all requested information in the requested format.

In this regard, please take note that:
- read the template thoroughly
- all given header lines (starting with ###) must not be deleted
- everything enclosed by <!-- --> is intended to give you guidance and should be replaced by your input specific to the issue
- Listings regarding your environment must be filled out completely where applicable (bug reports and user questions).
- Not following the template or providing insufficient information can still implicate manual closure.

So please, first help us a bit to help you!

@close-issue-app
Copy link

Hi there.

Thank you for filing this issue. Unfortunately, we cannot help you, as you haven't sticked to the provided template and/or have not provided all information requested. Consequently, this issue has been closed.
We're more than happy to help out where we can once you raise a new issue containing all requested information in the requested format.

In this regard, please take note that:
- read the template thoroughly
- all given header lines (starting with ###) must not be deleted
- everything enclosed by <!-- --> is intended to give you guidance and should be replaced by your input specific to the issue
- Listings regarding your environment must be filled out completely where applicable (bug reports and user questions).
- Not following the template or providing insufficient information can still implicate manual closure.

So please, first help us a bit to help you!

@ebaauw
Copy link
Collaborator

ebaauw commented Dec 19, 2020

Ok, better open a new issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests