SilverCrest

Feature Support
Sending yes
Receiving yes
Config yes

Supported Brands

Brand Protocol
Silvercrest silvercrest

Sender Arguments

1
2
3
4
-t --on             send an on signal
-f --off            send an off signal
-u --unit=unit      control a device with this unit code
-i --id=id          control a device with this id

Config

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
  "devices": {
    "dimmer": {
      "protocol": [ "silvercrest" ],
      "id": [{
        "systemcode": 22,
        "unitcode": 0
      }],
      "state": "off"
    }
  },
  "gui": {
    "Lamp": {
      "name": "TV Backlit",
      "group": [ "Living" ],
      "media": [ "all" ]
    }
  }
}
Option Value
systemcode 0 - 31
unitcode 0 - 31
state on / off

Optional Settings

GUI Settings

Setting Default Format Description
readonly 1 1 or 0 Disable controlling this device from the GUIs
confirm 1 1 or 0 Ask for confirmation when switching device

Protocol

This protocol sends 50 pulses like this

312 936 936 312 312 936 312 936 312 936 312 936 312 936 936 312 312 936 312 936 312 936 936 312 312 936 312 936 312 936 936 312 312 936 936 312 312 936 936 312 312 936 936 312 312 936 312 936 312 10608

It has no header and the last 2 pulses are the footer. These are meant to identify the pulses as genuine, and the protocol also has some bit checks to filter false positives. We don’t use them for further processing. The next step is to transform this output into 12 groups of 4 pulses (and thereby dropping the footer pulses).

312 936 936 312
312 936 312 936
312 936 312 936
312 936 936 312
312 936 312 936

312 936 936 312
312 936 312 936
312 936 936 312
312 936 936 312
312 936 936 312

312 936 936 312
312 936 312 936

312 10608

If we now look at carefully at these groups you can distinguish three types of groups:

  • 312 936 936 312
  • 312 936 312 936

So the first group is defined by a high 3th pulse and the second group has a low 3rd pulse. In this case we say a high 3rd pulse means a 0 and a high 3rd pulse means a 1. We then get the following output:

01101 01000 01

Each (group) of numbers has a specific meaning:

  • Unit: 0 till 5 (inversed)
  • ID: 6 till 10 (inversed)
  • Check: 11 (inverse of state)
  • State: 12 (inversed)
10110 00010 0 0
  • The Unit is defined as a binary number
  • The ID is defined as a binary number
  • The Check is always the inverse of the state
  • The State defines whether a devices needs to be turned On or Off

So this code represents:

  • Unit: 22
  • ID: 2
  • Fixed: Off
  • State: On