KlikAanKlikUitremote. This signal will be used as an example throughout the article.
AGCattribute defines the synchronisation sequence of a signal in time-intervals. This part of the signal never changes and is used by most devices to properly configure the gain of the radio receiver, before the data arrives. The sequence is defined by an array of time-intervals in microseconds. The AGC pulse is ignored when receiving, but added in transmitted signals.
1is replaced by a
ManchesterUnithigh interval and each
0is replaced by a
ManchesterUnitlow interval. This interval can be defined in the
start-of-frameattribute defines the preamble sequence of a signal in time-intervals. This part of the signal never changes and is used by most devices to detect an incoming signal. The sequence is defined by an array of time-intervals in microseconds
sofis shown in the signal image indicated in red.
wordsattribute contains one or more words. Each word defines a sequence of high and low time-intervals depending on the type of encoding that is used. Most devices use single-level encoding where one word defines the
1bit and the other word defines the
0bit. In case of multi-level encoding the bitmask increases from one bit to multiple bits. Each bit combination (00, 11, 10, 01) then refers to a particular word.
0word indicated in yellow corresponds to a 0-bit. The
1word indicated in green corresponds to a 1-bit. Therefore, the data that has been sent in the example will be
00111111010001010100110110010000summing up to 32 bits. In the 'klik-aan-klik-uit' app these bits are further split into multiple parts representing the homecode, unitcode and dim/onoff value.
end-of-frameattribute defines the end-sequence of a signal. This part of the signal never changes. Make sure to specify
minimalLengthWhen the EOF (partially) overlaps with the words, as this increases the amount of proper matches. When looking at the example, the end-of-frame consists of only one 275 microseconds interval. This is clearly shown in the signal-image indicated in blue.
intervalattribute defines the time-interval between subsequent signals. The value is specified in microseconds.
minimalLengthattribute defines the minimal length of a signal in words. Sometimes devices use varying signal lengths depending on the size of the payload.
maximalLengthattribute defines the maximal length of a signal in words. Some devices use varying signal lengths depending on the size of the payload.
PrefixDataattribute can be used to specify words that have to be added in front of each payload before transmission. When specified, incoming payloads are checked for these prefix-words, and only upon a match, the words will be stripped and the payload without prefix will be delivered to the Homey app. When transmitting data, this prefix is added to each payload as well.
PostfixDataattribute can be used to specify words that have to be appended after each payload before transmission. When specified, incoming payloads are checked for these postfix-words, and only upon a match, the words will be stripped and the payload without postfix will be delivered to the Homey app. The words are also appended to each payload before transmitting as well.
cmdsattribute can be used to predefine all commands. This property consists of an object that maps commands (specified as identifier string) to an actual payload array (excluding prefix/postfix data).
toggleSOFproperty can be used to specify a custom SOF that is being alternated with the primary SOF. This works automatically for both receiving and sending, and adjusts the
firstargument of both the
toggleBitsproperty can be used to specify bit indexes of these toggle bits inside the payload (including prefix/postfix). This works automatically for both receiving and sending, and adjusts the
firstargument of both the
payloadevents. Note: The reported payload contains unmodified data, with the toggle bits as transmitted.
sensitivityattribute defines the maximum deviation between the signal definition and the received signal. This value represents the maximal percentage signals may deviate of the definition.
packingmakes it possible to send and receive byte- rather then bit-arrays. Every eight bits are 'packed' into a byte and added to the byte-array. Usage of this property is discouraged when the payload length is not a multiple of eight, and impossible when the signal does not contain exactly two words.
txOnlyattribute can be used to disable the receiving subsystem of the signal, proper usage is encouraged in order to save computing resources.
carrierfrequencies for 433 MHz:
carrierfrequencies for 868 MHz:
repetitionsattribute defines how often the signal gets repeated. This may be useful if there is a poor connection
rxTimeoutmilliseconds for the device to respond. The same radio configuration used when sending the data is also used when waiting for the response.
modulationattribute defines the modulation used by the radio to modulate the signal. When no modulation attribute is provided, Homey will use the default configuration.
typeattribute defines the type of radio modulation that is used by the radio. Supported values are
channelSpacingattribute defines the filter bandwidth in receive mode. This attribute is only used when
rxTimeoutis greater than zero.
channelDeviationattribute defines the frequency deviation when using FSK or GFSK modulation.
baudRateattribute defines the symbol changes per second of the specified signal in Baud.
carrierattribute defines the carrier frequency used while sending a signal. Most radio-devices use the 433.92MHz and 868.3MHz as carrier frequencies. There are devices that use deviating carrier frequencies (e.g. Somfy). If no carrier attribute is defined, the default receiving carrier frequency will be used.