KlikAanKlikUit (fph)

1 August, 2018

15:40

Nieuw Protocol:

code:

         _   _
'0':        | |_| |____        (T,T,T,3T)
           _      _
'1':        | |____| |_        (T,3T,T,T)
           _   _
dim:        | |_| |_        (T,T,T,T)

T = korte periode = 275 µs (of 375, werkt ook)
lange periode = 3,4 of 5*T (werkt ook allebei)

Het frame bestaat normaal uit 32 bits:
startpuls (T hoog, 9*laag)
26        adres
1        groep-bit
1        on/off/[dim]
4        unit (indien meerdere kanalen op één zender)
[4]        [dimniveau]
stoppuls (T hoog, 39 laag)
Pasted from <https://www.circuitsonline.net/forum/view/89220>

 

 

 

Oud Protocol

 

Nog meer oud: https://gathering.tweakers.net/forum/list_messages/1594647

 

 

OOK, 3.85 kbs

 

 

KlikAanKlikUit (KAKU, COCO)

last updated: 20-12-2014, Stef Mientki

Introduction

This document describes some tests with the SI4432 tranceiver to transmit and receive + decode signals from the KlikAanKlikUit-system (KAKU, COCO).

The KAKU system, is a system for wireless home automation. It has a large set of devices for a reasonable price. The range is quiet good, they claim 70 m in the free air and 30 m in house. For what I've tested indeed 25..30 m in house is achievable.

Most interesting is that the receivers are all self traning and each receiver can act on 6 different codes. If want to add a pic controller to your home automation system,  you want to be able to control the receivers with a pic. And that's very easy: just generate a random 32 bit address and let the selected receiver train on that address. So in general there's no need for decoding the transmitted signal form switches.

The RF-part of the transmission is defined by:

  -- Modulation Type      : OOK

  -- Manchester              : OFF

  -- Carrier Frequency    : 433.92 [MHz]

  -- Data Rate                : 3.85 [kb/s]

Each control word consists of the following:

    Start Bit

    Bits 1..26 are assumed to form the (unique) address.

    Bit 27 = Group (no yet tested)

    Bit 28 = On/ Off / Dim (Dim is not tested)

    Bit 29..32 = Unit

    Stop-Bit

Pressing a switch will send 10 to 20 times the control word.

The individual bits are defined by:

Startbit =  T,10T = 100_0000_0000, so for the startbit we use 0x04, 0x00

1-Bit = T,5T,T,T, so that's  0x82 

0-Bit = T,T,T,5T, so that's 0xA0

Stopbit = 0x80 + some extra delay

 

 

 

JAL support

As said before each receiver can be trained to act on 6 different signals. So just generate a random number and train the receiver.

So for sending just initialize the SI4432:

        

 

And then control your receiver device by sending an On/Off command:

        

 

There's also a test routine that sends some test patterns. This procedure is also used by the UHF-Generator in KAKU-mode.

        

 

 

Stream Viewer support

The Stream Viewer can receive and decode KAKU-signals, if you still want to know what a KAKU transmitter is sending.

