Sidebar

gs-iwds07

GS-IWDS07 Contact

FeatureSupport
Sending
Receiving
Config

Supported Brands

BrandProtocol
The Light in the Box GS-DWIS07GS-dwis07

Not supported

Config

"devices": {
"Window_Contact": {
"protocol": [ "GS-iwds07" ],
"id": [{
"unit": 52781
}],
"battery": 0,
"state": "closed"
}
},

None

Protocol

This protocol sends 50 pulses like this

1233 411 411 1233 1644 411 1233 411 411 1233 1233 411 822 1233 411 1233 411 1233 1233 411 1233 411 1233 411 411 1233 411 1233 1233 411 1233 411 411 1233 411 1233 411 1233 411 1233 1233 411 411 1233 1233 411 822 1233 411 13974

It has no header and the last 2 pulses are the footer. These are meant to identify the pulses as genuine The next step is to transform this output into 24 groups of 2 pulses (and thereby dropping the footer pulses).

1233 411
411 1233
1644 411
1233 411
411 1233
1233 411
822 1233
411 1233
411 1233
1233 411
1233 411
1233 411
411 1233
411 1233
1233 411
1233 411
411 1233
411 1233
411 1233
411 1233
1233 411
411 1233
1233 411
822 1233

If we now look at these groups you can distinguish four types:

1. 1233 411
2. 411 1233
3. 822 1233
4. 1644 411

If the first pulse is less than 830 we decode this pulse group as binary 0, otherwise as binary 1. We then get the following output:

1011 0100 0111 0011 0000 1 0 1 0
uuuu uuuu uuuu uuuu uuuu b s ? i

Each (group) of numbers has a specific meaning:

• UnitCode: 0 till 19
• Battery: 20
• State: 21
• Intrusion contact: 23

The meaning of Bit 22 is unknown.

• The Unit is defined as a binary number (order in above example: lsb…msb)
• The Battery defines whether the battery is still fine (1) or not (0)
• The State defines whether a sensor state is opened (0) or closed (1)
• The Intrusion defines whether the sensor is mounted to its base (0) or not (1)

So this code represents:

• UnitCode: 52781
• Battery: ok
• State: open
• Intrusion: ok (properly mounted)

When the intrusion contact is triggered, i.e. the device is taken from its platform mount, it sends a message where bits 20-23 are always 0111, regardless of contact state. So if you retrieve the information by simple bitmasking, you will get battery and state values which might be misleading. Furthermore if then the contact is opened or closed, it sends again the normal messages meaning the “intrusion” condition is sent only once and probably needs to be saved.