The decoding is done in the Stream Viewer (as for the moment I don't need to decode in a pic).

Below is the decoded output shown. Note that the Address (A) contains the full address, i.e. Adress (first 26 bits) and Unit (last 4 bits), bit 27 (Group) and 28 (On/Off) are cleared.

     

 

 

 

AWST-8802 (double switch)

The AWST-8802 is a double switch with a unique code and powered by a CR2032 battery (3V). The battery should last for about two years.

The address of the two switches is identical, but the unit number is different: 0x0A and 0x0B.

 

  

There's no visible marking on the IC.

For accurate measurement of the modulation signal you can connect a pic-input-pin (through a 3k .. 10k resistor) to pin-1 of the IC (there is a small testpoint in the neighbourhood) as shown in the picture below. 

 

  

 

 

ACM-3500-3  (triple heavy duty receiver)

This is a heavy duty receiver with 3 channels. Each channel can learn upto 6 different codes.

Each channel contains a large relais, capable of switching 17 A resistive. That makes this swicth ideally suited for switching TL-Lamps and other ECO-devices (with a very bad cosine-phi)

    

   

 

Note the weird antenna form (I have 2 of these and both antenna's have the same shape !!

   

   

 

 

The large chip is a MDT10P57A1, a 8-bt microcontroller.

The small chip is unknown, I could see "537009"

 

 

Determine the encoding with Logic Stream Viewer

The Logic Stream Viewer is extended with a KAKU ( KlikAanKlikUit, COCO = ClickOnClickOff) triggering. In KAKU trigger mode, the SI4432 receiver is set for optimized for KAKU signals and decoding is done according to the KAKU protocol.

        

 

Here are the results of my first AWST-8802 (double switch). As you can see in the picture below, detection is not always correctly. But checking enough of the Address and Unit part will garantee a error free detection.

 

Same switch, pressing Off

 

Other switch, pressing On

 

Other switch, pressing Off

 

 

 

Prijzen in Nederland

http://www.klikaanklikuit.nl/advies/lampenwijzer/draadloos-schakelen/

 

Schakelaars (onbedraad)

AWST-8800  enkel,   CR2032,  Euro 18.25  (Gamma 16)

AWST-8802  dubbel, CR2032,  Euro 18.80  (Gamma 16)

AMWT-003   dubbel, CR2031,  Euro 21.30  (Gamma 22) (ECO 22)  inbouw achter een gewone schakelaar, losgekoppeld van de 230V

Schakelaars (bedraad)

AMWT-230  dubbel, Euro 19.25, (Gamma 19) inbouw achter gewone schakelaar die een lamp MOET bedienen

 

Spaarlamp (ontvanger)

AWS-3500   Euro 29.95

AFR-060 (lampfitting)  Euro 21.85 (max 100 Watt)  (Gamma 19) (ECO 17.50)

ACM-1000   Euro 18.25  (ECO 14.75)

ACM-3500-3,  drievoudig,  Euro 35.55  (Gamma 30, met 20% korting dus 26)  (ECO 30.75)

AILS-3500  Euro 25.95  (Gamma 26)  (opbouw, met timer uitschakelaar)

AWMR-300  Euro 26.95  (bedoeld voor achter schakelaar)

TL verlichting (ontvanger)

ACM-1000

AILS-3500

 

Deurcontact

AMST-606 (Euro 15.75)

 

The information below should be read from Bottom to Top

NOTE: Address decoding in the part below is done on the real address of the first 26 bits (excluding Unit, On/Off and Group)

 

Optimizing the detector-2  2C/2D/2E

For 2C we tried : OOK counter should be around 450, so therefore bit 2:0 = 010

0x2C = 02 : bad

0x2C = 22 : bad

0x2C = 0x12  the best

0x2C = 0A : bad

0x2C = 0x3A : almost the best

So the conclusion is: we need at least bit-4 = 1 peakdetector

Next step is to try to distiguish between the needs of ookfrzen and madeten, therefore we tried

0x2C = 0x12  peakdeten                  :

0x2C = 0x32  peakdeten + ookfrzen  :

0x2C = 0x1A  peakdeten + madeten  : 

These settings makes not much different, so for teh moment we choose 0x1A

it gives a quiet long low after the stop bit and often detects the startbit

 

0x2E = 0x2B : default = good

0x2E = 0x00 : bad

0x2E = 0x70 : bad

0x2E = 0x0F : best

0x2E = 0x7F : slightly worse

All of these determine the stopbit and long period behind it very well.

0x0F seems to be the best, i.e. attack = 000, decay = 1111

 

Optimizing the detector

The spreadsheet gives for OOK, Rb= 3.85 kHz and BW= 600 kHz, the following values

0x2C = 0x29

0x2D = 0x44

0x2E = 0x2B

but the result is much worse then we had before

 

So we tried some other settings:

0x2C = 0x00 : no result at all

0x2C =0 x18 : even worse result

0x2C = 0x10, a quiet good result:

 

 

Modifying the UHF generator

Startbit =  T,10T = 100_0000_0000, so for the startbit we use 0x04, 0x00

1-Bit = T,5T,T,T, so that's  0x82 

0-Bit = T,T,T,5T, so that's 0xA0

Stopbit = 0x80 + some extra delay

And the Units value:

A = 1010

B = 1011

Finally the complete (unique) address is  00_1110_0001_1100_0101_0000_0010  = 0x0_E1_C5_02

var byte KAKU_A1 [] = { 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8E }

Group = 0, which also seems to be logical

KAKU

 

UHF-generator, second attempt, that's good enough !!

The mismatch is 0.3% which is quiet acceptable.

So we've here an extra confirmation that the Baudrate = 3.85 kHz.

 

 

UHF-generator, first attempt, we miss a few bytes

In this case the On/Off bit is the last bit, but seems to be enough to toggle the real KAKU module

 

 

The Pause between the signals is 11 ms instead of 10 msec, which is also perfect.

Let's try RF signal again

not good:

light green, here should be the startbit with the T,10T

dark green, obviously some periods are glued together

some tests with different bandwidths (both RF and Rb) doesn't give a good result. So we first need a stable signal from a modified UHF-generator.

Signal Coding

For determining the exact coding of the signal we connected the modulation signal of a transmitter to pin-B5.

Below is a complete sequence

 

According to most of the information on the web, the bottom signal in following region is one final bit 

        

   2090 / 260 = 8 periods:  T,T,T,5T

 

The start bit:

      

  2940 / 262.0 = 11.2 periods:  T,10T

 

The stop bit

   

  10511 / 262.0 = 40.1 periods:  T,39T

 

 

 

AWST8802, double On/Off switch

A-On, A-Off, B-On, B-Off

 

 

 

 

Everyone on the web agrees about the content of the message

Start Bit

Bits 1..26 are assumed to form the (unique) address.

Bit 27 = Group (no yet tested)

Bit 28 = On/ Off / Dim (Dim is not tested)

Bit 29..32 = Unit

Stop-Bit

Looking at the above signals we see that the first 26 bits are all equal. So the switch information must be in the Unit section, and indeed there's a difference.

But first let's define the final "0" and "1". It seems logical to define "On" as "1".

In the A-On signal here's the switch info

So "1" is definied as T,5T,T,T    (byte-value = 0x82)

and "0" is definied as T,T,T,5T   (byte-value = 0xA0)

And the Units value:

A = 1010

B = 1011

Finally the complete (unique) address is  00_1110_0001_1100_0101_0000_0010  = 0x0_E1_C5_02

Group = 0, which also seems to be logical.

 

 

Baudrate

First the Baudrate was measured with an oscilliscope, directly from the modulation signal from a receiver:

    Pulswidth = 260 usec ==> 3.85 kHz

As an extra check, the Logic_Stream_Viewer was temporary modified to sample the signal at B5 on which the modulation signal of a transmitter was connected. The bottom signal contains 5 pulswidths, is 1309 usec, yielding:

   Pulswidth = 262 usec

          

 

 

 

First tests with streamviewer

GOA on OOK-2500-600k

 

GOA on OOK-4100-100k, duidelijk mindere kwaliteit

 

GOA on KAKU, rubish

 

KAKU on 4100-100k

 

KAKU on 4100-600k

 

KANU on 3600-600k

duidelijk te kleine Baudrate, waardoor pulses samengevat

 

 

 

Created with Microsoft Office OneNote 2007
One place for all your notes and information